France Identité
EUDIW Disclaimer
France Identité will become France's official EUDI Wallet, though they are not yet certified as such. There are currently two ways to test the wallet.
In live and demo environments, you can do an age verification using real user data with the production France Identité wallet.
In the test environment you can join the France Identité partners build in order to demo full PID presentation. The attributes shown below represent the full PID data, so please note that production age verification will contain a small subset of the data.
Overview
France Identité is the government mobile app that will be their official EUDI wallet.
- ID:
france-identite - Type: eID (app)
- Verification Type: Presentation
- Regions: Europe
- Countries: BL, FR, GF, GP, MF, MQ, NC, PF, PM, RE, TF, YT
- Adoption: 4,200,000
- URL: https://france-identite.gouv.fr/
Integration with Trinsic
France Identité is integrated into Trinsic's identity acceptance network, allowing businesses to verify PID credentials held in this EUDI Wallet by leveraging our EUDI and 18013 technology stacks.
- 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.
How to Test
Test Mode False Failure
When performing test verifications in the current version of the France Identité application, a verification will display a failure screen in the app on completion, even if the verification was successful.
This is a confirmed bug with the current version of the France Identité application.
- Submit a request to join the official France Identité test program. iOS request form or Android request form
- Once approved, download the app.
- Follow the official guide to initialize the app and receive a test credential
- This test credential will usually disappear within an hour, requiring recreation
- While using a Verification Profile in the Test Environment, create a Session against this Provider
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:
DeeplinkToMobile— Launch the given URI on the user's mobile device. - Collection Method:
PollResult— Results arrive asynchronously; poll with theresultsAccessKeyreturned at session creation. - 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.givenName | Always | - |
person.familyName | Always | - |
person.dateOfBirth | Always | - |
person.nationality | Always | - |
person.sex | Sometimes | If available |
person.phoneNumber | Sometimes | If available |
person.address.line1 | Sometimes | If address is available |
person.address.city | Sometimes | If address is available |
person.address.subdivision | Sometimes | If address is available |
person.address.postalCode | Sometimes | If address is available |
person.address.country | Sometimes | If address is available |
document.number | Sometimes | If available |
document.issueDate | Sometimes | If available |
document.expirationDate | Always | - |
document.issuingCountry | Always | - |
document.issuingSubdivision | Sometimes | If available |
document.issuingAuthority | Always | - |
attachments.documentPortrait | Sometimes | If available |
| Field | Optional | Description | Example Values |
|---|---|---|---|
pid.givenName | Yes | Current first name(s), including middle name(s) where applicable, of the individual to whom the PID relates. | JEAN |
pid.givenNameBirth | Yes | First name(s), including middle name(s), of the individual at the time of birth. | JEAN |
pid.familyName | Yes | Current last name(s) or surname(s) of the individuals. | DUPONT |
pid.familyNameBirth | Yes | Last name(s) or surname(s) of the individual at the time of birth. | DUPONT |
pid.dateOfBirth | Yes | The date of birth of the individual. | 1990-01-31 |
pid.birthPlace | Yes | Country (ISO 3166-1 alpha-2), state, province, district, local area, municipality, city, town, or village where the individual was born. | PARIS |
pid.nationality | Yes | One or more ISO 3166-1 alpha-2 country codes representing the nationality of the individual. | ["FR"] |
pid.expiryDate | Yes | Date when the PID expires. Because PIDs are not necessarily backed by a physical document, this does not correspond to the expiration date of such. | 2030-01-31 |
pid.issuingAuthority | Yes | Name of the administrative authority that issued the PID, or the ISO 3166 alpha-2 country code of the respective Member State if there is no separate authority entitled to issue PIDs. | FR |
pid.issuingCountry | Yes | ISO 3166-1 alpha-2 country code of the country or territory of the issuer of the PID. | FR |
pid.issuanceDate | Yes | Date when the PID was issued and/or the administrative validity period began. | 2020-01-31 |
pid.trustAnchor | Yes | URL where a machine-readable trust anchor for verifying the PID can be found. | https://trust.example.test/anchor |
pid.attestationLegalCategory | Yes | Indicator that this credential has been issued specifically as PID. When present, typically equal to "PID". | PID |
pid.documentNumber | Yes | A number assigned to the PID by the issuer. This does not correspond to the document number of a physical document. | P1234567 |
pid.issuingJurisdiction | Yes | ISO 3166-2 country-subdivision code for the jurisdiction that issued the PID. | FR-75 |
pid.locationStatus | Yes | Location of validity status information for the PID, where revocation information is published. | https://status.example.test/pid |
pid.sex | Yes | Sex of the individual. This is a superset of the ISO/IEC 5218 sex code standard, defining additional "other", "inter", "diverse", and "open" values. Possible values: - 0: Unknown - 1: Male - 2: Female - 3: Other - 4: Inter - 5: Diverse - 6: Open - 9: Not Applicable For values 0, 1, 2, and 9, ISO/IEC 5218 applies. | 1 |
pid.emailAddress | Yes | The individual's email address. | [email protected] |
pid.mobilePhoneNumber | Yes | The mobile phone number of the individual, in international format. | +33612345678 |
pid.personalAdministrativeNumber | Yes | A value assigned to the individual that is unique among all personal administrative numbers issued by the provider. | 123456789 |
pid.residentAddress | Yes | The full address of the individual's permanent residence. | 1 RUE DE LA PAIX, 75001 PARIS |
pid.residentStreet | Yes | The street name of the individual's permanent residence. | RUE DE LA PAIX |
pid.residentHouseNumber | Yes | The house number of the individual's permanent residence. | 1 |
pid.residentCity | Yes | The municipality, city, town, or village of the individual's permanent residence. | PARIS |
pid.residentState | Yes | The state, province, district, or local area of the individual's permanent residence. | ILE-DE-FRANCE |
pid.residentPostalCode | Yes | The postal code of the individual's permanent residence. | 75001 |
pid.residentCountry | Yes | The ISO 3166-1 alpha-2 country code of the individual's permanent residence. | FR |
ageVerification.ageOver | Yes | Processed age-over claims returned by the credential. | [{'{'} "age": 18, "isOver": true {'}'}, {'{'} "age": 21, "isOver": true {'}'}] |
ageVerification.expiryDate | Yes | Date when the age verification data expires. | 2030-01-31 |
ageVerification.issuingCountry | Yes | ISO 3166-1 alpha-2 country code of the country or territory of the issuer of the credential. | FR |
raw18013Output.iacaRootCertificate.serialNumber | Yes | The serial number of the certificate | 535868140170056787981774412188464491855209169584 |
raw18013Output.iacaRootCertificate.commonName | Yes | The common name (CN) of the certificate | California DMV IACA Root |
raw18013Output.iacaRootCertificate.stateOrProvinceName | Yes | The stateOrProvinceName field from the signing certificate. Per the ISO 18013-5 (mDL) spec, this is an ISO 3166-2:2020 country subdivision code (e.g., "US-CA" for California, USA). May be an empty string for certificates which are not state-specific (e.g., Google Wallet's ID Pass certificates). | US-CA |
raw18013Output.iacaRootCertificate.notBefore | Yes | The date before which this certificate is not valid. | 2023-03-01T17:17:39.000Z |
raw18013Output.iacaRootCertificate.notAfter | Yes | The date after which this certificate is not valid. | 2033-01-07T17:17:39.000Z |
raw18013Output.documentSignerCertificate.serialNumber | Yes | The serial number of the certificate | 306801082360131207284784033026769989720690200468 |
raw18013Output.documentSignerCertificate.commonName | Yes | The common name (CN) of the certificate | California DMV IACA mdoc Signer |
raw18013Output.documentSignerCertificate.stateOrProvinceName | Yes | The stateOrProvinceName field from the signing certificate. Per the ISO 18013-5 (mDL) spec, this is an ISO 3166-2:2020 country subdivision code (e.g., "US-CA" for California, USA). May be an empty string for certificates which are not state-specific (e.g., Google Wallet's ID Pass certificates). | US-CA |
raw18013Output.documentSignerCertificate.notBefore | Yes | The date before which this certificate is not valid. | 2025-01-13T17:26:32.000Z |
raw18013Output.documentSignerCertificate.notAfter | Yes | The date after which this certificate is not valid. | 2026-04-13T17:26:32.000Z |
raw18013Output.documentType | Yes | The document type of the mDoc presented by the individual. Common values: - "org.iso.18013.5.1.mDL" for ISO 18013-5 mDLs - "com.google.wallet.idcard.1" for Google Wallet ID Cards | org.iso.18013.5.1.mDL |
raw18013Output.nameSpaces | Yes | The namespaces, and fields within those namespaces, which were present in the processed mDL. | {'{'}<br /> "org.iso.18013.5.1": {'{'}<br /> "family_name": {'{'}<br /> "type": "String",<br /> "value": "DOE"<br /> {'}'},<br /> "given_name": {'{'}<br /> "type": "String",<br /> "value": "JOHN"<br /> {'}'},<br /> "birth_date": {'{'}<br /> "type": "String",<br /> "value": "2000-03-27"<br /> {'}'},<br /> "age_over_21": {'{'}<br /> "type": "Boolean",<br /> "value": "true"<br /> {'}'}<br /> {'}'}<br />{'}'} |
Updated 20 days ago
