Welcome to Verifai's technical documentation. Verifai provides software that verifies all types of ID documents from all countries. Our aim is to create a solution for every use case. What sets Verifai apart is our "privacy first" approach, which means that you are compliant straight out of the box. We won't dictate the process, but instead find ways to suit your needs. We do, however, also aim to offer the very best default settings. That way, you won't need to configure a lot to get started.
Overview of our approach
The Verifai SDK will guide a user through the ID verification process. We take many common pitfalls into account and guide the user through our "flow" to get a good ID verification result. The main goal of this is to gather all the information needed, to verify the document and the information on it. Depending on your ID verification needs this means we'll guide the user through taking a good image of their document. Additionally extra checks can be performed to validate the document itself (through NFC), or to validate the user is currently scanning the document (Liveness check). Once a user has successfully scanned their document, and has done any additional check, then we securely upload this information to our Verifai API. Once this process is completed the webhook you provided will be called. You will then be able to retrieve the verified information provided by the user. This process is asynchronous, so keep this in mind when creating your ID verification process in your application.
The Verifai SDK is split up into modules. These modules are Core, NFC and Liveness. There are many advantages to this but here are some of the main reasons:
- Functionality is split up into smaller packages
- You don't need to import everything only the module you need
- You don't need to provide all the permissions, only for the modules you use
The Core module provides the basic scanning functionality for Verifai. It will guide the user through the document image taking process. It will also provide instruction screens or other routes for other flows to ensure we have a result. In short:
- Instruct the user in what to scan and how a identity document looks like
- Take image of the front and or back of the document
- Guide the user through the process of verifying the image and legibility
- Upload the scanned data to the Verifai API for processing
- Recover from scanning / document inconsistencies and guide the user to a successful scan
- Facilitate manual scanning for unknown documents
A(Start scan) --> B(Scan Document) --> C(Verify results) --> D(Upload Results)
E(Document is Verified by our experts) --> F(Webhook is called)
The NFC module provides an extra level of document verification. Every ICAO compliant identity document (for example passports) has an NFC chip embedded on it. Verifai can communicate with this NFC chip and perform certain cryptographic checks. These checks only pass if the document is genuine. Additionally, the chip can contain extra information on the user. Like a face image and or verified user information. This varies by country and document. In short:
- Communicate with the NFC chip on compliant documents
- Cryptographically verify document validity
- Retrieve extra information related to the user (differs per document)
A(Start scan) --> B(Scan Document) --> G(NFC Scan) --> C(Verify results) --> D(Upload Results)
E(Document is Verified by our experts) --> F(Webhook is called)
The Liveness check module provides functionality related to verifying who is holding the document while performing the scan. It provides certain checks that let a user perform certain actions in front of the device's camera. One of these checks can also confirm that the face performing the check and the image in the document of the user's face match. In short:
- Let the user perform certain checks to prove they're currently holding the device
- Check if the user currently using the phone is the same as the one on the document
- Record this process as an mp4 video
A(Core scan) --> B(Liveness check) --> C(Process results locally)
What type of ID verification do I need?
We'll gladly work with you to help determine which information it is exactly that you need to reach your desired result. We take pride in having a privacy friendly approach. This means that we believe in only working with the data we need. Generally for you this means that you'll have to determine which information you need to fullfil the needs of your process. In short:
If you need reliable information about a user:
- Only the Core module should suffice
If you need to verify a user's identity and the validity of their document
- The Core and NFC modules are required
If you need to verify a user's identity and also ensure the person is holding the document
- Core + NFC + Liveness is required
- Also check the recording of the user performing the check for high security situations
We get a lot of questions on what information ID verification can and cannot provide. ID verification by its nature is susceptible to different interpretations by the government issuing the document. One government body can introduce state of the art security and encryption levels. Other governments just implement the bare minimum. Each country can have specific laws with specific requirements.
Through the years we've built a robust solution, that takes a lot of these nuances into account. The document type that is most internationally standardised, is the passport. The ICAO passport standard ensures, that at least the MRZ and the user's face image is on the document. Besides that most western countries have implemented the cryptographic capabilities to verify the document.
Please contact us if you have any questions about a specific country or document. Drivers licenses, and ID cards tend to be more closely controlled by the issuing government. This means that there can be big differences between documents from country to country. This causes different situations, where the amount of information we can retrieve is limited.
Another thing to keep is mind for the NFC chip, is that this chip can break or be made non functional by a user. Verifai helps mitigate these issues by providing multiple tests, that can be used to verify a user's identity. For any questions regarding specific documents don't hesitate to reach out. We can work together to ensure we have a complete solution to your ID verification needs.