Verificatie Service

Verifieert gebruikers email

Kwaliteitseisen

Inleiding

Deze sectie beschrijft de belangrijkste niet-functionele eisen (NFR’s) voor de Email Verificatie Service.

Overzicht

  • Beveiliging & privacy (AVG):
    • Minimaliseer PII: bewaar uitsluitend ReferenceId en VerificationCode; het e‑mailadres wordt niet opgeslagen.
    • Geen PII in logs of trace‑attributen.
    • Encryptie at‑rest en in‑transit (TLS 1.2+).
    • OPTIE: Ontsluiten via de Federatieve Service Connectiviteit (FSC) zodat het lastiger is via onze service massa emails te versturen door kwaadwillende partijen.
  • Betrouwbaarheid & levering:
    • Rechtstreekse aanroep naar de Notificatie Service met timeouts en idempotency aan client‑zijde van die aanroep.
    • Circuit breaker rond de NotifyNL-aanroep om bij uitval snel te falen in plaats van vast te lopen op een trage of niet-reagerende externe dienst.
    • Consistentie: onmiddellijk waar mogelijk; tijdelijke fouten worden gesignaleerd aan de aanroepende dienst.
  • Performance & Error handling:
    • De verificatie service moet minimaal TODO_Bepalen_Throughput aantal aanvragen per uur kunnen verwerken.
    • HTTP client: connect-timeout 10s, request-timeout 30s.
    • Als een code twee keer wordt ingevoerd, krijgt de tweede een 'Code Already Used' foutmelding (409 Conflict).
  • Rate limiting & misbruikpreventie:
    • Maximaal 5 verzendpogingen per e-mailadres binnen een tijdvenster van 15 minuten (configureerbaar). Verzoeken boven dit maximum worden geweigerd zonder dat NotifyNL wordt aangeroepen.
    • Maximaal aantal validatiepogingen per referenceId: TODO_Bepalen_MaxValidatiePogingen.
    • Bij overschrijding retourneert de service HTTP 429 Too Many Requests.
  • Authenticatie & autorisatie:
    • Communicatie met de Notificatie Service (NotifyNL) verloopt via JWT Bearer Token authenticatie.
    • Het admin-endpoint (GET /api/v1/admin/statistics) is alleen toegankelijk voor geautoriseerde beheerders.