
„Zapis vrijedi koliko i događaj.“
Verifikacija identiteta za njemačko finansijsko tržište
KYC sistem sa liveness provjerom i lica i dokumenta, u kojem model daje pouzdan prijedlog u oko 98% slučajeva — a odluku potvrđuje operater. Proizvod je prodan u MVP fazi.
Njemačka finansijska organizacija otvara račune na daljinu, a njemački propis traži video identifikaciju sa zapisom koji izdrži reviziju godinama poslije. Sistem vodi kandidata kroz sedam koraka i traži dokaz živosti od dvije strane — od osobe i od dokumenta.
Četiri od sedam koraka su nasumična po sesiji: propisane rotacije dokumenta, prst na ivici, pet izgovorenih cifara, pokreti glave. Snimak se time ne može pripremiti unaprijed ni ponoviti. Provjeravaju se tri vrste dokumenata, a pasoš i lična karta se čitaju sa NFC čipa — kriptografski potpisani, umjesto da se podaci pogađaju sa slike.
Model daje pouzdan prijedlog u oko 98% slučajeva, ali odluku potvrđuje imenovani operater — sistem je građen kao podrška odlučivanju, ne kao automat. Proizvod je prodan u MVP fazi.
Problem
Ograničenje
Šta smo uradili
Nasumičnost kao princip — sesija se ne može pripremiti
Sedam koraka: slika lica, slika dokumenta, video sa zadanim rotacijama, gest prstom na ivici, pet nasumičnih brojeva, selfie video sa nasumičnim pokretima. Ništa se ne može snimiti unaprijed ni ponoviti.
7 koraka, nasumični po sesijiLiveness i za lice i za dokument
TensorFlow u browseru prati lice i gestove — snimanje kreće tek kad je lice u kadru. Rotacija i prst na ivici dokazuju da je dokument fizički predmet, a NFC čip pasoša i lične karte daje kriptografski potpisane podatke kroz vlastiti native modul (Java, Swift, Turbo Modules).
Pasoš i lična sa NFC čipaBiometrija pod ključem korisnika
Otključana samo dok obrada traje, zatim u odvojeni bucket pod ključem korisnika ili admina — van dosega razvojnog tima. Enkripcija svakog zahtjeva, jednokratni tokeni, pen-test vanjske firme.
Model 98% — svaku odluku potvrđuje operater
Sedam koraka, četiri nasumična po sesiji: slika lica i dokumenta, video sa zadanim rotacijama, gest prstom na ivici, pet nasumičnih brojeva, selfie sa pokretima glave. TensorFlow u browseru prati lice — snimanje kreće tek kad je lice u kadru.
Rezultat
Sedam koraka je ovdje bio regulatorni zahtjev, ne UX odluka — dizajn toka je izbor između trenja i dokaza.
Šta bismo uradili drugačije
Pristup operatera bismo bilježili od prvog dana. Odluka mora biti pripisiva imenovanoj osobi, a to znači i zapis o tome ko je šta vidio — ne samo ko je šta potvrdio.
Native modul za čitanje čipa bismo pisali jednom. Java za Android i prepis u Swift za iOS znače dvije implementacije istog propisa, i dva mjesta gdje se propis mijenja.
- TensorFlow
- WebRTC
- Node.js
- Express
- PostgreSQL
- AWS S3
- NFC / ICAO 9303
- React Native / Turbo Modules
- Java
- Swift