KYC & Identity Verification
Built a complete identity verification flow: MRZ scanning, NFC chip reading with PKI authentication, and liveness detection with face matching.
Overview
At Yassir, I built a complete identity verification flow for onboarding drivers and riders across the platform. The system had to be secure enough to prevent fraud, fast enough for mobile onboarding, and reliable across a wide range of Android devices and document types.
The flow combines three distinct technical challenges — MRZ document scanning, NFC chip authentication with PKI cryptography, and liveness detection with face matching — orchestrated into a seamless multi-step experience built with Clean Architecture and MVVM.
MRZ Scanning
Machine-readable zone extraction without relying on a custom AI model
Rather than shipping a heavy on-device AI model, I built a camera-guided scanning flow that gives users real-time feedback on document placement. The video feed from the camera is cropped to the MRZ area, with an on-screen rectangle guiding the user to align their ID card for optimal cropping.
- ● Live camera feed with guided MRZ crop region for consistent, high-quality captures
- ● ML Kit text recognition on the cropped MRZ area for fast, on-device OCR
- ● Regex parsing pipeline to extract and validate structured MRZ fields (name, document number, expiry, nationality)
Verify identity intro screen
Document camera with MRZ crop guide
Parsed MRZ scan result
NFC Chip Reading & PKI Authentication
Cryptographic verification that the document chip is genuine and untampered
Reading the NFC chip on an identity document goes far beyond simple data extraction. I implemented full PKI-based authentication to verify both data integrity and chip authenticity — learning cryptography and Public Key Infrastructure from scratch to get it right.
- ● Passive Authentication — verifies data integrity using digital signatures embedded in the chip
- ● Active Authentication — proves the chip is genuine and not a cloned counterfeit
- ● Guided UX for NFC placement with real-time reading progress and extracted data review
NFC chip reading intro
Place document on phone for NFC
NFC chip reading in progress
NFC reading complete
Verify extracted document data
Liveness Detection & Face Matching
Confirming a real person is present and matches the document photo
The final step ensures the person completing verification is physically present — not a photo, video, or mask — and that their face matches the photo stored on the identity document.
- ● Multi-challenge liveness detection: blink, smile, and head movement prompts
- ● Real-time feedback to keep the face centered and steady during capture
- ● Face matching between the liveness capture and the document portrait photo
Liveness detection intro
Face scan positioning
Hold steady instruction
Blink challenge
Smile challenge
Look left challenge
Look right challenge
Liveness check success
Identity verification complete
Impact
50%
Reduction in manual document processing
0
Fraudulent accounts passing automated verification
The automated flow replaced a slow, error-prone manual review process — enabling faster driver onboarding at scale while maintaining strong identity assurance across the platform.