Guided capture
Auto-capture fires only when the frame is worth keeping: edges found, glare and blur rejected, wrong side detected and coached — before a single byte leaves the phone.
✓ quality-gated frames, wrong-side coaching
KYC identity-signal API · Mozambique & Mexico first
thibit reads an ID document, checks its authenticity signals, and matches the selfie to the document photo — then returns an advisory assessment over a simple API and a hosted page your users open on their phone. You make the decision. Tuned for Mozambique and Mexico; passports from any country.
Sign in with Google or GitHub and mint your first verification flow in minutes from the portal — no sales call, no contract to start.
What your user sees · what the engine proves
The words on the left of each card are the flow's own Portuguese — lifted verbatim from the hosted onboarding. Under each one: what the engine is actually doing at that moment.
Auto-capture fires only when the frame is worth keeping: edges found, glare and blur rejected, wrong side detected and coached — before a single byte leaves the phone.
✓ quality-gated frames, wrong-side coaching
ICAO 9303 MRZ check digits validate the document arithmetic, and what the engine reads is reconciled against the record you sent — so a genuine ID that belongs to someone else raises a divergence flag.
✓ MRZ check digits + record match
Blink, turn, nod — a challenge sequence verified server-side, plus a face match against the document photo. A printed photo or a replayed video doesn't pass.
✓ server-verified challenge + face match
The moment the applicant is done, your endpoint receives the assessment — HMAC-signed, PII-free by default, with the full evidence dossier behind your authenticated API key.
✓ HMAC-signed · advisory · you decide
For developers
One event per verification, signed with your whsec_
secret and delivered with retries. The default envelope is PII-free —
summary_reasons carries machine-readable reason codes, and the full
evidence dossier stays behind the authenticated API. The assessment is advisory by
design: the decision, and the legal duty, remain yours.
{
"event": "verification.completed",
"id": "1d5c1f6a-6c1e-4b0a-9f3e-2f9be14c7d10", // verification id
"type": "kyc",
"status": "completed",
"assessment": "no_material_concerns",
"advisory": true,
"confidence": 0.93,
"summary_reasons": [],
"evidence_available": true
} Get started
Sign in, author a flow, and open the hosted link on your phone. We're pre-launch — early integrators work directly with the team. No local KYC API existed for Mozambique, so we built one.