Skip to main content
Detection combines several recognition strategies and reconciles their results into a single set of entities, each with a label, confidence, and location.

Recognition Strategies

Patterns

Deterministic matching for structured values

NER

Named-entity recognition for names, places, and organizations

LLM

Model-driven classification for context-dependent data

Vision

Recognition over rendered pages and embedded images
Recognition is deployment-wide: the built-in pattern set plus whichever recognizers the engine has registered. Pipelines choose what to target and how to treat it, not which recognizers exist.

Capabilities

Read-only endpoints describe what a deployment offers:
labels returns the built-in taxonomy, keyed by label id. Each label has a stable id (phone_number), localized names and descriptions, an optional category (the single coarse group it belongs to — financial, health, identity), and free-form tags that a policy selector matches against (pii, phi, pci). recognizers returns the engine’s registered lineup, grouped into ner and llm.
Query capabilities rather than hardcoding label names. They reflect what the deployment you are talking to actually supports, which differs between cloud and self-hosted installs.
A request can also introduce labels the deployment does not ship. The audit’s recognition field carries them along with the matchers that find them — and a custom label may legitimately have no matcher at all, which is the point when it marks something only a human can recognize.

Inference Providers

Model-driven recognition runs against a workspace provider — a separate resource from a connection. A provider’s providerType says which kind of model it is, llm or ner; its provider names the vendor, openai, anthropic, or ollama.
See Integrations for the config shapes.
With ollama, inference stays inside your infrastructure. Combined with an on-premise deployment, no document content leaves your network.

Reconciliation

Multiple recognizers frequently find the same thing, or disagree. Rather than taking the first match, the engine fuses them — and records how. Each entity’s audit trail shows the steps applied: When several recognizers find the same thing, the survivor’s location and confidence are the fused values, and every contributing recognition event is retained alongside a deduplication event. Nothing is collapsed: each recognizer keeps its own event with its own location and score. Events carry their parents, so a final entity can be traced back through every merge that produced it. See Audit Trails.

Entities

Each recognized entity records:
Coreference links matter for redaction consistency: when the same person is mentioned several ways, linked mentions can be treated as one subject rather than as unrelated findings.
An entity found through text recognition also carries a recognized_range — the byte range of the match in the recognized text it was found in, whether that is an OCR layout, an audio transcript, or the text payload itself. It is the stable key back into the enrichment intermediates, where the richer context lives: which OCR block, which speaker. It is an audit key, not a coordinate — redaction uses location.

Scope

A detection’s scope narrows recognition to the languages and jurisdictions that apply, and carries what the caller asserts about the document:
Recognizers may bias their detection on that metadata — an LLM prompt lists the tags so the model attends to the right terms. Pipelines carry a defaultScope; individual detections may override it.

Review

Detection never modifies a document. A detection settles at complete with its findings recorded, and redaction is a separate, repeatable step — so confidence scores inform a human decision rather than replacing one. The engine even records the operator it picked as a selection event before anything is applied, so the decision can be reviewed before the change is made.

Next Steps

Redaction Workflow

What happens after detection

Integrations

Connect an inference provider