Document Verification
The solution verifies the authenticity and liveness of the document using various checks and extracts data using optical character recognition (OCR). The extracted data contains text strings and a trusted image of the user’s face. This image is used for the Liveness Check by default.
- Document authenticity
- Document liveness
- Data extraction
Document Checks
Below is a list of the possible checks that may be performed during verification.
Visual/Fraud Checks
| Check | Description |
|---|---|
| SecurityFeatures | Analyzes security features like holograms to determine whether the document is legitimate. |
| PhotoForgeryCheck | Checks whether the profile photo on the document has been tampered with. |
| GenerativeAICheck | It checks whether the document has been generated by AI. |
Data Checks
| Check | Description |
|---|---|
| MatchCheck | Checks if the fields are in the correct format based on our document knowledge. |
| DataMatchCheck | Checks if the data makes sense, for example that the date of expiration is after the date of issuance. |
| BarcodeAnomalyCheck | Checks if the barcode on the document is accurate and authentic. |
| SuspiciousDataCheck | Checks for sample and specimen text in the data fields and suspicious number of sequences. |
| DataIntegrityCheck | Checks if the document has all the data fields that it should contain. |
| MrzCheck | Checks the MRZ format and its consistency with the data in the other fields. |
Document Liveness Checks
| Check | Description |
|---|---|
| ScreenCheck | Determines if the document is presented on a screen (phone, tablet, desktop). |
| PhotocopyCheck | Checks if the image of the ID is a black & white photocopy or a colored print out. |
| HandPresenceCheck* | Checks whether the document is physically held in hand. |
*HandPresenceCheck doesn’t impact the overall liveness verdict.
Document Validity Checks
| Check | Description |
|---|---|
| ExpiredCheck | Determines whether this particular document is expired. |
| VersionCheck | Checks whether this type of document is acceptable in its jurisdiction today. |
Image Quality Checks
| Check | Description |
|---|---|
| ClarityCheck | A combination of a lot of heuristics and ML models that assesses the clarity of the image. |
| BlurCheck | Checks whether the image is blurry enough to be unverifiable. |
| CropCheck | It’s not possible to perform all of our checks without full context, so it checks whether the document is not too close to the edges. |
Please note that not all checks apply to all document types: for example, barcode checks only apply to documents containing barcodes.
Document Checks Configuration
The sensitivity (or strictness) of the selected checks can be adjusted to suit a specific process. The aim is always to strike a balance between high conversion and fraud detection. We recommend sticking with the default settings and only adjusting the sensitivity if necessary based on data gathered during the operation.
The following attributes can be either disabled or set the level on 10 point scale:
| Attribute | Description |
|---|---|
| ScreenMatchLevel | Specifies the match level for screen anomalies. |
| PhotocopyMatchLevel | Specifies the match level for photocopy anomalies. |
| PhotoForgeryMatchLevel | Specifies the match level for photo forgery. |
| StaticSecurityFeaturesMatchLevel | Specifies the match level for static security features. |
| DataMatchMatchLevel | Specifies the match level for data inconsistencies. |
| BarcodeAnomalyMatchLevel | Specifies the match level for barcode checks. |
| GenerativeAiMatchLevel | Specifies the match level for generative AI checks. |
A few other parameters related to image quality can be adjusted (blur, glare, lighting, sharpness, DPI and tilt). However, these changes are usually unnecessary.
Document Verification process
Verification process requires two sequential steps.
- Capture document images on the device
- Complete the document verification and get the result
Document Capture
This is a process in which the user scans documents using a mobile application. The number of documents to be scanned depends on the configuration. For some documents, such as passports, only one side needs to be scanned, whereas for others, such as ID cards, both sides need to be scanned.
For document scanning, we recommend using the provided Document Verification SDK, which ensures the best possible capture conditions, offers a great user experience (UX) and provides feedback codes available immediately after the scan, enabling the mobile application to react accordingly and help achieve a higher conversion rate in the event of errors relating to the conditions.
Document image requirements
- Supported media types: PNG, JPEG
- Resolution: FullHD - 4K
The Document Capture SDK provides the required images.
Document Verification Result
The verification status is either ‘SUCCESS’ or ‘FAILURE’.
We also provide a score on a scale from 0 to 10, reflecting the lowest level of certainty among the passing Visual/Fraud checks. However, this is more statistical information because there are multiple fraud checks, and even if one of them has a lower score, the others that pass can cause the whole document to pass.
The evaluation logic is based on different weights, whereby some checks are given greater importance (e.g. photocopy detection), while others are given less importance.
As mentioned in the section ‘Document Checks Configuration’, the sensitivity of the checks can be adjusted.
The verification result also contains the following data:
- information about performed checks
- extracted user and document data in text format
- extracted user’s face that is, by default, used as a trusted image for liveness check
- cropped image showing the front and back of the document