Capture document
Check resolution, blur, lighting, glare, and document visibility.
A self-hosted identity verification starter kit with document OCR, active liveness, 1:1 face comparison, automatic decisions, and an admin monitoring dashboard.
Each signal is measured independently, then combined by a transparent decision engine.
Check resolution, blur, lighting, glare, and document visibility.
Run OCR, parse document fields, and validate passport MRZ checksums.
Follow a randomized head-pose sequence using the device camera.
Match the live selfie against the portrait found in the document.
Return Verified, Review Recommended, or Not Verified with reasons.
Tesseract OCR, KTP/SIM parsers, passport MRZ parsing, quality checks.
Dlib face embeddings for real 1:1 matching with configurable thresholds.
Automatic center-left-right head-pose challenge with live camera frames.
Weighted scores, hard-fail rules, reasons, and audit events.
Short-lived sessions and no raw image storage unless explicitly enabled.
Verification metrics, session history, signal detail, and deletion controls.
The included parsers target common Indonesian document layouts. Real-world accuracy depends on camera quality, document variants, and dataset tuning.
NIK, name, birth information, gender, address, and nationality.
Printed text, portrait, TD3 MRZ fields, and MRZ checksum validation.
License number, holder name, class, birth information, address, and expiry.
This project proves the integration workflow. It does not connect to Dukcapil, immigration, police, or any government database. OCR is not proof that a document is genuine, and the included liveness method is not independently PAD-certified.
Use synthetic sample documents first, then test your own images with automatic deletion settings.