Skip to main content

Verification Overview

Valydar provides a pipeline of checks that can be composed together. Each verification has a status that progresses through the pipeline.

Verification States​

pending → completed | failed
StateDescription
pendingVerification created, checks queued or in progress
completedAll checks finished
failedOne or more checks failed

Available Checks​

CheckEndpointDescription
Document— (runs on upload)OCR, MRZ extraction, format validation
Barcode— (runs on upload)Barcode detection, AAMVA parsing, MRZ cross-validation
Face Match/verifications/{id}/face-matchCompare selfie to document photo
Reusable Face Auth/face/templates/*Enroll once, re-authenticate later with a selfie
Liveness— (runs on selfie upload)Passive selfie anti-spoofing (is it a real person?)
Active Liveness/verifications/{id}/active-liveness/*Challenge-response verification (blink, turn head, etc.)
Document Liveness/verifications/{id}/documents/{doc_id}/livenessDocument authenticity (is it real or a copy?)
Document Forensics— (runs on upload)Tamper detection — splice/clone/recompression/typography
AML— (runs in background)Sanctions, PEP, and watchlist screening
KYB— (runs in background)Know Your Business — corporate entity verification
Affordability— (runs in background)Disposable income assessment for player protection

Result Structure​

Each check returns a result with a boolean pass/fail:

{
"passed": true,
"score": 0.95,
"details": {}
}
FieldTypeDescription
passedbooleanWhether the check passed
scorefloatConfidence score (0.0 to 1.0, if applicable)
detailsobjectCheck-specific data

Results are stored in checks_results keyed by check name (e.g., document, liveness, face_match).