KYC · AML · NFC · LIVENESS · FACE
Verify your customers' identity in seconds
End-to-end identity verification infrastructure combining OCR, NFC chip verification, ML-based liveness analysis and biometric face matching in a single session flow.
≈2 min end-user flow18 document checks3 liveness layers96% auto-decidedSOC 2 · ISO 27001 · KVKK
TRUSTED BYFintech BankPayMintyKripto BorsaSigorta+MobilOperatör
Capabilities
What we do
Every verification check your compliance and fraud teams need — each built on transparent, auditable algorithms, behind one API and one session flow.
- DOCDocument VerificationA PP-OCR based engine reads document fields with high confidence, while the MRZ is decoded via a separate path calibrated for OCR-B. ICAO 9303 check digit validation, cross-field consistency checks and ELA (Error Level Analysis) tamper detection; blur and brightness quality gates reject poor captures upfront.PP-OCR · ICAO 9303 · ELA
- NFCNFC Chip ReadingThe chip of eMRTD-compliant documents is accessed over a BAC-encrypted channel (Secure Messaging); DG1/DG11/DG12 data groups are read. ICAO 9303 Passive Authentication: hashes in the SOD prove data integrity, and the Document Signer certificate signature proves the data was genuinely issued by the state.eMRTD · BAC/SM · Passive Auth
- LIVLiveness DetectionThree layers of assurance: server-verified active challenges (blink, head turn), passive anti-spoofing with a MiniFASNet ensemble (two models sensitive to print, screen replay and moiré artifacts), and LBP/FFT/YCrCb heuristic signals. A nonce + TTL mechanism blocks replay attacks.MiniFASNet · MediaPipe · Anti-replay
- FACEFace MatchingArcFace embeddings biometrically compare the document photo against the liveness selfie; faces with low SCRFD detection scores (blurry/partial) are rejected at a quality gate. Every approved face is stored in pgvector — if the same face re-enrolls under a different identity, a duplicate signal is raised.ArcFace · SCRFD · pgvector
- AMLAML ScreeningOFAC SDN, UN Consolidated and EU FSF sanctions lists are synced daily. Names are normalized and screened with fuzzy, token-based matching; date-of-birth mismatches automatically eliminate false positives. No match ever auto-rejects — the decision is always left to a human.OFAC SDN · UN · EU FSF
- SDKWeb & Mobile SDKsThe iframe-based Web SDK communicates securely via postMessage; your tenant API key never reaches the browser — short-lived JWTs are used instead. Flutter and React Native SDKs support the full flow including NFC reading. Results are delivered to your system via HMAC-SHA256 signed webhooks.Web · Flutter · React Native
FOR DEVELOPERS
One POST request. The rest is a signed webhook.
You open the session server-side and send the user to the returned URL. When the decision settles you receive it over an HMAC-SHA256 signed webhook — no polling, no key in the browser.
See integration examples →POST /v1/sessions/
{ "applicant_external_id": "usr_1042" }
# → 201
{ "session_id": "550e8400-…", "sdk_url": "https://verify.idotta.com/session/…" }
# → webhook
X-Signature: sha256=9d41…
{ "status": "approved", "checks": 18 }
{ "applicant_external_id": "usr_1042" }
# → 201
{ "session_id": "550e8400-…", "sdk_url": "https://verify.idotta.com/session/…" }
# → webhook
X-Signature: sha256=9d41…
{ "status": "approved", "checks": 18 }
Ready to integrate?
Get in touch for a sandbox environment, API keys and integration documentation.