KYC Onboarding
Know Your Customer (KYC) onboarding is the process of verifying a new customer’s identity before granting them access to your product. Financial institutions, fintechs, crypto exchanges, and lending platforms are required by regulation to verify customer identities — but any platform handling sensitive data or transactions benefits from KYC.
What Verifa handles
A KYC onboarding workflow in Verifa typically includes these checks:
Steps 3–5 run automatically on every session — Verifa inserts them into your workflow behind the scenes. You’ll see them listed under “Runs automatically on every session” on your workflow detail page.
For enhanced compliance, you can also add these optional checks to your workflow:
aml_screening— Screens against 6,000+ global watchlists including PEP databases and adverse media (Professional plan and above)duplicate_detection— Catches repeat applicants using the same device, face, document, or contact detailsemail_risk_enhanced/phone_risk_enhanced— Validates contact info for fraud signals
Quick implementation
1. Create a session
Include an external_ref — this is your internal user ID and is used to
automatically create an identity record when the session completes.
cURL
Python
JavaScript
2. User completes verification
Send the user to capture_url. They will:
- Give consent for identity verification
- Select their document type (passport, driver’s license, or national ID)
- Photograph the front (and back, if applicable) of their ID
- Take a selfie for biometric matching
- Fill in any required user information fields (if configured in your workflow)
3. Handle the result
Listen for the session.approved or session.declined webhook, then fetch the
full result:
cURL
Python
JavaScript
Extracted PII is encrypted at rest and subject to your organization’s data
retention policy. After the access window expires, extracted_data will be
empty and sensitive_data_expired will be true.
4. Identity is created automatically
When a session completes, Verifa automatically creates (or updates) an
identity record linked to the external_ref you provided. This identity
stores the verified data and serves as the anchor for:
- Future re-verification sessions
- Continuous AML monitoring (if enabled)
- Duplicate detection across sessions
You can retrieve the identity at any time:
Always pass an external_ref when creating sessions. This is what links
sessions to identities and enables duplicate detection, re-verification, and
monitoring. Without it, no identity record is created.
Recommended workflow
For standard KYC onboarding, build a workflow with these steps:
Watchlist screening, risk assessment, and identity cross-reference run automatically — you don’t need to add them.
For high-risk verticals (crypto, lending), add more checks:
See the Creating a Workflow tutorial for a step-by-step walkthrough of building a workflow in the dashboard.
Risk-based routing
Use conditional nodes to route high-risk sessions to manual review:
Handling edge cases
Document not accepted
If a user submits an unsupported document type, the document_ocr check fails
with a requires_retry status. The capture flow automatically prompts them to
try again (up to 4 retries).
Needs manual review
Sessions routed to needs_review appear in the Cases dashboard. Assign
reviewers, add notes, and approve or reject with a full audit trail.
Re-verification
For periodic KYC refresh (common in financial services), create a new session
with the same external_ref. Verifa automatically links it to the existing
identity:
The new session’s results will update the existing identity record when it completes.
Compliance mapping
Related
- Tutorial: Creating a Workflow — Build a workflow step by step
- Quickstart — Create your first session in 5 minutes
- Sessions — Full session lifecycle and API
- Identities — How identity records work
- Screening & Reports — AML screening details
- Cases — Manual review workflow
- Workflows — Customize the verification pipeline