Gecorrigeerd op 20 oktober 2026: een eerdere versie van dit artikel stelde dat de EUDI Wallet een attribuut
age_over_18teruggeeft en toonde een SDK-aanroep die niet bestaat. De PID bevat geen leeftijdsattribuut: de verifier vraagt alleen de geboortedatum op en leidt het ja/nee zelf af;age_over_18bestaat alleen in het aparte leeftijdsbewijs (proof-of-age attestation). De codevoorbeelden gebruiken nu de echte@openeudi/core-API. Ook hebben we de prijs van de managed service gecorrigeerd (de abonnementen beginnen bij €79/maand, niet bij €49), verduidelijkt dat de productieroute van eIDAS Pro vandaag bank-eID is en dat EUDI Wallet-verificatie nog niet in productie beschikbaar is, en vermeld dat OpenEUDI alleen de online flow dekt, niet de proximity-/NFC-flow.
Het dilemma van de developer
U moet de identiteit van gebruikers in uw applicatie verifiëren. Traditioneel betekende dat het integreren van een KYC-provider — documenten uploaden, wachten op handmatige beoordeling, edge cases afhandelen. Met de lancering van EUDI Wallets in december 2026 is er een nieuwe optie.
Deze vergelijking is geschreven voor developers die moeten kiezen tussen — of migreren van — traditionele KYC naar EUDI Wallet-verificatie.
Architectuurvergelijking
Traditionele KYC-flow
Gebruiker uploadt document → Uw server → KYC API → Wachtrij → AI/handmatige beoordeling
↓
Resultaat (minuten tot dagen)
↓
Webhook naar uw server
EUDI Wallet-flow
Uw server genereert QR → Gebruiker scant met wallet → Wallet authenticeert
↓
Cryptografische VP teruggestuurd
↓
Resultaat (2-5 seconden)
Vergelijking naast elkaar
| Aspect | Traditionele KYC | EUDI Wallet (OpenEUDI) |
|---|---|---|
| Verificatietijd | Minuten tot 48 uur | 2-5 seconden |
| Inspanning gebruiker | Foto-upload, selfie, handmatige invoer | QR scannen, tikken op goedkeuren |
| Data die u ontvangt | Volledige documentafbeeldingen, geëxtraheerde PII | Alleen opgevraagde attributen (bijv. de geboortedatum voor een leeftijdscheck) |
| Data die u opslaat | Opslag vereist voor compliance | Geen PII-opslag nodig |
| API-complexiteit | REST + webhooks + polling | REST + SSE (realtime) |
| SDK-kosten | Betaald (per verificatie) | Gratis (OpenEUDI is Apache-2.0) |
| Productiekosten | Prijs per verificatie | Managed abonnementen vanaf €79/maand (bank-eID vandaag live; EUDI Wallet zodra WRPAC-certificaten verkrijgbaar zijn) |
| Cryptografische verificatie | U vertrouwt de KYC-provider | U verifieert zelf de handtekening van de uitgever |
| Grensoverschrijdend | Providerafhankelijk | Alle 27 EU-lidstaten |
| Regelgevende basis | Providerspecifieke compliance | EU-verordening 2024/1183 |
| AVG-last | Hoog (u slaat PII op) | Laag (geen PII-retentie) |
| Offline-mogelijkheid | Nee | Voorzien in de walletstandaard (proximity-/NFC-flow); OpenEUDI dekt alleen de online flow |
Integratie-inspanning
Traditionele KYC (typisch)
// 1. Create verification session
const session = await kycProvider.createSession({
type: 'identity',
country: 'DE',
documentTypes: ['passport', 'id_card'],
redirectUrl: 'https://yoursite.com/callback',
});
// 2. Redirect user to provider's hosted page
redirect(session.url);
// 3. Handle webhook (async — could be minutes or hours later)
app.post('/webhooks/kyc', async (req, res) => {
const event = verifyWebhookSignature(req.body, secret);
if (event.type === 'verification.completed') {
const result = await kycProvider.getResult(event.verificationId);
// You now have: full name, DOB, document images, selfie, address
// All of this is PII that you must store, protect, and eventually delete
await db.users.update({
kycStatus: result.status,
kycData: encrypt(result.extractedData), // GDPR: encrypted PII storage
kycDocuments: result.documentImages, // GDPR: document retention policy
});
}
res.sendStatus(200);
});
Integratietijd: doorgaans 3-5 dagen. Plus webhookinfrastructuur, foutafhandeling, retrylogica en documentopslag.
EUDI Wallet (OpenEUDI SDK)
import { VerificationService, DemoMode, VerificationType } from '@openeudi/core';
import { generateQRCode } from '@openeudi/core/qr';
const service = new VerificationService({ mode: new DemoMode() });
// 1. Create verification session
app.post('/api/verify', async (req, res) => {
const session = await service.createSession({ type: VerificationType.AGE });
const qrCode = await generateQRCode(session.walletUrl);
res.json({ qrCode, sessionId: session.id });
});
// 2. SSE endpoint for real-time result (seconds, not hours)
app.get('/api/verify/:id/events', (req, res) => {
res.setHeader('Content-Type', 'text/event-stream');
const onVerified = (session, result) => {
if (session.id !== req.params.id) return;
// You receive: { verified: true, ageVerified: true, ... }
// A derived yes/no, not the birth date. No documents.
res.write(`data: ${JSON.stringify(result)}\n\n`);
res.end();
service.off('session:verified', onVerified);
};
service.on('session:verified', onVerified);
});
Integratietijd: uren, geen dagen. Geen webhookinfrastructuur nodig. Geen PII-opslag. Geen documentafhandeling.
Gegevensverwerking: het AVG-verschil
Dit is het grootste praktische verschil voor developers.
Traditionele KYC — u bent verwerkingsverantwoordelijke
Wanneer een KYC-provider verificatieresultaten naar u stuurt, ontvangt u doorgaans:
- Volledige wettelijke naam
- Geboortedatum
- Documentnummer
- Documentafbeeldingen (voor- en achterkant)
- Selfiefoto
- Adres (soms)
Dit alles is persoonsgegevens onder de AVG. U moet:
- Het versleutelen, zowel in rust als tijdens transport
- Bewaartermijnen definiëren en afdwingen
- Verzoeken van betrokkenen ondersteunen (inzageverzoeken)
- Het recht op vergetelheid ondersteunen
- Een register van verwerkingsactiviteiten bijhouden
- Mogelijk een DPIA uitvoeren
EUDI Wallet — minimale data by design
Met OpenEUDI vraagt u alleen op wat u nodig heeft:
// Age verification: you get a derived yes/no, not the birth date
await service.createSession({ type: VerificationType.AGE });
// Result: { verified: true, ageVerified: true }
// Country compliance is handled by your merchant whitelist/blacklist
// configuration — not by requesting data from the user
Uit de PID geeft de wallet één attribuut vrij, de geboortedatum, en de verifier brengt die terug tot dat ja/nee voordat er iets wordt opgeslagen. Een check waarbij de geboortedatum nooit zichtbaar wordt, vraagt om het aparte leeftijdsbewijs (age_over_18), dat tot nu toe alleen in Denemarken uitgevers in productie heeft.
Geen documentafbeeldingen. Geen volledige namen (tenzij u die specifiek opvraagt). Geen opslagverplichting voor het verificatieresultaat, behalve voor uw eigen auditbehoeften.
De privacyarchitectuur wordt op protocolniveau afgedwongen — de wallet toont de gebruiker precies wat er wordt gedeeld, en de gebruiker moet dit goedkeuren.
Wanneer wat te gebruiken
| Use case | Aanbeveling |
|---|---|
| Leeftijdsverificatie bij checkout | EUDI Wallet — één attribuut gedeeld, alleen het ja/nee bewaard |
| Volledige KYC voor financiële onboarding | EUDI Wallet voor EU-burgers; traditionele KYC als fallback voor niet-EU |
| Verificatie op documentniveau (notariële kopieën) | Traditionele KYC — EUDI Wallet levert geen documentafbeeldingen |
| Realtime verificatie in persoon | EUDI Wallet (proximity-/NFC-flow — niet gedekt door OpenEUDI) |
| Geautomatiseerde controles met hoog volume | EUDI Wallet — sneller, goedkoper op schaal |
| Niet-EU-klanten | Traditionele KYC — EUDI Wallets zijn alleen voor de EU |
Migratiestrategie
Als u al traditionele KYC heeft geïntegreerd, ziet het migratiepad er zo uit:
- Voeg EUDI Wallet toe als primaire optie — Installeer OpenEUDI naast uw bestaande KYC
- Detecteer EU-gebruikers — Bied walletverificatie aan aan EU-klanten, traditionele KYC aan de rest
- Meet adoptie — Volg welk percentage EU-gebruikers wallets heeft en gebruikt
- Faseer geleidelijk uit — Naarmate de wallet-adoptie groeit, vermindert u de afhankelijkheid van traditionele KYC voor EU-verificaties
De OpenEUDI SDK en traditionele KYC-providers kunnen naast elkaar bestaan in dezelfde codebase. U vervangt niet het een van vandaag op morgen door het ander.
De OpenEUDI SDK valt onder de Apache-2.0-licentie en gratis. De managed abonnementen van eIDAS Pro beginnen bij €79/maand: bank-eID-verificatie is vandaag live, managed EUDI Wallet-verificatie volgt zodra WRPAC-certificaten verkrijgbaar zijn.
Gerelateerde artikelen
eIDAS versus traditioneel KYC: een kosten- en conversieanalyse
Een datagedreven vergelijking tussen eIDAS-gebaseerde verificatie en traditionele KYC-methoden, met een analyse van de totale eigendomskosten, de impact op conversieratio's en langetermijn-ROI-prognoses voor e-commercebedrijven.
10 min leestijd
OpenEUDI SDK Snelstart: uw eerste verificatie in 5 minuten
Een stapsgewijze handleiding om de OpenEUDI SDK te installeren, een verificatiesessie aan te maken en het resultaat te verwerken — allemaal in minder dan 5 minuten met DEMO-modus.
6 min leestijd
Dit artikel delen
Help anderen meer te weten komen over eIDAS-verificatie