Construire un système de vérification d'âge centré sur la vie privée avec OpenEUDI

Comment créer un système de vérification d'âge qui ne collecte aucune donnée personnelle avec le SDK OpenEUDI. Un résultat booléen, pas une date de naissance.

Équipe eIDAS Pro
10 mars 2026
7 min de lecture

Le problème de la vérification d'âge traditionnelle

La plupart des systèmes actuels de vérification d'âge collectent des données personnelles :

  • Saisie de la date de naissance : les utilisateurs saisissent leur date de naissance. Aucune vérification. Il est facile de mentir.
  • Téléversement d'un document : les utilisateurs photographient leur pièce d'identité. Vous vous retrouvez alors avec une image contenant le nom, l'adresse, la photo et le numéro du document, soit bien plus de données que nécessaire pour répondre à la question "cette personne a-t-elle plus de 18 ans ?"
  • Estimation d'âge par un tiers : une IA estime l'âge à partir d'un selfie. Cela implique un traitement biométrique avec des conséquences RGPD importantes.

Toutes ces approches collectent plus de données qu'il n'en faut pour répondre à une simple question binaire.

L'alternative centrée sur la vie privée

Avec la vérification via le portefeuille EUDI, le contrôle d'âge fonctionne autrement :

Vous demandez : "Cette personne a-t-elle 18 ans ou plus ?"
Le portefeuille répond : "Oui." (ou "Non.")

C'est tout. Pas de date de naissance. Pas de nom. Pas de document. Pas de selfie. Pas de données biométriques. Un booléen signé cryptographiquement par un émetteur de confiance reconnu par l'État.

Implémentation avec OpenEUDI

Étape 1 : installer et configurer

import { createVerifier } from '@openeudi/core';

const verifier = createVerifier({
  mode: 'demo', // Passez à 'production' quand les portefeuilles EUDI seront lancés
});

Étape 2 : créer une session de vérification d'âge

const session = await verifier.createSession({
  attributes: ['age_over_18'],
  // C'est tout. Nous ne demandons ni nom, ni date de naissance, ni autre attribut.
});

L'idée clé : age_over_18 est un attribut dérivé. Le portefeuille vérifie la date de naissance en local et ne renvoie que le résultat booléen. La date de naissance ne quitte jamais l'appareil.

Étape 3 : traiter le résultat

session.onVerified((result) => {
  if (result.ageOver18) {
    // Autoriser l'accès au contenu ou au produit soumis à une restriction d'âge
    allowPurchase();
  } else {
    // Bloquer l'accès
    showAgeRestrictionMessage();
  }
});

Étape 4 : ce que vous stockez (presque rien)

// Journal d'audit sans données personnelles
await db.verificationLogs.create({
  sessionId: result.sessionId,
  verificationType: 'age_over_18',
  result: result.ageOver18, // true/false - pas une donnée personnelle
  verifiedAt: result.verifiedAt,
  // Pas de nom. Pas de date de naissance. Pas de numéro de document. Pas de PII.
});

Intégration WooCommerce

Pour les boutiques WordPress/WooCommerce qui vendent des produits soumis à une restriction d'âge :

// Le plugin OpenEUDI WooCommerce gère cela automatiquement.
// Dans votre administration WordPress :
// 1. Installez le plugin OpenEUDI Age Verification
// 2. Allez dans WooCommerce -> Settings -> Age Verification
// 3. Sélectionnez les catégories de produits qui nécessitent une vérification
// 4. Choisissez le seuil de vérification (18+, 21+)
// 5. Terminé.

Le plugin ajoute une étape de vérification avant le paiement pour les produits concernés. Le client scanne un QR code, valide dans son portefeuille, puis la commande se poursuit. Aucune donnée personnelle n'est collectée ni stockée par le plugin.

Analyse RGPD

Minimisation des données (article 5(1)(c))

La vérification d'âge traditionnelle collecte :

  • Nom complet, date de naissance, numéro de document, images de document, selfie

La vérification d'âge avec OpenEUDI collecte :

  • Un booléen : true ou false

Le RGPD exige que les données personnelles soient "adéquates, pertinentes et limitées à ce qui est nécessaire". Un booléen représente le strict minimum pour vérifier l'âge.

Limitation de la conservation (article 5(1)(e))

Avec une vérification traditionnelle, vous devez :

  • Définir des durées de conservation pour les pièces d'identité
  • Mettre en oeuvre des procédures de suppression sécurisée
  • Répondre aux demandes d'accès et d'effacement

Avec OpenEUDI :

  • Le résultat de vérification (true/false) n'est pas une donnée personnelle selon la plupart des interprétations
  • L'identifiant de session est un identifiant aléatoire sans lien avec la personne
  • Aucune politique de conservation de PII n'est nécessaire, puisqu'aucune PII n'est collectée

Analyse d'impact relative à la protection des données

Une AIPD peut ne pas être nécessaire pour la vérification d'âge OpenEUDI parce que :

  • Il n'y a pas de surveillance systématique des personnes
  • Il n'y a pas de traitement de catégories particulières de données
  • Il n'y a pas de traitement à grande échelle de données personnelles
  • Les données traitées (un booléen) présentent un risque minimal pour les personnes concernées

Comparez cela à une vérification d'âge fondée sur un KYC traditionnel, qui impose presque toujours une AIPD en raison du traitement d'images de documents et de données biométriques.

Attributs d'âge disponibles

Le portefeuille EUDI prend en charge plusieurs attributs liés à l'âge :

AttributRetourCas d'usage
age_over_18BooléenAlcool, tabac, contenu adulte
age_over_21BooléenJeux d'argent (dans certaines juridictions)
age_over_16BooléenCertains services numériques, restrictions plus légères
age_over_14BooléenContrôles d'âge sur les réseaux sociaux

eIDAS Pro ne prend pas en charge la demande de données personnelles brutes comme birth_date, family_name ou nationality. Notre architecture centrée sur la vie privée garantit que vous ne recevez que des résultats booléens, jamais les données personnelles sous-jacentes. La conformité par pays est gérée via votre configuration de liste blanche ou noire marchand, pas en demandant des données à l'utilisateur.

Points d'attention spécifiques aux pays

Les seuils d'âge varient selon les pays et les catégories de produits :

PaysAlcoolTabacJeux d'argent
La plupart des pays de l'UE18+18+18+
Allemagne16+ (bière/vin), 18+ (spiritueux)18+18+
Belgique16+ (bière/vin), 18+ (spiritueux)18+21+
Autriche16+ (bière/vin), 18+ (spiritueux)18+18+

Le SDK OpenEUDI inclut une cartographie de conformité lisible par machine (JSON) couvrant les 27 États membres. Vous pouvez ainsi demander l'attribut correct selon le pays de l'utilisateur et la catégorie de produit concernée.


Le SDK OpenEUDI est sous licence MIT et gratuit. Pour la vérification d'âge en production avec des certificats WRPAC managés, consultez les offres managées d'eIDAS Pro.

Articles similaires

Partager cet article

Aidez les autres à en savoir plus sur la vérification eIDAS