Skip to main content
Redaction in Nvisy is deliberately two-phase. A detection first analyzes a document and records what it found; nothing is modified until you create a redaction. That separation is what makes the process reviewable and auditable.

The Phases

1

Upload

Add a document to a workspace. It is stored with its metadata and hashed.
2

Detect

Start a detection against a pipeline. Recognition produces entities, each with a label, confidence, and location.
3

Review

Inspect the detection’s analysis. Accept the policy’s decisions, or layer reviewer edits over them.
4

Redact

Create a redaction. The engine writes a new output document and records a review audit of what was redacted and why.

Detection Status

A detection’s status tells you which phase it is in:
A detection settles at complete and stays there. Redaction is a separate, repeatable action over a complete detection and does not change this status, so an unreviewed document is never silently modified.
Poll the detection, or subscribe to its event stream for live progress:
The stream yields the current status immediately, then each transition, and ends once the detection settles.

Pipelines, Policies, and Ad-hoc Detections

A pipeline carries the detection and governance intent: its definition holds an optional defaultScope and the policyIds to apply. A policy defines how recognized entities are treated. Both are workspace resources, created once and reused.
You can also skip the pipeline and name the policies directly:
Recognition itself is server-wide — the built-in pattern set plus whatever recognizers the engine has registered. Ask the deployment what it offers:

The Analysis

GET /workspaces/{workspaceId}/detections/{detectionId}/analysis returns the detection’s audit — what analysis found in one document: The report’s parts is a list, not a map. Each part carries a modality (text, image, audio, tabular), its entities, and an id — a path of one or more segments naming where it sits in the document. Container formats expose their internal parts this way, so an image embedded in a DOCX is analyzed in its own right.
Reviewer edits are not in the audit. They are your own input, applied to the report before redaction, so an audit carries what analysis found as amended rather than the amendments themselves.

Entities

Each entity holds records with a consistent shape:

Intermediates

When the analysis ran an enricher, its extracted content is available separately — an image’s OCR layout, an audio clip’s transcript, or tokenized text:
Intermediates let a client search the extracted content and add entities the analysis missed. A detection whose analysis ran no enricher has none and returns 404.

Redaction Operators

What actually happens to an entity depends on its modality. A single policy rule can name an operator per modality:
erase, keep, mask, replace, hash, hmac_hash, fake, pseudonymize, encrypt, truncate, clamp, generalize_date
keep is an operator like any other — it records that an entity was recognized and deliberately left intact, which is often exactly what an auditor needs to see.
Modalities a rule does not cover fall through to the policy’s fallback, and entities with no operator from either source are skipped.

Applying Redaction

Omit edits to redact with the policy decisions exactly as detected, or pass them to suppress a false positive, retag a detection, or add one the analysis missed. Edits are grouped by modality:
Each request produces a new redaction, so the same detection can be redacted several times with different edits — one document, several outputs. A redaction carries its outputDocumentId (downloadable through the normal document endpoints) and a review audit recording what was redacted and why:

Scope

A detection’s scope carries what the caller asserts about the document — languages, jurisdictions, and free-form metadata. Pipelines supply a defaultScope; a detection can override it:
Everything in a scope defaults to empty. Assert nothing and the recognizers use their own defaults — the language-detection enricher fills the gap when languages is empty.
How pages are rendered for OCR is a codec concern rather than a scope one; see Supported Formats.

Reviews

A review is a named discussion on a document with a manual sign-off lifecycle. It is opened explicitly, and a document may have several:
Its reviewStatus is derived from its events, never set directly: a linked detection makes it needs_review, a linked redaction in_review, and verification resolved.
Comments and lifecycle events interleave into one timeline, at /workspaces/{workspaceId}/reviews/{reviewId}/timeline.

Exporting the Audit

Once a detection completes, export its audit for archiving:
format defaults to csv — a zip of entities.csv, provenance.csv, and reviews.csv — or pass json for a pretty-printed JSON file.

Next Steps

Quickstart

Run the workflow end to end

Audit Trails

What the audit records

API Reference

Every endpoint

TypeScript SDK

Full API coverage