Een privacy-first leeftijdsverificatiesysteem bouwen met OpenEUDI

Hoe u met de OpenEUDI SDK een leeftijdsverificatiesysteem bouwt dat geen enkel persoonsgegeven verzamelt. Een booleaans resultaat — geen geboortedatum.

eIDAS Pro Team
10 maart 2026
7 min leestijd

Het probleem met traditionele leeftijdsverificatie

De meeste hedendaagse leeftijdsverificatiesystemen werken door persoonsgegevens te verzamelen:

  • Invoer van geboortedatum: gebruikers typen hun geboortedatum in. Geen verificatie. Makkelijk te liegen.
  • Documentupload: gebruikers fotograferen hun identiteitsbewijs. U heeft nu een documentafbeelding met naam, adres, foto en documentnummer — veel meer data dan nodig om de vraag "is deze persoon ouder dan 18?" te beantwoorden.
  • Leeftijdsschatting door derden: AI schat de leeftijd op basis van een selfie. Verwerking van biometrische gegevens met aanzienlijke AVG-implicaties.

Al deze benaderingen verzamelen meer data dan nodig om een eenvoudige ja/nee-vraag te beantwoorden.

Het privacy-first alternatief

Met verificatie via de EUDI Wallet werkt leeftijdscontrole anders:

U vraagt: "Is deze persoon 18 jaar of ouder?"
De wallet antwoordt: "Ja." (of "Nee.")

Dat is alles. Geen geboortedatum. Geen naam. Geen document. Geen selfie. Geen biometrische gegevens. Een cryptografisch ondertekend booleaans resultaat van een door de overheid vertrouwde uitgever.

Implementatie met OpenEUDI

Stap 1: installeren en configureren

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

const verifier = createVerifier({
  mode: 'demo', // Switch to 'production' when EUDI Wallets launch
});

Stap 2: een leeftijdsverificatiesessie aanmaken

const session = await verifier.createSession({
  attributes: ['age_over_18'],
  // That's all. We don't request name, DOB, or any other attribute.
});

Het cruciale inzicht: age_over_18 is een afgeleid attribuut. De wallet controleert intern de geboortedatum van de gebruiker en retourneert alleen het booleaanse resultaat. De geboortedatum verlaat het apparaat nooit.

Stap 3: het resultaat verwerken

session.onVerified((result) => {
  if (result.ageOver18) {
    // Allow access to age-restricted content/product
    allowPurchase();
  } else {
    // Block access
    showAgeRestrictionMessage();
  }
});

Stap 4: wat u opslaat (bijna niets)

// Audit log — no PII
await db.verificationLogs.create({
  sessionId: result.sessionId,
  verificationType: 'age_over_18',
  result: result.ageOver18, // true/false — not personal data
  verifiedAt: result.verifiedAt,
  // No name. No DOB. No document number. No PII.
});

WooCommerce-integratie

Voor WordPress-/WooCommerce-winkels die leeftijdsgebonden producten verkopen:

// The OpenEUDI WooCommerce plugin handles this automatically.
// In your WordPress admin:
// 1. Install the OpenEUDI Age Verification plugin
// 2. Go to WooCommerce → Settings → Age Verification
// 3. Select which product categories require verification
// 4. Choose verification threshold (18+, 21+)
// 5. Done.

De plugin voegt een verificatiestap toe vóór het afrekenen voor gemarkeerde producten. De klant scant een QR-code, keurt goed in zijn wallet, en de bestelling gaat door. Er worden door de plugin geen persoonsgegevens verzameld of opgeslagen.

AVG-analyse

Minimale gegevensverwerking (artikel 5, lid 1, onder c))

Traditionele leeftijdsverificatie verzamelt:

  • Volledige naam, geboortedatum, documentnummer, documentafbeeldingen, selfie

Leeftijdsverificatie met OpenEUDI verzamelt:

  • Een booleaans resultaat: true of false

De AVG vereist dat persoonsgegevens "toereikend zijn, ter zake dienend en beperkt tot wat noodzakelijk is". Een booleaans resultaat is het absolute minimum dat nodig is om leeftijd te verifiëren.

Opslagbeperking (artikel 5, lid 1, onder e))

Bij traditionele verificatie moet u:

  • Bewaartermijnen vaststellen voor identiteitsdocumenten
  • Veilige verwijderingsprocedures implementeren
  • Reageren op inzage- en verwijderingsverzoeken van betrokkenen

Met OpenEUDI:

  • Is het verificatieresultaat (true/false) volgens de meeste interpretaties geen persoonsgegeven
  • Is de sessie-ID een willekeurige identificator zonder koppeling aan de persoon
  • Is geen bewaarbeleid voor persoonsgegevens nodig, omdat er geen persoonsgegevens worden verzameld

Gegevensbeschermingseffectbeoordeling

Een DPIA is voor leeftijdsverificatie met OpenEUDI mogelijk niet vereist, omdat:

  • Er geen systematische monitoring van personen plaatsvindt
  • Er geen bijzondere categorieën van gegevens worden verwerkt
  • Er geen grootschalige verwerking van persoonsgegevens plaatsvindt
  • De verwerkte gegevens (een booleaans resultaat) een minimaal risico voor betrokkenen vormen

Vergelijk dit met traditionele, op KYC gebaseerde leeftijdsverificatie, waarvoor door de verwerking van documentafbeeldingen en biometrische gegevens vrijwel zeker een DPIA vereist is.

Beschikbare leeftijdsattributen

De EUDI Wallet ondersteunt meerdere leeftijdsgerelateerde attributen:

AttribuutRetourneertUse case
age_over_18BooleaansAlcohol, tabak, content voor volwassenen
age_over_21BooleaansGokken (in sommige rechtsgebieden)
age_over_16BooleaansSommige digitale diensten, lichtere restricties
age_over_14BooleaansLeeftijdsgrenzen op sociale media

eIDAS Pro ondersteunt niet het opvragen van ruwe persoonsgegevens zoals birth_date, family_name of nationality. Onze privacy-first architectuur zorgt ervoor dat u alleen booleaanse resultaten ontvangt — nooit de onderliggende persoonsgegevens. Landcompliance wordt afgehandeld via uw merchant whitelist-/blacklist-configuratie, niet door data van gebruikers op te vragen.

Landspecifieke overwegingen

Leeftijdsgrenzen voor verificatie variëren per land en product:

LandAlcoholTabakGokken
De meeste EU-landen18+18+18+
Duitsland16+ (bier/wijn), 18+ (sterke drank)18+18+
België16+ (bier/wijn), 18+ (sterke drank)18+21+
Oostenrijk16+ (bier/wijn), 18+ (sterke drank)18+18+

De OpenEUDI SDK bevat een machineleesbare compliance-mapping (JSON) die alle 27 lidstaten dekt, zodat u het juiste attribuut kunt opvragen op basis van het land van de gebruiker en uw productcategorie.


De OpenEUDI SDK is MIT-gelicentieerd en gratis. Voor leeftijdsverificatie in productie met beheerde WRPAC-certificaten, zie de managed plannen van eIDAS Pro.

Gerelateerde artikelen

Dit artikel delen

Help anderen meer te weten komen over eIDAS-verificatie