Brazilian Digital Driving License QR Code + Biometric Validation
The Digital Driving License QR Code + Biometric Validation service combines QR code validation with biometric matching to further enhance identity verification. This dual-layered approach ensures that the person presenting the license matches the identity registered with the issuing authority. Also, this not only confirms the authenticity of the driver’s license but also confirms the individual’s identity through a selfie comparison.
How Does It Work?
- The user downloads their digital driving license PDF from the "Carteira Digital de Trânsito" (CDT) app.
- The PDF is uploaded to the Jumio system for validation, and a selfie is captured with liveness detection as part of an ID Verification transaction.
- Data, including name, date of birth (DOB), and CPF (tax ID), is extracted from the image of the driving license in the PDF.
- The QR code from the uploaded PDF is decrypted to extract the data.
- The extracted data from the driving license image and QR code in the PDF and the selfie biometric are validated against government records.
- The selfie is compared to the photo on the digital driving license.
- The transaction response includes the verification result, indicating the authenticity of the license and the selfie.
Use Cases
Enhancing fraud detection by combining QR code validation with biometric checks.
Confirming the individual’s identity alongside the authenticity of their driver’s license.
Supported Credentials
The following data points can be submitted for validation:
| Key | Type | Mandatory | Description |
|---|---|---|---|
| ID | yes | ID Credential to be uploaded | |
| Selfie/Facemap | Selfie | yes | Selfie Credential to be submitted (checked against the ID AND in the database) |
Response
Example Response
"biometricVerification": [
{
"id": "b81c0e88-5b27-4b3b-a34d-b389466*****",
"credentials": [
{
"id": "040cd859-929f-4dbd-99b8-e5c75ee*****",
"category": "ID"
},
{
"id": "7d34576d-51b4-43c5-90e0-76cf21b*****",
"category": "SELFIE"
}
],
"decision": {
"type": "REJECTED",
"details": {
"label": "HIGH_RISK"
}
},
"data": {
"nameMatch": "MATCH",
"dobMatch": "MATCH",
"faceMatch": "NOT_MATCH",
"idNumberMatch": "MATCH"
}
}
]
Decision Details Labels
| Decision Type | Label | Description |
|---|---|---|
| PASSED | LOW_RISK | The provided Selfie matches the photo on record. |
| REJECTED | HIGH_RISK | The provided Selfie does not match the photo on record. |
| WARNING | MEDIUM_RISK | It cannot be determined whether or not the provided Selfie matches the photo on record. |
| NOT_EXECUTED | TECHNICAL_ERROR | Verify the provided data is correct and retry, or contact Support. |
| NOT_EXECUTED | PERMISSION_DENIED | The request is not authorized to access the service. |
| BAD_REQUEST | Malformed or missing required parameters. Ensure that all mandatory fields are included and correctly formatted before retrying. |
Data
| Key | Possible Values | Description |
|---|---|---|
| nameMatch | MATCH, NOT_MATCH | To be a MATCH, the concatenated firstName and lastName value of the input data must exactly match what is in the CPF database. |
| idNumberMatch | MATCH, NOT_MATCH | CPF number matches. |
| dobMatch | MATCH, NOT_MATCH | Date of birth matches. |
| faceMatch | MATCH, NOT_MATCH | Selfie matches the photo on record. |
Additional Status Flag
| Parameter | Type | Note |
|---|---|---|
| data.suspended | boolean | true/false - Indicates if the license is suspended. |
| data.deceased | boolean | true/false - Indicates if the individual is marked deceased. |
| data.cancelled | boolean | true/false - Indicates if the license is cancelled. |
| data.regularizationPending | boolean | true/false - Indicates if there are pending regularization issues with the license. |
| data.cancellationReason | string | Provides details on the cancellation reason. |
| data.reasonMessage | string | Additional explanation of the status. |