Our client is a leading identity and online authentication provider from Canada that simplifies consumer access to online services and applications.
The client engaged Euristiq for a document verification service development. It included the integration of online biometrics and document-checking technology with real-time authentication and verification technologies offered by the client, and also encryption of all the information that is stored on the server.
The main idea of this service is the ability to extract necessary personal information from a document scan, validating it in the process. The solution consists of three services that had to be integrated with each other retaining their performance. Users’ personal information should not be stored by the service, authentication should be achieved via mTLS.
Euristiq built a document verification system (DVS) that combines a desktop app, a database containing terms and conditions, and a cache. This solution allows institutions (e.g. banks) to obtain verified personal data from the scanned documents. An audit log records information about events in the database but personal user information is not collected during login.
The solution allows users to scan their physical identity documents, such as passports or drivers’ licenses, and have other personal information verified in real-time from trusted sources, such as financial institutions, credit bureaus, telecommunication companies, and the Government.
Our Java engineers were working to enable DVS integration with such services as Matching NodeJS app, Onfido and Enstream. These services were developed by the client and partially modified by our engineers. Matching NodeJS app compares personal information from the document scan with those already collected by the institution (e.g. bank), and comes up with a matching score. Enstream is a service for mobile number validation and Onfido – service for documents and biometric verifications.
Here’s the algorithm of how the DVS works:
- Bank informs the user about an app
- Bank sends an app its information about the user
- User uploads document scan
- App compares data from the document with bank-side data
- App sends necessary info to the bank