EUDI Wallet

Identity verification via EUDI wallet (France Identite).

How does it work?

EUDI Wallet uses the France Identite application as a digital identity wallet. Instead of uploading a PDF, the user presents their identity attributes directly from the application. Verification happens directly on the user's device — ZYKAY never sees personal data.

Already verified users get instant login (~1.7 seconds) via Face ID, without any additional interaction.

The user must have the France Identite (opens in a new tab) application installed and configured with their digital identity.

Rapid integration

Add data-client-proof-mode

A single additional attribute activates EUDI Wallet:

<script src="https://widget-app.zykay.com/v4/loader.min.js"
        data-partner-id="pk_live_xxx"
        data-success-path="/verified"
        data-scopes="isAdult,isFrench,isUnique"
        data-client-proof-mode="true"></script>

The widget handles the rest

The widget displays a QR code (desktop) or a button (mobile). The ZYKAY app automatically routes the user to the optimal flow.

Exchange the grant_code

const hash = new URLSearchParams(window.location.hash.slice(1));
const grantCode = hash.get('grant_code');
if (grantCode) {
  await fetch('/api/zykay/exchange', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ grant_code: grantCode })
  });
}

The backend does not change. The POST /v1/exchange API with HMAC signature works identically for both methods.

Comparison PDF vs EUDI Wallet

PDF VerificationEUDI Wallet
ScopesAll (8 scopes)isAdult, isFrench, isEU, isUnique
Speed ​​(first time)~30-60s~15s
Speed ​​(return)Identical~1.7s
PrerequisitesPDF France IdentiteFrance Identite App
Frontend attributedata-client-proof-mode="true"
BackendPOST /v1/exchangeIdentical
⚠️

The isMale, isFemale, revealNationality and revealBirthYear scopes are not available with EUDI Wallet. If you include them in data-scopes with data-client-proof-mode="true", the check will fail.

Migrating from PDF Verification

If your integration already uses PDF verification, migrating to EUDI Wallet is done in two steps:

1. Check your scopes

Remove unsupported scopes if necessary:

- data-scopes="isAdult,isFrench,isMale"
+ data-scopes="isAdult,isFrench"

2. Add the attribute

  <script src="https://widget-app.zykay.com/v4/loader.min.js"
          data-partner-id="pk_live_xxx"
          data-success-path="/verified"
          data-scopes="isAdult,isFrench"
+         data-client-proof-mode="true"></script>

Your backend (POST /v1/exchange) does not require any modifications.

User journey

The ZYKAY application automatically optimizes the route according to the user's context. Three scenarios are possible, from slowest to fastest:

ScenarioDurationWhen
First visit~15sUser has never been verified
Later visit~15-30sCached data, no EUDI re-presentation
Instant connection~1.7sAlready verified user for your site

Instant login automatically turns on for users who have already been verified for your site. No configuration is required on your part.

For details of each path, see Wallet Journey.

Next steps