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 |
|
NOT_EXECUTED |
BAD_REQUEST |
|
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 Flags
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. |