Digital CNH (Brazil)
Overview
Brazil’s digital driver’s license app for managing and displaying driving credentials. It is the official digital version of the national driver’s license (Carteira Nacional de Habilitação), widely accepted as a legal identification document
- ID:
brazil-digital-cnh - Type: eID (app)
- Verification Type: Enrichment
- Regions: Latin America
- Countries: BR
- Adoption: 68,000,000
- URL: https://www.gov.br/pt-br/servicos/obter-carteira-digital-de-transito
Integration with Trinsic
CNH verification is integrated into Trinsic's identity acceptance network allowing businesses to verify users against the government system of record in Brazil.
- Data Inputs: idNumber (CPF), digital CNH, selfie
- Permission required: Yes, this method requires registration before you can activate it for your users. Please contact Trinsic to begin this process.
- Cost: Contact the Trinsic team.
User Flow
Trinsic allows a user to upload their digital CNH as an image or PDF and have it verified against the government database. Customers can either utilize Trinsic's UI allowing a user to select a file to upload, or they can send a base64 encoded PDF or image along with the user's CPF number to Trinsic's API. In either scenario, Trinsic's service returns the attributes listed above along with a validation from the government that the ID is still valid.
To see a live demo of this flow, watch this video.
How to Test
While using a test mode Verification Profile, launch the widget or the provider directly.
- Enter the credentials below and click submit.
- cpf:
25774435016 - photo: (see below)
- cnh qr code: (see below)
- cpf:
- At the end, you will be presented with test data for the verification session.


Direct API Requirements
Direct API is not a requirement.You can integrate with this provider using the Hosted UI instead, with no additional integration requirements on your end.
What your integration must support in order to use this provider with the Direct Provider Sessions API.
- Supports Direct Provider Sessions: ✅
- Launch Method:
None— No user-facing action is required to start the flow. - Collection Method:
PollResult— Results arrive asynchronously; poll with theresultsAccessKeyreturned at session creation. - Requires Input: This provider requires input before verification can proceed.
- Trinsic-Hosted UI: A Trinsic-Hosted Fallback UI exists for this provider, which may be invoked to cover gaps in your integration's capabilities.
Outputs
Normalized AttributesThese attributes form part of our normalized model, a standardized set used across providers. Trinsic normalizes this for you and lets you know when a property is available for each provider.
| Field | Availability | Notes |
|---|---|---|
person.fullName | Always | - |
person.dateOfBirth | Always | - |
document.type | Always | - |
document.number | Always | - |
document.issueDate | Always | - |
document.expirationDate | Always | - |
document.issuingCountry | Always | - |
document.issuingAuthority | Always | - |
match.faceMatch | Sometimes | If selfie is provided |
attachments.selfie | Sometimes | If provided |
attachments.documentFront | Always | - |
| Field | Optional | Description | Example Values |
|---|---|---|---|
fullName.content | Yes | Full name decoded from the CNH QR Code and whether it matched the government database. | JOAO ALMEIDA SOUZA |
fullName.matchValue | Yes | Whether the decoded CNH QR Code value matched the government database. | true |
fullNameSimilarity | Yes | Similarity score for the decoded full name from the CNH QR Code. Ranges from 0.0 to 1.0, where 1.0 is an exact match. | 0.98 |
originDocument | Yes | Source identity document number/reference for the CNH record, decoded from the CNH QR Code. | SSP SP 123456789 |
dateOfBirth.content | No | Date of birth decoded from the CNH QR Code and whether it matched the government database. | 1990-04-15 |
dateOfBirth.matchValue | Yes | Whether the decoded CNH QR Code value matched the government database. | true |
motherFullName | Yes | Mother's full name decoded from the CNH QR Code. | MARIA ALMEIDA SOUZA |
fatherFullName | Yes | Father's full name decoded from the CNH QR Code. | JOSE CARLOS SOUZA |
category | Yes | Driver license category decoded from the CNH QR Code. Known values: - A: Two- or three-wheeled motor vehicles, with or without a sidecar. - B: Motor vehicles outside category A up to 3,500 kg, with capacity for up to eight passengers besides the driver, and without articulation or trailer. - C: Category B vehicles and rigid cargo vehicles above 3,500 kg. - D: Category C vehicles and passenger vehicles with capacity above eight passengers besides the driver. - E: Category D vehicles, trailers, semi-trailers, and articulated buses. | B |
registrationNumber.content | Yes | National Registry (Registro Nacional de Habilitacao) number decoded from the CNH QR Code and whether it matched the government database. Is an 11-character ID with the format XXXXXXXXX@@: - XXXXXXXXX: Base characters. The value is unique to the driver for their lifetime. - @@: Security check digits | 12345678900 |
registrationNumber.matchValue | Yes | Whether the decoded CNH QR Code value matched the government database. | true |
registrationNumberCheckDigitsValid | Yes | Whether the National Registry number satisfies the CNH modulo-11 check digit routine. | true |
firstIssueDate | Yes | Date when the driver was first licensed, decoded from the CNH QR Code. | 2010-08-19 |
observations | Yes | CNH observations decoded from the QR Code. May include EAR for paid driving activity and one or more restriction codes: - A: Corrective lenses required. - B: Hearing prosthesis required. - C: Left-side accelerator required. - D: Automatic transmission vehicle required. - E: Steering-wheel grip, handle, or knob required. - F: Power steering vehicle required. - G: Manual clutch, automated clutch, or automatic transmission vehicle required. - H: Hand accelerator and brake required. - I: Dashboard control adaptations to the steering wheel required. - J: Dashboard control adaptations for lower limbs or other body parts required. - K: Gear-shift lever extension and/or fixed height/depth compensation cushions required. - L: Pedal extensions and floor elevation and/or fixed height/depth compensation cushions required. - M: Motorcycle with adapted gear-shift pedal required. - N: Motorcycle with adapted rear-brake pedal required. - O: Motorcycle with adapted front-brake handle required. - P: Motorcycle with adapted clutch handle required. - Q: Motorcycle with sidecar or tricycle required. - R: Scooter with sidecar or tricycle required. - S: Motorcycle with automated gear shifting required. - T: Driving on highways and high-speed roads prohibited. - U: Driving after sunset prohibited. - V: Helmet with visor and unrestricted field of vision required. - X: Other restrictions. | EAR |
issueCity | Yes | City where the CNH was issued, decoded from the QR Code. | SAO PAULO |
issueState | Yes | Brazilian state where the CNH was issued, decoded from the QR Code. Format is a two-letter Brazilian state abbreviation when present. | SP |
validationNumber | Yes | Numeric security validation code decoded from the CNH QR Code. This is an 11-digit code generated from Departamento Estadual de Trânsito (State Traffic Department or DETRAN) owned data for each CNH and used to validate the document. The algorithm is proprietary, so no further information is available on this number. | 12345678901 |
renachNumber | Yes | Registro Nacional de Condutores Habilitados (RENACH) form number decoded from the CNH QR Code. Is an 11-character ID with the format FFXXXXXXXX@: - FF: The issuing federation unit abbreviation. It identifies the state where the driver was licensed or last had record changes. - XXXXXXXXX: Serial number - @: Modulo-11 security check digit | SP123456789 |
facialBiometry.databaseFaceAvailable | Yes | Whether the government database had facial biometrics available for comparison. | true |
facialBiometry.probability | Yes | Probability bucket returned by Serpro for the facial biometric comparison. Known values: - VeryLow - Low - High - VeryHigh | VeryHigh |
facialBiometry.similarityScore | Yes | Similarity score returned by Serpro for the facial biometric comparison. Ranges from 0.0 to 1.0, where 1.0 is a perfect match. | 0.99 |
facialBiometry.liveness | Yes | Liveness result returned by Serpro when liveness is part of the validation response. Known values: - BAD_QUALITY: The image quality was too low for liveness validation. - FAKE: Liveness validation detected a presentation attack or non-live face. - REAL: Liveness validation detected a live face. | REAL |
Updated 8 days ago
