| SRS-AUTH-001 | Server-side permissioncheck per route, scherm en actie | Functioneel/Security | Must | FO-02, FO-19 | AC-AUTH-001 | Vastgesteld |
| SRS-AUTH-002 | UI-zichtbaarheid is nooit autorisatiebewijs | Functioneel/Security | Must | FO-02, FO-19 | AC-AUTH-002 | Vastgesteld |
| SRS-AUTH-003 | Combinatierollen leveren samengestelde permissiongedreven UI zonder objectscope te mengen | Functioneel/Security | Must | FO-02, FO-04 | AC-AUTH-003 | Vastgesteld |
| SRS-ACC-001 | Eerste login provisiont een intern account | Functioneel | Must | FO-05 | AC-ACC-001 | Vastgesteld |
| SRS-ACC-002 | Account zonder actieve rol krijgt beperkte context | Functioneel | Must | FO-05, FO-04 | AC-ACC-002 | Vastgesteld |
| SRS-ACC-003 | Gebruiker kan profielgegevens wijzigen binnen toegestane velden | Functioneel | Should | FO-05 | AC-ACC-003 | Vastgesteld |
| SRS-ACC-004 | Accountverwijdering start anonimiseer- en opruimflow | Functioneel/Privacy | Must | FO-05, FO-19 | AC-ACC-004 | Vastgesteld |
| SRS-REL-001 | Relatie-uitnodiging vereist toegestane relatiecontext | Functioneel | Must | FO-06 | AC-REL-001 | Vastgesteld |
| SRS-REL-002 | Relatieacceptatie controleert actuele status | Functioneel | Must | FO-06 | AC-REL-002 | Vastgesteld |
| SRS-REL-003 | Ontkoppeling beëindigt toekomstige relatiecontext | Functioneel/Privacy | Must | FO-06, FO-11 | AC-REL-003 | Vastgesteld |
| SRS-CAT-001 | Leerling ziet alleen toegankelijke catalogusitems | Functioneel | Must | FO-07, FO-08 | AC-CAT-001 | Vastgesteld |
| SRS-CAT-002 | Centrale categorie en niveaukoppeling blijven gescheiden | Functioneel | Must | FO-07 | AC-CAT-002 | Vastgesteld |
| SRS-CAT-003 | Concrete oefening vereist geldige moduleconfiguratie | Functioneel | Must | FO-07, FO-22 | AC-CAT-003 | Vastgesteld |
| SRS-CAT-004 | Historische runs worden niet herschreven door categorie- of modulewijziging | Functioneel/Data | Must | FO-07, FO-22, FO-19 | AC-CAT-004 | Vastgesteld |
| SRS-LRN-001 | Leerling kan een toegankelijke oefening starten | Functioneel | Must | FO-08 | AC-LRN-001 | Vastgesteld |
| SRS-LRN-002 | Leerling kan hervatbare run vervolgen | Functioneel | Must | FO-08 | AC-LRN-002 | Vastgesteld |
| SRS-LRN-003 | Antwoordverwerking slaat voortgang server-side op | Functioneel | Must | FO-08 | AC-LRN-003 | Vastgesteld |
| SRS-LRN-004 | Geen idee verwerkt als ondersteunde antwoordactie | Functioneel | Should | FO-08 | AC-LRN-004 | Vastgesteld |
| SRS-LRN-005 | Actieve oefening onderdrukt afleidende signalen | Functioneel/UX | Must | FO-08, FO-13 | AC-LRN-005 | Vastgesteld |
| SRS-LRN-006 | Afronden maakt resultaat beschikbaar | Functioneel | Must | FO-08, FO-18 | AC-LRN-006 | Vastgesteld |
| SRS-SHR-001 | Leerling kan afgeronde eigen run delen met toegestane vriend | Functioneel | Should | FO-09 | AC-SHR-001 | Vastgesteld |
| SRS-SHR-002 | Gedeelde oefening start niet door alleen systeembericht te openen | Functioneel/Security | Must | FO-09, FO-13 | AC-SHR-002 | Vastgesteld |
| SRS-SHR-003 | Eerste start gebruikt bronrun-vraaginhoud | Functioneel | Must | FO-09 | AC-SHR-003 | Vastgesteld |
| SRS-SHR-004 | Ontvanger kan gedeelde oefening uit eigen overzicht verwijderen | Functioneel/Privacy | Should | FO-09 | AC-SHR-004 | Vastgesteld |
| SRS-TCH-001 | Docent werkt vanuit eigen docentcontext | Functioneel/Security | Must | FO-10 | AC-TCH-001 | Vastgesteld |
| SRS-TCH-002 | Docent kan niveau en categorieën beheren binnen rechten | Functioneel | Must | FO-10, FO-07 | AC-TCH-002 | Vastgesteld |
| SRS-TCH-003 | Docent kan leerlingen aan niveau autoriseren | Functioneel | Must | FO-10 | AC-TCH-003 | Vastgesteld |
| SRS-TCH-004 | Docentresultaatinzage is contextgebonden | Functioneel/Security | Must | FO-10, FO-18 | AC-TCH-004 | Vastgesteld |
| SRS-GUA-001 | Ouder/voogd ziet alleen actief gekoppelde kinderen | Functioneel/Security | Must | FO-11 | AC-GUA-001 | Vastgesteld |
| SRS-GUA-002 | Ouder/voogd heeft read-only resultaatinzage | Functioneel/Security | Must | FO-11, FO-18 | AC-GUA-002 | Vastgesteld |
| SRS-GUA-003 | Ouder/voogd kan kindrelatie ontkoppelen waar toegestaan | Functioneel/Privacy | Should | FO-11 | AC-GUA-003 | Vastgesteld |
| SRS-ADM-001 | Beheerdertoegang is geen vrije bypass | Functioneel/Security | Must | FO-12, FO-19 | AC-ADM-001 | Vastgesteld |
| SRS-ADM-002 | Beheerder kan accountrollen beheren binnen toegestane rollen | Functioneel/Security | Must | FO-12 | AC-ADM-002 | Vastgesteld |
| SRS-ADM-003 | Beheerder kan accounts anonimiseren volgens functionele flow | Functioneel/Privacy | Must | FO-12, FO-05 | AC-ADM-003 | Vastgesteld |
| SRS-ADM-004 | Modulebeheer wijzigt geen historische runs | Functioneel/Data | Must | FO-12, FO-22 | AC-ADM-004 | Vastgesteld |
| SRS-MSG-001 | Mailbox toont alleen eigen geautoriseerde items | Functioneel/Security | Must | FO-13 | AC-MSG-001 | Vastgesteld |
| SRS-MSG-002 | Privébericht verzenden vereist actuele relatiecontext en geldige berichtgrenzen | Functioneel/Security | Must | FO-13, FO-06 | AC-MSG-002 | Vastgesteld |
| SRS-MSG-003 | Privéthread verwijderen is participantgebonden | Functioneel/Privacy | Should | FO-13 | AC-MSG-003 | Vastgesteld |
| SRS-MSG-004 | Privéberichten volgen functionele bewaartermijn | Functioneel/Privacy | Must | FO-13, FO-19 | AC-MSG-004 | Vastgesteld |
| SRS-TIC-001 | Gebruiker kan eigen melding indienen | Functioneel | Must | FO-14 | AC-TIC-001 | Vastgesteld |
| SRS-TIC-002 | Gebruiker ziet uitsluitend eigen meldingen | Functioneel/Security | Must | FO-14 | AC-TIC-002 | Vastgesteld |
| SRS-TIC-003 | Beheerder behandelt meldingen via actieve behandelcontext | Functioneel | Must | FO-14, FO-12 | AC-TIC-003 | Vastgesteld |
| SRS-TIC-004 | Heropenen behoudt eerdere sluitregistraties | Functioneel/Data | Must | FO-14 | AC-TIC-004 | Vastgesteld |
| SRS-LIVE-001 | Live meekijken is read-only | Functioneel/Security | Must | FO-15 | AC-LIVE-001 | Vastgesteld |
| SRS-LIVE-002 | Live meekijken vereist rol-specifieke autorisatie | Functioneel/Security | Must | FO-15 | AC-LIVE-002 | Vastgesteld |
| SRS-LIVE-003 | LiveViewAudit ontstaat bij daadwerkelijke start | Functioneel/Audit | Must | FO-15 | AC-LIVE-003 | Vastgesteld |
| SRS-CNT-001 | Contentbeheer wijzigt tekst, niet structuur | Functioneel | Must | FO-16 | AC-CNT-001 | Vastgesteld |
| SRS-CNT-002 | Footerlinks gebruiken bestaande URL-records | Functioneel | Should | FO-16 | AC-CNT-002 | Vastgesteld |
| SRS-POP-001 | Popupbeheer wijzigt geen codegedreven acties | Functioneel/Security | Must | FO-17 | AC-POP-001 | Vastgesteld |
| SRS-POP-002 | Systeemnotificaties tonen na frontpageload | Functioneel/UX | Should | FO-17, FO-04 | AC-POP-002 | Vastgesteld |
| SRS-POP-003 | Featuretoggle verwijdert geen domeindata | Functioneel/Data | Must | FO-17, FO-19 | AC-POP-003 | Vastgesteld |
| SRS-PDF-001 | PDF-export gebruikt historische resultaatbron | Functioneel/Data | Must | FO-18 | AC-PDF-001 | Vastgesteld |
| SRS-PDF-002 | PDF-export maakt geen persistent PDF-domeinrecord | Functioneel/Data | Must | FO-18 | AC-PDF-002 | Vastgesteld |
| SRS-MOD-001 | Modulepayload bevat moduleKey en schemaVersion | Functioneel/Data | Must | FO-22 | AC-MOD-001 | Vastgesteld |
| SRS-MOD-002 | Geen extra generieke schema-kolom voor modulepayload | Functioneel/Data | Must | FO-22 | AC-MOD-002 | Vastgesteld |
| SRS-RDM-001 | Afgeleide schermwaarden gebruiken actuele brondata | Functioneel/Data | Must | FO-04, FO-21, FO-19 | AC-RDM-001 | Vastgesteld |
| SRS-RDM-002 | Tellerdefinities zijn expliciet en contextbegrensd | Functioneel/Data | Must | FO-04, FO-21 | AC-RDM-002 | Vastgesteld |
| SRS-RDM-003 | Frontpage-samenvattingen blijven runtime-afgeleid en read-only | Functioneel/Data | Must | FO-04, FO-16, FO-21 | AC-RDM-003 | Vastgesteld |
| SRS-RDM-004 | Beheer- en supportreadmodels tellen alleen actuele beheerbare objecten | Functioneel/Data | Must | FO-12, FO-17, FO-22 | AC-RDM-004 | Vastgesteld |
| SRS-RDM-005 | Onderwijsstructuurreadmodels volgen docent-, niveau- en autorisatiecontext | Functioneel/Data | Must | FO-10, FO-07, FO-02 | AC-RDM-005 | Vastgesteld |
| SRS-RDM-006 | Run-, geschiedenis-, resultaat- en live-readmodels gebruiken opgeslagen runcontext | Functioneel/Data | Must | FO-08, FO-09, FO-11, FO-15, FO-18 | AC-RDM-006 | Vastgesteld |
| SRS-RDM-007 | Communicatie-, relatie- en ticketreadmodels gebruiken zichtbare dataset en status | Functioneel/Data | Must | FO-06, FO-13, FO-14 | AC-RDM-007 | Vastgesteld |
| SRS-RDM-008 | Presentatievoorkeuren wijzigen geen domein- of autorisatiecontext | Functioneel/UX | Should | FO-05, FO-21, FO-03 | AC-RDM-008 | Vastgesteld |
| SRS-RDM-009 | Readmodel-fouten worden veilig zichtbaar en technisch herleidbaar | Functioneel/Betrouwbaarheid | Should | FO-21, FO-23, FO-19 | AC-RDM-009 | Vastgesteld |
| SRS-ARCH-001 | Webapp blijft functionele bron voor businesslogica | Functioneel/Architectuur | Must | FO-23 | AC-ARCH-001 | Vastgesteld |
| SRS-NFR-ACC-001 | Toegankelijkheidsvoorkeuren worden consistent toegepast | Niet-functioneel/Toegankelijkheid | Should | FO-05 | AC-NFR-ACC-001 | Vastgesteld |
| SRS-NFR-ACC-002 | Basisnavigatie is toetsenbordbedienbaar | Niet-functioneel/Toegankelijkheid | Should | FO-03, FO-21 | AC-NFR-ACC-002 | Vastgesteld |
| SRS-NFR-AUD-001 | Audit voor beheer- en supportacties | Niet-functioneel/Audit | Must | FO-12, FO-14, FO-15, FO-19 | AC-NFR-AUD-001 | Vastgesteld |
| SRS-NFR-AVL-001 | Identity-providerstoring wordt veilig afgehandeld | Niet-functioneel/Beschikbaarheid | Should | FO-05, FO-23 | AC-NFR-AVL-001 | Vastgesteld |
| SRS-NFR-AVL-002 | Mailstoring blokkeert brontransactie niet onnodig | Niet-functioneel/Beschikbaarheid | Should | FO-13, FO-23 | AC-NFR-AVL-002 | Vastgesteld |
| SRS-NFR-LOG-001 | Logging lekt geen gevoelige payloads | Niet-functioneel/Logging | Must | FO-19 | AC-NFR-LOG-001 | Vastgesteld |
| SRS-NFR-LOG-002 | Auditinzage is rol- en contextgebonden | Niet-functioneel/Logging | Must | FO-12, FO-19 | AC-NFR-LOG-002 | Vastgesteld |
| SRS-NFR-PER-001 | Frontpages laden met afgeleide readmodels | Niet-functioneel/Performance | Should | FO-04, FO-23 | AC-NFR-PER-001 | Vastgesteld |
| SRS-NFR-PER-002 | PDF-export geeft veilige foutafhandeling bij time-out of renderfout | Niet-functioneel/Performance | Should | FO-18 | AC-NFR-PER-002 | Vastgesteld |
| SRS-NFR-PRV-001 | Dataminimalisatie bij anonimisering | Niet-functioneel/Privacy | Must | FO-05, FO-12, FO-19 | AC-NFR-PRV-001 | Vastgesteld |
| SRS-NFR-PRV-002 | Kindgegevens alleen binnen actuele autorisatiecontext | Niet-functioneel/Privacy | Must | FO-02, FO-11, FO-19 | AC-NFR-PRV-002 | Vastgesteld |
| SRS-NFR-REL-001 | Realtime weergave faalt veilig bij gemiste of vertraagde updates | Niet-functioneel/Betrouwbaarheid | Must | FO-13, FO-15, FO-23 | AC-NFR-REL-001 | Vastgesteld |
| SRS-NFR-SEC-001 | Veilige foutmeldingen | Niet-functioneel/Security | Must | FO-19 | AC-NFR-SEC-001 | Vastgesteld |
| SRS-NFR-SEC-002 | Sanitizing van rich text | Niet-functioneel/Security | Must | FO-13, FO-14 | AC-NFR-SEC-002 | Vastgesteld |
| SRS-AUTH-004 | Directe objectroutes worden buiten actuele context geweigerd | Functioneel/Security | Must | FO-02, FO-19 | AC-AUTH-004 | Vastgesteld |
| SRS-AUTH-005 | Rol- of permissionwijziging vernieuwt cache, context en navigatie | Functioneel/UX | Should | FO-02, FO-03, FO-04 | AC-AUTH-005 | Vastgesteld |
| SRS-ACC-005 | Toegankelijkheidsvoorkeuren synchroniseren vóór en na login | Functioneel/Privacy | Should | FO-05 | AC-ACC-005 | Vastgesteld |
| SRS-ACC-006 | Inactief of uitgeschakeld account krijgt geen reguliere applicatietoegang | Functioneel/Security | Must | FO-05, FO-12 | AC-ACC-006 | Vastgesteld |
| SRS-ACC-007 | Uitloggen beëindigt de applicatiesessie | Functioneel/Security | Must | FO-05 | AC-ACC-007 | Vastgesteld |
| SRS-ACC-008 | Geanonimiseerde accounts zijn niet selecteerbaar voor nieuwe relaties of communicatie | Functioneel/Privacy | Must | FO-05, FO-12, FO-19 | AC-ACC-008 | Vastgesteld |
| SRS-REL-004 | Verlopen relatie-uitnodiging kan niet worden geaccepteerd | Functioneel | Must | FO-06 | AC-REL-004 | Vastgesteld |
| SRS-REL-005 | Dubbele actieve relatie-uitnodigingen worden voorkomen | Functioneel/Data | Should | FO-06 | AC-REL-005 | Vastgesteld |
| SRS-REL-006 | Relatiebeëindiging verwijdert historische domeinrecords niet blind | Functioneel/Privacy | Must | FO-06, FO-19 | AC-REL-006 | Vastgesteld |
| SRS-REL-007 | Relatiebeheer kent geen aparte blokkeerfunctie | Functioneel/Scope | Must | FO-06 | AC-REL-007 | Vastgesteld |
| SRS-REL-008 | Relatiebeheer kent geen functioneel hard maximum per relatietype | Functioneel/Scope | Must | FO-06 | AC-REL-008 | Vastgesteld |
| SRS-REL-009 | Beheerder kan relaties geforceerd ontkoppelen binnen beheercontext | Functioneel/Security | Must | FO-06, FO-12 | AC-REL-009 | Vastgesteld |
| SRS-REL-010 | Conflicterende relatie-uitnodigingen worden server-side voorkomen | Functioneel/Data | Must | FO-06 | AC-REL-010 | Vastgesteld |
| SRS-REL-011 | Externe relatie-uitnodiging vereist veilige mailqueue-aanvraag | Functioneel/Communicatie | Must | FO-06, FO-13 | AC-REL-011 | Vastgesteld |
| SRS-REL-012 | Relatie-uitnodiging herinneren en intrekken is status- en cooldowngebonden | Functioneel/UX | Must | FO-06, FO-13 | AC-REL-012 | Vastgesteld |
| SRS-CAT-005 | Oefeningen in onderhoud zijn niet startbaar voor reguliere leerlingen | Functioneel | Must | FO-07, FO-08 | AC-CAT-005 | Vastgesteld |
| SRS-CAT-006 | Open en privé niveaus begrenzen leerlingtoegang volgens niveaucontext | Functioneel/Security | Must | FO-07, FO-10 | AC-CAT-006 | Vastgesteld |
| SRS-CAT-007 | Categoriemigratie werkt prospectief voor actieve configuraties | Functioneel/Data | Must | FO-07, FO-12, FO-19 | AC-CAT-007 | Vastgesteld |
| SRS-LRN-007 | Onderbroken run blijft hervatbaar zolang de context geldig is | Functioneel | Must | FO-08 | AC-LRN-007 | Vastgesteld |
| SRS-LRN-008 | Afgeronde run wordt niet opnieuw gewijzigd door antwoordacties | Functioneel/Data | Must | FO-08, FO-19 | AC-LRN-008 | Vastgesteld |
| SRS-LRN-009 | Toegang wordt opnieuw gecontroleerd bij starten, hervatten en beantwoorden | Functioneel/Security | Must | FO-08, FO-19 | AC-LRN-009 | Vastgesteld |
| SRS-LRN-010 | Geschiedenis toont alleen geautoriseerde historische runs | Functioneel/Privacy | Must | FO-08, FO-18 | AC-LRN-010 | Vastgesteld |
| SRS-SHR-005 | Systeembericht voor gedeelde oefening gebruikt SharedExercise-verwijzing | Functioneel/Data | Must | FO-09, FO-13 | AC-SHR-005 | Vastgesteld |
| SRS-SHR-006 | Opnieuw maken van gedeelde oefening creëert zelfstandige ontvangerrun | Functioneel/Data | Must | FO-09, FO-08 | AC-SHR-006 | Vastgesteld |
| SRS-SHR-007 | Verwijderen uit gedeeld overzicht is ontvangergebonden | Functioneel/Privacy | Should | FO-09 | AC-SHR-007 | Vastgesteld |
| SRS-SHR-008 | Snapshot van gedeelde oefening wordt niet achteraf herschreven | Functioneel/Data | Must | FO-09, FO-19 | AC-SHR-008 | Vastgesteld |
| SRS-TCH-005 | Docenttestruns tellen niet mee als leerlingresultaten | Functioneel/Data | Must | FO-10, FO-22 | AC-TCH-005 | Vastgesteld |
| SRS-TCH-006 | Collaboratorrechten worden binnen niveaucontext afgedwongen | Functioneel/Security | Must | FO-10 | AC-TCH-006 | Vastgesteld |
| SRS-TCH-007 | Eigenaarschapsoverdracht vereist geldige kandidaat | Functioneel/Security | Must | FO-10, FO-12 | AC-TCH-007 | Vastgesteld |
| SRS-TCH-008 | Bulkautorisatie valideert alle geselecteerde leerlingen en niveaus | Functioneel/Security | Should | FO-10 | AC-TCH-008 | Vastgesteld |
| SRS-GUA-004 | Ontkoppelen beëindigt toekomstige ouder-/voogdinzage | Functioneel/Privacy | Must | FO-11, FO-06 | AC-GUA-004 | Vastgesteld |
| SRS-GUA-005 | Ouder/voogd kan geen oefening namens kind starten of wijzigen | Functioneel/Security | Must | FO-11, FO-08 | AC-GUA-005 | Vastgesteld |
| SRS-GUA-006 | Ouder-/voogd live meekijken vereist actieve kindrelatie | Functioneel/Security | Must | FO-11, FO-15 | AC-GUA-006 | Vastgesteld |
| SRS-ADM-005 | Beheerder kan account tijdelijk uitschakelen en heractiveren | Functioneel/Security | Must | FO-12 | AC-ADM-005 | Vastgesteld |
| SRS-ADM-006 | Categoriebeheer migreert niet zonder expliciete beheeractie | Functioneel/Data | Must | FO-12, FO-07 | AC-ADM-006 | Vastgesteld |
| SRS-ADM-007 | Systeeminstellingen valideren datatype en invoervorm | Functioneel/Security | Must | FO-12, FO-17 | AC-ADM-007 | Vastgesteld |
| SRS-ADM-008 | Docentondersteuning is auditbaar binnen docentcontext | Functioneel/Audit | Must | FO-12, FO-10 | AC-ADM-008 | Vastgesteld |
| SRS-MSG-005 | SharedExercise systeemberichten routeren naar gedeelde-oefeningcontext | Functioneel/Data | Must | FO-13, FO-09 | AC-MSG-005 | Vastgesteld |
| SRS-MSG-006 | Ongelezenbadges zijn afgeleid en geen autorisatiebewijs | Functioneel/Security | Must | FO-13, FO-19 | AC-MSG-006 | Vastgesteld |
| SRS-MSG-007 | Openen van systeembericht verwerkt geen domeinactie automatisch | Functioneel/Security | Must | FO-13 | AC-MSG-007 | Vastgesteld |
| SRS-MSG-008 | Uitgeschakelde privéberichten blokkeren nieuwe berichten maar behouden historie | Functioneel/Data | Should | FO-13, FO-17 | AC-MSG-008 | Vastgesteld |
| SRS-MSG-009 | Privéthreads tonen één geautoriseerde gesprekstimeline | Functioneel/UX/Security | Must | FO-13 | AC-MSG-009 | Vastgesteld |
| SRS-MSG-010 | Threadpresentatie en participantaccenten zijn stabiel en server-side begrensd | Functioneel/Data/UX | Should | FO-13 | AC-MSG-010 | Vastgesteld |
| SRS-MAIL-001 | Externe applicatiemail is template-, consent- en bronstatusgedreven | Functioneel/Privacy | Must | FO-13, FO-06 | AC-MAIL-001 | Vastgesteld |
| SRS-TIC-005 | Gebruikersreactie is alleen mogelijk in toegestane ticketstatus | Functioneel/Security | Must | FO-14 | AC-TIC-005 | Vastgesteld |
| SRS-TIC-006 | Interne ticketdiscussie is nooit zichtbaar voor melder | Functioneel/Privacy | Must | FO-14 | AC-TIC-006 | Vastgesteld |
| SRS-TIC-007 | Oplossing accepteren sluit de actuele heropenmogelijkheid | Functioneel | Must | FO-14 | AC-TIC-007 | Vastgesteld |
| SRS-TIC-008 | Periodieke verwerking van verlopen heropentermijnen is idempotent | Functioneel/Data | Should | FO-14, FO-23 | AC-TIC-008 | Vastgesteld |
| SRS-LIVE-004 | Browsemodus overschrijft actuele livepositie niet onverwacht | Functioneel/UX | Should | FO-15 | AC-LIVE-004 | Vastgesteld |
| SRS-LIVE-005 | Reconnect beëindigt liveweergave veilig bij blijvend verbindingsverlies | Functioneel/Betrouwbaarheid | Should | FO-15 | AC-LIVE-005 | Vastgesteld |
| SRS-LIVE-006 | Beheerder heeft geen generieke live-meekijkbypass | Functioneel/Security | Must | FO-15, FO-12 | AC-LIVE-006 | Vastgesteld |
| SRS-CNT-003 | Vaste publieke pagina’s blijven codegedreven qua route en formulierlogica | Functioneel | Must | FO-16 | AC-CNT-003 | Vastgesteld |
| SRS-CNT-004 | URL-records worden gevalideerd vóór opslag | Functioneel/Security | Must | FO-16 | AC-CNT-004 | Vastgesteld |
| SRS-POP-004 | Templateplaceholdervalidatie blokkeert onbekende placeholders | Functioneel/Security | Must | FO-17, FO-13 | AC-POP-004 | Vastgesteld |
| SRS-POP-005 | OncePerBrowser-notificaties gebruiken alleen clientside marker | Functioneel/Privacy | Should | FO-17, FO-13 | AC-POP-005 | Vastgesteld |
| SRS-PDF-003 | PDF-export respecteert rol-specifieke resultaattoegang | Functioneel/Security | Must | FO-18, FO-08, FO-10, FO-11 | AC-PDF-003 | Vastgesteld |
| SRS-PDF-004 | PDF-export gebruikt veilige fallback bij ontbrekende module-rendering | Functioneel/Data | Should | FO-18, FO-22 | AC-PDF-004 | Vastgesteld |
| SRS-MOD-003 | Modulebeschikbaarheid en testzichtbaarheid bepalen selecteerbaarheid | Functioneel | Must | FO-22, FO-12 | AC-MOD-003 | Vastgesteld |
| SRS-MOD-004 | Modulemigratie raakt alleen expliciet gekozen toekomstscope | Functioneel/Data | Must | FO-22, FO-12 | AC-MOD-004 | Vastgesteld |
| SRS-MOD-005 | Oude modulepayloads blijven interpreteerbaar via schemaVersion | Functioneel/Data | Must | FO-22, FO-19 | AC-MOD-005 | Vastgesteld |
| SRS-ARCH-002 | Identity provider blijft externe authenticatiebron | Functioneel/Architectuur | Must | FO-23, FO-05 | AC-ARCH-002 | Vastgesteld |
| SRS-ARCH-003 | Realtime transport blijft transportlaag en geen domeinbron | Functioneel/Architectuur | Must | FO-23, FO-13, FO-15 | AC-ARCH-003 | Vastgesteld |
| SRS-ARCH-004 | Background jobs zijn idempotent waar domeinstatus kan wijzigen | Functioneel/Architectuur | Should | FO-23, FO-14, FO-19 | AC-ARCH-004 | Vastgesteld |
| SRS-NFR-SEC-003 | Autorisatie- en validatiefouten lekken geen interne identifiers | Niet-functioneel/Security | Must | FO-19, FO-21 | AC-NFR-SEC-003 | Vastgesteld |
| SRS-NFR-PRV-003 | Persoonsgegevens worden beperkt in historische weergaven na anonimisering | Niet-functioneel/Privacy | Must | FO-05, FO-12, FO-19 | AC-NFR-PRV-003 | Vastgesteld |
| SRS-NFR-AUD-002 | Auditrecords zijn niet wijzigbaar via gewone beheeracties | Niet-functioneel/Audit | Must | FO-12, FO-19 | AC-NFR-AUD-002 | Vastgesteld |
| SRS-NFR-REL-002 | Server-side herladen herstelt gemiste realtime state | Niet-functioneel/Betrouwbaarheid | Should | FO-13, FO-15, FO-23 | AC-NFR-REL-002 | Vastgesteld |
| SRS-NFR-PER-003 | Overzichten gebruiken paginering of begrenzing voor grote datasets | Niet-functioneel/Performance | Should | FO-04, FO-13, FO-14, FO-21 | AC-NFR-PER-003 | Vastgesteld |
| SRS-NFR-ACC-003 | Kindgerichte foutmeldingen zijn begrijpelijk en veilig | Niet-functioneel/Toegankelijkheid | Should | FO-08, FO-21 | AC-NFR-ACC-003 | Vastgesteld |
| SRS-NFR-AVL-003 | Applicatie blijft veilig bij mailvertraging of mailfout | Niet-functioneel/Beschikbaarheid | Should | FO-13, FO-23 | AC-NFR-AVL-003 | Vastgesteld |
| SRS-NFR-RDM-001 | Readmodels lekken geen niet-geautoriseerde data | Niet-functioneel/Security | Must | FO-02, FO-04, FO-19, FO-21 | AC-NFR-RDM-001 | Vastgesteld |
| SRS-NFR-RDM-002 | Readmodelwaarden zijn actueel na bevestigde mutaties | Niet-functioneel/Betrouwbaarheid | Must | FO-04, FO-08, FO-13, FO-21 | AC-NFR-RDM-002 | Vastgesteld |
| SRS-NFR-RDM-003 | Tellers en detailoverzichten gebruiken dezelfde functionele scope | Niet-functioneel/Betrouwbaarheid | Must | FO-04, FO-19, FO-21 | AC-NFR-RDM-003 | Vastgesteld |
| SRS-NFR-RDM-004 | Readmodelstoringen tonen veilige fallback zonder misleidende nulwaarde | Niet-functioneel/Beschikbaarheid | Should | FO-19, FO-21, FO-23 | AC-NFR-RDM-004 | Vastgesteld |
| SRS-NFR-RDM-005 | Readmodelschermen halen gebruikersgerichte responstijdgrenzen | Niet-functioneel/Performance | Should | FO-04, FO-21, FO-23 | AC-NFR-RDM-005 | Vastgesteld |
| SRS-REL-013 | Externe relatie-uitnodigingen worden na registratie geclaimd maar niet automatisch geaccepteerd | Functioneel/Privacy | Must | FO-06, FO-05 | AC-REL-013 | Vastgesteld |
| SRS-REL-014 | Eerste onboarding dwingt beoordeling van geclaimde relatie-uitnodigingen af | Functioneel/UX | Must | FO-06, FO-05 | AC-REL-014 | Vastgesteld |
| SRS-ACC-009 | Accountonboarding wordt centraal afgerond op accountniveau | Functioneel/Security | Must | FO-05, FO-03 | AC-ACC-009 | Vastgesteld |
| SRS-AUTH-006 | OIDC remote failures worden veilig afgehandeld | Security/UX | Must | FO-05 | AC-AUTH-006 | Vastgesteld |
| SRS-AUTH-007 | Permissions worden per gebruiker gecachet en expliciet geïnvalideerd | Functioneel/Performance/Security | Must | FO-02, TO-05, RBAC-permissieregister | AC-AUTH-007 | Vastgesteld |