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

pdf

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.