The web capture flow is Verifa’s hosted verification experience. You create a session, redirect the user to the capture URL, and Verifa handles document scanning, selfie collection, liveness detection, and consent collection.
The simplest approach. Redirect the user to the capture_url:
After the user completes the flow, they are redirected to your redirect_url
with query parameters:
Embed the capture flow in your page:
Listen for completion via postMessage:
Display the qr_code_data_url so mobile users can scan and complete
verification on their phone:
This is useful for desktop-first flows where the user’s phone has a better camera.
The capture flow guides the user through these screens (order depends on your
workflow’s data_requirements):
Biometric processing consent. Records timestamp, IP address, and consent version. Required before any data collection.
The user selects their document type:
Available types are scoped by the country parameter.
Front side (required) and back side (if applicable). The capture UI provides:
Documents are encrypted with AES-256-GCM immediately on upload. Maximum file size: 10 MB.
Live selfie capture with alignment guide. The selfie is compared against the ID photo for face matching.
Three randomized challenges from: blink, smile, turn left, turn right, look up, nod, open mouth. Challenges are cryptographically bound to the session via a server-generated nonce to prevent replay attacks.
If your workflow requires it:
Configure a webhook endpoint to receive real-time notifications:
See Webhooks for setup and signature verification.
Poll the session status until it reaches a terminal state:
Once status is completed, fetch the result:
The capture URL token expires after 20 minutes by default. If the user
doesn’t complete the flow in time, the session status changes to expired.
To re-issue a token for an expired session:
This returns a new capture_url with a fresh token. Previously uploaded
documents are preserved.
The capture flow automatically collects 150+ fraud signals in the background:
These signals feed into the risk_assessment check during workflow execution.
You don’t need to collect or submit them — the capture flow handles everything.
Customize the capture flow appearance in the Verifa dashboard under Settings > Organization (Theming section):
If the capture flow encounters an error, the user sees an error screen with a retry option. Common errors: