Verification Flows
Define what users must verify before accessing your application.
What is a Verification Flow?
A verification flow is a configuration that defines exactly what information and verifications users must complete before your application can authorize them. Think of it as a checklist that Onboarder enforces during the OAuth sign-in process.
Example: Banking KYC Flow
- ✓ Required: Email, phone, full name, date of birth
- ✓ Required: Email OTP verification
- ✓ Required: Phone OTP verification
- ✓ Required: Biometric identity enrollment (face + voice)
- ✓ Required: Document verification (passport/ID)
- ✓ Optional: Proof of address
- ✓ Optional: "Why opening account?" form
How Verification Flows Work
Create Flow
Define required/optional fields and verifications in your dashboard
Get flow_id
Each flow has a unique ID you use in OAuth requests
OAuth with flow_id
Users redirected to Onboarder with your flow_id parameter
Enforcement
Onboarder ensures all requirements are met before authorization
Verification Policy Modes
Each verification flow has a policy mode that controls how strictly requirements are enforced during OAuth authorization. This determines user experience and data returned.
NO_VERIFICATIONInstant AccessNo verification required. User authorization happens immediately after signup/login.
Returns:
- • Name (unverified)
- • Email (unverified)
- • Basic profile data
Use Cases:
- • Low-security applications
- • Public access platforms
- • Free tier users
OPTIONAL_VERIFICATIONGrace PeriodVerifications are suggested but can be skipped. User has grace period to complete verifications later. Skip events are tracked.
Behavior:
- • User can skip verifications
- • Grace period for completion
- • Skip events logged
Use Cases:
- • Progressive onboarding
- • Gradual trust building
- • Conversion optimization
REQUIRE_ANY_IDENTITYHard RequirementUser MUST have at least one identity document verified before authorization. No grace period or skipping allowed.
Requirements:
- • At least 1 document verified
- • Passport, ID card, driver's license, etc.
- • No skipping allowed
Use Cases:
- • KYC compliance
- • Banking/fintech
- • Verified identity required
Flow Configuration
A verification flow consists of a policy mode and four configuration components:
1. Required Fields
Profile information users must provide before authorization.
emailphonefirstNamelastNamedateOfBirthaddress2. Required Verifications
Verification checks users must complete (email OTP, document upload, etc.)
email_otpEmail verification with OTP
phone_otpPhone verification with OTP
passportPassport document verification
id_cardNational ID card verification
drivers_licenseDriver's license verification
face_enrollmentFace biometric enrollment with liveness
voice_enrollmentVoice biometric enrollment
3. Optional Fields & Verifications
Information users can provide but isn't required. Useful for progressive profiling or when information is only needed for certain user actions later.
4. Custom Forms (Optional)
Add custom onboarding forms to collect additional information during the verification flow.
Example: A banking app might add a "Why are you opening an account?" form that requires manual review before authorization completes.
Example Verification Flow
Here's a complete verification flow for a fintech application:
{ "name": "Standard Banking KYC", "description": "Full KYC verification for banking services",
"requiredFields": [ "email", "phone", "firstName", "lastName", "dateOfBirth", "address" ],
"optionalFields": [ "middleName", "nationality" ],
"requiredVerifications": [ "email_otp", // Must verify email "phone_otp", // Must verify phone "passport", // Upload passport (or id_card/drivers_license) "liveness" // Facial liveness check ],
"optionalVerifications": [ "proof_of_address" // Optional address verification ],
"formIds": [ "account_purpose_form" // Custom form: "Why opening account?" ]}Common Use Cases
E-commerce / Marketplace
Light verification to reduce fraud while maintaining fast signup.
- ✓ Email (required)
- ✓ Email OTP verification (required)
- ✓ Phone (optional)
Banking / Fintech
Full KYC compliance with government ID and biometric verification.
- ✓ Full name, DOB, address (required)
- ✓ Email + Phone OTP (required)
- ✓ ID document + liveness (required)
Healthcare / Telemedicine
Identity verification with optional insurance documentation.
- ✓ Full name, DOB (required)
- ✓ Email + Phone verification (required)
- ✓ ID document (optional)
- ✓ Insurance card upload (optional)
Crypto Exchange
Tiered verification - basic for small amounts, full KYC for larger transactions.
- ✓ Email verification (required)
- ✓ Phone, ID, liveness (optional, unlocks higher limits)