Publieke demo — vul geen echte persoonsgegevens in.

Beveiliging

Zo gebouwd dat er weinig te halen valt.

Alles op deze pagina beschrijft hoe YourID vandaag echt werkt — ook wat nog niet af is.

Laatst bijgewerkt: 1 oktober 2026

opgeslagen wachtwoorden
0opgeslagen wachtwoorden
geldigheid van een e-mailcode
10 mingeldigheid van een e-mailcode
geldigheid van een inlogcode voor een dienst
60 sgeldigheid van een inlogcode voor een dienst
maximaal verbonden op één inlog
30 dagenmaximaal verbonden op één inlog

Zo reist een inlog

Je geheim blijft thuis. Alleen bewijs reist.

Als een dienst vraagt “wie is dit?”, doen er drie partijen mee. Kijk wat er tussen hen beweegt — en wat nooit.

Jouw apparaat

Gaat nooit weg

  • Privésleutel van je passkey
  • Gezicht, vingerafdruk of pincode

YourID

  • Alleen de publieke sleutel
  • E-mailcodes, gehasht
  • Ondertekeningssleutel, versleuteld
  • Database in de EU (Ierland)
Verzoek + PKCE

De dienst

winkel.voorbeeld.nl

age_over_18…
  • Alleen wat jij goedkeurt
  • Ondertekend door YourID

Gegevens

Wat we bewaren. Wat we nooit hebben.

De veiligste gegevens zijn gegevens die we niet hebben. Dit staat er, volledig, in onze database.

Wat we opslaan

  • Je e-mailadres

    Om je account te vinden en inlogcodes te sturen.

  • De publieke sleutels van je passkeys

    Daarmee controleer je een handtekening, maar je kunt er geen zetten.

  • E-mailcodes — als hash

    Tien minuten geldig; we kunnen een code controleren, niet teruglezen.

  • Refresh-tokens en app-geheimen — als hash

    Waardeloos voor wie de database kopieert.

  • Welke diensten je hebt gekoppeld

    En precies wat elke dienst van je mag zien.

  • Inlogsessies en een activiteitenlog

    Met browser en IP-adres, zodat jij ze kunt zien en overal kunt uitloggen.

  • Profielgegevens die je zelf toevoegt

    Er wordt niets gedeeld zonder jouw akkoord.

Wat we nooit opslaan

  • Wachtwoorden

    Die zijn er niet. Niets te raden, te hergebruiken of te lekken.

  • De privésleutel van je passkey

    Die blijft op je apparaat of in de passkey-synchronisatie van je eigen platform.

  • Je gezicht of vingerafdruk

    Dat controleert je apparaat zelf. Wij horen alleen dát de controle slaagde.

  • Leesbare inlogcodes of tokens

    Alleen hun SHA-256-hash.

  • De ondertekeningssleutel in leesbare vorm

    Die staat versleuteld opgeslagen met AES-256-GCM.

  • Identiteitsdocumenten

    Documentverificatie is nog niet live, dus er wordt helemaal geen document verwerkt.

Bescherming

Twaalf dingen die het werk doen.

Elk in gewone taal — met de technische naam eronder, voor ontwikkelaars die het willen nagaan.

01

Geen wachtwoorden

Je logt in met een passkey, dus er is geen wachtwoord om te phishen, raden of hergebruiken.

WebAuthn / FIDO2-passkeys

02

Het moet jou zijn

Elke inlog met een passkey vraagt je gezicht, vingerafdruk of pincode, en onze server controleert dat dat gebeurd is.

User verification (UV) server-side afgedwongen

03

Challenges werken één keer

Elke inlog-challenge is één keer bruikbaar en verloopt na vijf minuten.

Eenmalige WebAuthn-challenges · 5 min TTL

04

E-mailcodes, ingeperkt

Codes staan gehasht opgeslagen, verlopen na 10 minuten, geven 5 pogingen, en een nieuwe code maakt de oude ongeldig.

SHA-256 · timing-safe vergelijking · rate limits per IP en per adres

05

Sessies die je kunt beëindigen

Je sessie is een ondertekend token met een record op de server, duurt hooguit 7 dagen, en je kunt overal tegelijk uitloggen.

Ondertekende HttpOnly-cookie + intrekbare sessierij

06

Standaard inloggen voor diensten

Diensten koppelen via de open standaard, en elk verzoek moet vergrendeld zijn met een eenmalig bewijs.

OpenID Connect · authorization code flow · PKCE S256 verplicht

07

Exacte terugkeeradressen

We sturen je alleen terug naar een adres dat de dienst vooraf heeft geregistreerd, letter voor letter.

Exacte redirect-URI-match · alleen https (localhost uitgezonderd)

08

Inlogcodes verlopen snel

De code die een dienst inwisselt werkt één keer, binnen 60 seconden. Een tweede poging trekt in wat al was uitgegeven.

Eenmalige auth codes · 60 s TTL · replay trekt tokens in

09

Antwoorden zijn ondertekend

Diensten kunnen controleren dat een antwoord van YourID komt en onderweg niet is aangepast.

RS256-ondertekende ID-tokens · gepubliceerde JWKS

10

Langer verbonden, veilig vernieuwd

Bij elke vernieuwing wordt het token ingeruild voor een nieuw; duikt een oud token weer op, dan vervalt de hele keten. Hooguit dertig dagen.

Refresh-token-rotatie · hergebruikdetectie · vaste levensduur van 30 dagen per familie

11

Toestemming telt nú

Een dienst krijgt alleen wat jij op dit moment toestaat. Trek je toestemming in, dan werken bestaande tokens niet meer.

Effectieve scope = tokenscope ∩ huidige toestemming

12

Sleutels op slot, database dicht

Onze ondertekeningssleutel is versleuteld, app-geheimen zijn gehasht, en de EU-database antwoordt alleen onze eigen servers.

AES-256-GCM · gehashte client secrets · RLS op elke tabel, zonder policies

Dreigingen

Aanvallen, en wat ze tegenhoudt.

Geen enkel systeem is onkraakbaar. Dit zijn de aanvallen waartegen we hebben ontworpen, en het mechanisme dat op elk ervan antwoordt.

De aanval

Phishing

Een nepsite die precies op YourID lijkt, vraagt je in te loggen.

Wat het tegenhoudt

Een passkey is gebonden aan het echte domein van YourID. Je apparaat gebruikt hem niet op een lookalike, en onze server weigert handtekeningen voor elke andere herkomst.

WebAuthn RP ID + origin-binding

De aanval

Een gestolen database

Iemand bemachtigt een volledige kopie van onze gegevens.

Wat het tegenhoudt

Er zijn geen wachtwoorden om te kraken. Met publieke sleutels kan niemand inloggen, en codes, tokens en geheimen staan alleen als hash opgeslagen.

Public-key-credentials · SHA-256-hashes · versleutelde ondertekeningssleutel

De aanval

Een gestolen refresh-token

Een aanvaller kopieert het token waarmee een dienst verbonden blijft.

Wat het tegenhoudt

Tokens wisselen bij elk gebruik. Duikt een oud token weer op, dan wordt de hele familie ingetrokken — en geen enkele leeft langer dan 30 dagen.

Rotatie + hergebruikdetectie

De aanval

Een onderschepte code

Iemand vangt de eenmalige code op weg terug naar de dienst.

Wat het tegenhoudt

Zonder het geheime bewijs dat alleen de echte dienst heeft, is de code waardeloos. Hij verloopt na 60 seconden en werkt maar één keer.

PKCE S256 · eenmalige codes van 60 s

De aanval

Een nep-“bank”-app

Een kwaadwillende app registreert zich onder een betrouwbaar klinkende naam.

Wat het tegenhoudt

Het toestemmingsscherm toont altijd naar welke website je teruggaat, en apps van externe ontwikkelaars krijgen het label “Unverified app”.

Bestemming zichtbaar · niet-geverifieerd-label · exacte redirect-URI's

De aanval

Clickjacking

Een andere site verstopt ons toestemmingsscherm in een onzichtbaar frame om je klik te stelen.

Wat het tegenhoudt

Geen enkele YourID-pagina kan binnen een andere website worden getoond.

CSP frame-ancestors 'none' · X-Frame-Options: DENY · HSTS

De aanval

Een e-mailcode raden

Een script probeert code na code.

Wat het tegenhoudt

Vijf pogingen per code, tien minuten om hem te gebruiken, en limieten per netwerkadres en per e-mailadres.

Pogingenteller · rate limits in de database (fail closed)

Eerlijke status

Waar we vandaag staan.

Beveiligingspagina's noemen meestal alleen sterke punten. Dit moet je ook weten.

YourID is in besloten bèta

We laten mensen geleidelijk toe en veranderen nog dingen.

Nog geen onafhankelijke audit

Er is nog geen externe beveiligingsaudit of penetratietest geweest. We zijn van plan er een te laten uitvoeren voordat YourID algemeen beschikbaar wordt.

Documentverificatie is nog niet live

We kunnen identiteitsdocumenten nog niet controleren. Tot dat kan, wordt er geen enkel document verwerkt.

Responsible disclosure

Iets gevonden? Laat het ons weten.

Vind je een kwetsbaarheid, mail ons dan. Onderzoek te goeder trouw is hier welkom.

security@yourid.org
  • We bevestigen meldingen binnen 48 uur.
  • We ondernemen geen juridische stappen tegen onderzoek te goeder trouw.

Probeer het zelf.

Doe mee aan de bèta, log in met een passkey en zie op je eigen scherm wat een dienst te zien krijgt.