Document verification
Document verification confirms that a government-issued identity document is authentic, readable, and acceptable for your flow, and extracts the fields you need for onboarding and compliance.
What it does
- Guides the user to capture or upload the document
- Runs authenticity and quality checks (security features, tampering, copy / screen attacks, score thresholds); see Document capture checks
- Applies your country and document-type filters
- Enforces minimum age when configured
- Produces a step result (
PASSED,FAILED, or review statuses) with optional structuredreasons
Document capture checks
When a document is captured or uploaded, the platform runs automated authenticity, quality, and data-consistency checks before accepting it. Failures surface as structured codes on the step result (data.dv.reasons[]); see Statuses and codes.
| Check | Description |
|---|---|
| Tamper check | Detects if the ID's main portrait was physically tampered. |
| ID alteration check | Validates whether there are any foreign objects on the document. |
| Alignment | Flags when the picture is badly aligned and the alignment/cropping correction could not produce a usable crop, and when the cropped capture is too close to the image edges. |
| Screen ID liveness | Confirms whether the document was captured from a screen rather than the physical plastic document. |
| Paper ID liveness | Confirms whether the document was captured from a printed paper rather than the physical plastic document. |
| Voided ID check | Flags IDs that have been intentionally voided, such as those with cut corners, punched holes, or visible void marks. These alterations indicate the ID is no longer valid for use. |
| Fake ID check | Searches for discrepancies in the document layout and other signs of fraud. |
| Template check | Checks whether the document layout matches a supported document template (text positions and presence of security features). |
| MRZ cross-check | Checks whether data extracted from the MRZ matches data extracted by OCR. |
| Expiration date validity | Confirms that the expiration date is valid. |
| Document type side cross-check | Checks front/back consistency of the document (for example, if both images are the front of the ID). |
| Issue date validity | Confirms that the document issue date is valid. |
| Barcode presence and format | When a barcode is expected on the document template, checks that it is present and matches the expected format. |
| Image quality check | Flags glares above a threshold and low-resolution images. |
These checks contribute to the document authenticity score and step outcome. You can tune the minimum acceptable document score and related filters in the flow builder.
Where it sits in a flow
Document verification is usually the first identity step. Pair it with liveness so you know a live person matches the document portrait. Other steps (PoA, phone, forms) can follow depending on risk appetite.
Document verification → Liveness → (optional PoA / form / phone) → Result + webhook
Outcomes you should handle
| Outcome | What to do |
|---|---|
PASSED | Continue the flow or accept the identity evidence |
FAILED + reasons[] | Map codes to UX (retry, different document, support), statuses and codes |
| Manual review | Keep the user pending until review completes, manual review |
Configure it
Operational settings (thresholds, filters, labels) live in the flow builder:
→ Document verification guide · Create a flow
Related
- Antifraud controls, where document checks sit next to liveness, KYB, AML, and TM
- Verification process, public link vs SDK
- Webhook payload: DV
- Reusable credentials, reuse a prior verification when eligible