Alle checks

Wat we controleren

Alle 292 checks van CheckMijn.AI, uitgeschreven: wat we controleren, hoe, op welk niveau, en uit welke norm of wet het komt. De lijst is open (CC BY 4.0) en dezelfde voor iedereen.

45verplicht op Niveau 1 · Basisscan
106verplicht op Niveau 2 · Gekeurd
258verplicht op Niveau 3 · Gekeurd Plus
280verplicht op Niveau 4 · Kritiek

292 checks

Legenda: ● verplicht · ◐ verplicht als het van toepassing is · ○ optioneel · – niet gevraagd

A. Product, scope en inventaris

Wie niet weet wat er in zijn software zit en welke AI erin gebruikt wordt, kan geen risico's inschatten of melden. De CRA en de AI Act vragen die inventaris.

IDWat we controlerenN1N2N3N4Hoe
A-01 Product, versielijn, scope en wat buiten scope valt zijn beschreven; de gekeurde versie is herkenbaar (versienummer in build en app)
ISO/IEC 17067; CRA bijlage II
––●● document + keurder
A-02 Architectuuroverzicht: componenten, datastromen, externe koppelingen, hosting en regio
ISO/IEC 27034; CRA bijlage VII
––●● document + keurder
A-03 SBOM in machineleesbaar formaat (SPDX of CycloneDX), automatisch bij de build gemaakt, minstens alle directe afhankelijkheden
CRA bijlage I deel II (1); ISO/IEC 5962
●●●● scan
in de scanner
A-04 AI-inventaris: welke AI-tools bij het bouwen gebruikt zijn (assistenten, agents, MCP-servers) en welke AI-modellen het product zelf gebruikt (aanbieder, versie, regio)
ISO/IEC 42001 bijlage A; AI Act art. 50
–●●● scan + verklaring
A-05 Het gescande artefact (build of container) komt overeen met de aangeleverde broncode (hashvergelijking of reproduceerbare build), en de app toont in productie een build-ID die overeenkomt met de gescande build
SLSA
–○●● scan + analist
A-06 Ondersteuningsperiode vastgelegd en publiek: tot wanneer komen er security-updates
CRA art. 13(8), bijlage II
––●● document
A-07 Benoemd aanspreekpunt voor de beveiliging van het product
ISO/IEC 27001; CRA bijlage II
––●● document
A-08 Wettenscan: vastgesteld welke Europese wetten gelden (persoonsgegevens, AI, EU-markt, financiële klanten, consumenten, gebruikersinhoud, betalingen, overheid, clouddienst, verbonden product). Ook vastgelegd: in welke EU-landen de app wordt aangeboden of gebruikt. Daaruit volgen de verplichte modules en landenprofielen
Tabblad Wetgeving
––●● document + keurder
A-09 AI-vermelding: vastgesteld of het product AI gebruikt (scan met vaste regels en verklaring van de bouwer); het rapport toont "AI: ja" of "AI: nee", met het hoogste autonomieniveau
AI Act art. 50; ISO/IEC 42001
●●●● scan + verklaring
in de scanner

B. Bouwen met AI

Software die met AI gebouwd wordt, heeft eigen risico's: verzonnen pakketten, geheimen in agentbestanden, code die niemand nagelezen heeft.

IDWat we controlerenN1N2N3N4Hoe
B-01 Beleid voor AI bij het ontwikkelen: welke tools mogen, voor welke code, welke gegevens nooit naar een tool gaan (klantdata, geheimen)
ISO/IEC 42001 bijlage A; NIST SP 800-218A
––●● document
B-02 Herkomst: AI-geschreven of AI-gewijzigde code is herkenbaar (commit-vermelding, label op de wijziging of toollogs), zodat de analist gericht steekproeven kan nemen
NIST SP 800-218A; ISO/IEC 5338
–○●● scan + verklaring
B-03 Menselijke review: elke wijziging op de hoofdbranch is goedgekeurd door een mens die ze niet zelf of via de eigen agent schreef; branchbeveiliging staat aan
ISO/IEC 20246; ISO/IEC 27002 8.25, 8.32
–●●● scan + analist
B-04 Codeeragents met schrijfrechten werken met minimale rechten, zonder toegang tot productiegeheimen en zonder automatisch samenvoegen zonder mens
OWASP Agentic ASI02, ASI03
––●● keurder + verklaring
B-05 Agentconfiguratie in de repo (instructiebestanden, regels, MCP-configuratie, prompt- en agentlogs) bevat geen geheimen, geen klantgegevens en geen onveilige instructies zoals "sla tests over"
OWASP Agentic ASI01, ASI04
●●●● scan + analist
in de scanner
B-06 Geen verzonnen of verdachte pakketten: elke afhankelijkheid bestaat in het officiële register, is niet pas geregistreerd en lijkt niet op een bekende naam
OWASP A03:2025
●●●● scan
in de scanner
B-07 Typische AI-patronen opgespoord: gedupliceerde blokken, dode code, aanroepen van functies of API's die niet bestaan, inconsistente foutafhandeling, onnodige complexiteit. statische analyse met vaste regels markeert, analist bevestigt
ISO/IEC 5055; ISO/IEC 25010
–●●● scan + analist
B-08 Licentiebesmetting: AI-uitvoer die letterlijk overeenkomt met bestaande open-sourcecode wordt opgespoord en de licentie is verenigbaar
ISO/IEC 5230
–○●● scan
B-09 AI-codeertools zijn zakelijke versies met afspraken over bewaartermijn en geen training op de code
ISO/IEC 42001 bijlage A; ISO/IEC 27036
––●● verklaring + document
B-10 Eigenaarschap: minstens één persoon kan de architectuur en de kritieke code uitleggen zonder AI (kort interview met de keurder)
AI Act art. 4 (AI-geletterdheid); ISO/IEC 42001 bijlage A
––●● keurder
B-11 Geen schijnfunctionaliteit: knoppen, instellingen, validaties en beveiligingscontroles doen wat ze beloven; geen stubs of vaste antwoorden ("return true", lege handlers, nepdata) in productiecode
ISO/IEC 25010:2023 (functionele juistheid); OWASP ASVS 5.0
–●●● scan + analist

C. Codekwaliteit en onderhoudbaarheid

Onleesbare of slordige code verbergt fouten en maakt herstel duur. Ook achtergebleven bestanden lekken soms gegevens.

IDWat we controlerenN1N2N3N4Hoe
C-01 Statische analyse zonder kritieke of hoge bevindingen op de vier kenmerken van ISO/IEC 5055
ISO/IEC 5055
●●●● scan
in de scanner
C-02 Complexiteit: het aandeel functies boven de drempel (cyclomatische of cognitieve complexiteit) blijft onder de norm
ISO/IEC 25010; ISO/IEC 25023
–○●● scan
C-03 Duplicatie onder de drempel (voorstel: minder dan 5% gedupliceerde regels)
ISO/IEC 25023
–○●● scan
C-04 Geen dode code: ongebruikte functies, klassen en bestanden, uitgecommentarieerde blokken, en geen open TODO's in beveiligingskritieke delen
ISO/IEC 5055
–○●● scan
C-05 Duidelijke structuur: modules met afhankelijkheden in één richting; codeerstandaard vastgelegd en afgedwongen met een linter in de pipeline
ISO/IEC 25010 (modulariteit); ISO/IEC 27002 8.28
–●●● scan + analist
C-06 Foutafhandeling: fouten worden niet ingeslikt, gebruikers zien geen stacktraces, gedrag bij uitzonderingen is bepaald
OWASP A10:2025
●●●● scan + analist
in de scanner
C-07 Het project bouwt uit een schone checkout met één gedocumenteerde opdracht; versies zijn vastgezet in een lockfile
ISO/IEC 25010 (flexibiliteit); SLSA
●●●● scan
in de scanner
C-08 Leesbaarheid: de keurder leest 3–5 kritieke modules (inloggen, rechten, betalingen, data-export) op begrijpelijkheid en naamgeving
ISO/IEC 20246
––●● keurder
C-09 Bekende technische schuld staat op een lijst met prioriteit
ISO/IEC 25010
––●● document
C-10 Naamgeving: variabelen, functies en klassen volgen een vaste conventie en zeggen wat ze doen; geen nietszeggende namen (tmp, data2, x) buiten korte lussen
ISO/IEC 25010 (analyseerbaarheid)
–○●● scan + analist
C-11 Commentaar: publieke functies en API's gedocumenteerd, commentaar legt het waarom uit, geen verouderd of misleidend commentaar (de analist vergelijkt in een steekproef commentaar met code)
ISO/IEC 25010 (analyseerbaarheid)
–○●● scan + analist
C-12 Omvang onder de drempels: lengte van methodes, klassen en bestanden, aantal parameters, nestingsdiepte
ISO/IEC 25023; ISO/IEC 5055
–○●● scan
C-13 Geen blokkerende of kritieke code smells: ongebruikte variabelen en imports, magische getallen, lege catch-blokken, hardgecodeerde URL's of configuratie, verouderde (deprecated) API's. Lagere ernst staat in het rapport
ISO/IEC 5055
●●●● scan
in de scanner
C-14 Opmaak consistent en automatisch afgedwongen met een formatter in de pipeline
ISO/IEC 25010 (onderhoudbaarheid)
–○●● scan
C-15 Kwaliteitsdrempel (quality gate) op nieuwe code: geen nieuwe kritieke issues en voldoende testdekking op elke wijziging, anders geen merge
ISO/IEC 27002 8.25
–○●● scan
C-16 Technische-schuldratio onder de drempel (voorstel: onderhoudbaarheidsscore A of B, te kalibreren)
ISO/IEC 25023
–○●● scan
C-17 Gevoelige plekken die de analyse markeert (security hotspots: cryptografie, reguliere expressies, deserialisatie, bestandspaden) zijn door een mens beoordeeld
ISO/IEC 5055; OWASP ASVS 5.0
–●●● scan + analist
C-18 Geen uitgeschakelde of overgeslagen tests zonder vermelde reden (AI-agents schakelen falende tests soms uit)
ISO/IEC/IEEE 29119
–○●● scan
C-19 Geen ongebruikte afhankelijkheden: elk pakket in het manifest wordt echt gebruikt (ongebruikte pakketten zijn onnodig aanvalsoppervlak)
ISO/IEC 5055; CRA bijlage I (2)(j)
●●●● scan
in de scanner
C-20 Geen achtergebleven rommel in repository en artefact: back-upbestanden (.bak, .old, .orig), database-dumps, testdata met echte gegevens, voorbeeld- en democode, tijdelijke bestanden van AI-agents, gecommitte buildoutput
ISO/IEC 27002 8.4; OWASP WSTG-CONF-04
●●●● scan
in de scanner
C-21 Opruimbeleid: feature flags, tijdelijke codepaden en oude branches hebben een eigenaar en einddatum; wat afgelopen is, wordt verwijderd
ISO/IEC 25010:2023 (onderhoudbaarheid)
––○● scan + keurder

D. Hoe de bouwer test

Zonder automatische tests en beveiligingsscans in de pipeline glipt elke fout ongemerkt naar productie.

IDWat we controlerenN1N2N3N4Hoe
D-01 Teststrategie beschreven: welke niveaus (unit, integratie, end-to-end), wat niet getest wordt en waarom
ISO/IEC/IEEE 29119-2, 29119-3
––●● document
D-02 Tests draaien automatisch bij elke wijziging en een falende test blokkeert de release
ISO/IEC 27002 8.29
●●●● scan
in de scanner
D-03 Codedekking gemeten, met een minimum voor kritieke modules (voorstel: 70% van de regels in inloggen, rechten en betalingen)
ISO/IEC/IEEE 29119-4
–○●● scan
D-04 Mutatietest op kritieke modules: tests vangen opzettelijk ingevoerde fouten (voorstel: mutatiescore minstens 60%); ontmaskert ook tests die alleen de eigen code bevestigen, zoals tests die in dezelfde AI-sessie als de code zijn geschreven
ISO/IEC/IEEE 29119-4
–○●● scan
D-05 Negatieve beveiligingstests: inloggen, rechten en invoervalidatie (bv. gebruiker A kan de gegevens van gebruiker B niet zien)
OWASP ASVS 5.0; ISO/IEC 27002 8.29
–●●● scan + analist
D-06 Statische beveiligingsanalyse en afhankelijkheidsscan in de pipeline, met een drempel die de release blokkeert
NIST SP 800-218; ISO/IEC 27002 8.25
●●●● scan
in de scanner
D-07 Geautomatiseerde scan van de draaiende applicatie in een testomgeving (DAST)
ISO/IEC 27002 8.29
–●●● scan
D-08 Geen echte persoonsgegevens in test- en ontwikkelomgevingen, tenzij gepseudonimiseerd
ISO/IEC 27002 8.33; AVG art. 25
––●● verklaring + keurder
D-09 Testresultaten per release bewaard
ISO/IEC 25051; ISO/IEC/IEEE 29119-3
––●● document
D-10 Handmatige pentest in de laatste 12 maanden door een onafhankelijke, gekwalificeerde tester (bv. CREST of OSCP): web, API's, inloggen, rechten en bedrijfslogica; mobiele apps apart
CRA bijlage I deel II (3); OWASP WSTG, MASTG
––●● pentest
D-11 Prestatie- en belastingtest voor kritieke functies
ISO/IEC 25010 (prestatie-efficiëntie)
––○● document
D-12 Extern aanvalsoppervlak gescand: alle domeinen, subdomeinen, open poorten en publiek bereikbare diensten van de app in kaart gebracht en getest op bekende zwakheden (externe kwetsbaarheidsscan; geen pentest)
CRA I (2)(j); ISO/IEC 27002 8.8
●●●● scan
in de scanner
D-13 Hertest na de pentest bevestigt dat kritieke en hoge bevindingen echt opgelost zijn
CRA I deel II (3)
––●● pentest
D-14 Kernfuncties werken: de kritieke functies doen wat de beschrijving van het product belooft, van begin tot eind nieuw, voorstel
ISO/IEC 25010 (functionele geschiktheid)
–●●● keurder (test) + document
D-15 Validaties werken op de server: foute, ontbrekende, te lange en kwaadwillige invoer wordt door de server geweigerd, niet alleen in het scherm nieuw, voorstel
OWASP ASVS V5; ISO/IEC 27002 8.26
–●●● keurder (test) + aanvalstest
D-16 De kritieke functies hebben automatische tests die bij elke wijziging draaien: minstens één positieve en één negatieve test per functie nieuw, voorstel
NIST SP 800-218 PW.8; ISO/IEC 27002 8.29
–●●● scan + test

E. Applicatiebeveiliging

De klassieke lekken: inloggen, rechten, injectie, geheimen en versleuteling. Hier gaat het in de praktijk het vaakst mis.

IDWat we controlerenN1N2N3N4Hoe
E-01 Inloggen: geen standaardwachtwoorden; MFA verplicht voor beheerders en beschikbaar voor gebruikers
OWASP ASVS 5.0; A07:2025; CRA I (2)(d)
–●●● scan + analist
E-02 Rechten worden per object op de server gecontroleerd: niemand bereikt andermans gegevens via een ander ID
A01:2025; OWASP ASVS 5.0
–●●● scan + analist + aanvalstest
E-03 Sessies: veilige cookies, time-outs, afmelden maakt de sessie ongeldig
OWASP ASVS 5.0
●●●● scan
in de scanner
E-04 Geen injectie: geparametriseerde queries, output-encoding, geen SQL-, OS-, template- of XSS-lekken
A05:2025
●●●● scan + analist
in de scanner
E-05 Geen geheimen in code, configuratie of git-geschiedenis; geheimen staan in een kluis of de omgeving
ISO/IEC 27002 8.24; CRA I (2)(e)
●●●● scan
in de scanner
E-06 Versleuteling: TLS 1.2 of hoger voor al het verkeer, gevoelige gegevens versleuteld opgeslagen, geen verouderde of zelfgemaakte algoritmen
A04:2025; CRA I (2)(e)
●●●● scan
in de scanner
E-07 Veilig standaard: debug uit, beheerschermen afgeschermd, terugzetten naar een veilige toestand mogelijk
A02:2025; CRA I (2)(b)
–●●● scan + analist
E-08 Beveiligingsheaders en configuratie: CSP, HSTS, restrictieve CORS
A02:2025
●●●● scan
in de scanner
E-09 Bescherming tegen misbruik: limieten op inlogpogingen en zware functies; uploads gecontroleerd
CRA I (2)(h)
–○●● scan + aanvalstest
E-10 Klein aanvalsoppervlak: geen overbodige poorten, endpoints of functies; geen endpoints buiten de API-specificatie
CRA I (2)(j)
–●●● scan + analist
E-11 Integriteit: artefacten en updates ondertekend; geen onveilige deserialisatie
A08:2025; CRA I (2)(f)
–○●● scan
E-12 Dreigingsmodel van het product, bijgewerkt bij grote wijzigingen
A06:2025; IEC 62443-4-1; ISO/IEC 27034
––●● document + keurder
E-13 Beveiligingsgebeurtenissen gelogd (inloggen, rechtenwijzigingen, fouten), zonder gevoelige gegevens in de logs, met alarm bij afwijkingen
A09:2025; CRA I (2)(l)
–●●● scan + analist
E-14 Sleutelbeheer: sleutels voor ondertekening, versleuteling en TLS in een sleutelkluis, KMS of HSM, met een vaste levenscyclus (aanmaken, roteren, intrekken, vernietigen); toegang beperkt en gelogd
ISO/IEC 27002 8.24; CRA I (2)(e), (f)
––●● keurder + document
E-15 Netwerk: databanken, caches en beheerinterfaces niet publiek bereikbaar; beheer alleen via VPN, bastion of zero-trusttoegang; omgevingen gescheiden
ISO/IEC 27002 8.20, 8.22; CRA I (2)(j)
–●●● scan + analist
E-16 Inloggen via een externe identiteitsdienst (SAML, OpenID Connect): handtekeningen, doelgroep en vervaldatum van tokens gecontroleerd, terugkeeradressen vastgelegd, geen open redirects
OWASP ASVS 5.0; A07:2025
–●●● scan + aanvalstest

F. Afhankelijkheden en supply chain

Het grootste deel van moderne software bestaat uit pakketten van anderen. Eén lek daarin is een lek in jouw app.

IDWat we controlerenN1N2N3N4Hoe
F-01 Geen afhankelijkheden met bekende uitbuitbare kwetsbaarheden (bv. CISA KEV, EU-kwetsbaarhedendatabank) en geen kritieke CVE zonder mitigatie
CRA I deel I (2)(a)
●●●● scan
in de scanner
F-02 Geen frameworks of runtimes die niet meer ondersteund worden; geen onbeheerde pakketten in kritieke functies
A03:2025
●●●● scan
in de scanner
F-03 Versies vastgezet met een lockfile en integriteitscontrole (hashes)
SLSA
●●●● scan
in de scanner
F-04 Pakketten alleen uit officiële of vertrouwde registers; nieuwe pakketten gecontroleerd voor ze erin komen
A03:2025
–●●● scan + document
F-05 Alle licenties gekend en verenigbaar met het gebruik; geen onbedoelde copyleft
ISO/IEC 5230
●●●● scan
in de scanner
F-06 Beveiligde pipeline: beperkte geheimen in de build, externe acties vastgepind op hash, herkomst van de build vastgelegd
SLSA Build L2; OpenSSF Scorecard
–○●● scan + analist
F-07 Containerimages: minimale basisimage, geen kritieke CVE's, draait niet als root
A02:2025
–○●● scan
F-08 Externe diensten en AI-aanbieders gekend, met verwerkersovereenkomst waar persoonsgegevens meegaan
ISO/IEC 27036; NIS2 art. 21(2)(d); AVG art. 28
––●● document
F-09 Gezondheidsscore (bv. OpenSSF Scorecard) voor kritieke open-sourceafhankelijkheden
OpenSSF Scorecard; ISO/IEC 18974
–○○● scan
F-10 Versieachterstand gemeten per component; in kritieke functies geen component meer dan twee major versies achter (voorstel)
A03:2025; ISO/IEC 25010 (onderhoudbaarheid)
–○●● scan
F-11 Patchsnelheid: beschikbare security-patches voor kritieke lekken binnen 14 dagen toegepast, voor hoge binnen 30 dagen (voorstel; gemeten over het laatste jaar)
CRA I deel II (2); ISO/IEC 30111
–○●● scan + analist
F-12 Ook de infrastructuur: besturingssysteem, runtime (bv. Java, .NET, Node.js, PHP, Python), webserver, database en CMS op een ondersteunde versie met actuele patches
ISO/IEC 27002 8.8; CRA I (2)(a)
–●●● scan + analist
F-13 Indirecte (transitieve) afhankelijkheden worden mee gescand; bij niveau 2 staan ze ook in de SBOM
CRA I deel II (1)
●●●● scan
in de scanner
F-14 Scripts en bibliotheken die de browser van externe servers laadt, hebben een integriteitscontrole (SRI) of worden zelf gehost
A08:2025
–○●● scan

G. Kwetsbaarheden en updates (CRA)

De CRA verplicht fabrikanten om kwetsbaarheden te melden en updates te leveren. Daarvoor moet het proces er zijn.

IDWat we controlerenN1N2N3N4Hoe
G-01 Publiek beleid voor gecoördineerde melding van kwetsbaarheden, met meldadres (bv. security.txt)
CRA I deel II (5), (6); ISO/IEC 29147
–●●● scan + document
G-02 Intern proces voor kwetsbaarheden: triage, ernst bepalen, hersteltermijn per ernst
ISO/IEC 30111; CRA I deel II (2)
––●● document
G-03 Hersteltermijnen worden in de praktijk gehaald (steekproef uit de tickets van het laatste jaar)
ISO/IEC 30111
––●● keurder
G-04 Security-updates gratis en waar mogelijk los van functionele updates, met advies aan gebruikers
CRA I deel II (2), (8)
––●● document + verklaring
G-05 Updates veilig verspreid (ondertekend, vertrouwd kanaal); bij geïnstalleerde software staan automatische updates standaard aan
CRA I deel I (2)(c); deel II (7)
–●●● scan + analist
G-06 Opgeloste kwetsbaarheden publiek vermeld in releasenotes of advisories
CRA I deel II (4)
––●● document
G-07 Meldproces klaar om actief uitgebuite kwetsbaarheden en ernstige incidenten binnen 24 uur te melden
CRA art. 14
––●● document
G-08 Doorlopende bewaking van nieuwe kwetsbaarheden in afhankelijkheden via de SBOM
CRA I deel II (1), (3)
●●●● scan
in de scanner

H. AI in het product

Een AI-functie kan misleid worden (prompt injection), gegevens lekken of onverwacht duur worden.

IDWat we controlerenN1N2N3N4Hoe
H-01 Prompt injection getest, direct en indirect (via documenten, webpagina's, toolresultaten)
LLM01; OWASP AISVS; ETSI EN 304 223
–●●● scan + aanvalstest
H-02 Uitvoer van het model wordt behandeld als onbetrouwbare invoer: niet rechtstreeks uitgevoerd, gevalideerd en geëncodeerd
LLM05
●●●● scan + analist
in de scanner
H-03 Model en agent hebben minimale rechten op tools; onomkeerbare acties vragen bevestiging door een mens
LLM06; ASI02, ASI03
––●● keurder
H-04 Geen lekken: geen geheimen in de systeemprompt, gegevens van klanten gescheiden in zoek- en vectoropslag
LLM02, LLM07, LLM08
–●●● scan + aanvalstest
H-05 Gebruikers weten dat ze met AI praten; door AI gemaakte inhoud is gemarkeerd waar dat moet
AI Act art. 50
––●● keurder
H-06 Modelaanbieder en -versie vastgelegd; een ander model is een ingrijpende wijziging en vraagt herkeuring
Schema: toezicht en wijzigingen
––●● document
H-07 Kwaliteit gemeten met een testset van verwachte antwoorden; regressietest bij elke modelwissel
ISO/IEC 25059; ISO/IEC TR 29119-11
––●● document + keurder
H-08 Limieten op verbruik (tokens, aanvragen) tegen misbruik en onverwachte kosten
LLM10
●●●● scan
in de scanner
H-09 Autonomieniveau per AI-functie vastgesteld (AI-1 helpt, AI-2 mens bevestigt, AI-3 mens houdt toezicht, AI-4 beslist zelfstandig) en passend bij de gevolgen voor mensen; een mens kan altijd ingrijpen
AI Act art. 14; ISO/IEC 42001; ISO/IEC 22989
––●● keurder + document
H-10 De bouwer heeft vastgesteld dat het product geen verboden AI-praktijk bevat en of het onder hoog risico valt (AI Act); zo ja, vervangt het keurmerk de wettelijke conformiteitsbeoordeling niet
AI Act art. 5, 6, bijlage III
––●● document
H-11 Bij eigen training of finetuning: herkomst van de data, rechten en persoonsgegevens gedocumenteerd
ISO/IEC 42001 bijlage A; AI Act art. 10
––●● document
H-12 Agents: bescherming tegen vergiftigd geheugen en context, veilige communicatie tussen agents, een noodstop
ASI06, ASI07, ASI10
––●● keurder + pentest
H-13 AI-kaart, publiek: per AI-functie wat ze doet, welke beslissingen of adviezen ze geeft, welke gegevens ze gebruikt, aanbieder en model, bekende beperkingen en foutsoorten
AI Act art. 13, 50; ISO/IEC 42001; ISO/IEC 22989
––●● document
H-14 AI-beslissingen gelogd: per beslissing tijdstip, functie, model en versie, verwijzing naar de invoer, uitvoer, uitgevoerde acties en wie bevestigde; beschermd tegen wijziging, minstens zes maanden bewaard, zonder onnodige persoonsgegevens
AI Act art. 12, 19, 26(6); ISO/IEC 42001
–●●● scan + analist
H-15 Vieroogenprincipe: beslissingen met rechtsgevolg of grote financiële gevolgen worden door een mens bevestigd voor ze uitgevoerd worden; ook de bevestiging wordt gelogd
AI Act art. 14; AVG art. 22
––●● keurder
H-16 Uitleg en herbeoordeling: wie door een AI-beslissing geraakt wordt, kan uitleg vragen en een herbeoordeling door een mens krijgen
AVG art. 22(3); AI Act art. 86
––◐◐ keurder + document
H-17 AI in productie bewaakt: foutpercentage, klachten, afwijkingen in de invoer en hoe vaak mensen de AI overrulen (te vaak of nooit is een signaal)
AI Act art. 72; ISO/IEC 42001
–○●● scan + document
H-18 Getest op oneerlijke uitkomsten (bias) bij beslissingen over personen, met vastgelegde testset en uitslag
AI Act art. 10, 15; ISO/IEC TR 24027
––◐◐ document + keurder
H-19 AI uitschakelbaar: elke AI-functie kan apart uitgezet worden en de app blijft dan bruikbaar of valt veilig terug
AI Act art. 14(4)(e); ISO/IEC 25010:2023
––●● keurder
H-20 Herkomst van modellen (AI-BOM): modellen en datasets in een machineleesbare lijst met herkomst, licentie en hash of handtekening; modelbestanden in een veilig formaat, geen uitvoerbare formaten uit onbekende bron
OWASP LLM03; CycloneDX ML-BOM; ISO/IEC 42001
–●●● scan + document
H-21 Tools en MCP-servers van de app: inventaris, herkomst, vastgepinde versie, minimale rechten; toolbeschrijvingen gecontroleerd op verborgen instructies
OWASP LLM03; OWASP Agentic ASI04
–●●● scan + analist
H-22 Veilige uitvoer: vaste testset voor schadelijke inhoud en gevaarlijk advies (zelfbeschadiging, medisch, financieel, illegaal), met drempel
OWASP LLM09; AI Act art. 15; ISO/IEC 42001
–●●● scan + document
H-23 Geen training op klantgegevens zonder toestemming: afspraken met de AI-aanbieder over training, bewaartermijn en regio, in lijn met de AI-kaart
AVG art. 5, 28; AI Act art. 10
––●● document
H-24 Door AI gemaakte beelden, geluid, video en tekst machineleesbaar gemarkeerd (bv. C2PA of watermerk) waar de AI Act dat vraagt
AI Act art. 50(2); C2PA
–●●● scan + analist
H-25 Ernstige AI-incidenten: procedure om ze te melden aan de toezichthouder en de klant, gekoppeld aan de incidentanalyse
AI Act art. 73
––◐◐ document

I. Data en privacy

Persoonsgegevens vragen bescherming volgens de AVG: scheiding tussen klanten, bewaartermijnen, toestemming.

IDWat we controlerenN1N2N3N4Hoe
I-01 Overzicht van de gegevens: welke persoonsgegevens, waar opgeslagen, hoe lang en waarvoor
AVG art. 30; CRA I (2)(g)
––●● document
I-02 Niet meer gegevens dan nodig; privacyvriendelijke standaardinstellingen
AVG art. 25; CRA I (2)(g)
––●● keurder
I-03 Gegevens van verschillende klanten zijn gescheiden, en dat is getest
ISO/IEC 27002 8.3
–●●● scan + aanvalstest
I-04 Gebruikers kunnen hun gegevens exporteren en definitief laten verwijderen
CRA I (2)(m); AVG art. 17, 20
––●● keurder
I-05 Hostingregio en doorgifte buiten de EER gekend en gedocumenteerd
AVG hoofdstuk V
––●● document
I-06 Back-ups versleuteld; herstel getest
ISO/IEC 27002 8.13
––●● document
I-07 Gegevensbeschermingseffectbeoordeling (DPIA) waar de verwerking een hoog risico geeft
AVG art. 35
––●● document
I-08 Persoonsgegevens gaan alleen naar AI-aanbieders met een verwerkersovereenkomst en zonder training op die gegevens
AVG art. 28; ISO/IEC 42001 bijlage A
––●● document
I-09 Cookies en trackers: zonder toestemming alleen strikt noodzakelijke; toestemming vooraf, weigeren even makkelijk als aanvaarden, intrekken altijd mogelijk
ePrivacyrichtlijn art. 5(3); AVG art. 7
–●●● scan + analist
I-10 Clouddienst (SaaS): klanten kunnen overstappen. Export van al hun gegevens in een gangbaar formaat, overstapregeling in het contract, geen overstapkosten vanaf 12 januari 2027
Data Act hoofdstuk VI, art. 29
––◐◐ document + keurder
I-11 App bij een verbonden product: gebruikers krijgen standaard toegang tot de gegevens van product en dienst (producten op de markt vanaf 12 september 2026)
Data Act art. 3
––◐◐ keurder + document
I-12 Bewaartermijnen worden automatisch afgedwongen: gegevens worden na de termijn verwijderd of geanonimiseerd, ook in back-ups en logs
AVG art. 5(1)(e)
–○●● scan + analist
I-13 Minderjarigen: als de app op kinderen gericht is of door kinderen gebruikt wordt, een leeftijdscontrole passend bij het risico, de strengste privacy- en veiligheidsinstellingen als standaard en geen profilering voor reclame
DSA art. 28; AVG art. 8; AI Act art. 9(9)
––◐◐ keurder + document

J. Documentatie

Zonder documentatie kan niemand anders de software beheren, controleren of veilig overnemen.

IDWat we controlerenN1N2N3N4Hoe
J-01 Gebruikersinformatie: doel, beoogd gebruik, veilige installatie en configuratie, einddatum van de ondersteuning, contact
CRA bijlage II; ISO/IEC/IEEE 26514
––●● document
J-02 Beheerdocumentatie: installatie, configuratie, back-up en herstel, updateprocedure
ISO/IEC 25051
––●● document
J-03 Technische documentatie: architectuur, vastgelegde ontwerpkeuzes, datamodel, API-specificatie (bv. OpenAPI)
CRA bijlage VII; ISO/IEC/IEEE 42010
––●● document + keurder
J-04 Ontwikkelaarsdocumentatie: een README met bouwen, testen en uitrollen; een nieuwe ontwikkelaar kan binnen een dag bouwen
ISO/IEC 25010 (onderhoudbaarheid)
––●● keurder
J-05 Documentatie klopt met de code (steekproef: gedocumenteerde API tegenover de echte endpoints)
ISO/IEC 25051
–○●● scan + analist
J-06 Wijzigingslog per release, met de security-fixes apart vermeld
CRA I deel II (4)
––●● document
J-07 Beveiligingsinformatie voor klanten: hoe het product veilig te gebruiken en wat de klant zelf moet doen
CRA bijlage II
––●● document
J-08 Informatie over AI-functies voor klanten: welke functies, welke aanbieder, wat er met hun gegevens gebeurt (alleen bij module H)
AI Act art. 50; ISO/IEC 42001 bijlage A
––◐◐ document

K. Werking, monitoring en logging

Wat je niet ziet, kun je niet herstellen: logging, monitoring en een plan voor als het misgaat.

IDWat we controlerenN1N2N3N4Hoe
K-01 Ontwikkeling, test en productie gescheiden; ontwikkelaars en agents hebben standaard geen toegang tot productie
ISO/IEC 27002 8.31
––●● keurder
K-02 Uitrol geautomatiseerd en herhaalbaar; terugrollen mogelijk
ISO/IEC 27002 8.32
––●● document + keurder
K-03 Bewaking van beschikbaarheid en fouten, met alarmering
ISO/IEC 25010 (betrouwbaarheid)
––●● document
K-04 RTO en RPO per dienst afgeleid uit de gevolgen van uitval voor de klant; herstel na uitval getest in de laatste 12 maanden
ISO/IEC 27002 8.13; ISO/IEC 27031; NIS2 art. 21(2)(c)
––●● document + keurder
K-05 Incidentrespons: plan, contactpersoon, minstens één oefening per jaar
ISO/IEC 27002 5.24; NIS2 art. 21(2)(b)
––●● document
K-06 Infrastructuur als code gescand op foute cloudconfiguratie (open opslag, te ruime rechten)
A02:2025
–○●● scan
K-07 Toegang tot code en infrastructuur: MFA voor alle ontwikkelaars, rechten periodiek nagekeken, vertrekkers meteen verwijderd
ISO/IEC 27002 5.15–5.18; NIS2 art. 21(2)(i), (j)
––●● verklaring + keurder
K-08 Overdraagbaarheid voor maatwerk: escrow of afspraak over broncode als de bouwer stopt
ISO/IEC 27036
––○● document
K-09 Logbeleid: wat wordt gelogd (toegang, beheeracties, fouten, wijzigingen aan gegevens), hoe lang bewaard, wie erbij kan; logs beschermd tegen wijziging
ISO/IEC 27002 8.15; CRA I (2)(l)
––●● document + keurder
K-10 Logs centraal verzameld en te doorzoeken, met gesynchroniseerde klokken
ISO/IEC 27002 8.15, 8.17
––●● keurder
K-11 Alarmen op beveiligingsgebeurtenissen worden opgevolgd: wie reageert, binnen welke tijd, en dat is aantoonbaar gebeurd
ISO/IEC 27002 8.16; NIS2 art. 21(2)(b)
––●● document + keurder
K-12 Prestaties en capaciteit bewaakt (responstijden, foutpercentages, opslag) met drempels
ISO/IEC 27002 8.6; ISO/IEC 25010 (prestatie-efficiëntie)
––●● document
K-13 Audittrail voor gevoelige gegevens: vastgelegd wie persoonsgegevens heeft bekeken, gewijzigd of geëxporteerd
AVG art. 5(2), 32
–○●● scan + analist
K-14 Container-orkestratie (bv. Kubernetes) gehard: geen geprivilegieerde containers, netwerkbeleid tussen diensten, geheimen niet als platte tekst, getoetst aan een CIS-benchmark
CIS Kubernetes Benchmark; ISO/IEC 27002 8.9
–○◐◐ scan + analist
K-15 DR-plan: scenario's, rollen, beslissers, volgorde van herstel en communicatie naar klanten
ISO/IEC 27031; ISO 22301; ISO/IEC 27002 5.29, 5.30
––●● document
K-16 Herstelproef: in een testomgeving wordt een databank of configuratie onbruikbaar gemaakt; herstel binnen de RTO, gegevens gecontroleerd op volledigheid
ISO/IEC 27031; ISO/IEC 27002 8.13
––●● keurder
K-17 Herbouw vanaf nul: de volledige omgeving opnieuw opgebouwd uit infrastructuurcode en back-ups, in een schone account
ISO/IEC 27031; NIST SP 800-34
––○● keurder + document
K-18 Ransomwarescenario: herstel naar een schone toestand van vóór de aanval, met back-ups die een aanvaller met beheerrechten niet kan wissen (W-11)
ISO/IEC 27002 8.13; NIS2 art. 21(2)(c)
––●● keurder + document
K-19 Ook de rest is herstelbaar: sleutels, geheimen, configuratie, DNS-zones, domeinen en certificaten zitten in de back-up of het herstelplan
ISO/IEC 27002 8.13, 8.24
––●● document + keurder
K-20 Uitval van derden: voor cloud, AI-aanbieder, betaaldienst en codeplatform een terugvaloptie of een vastgelegde aanvaarding van het risico
ISO/IEC 27031; DORA art. 28
––●● document
K-21 Foutinjectie: de keurder laat een externe dienst uitvallen of stuurt ongeldige gegevens; de app degradeert netjes, zonder datalek of corrupte gegevens
ISO/IEC 25010:2023 (fouttolerantie); OWASP WSTG
––○● keurder + pentest
K-22 DR-test minstens jaarlijks (niveau 4: elk halfjaar), met verslag en verbeteracties
ISO 22301; DORA art. 11(6)
––●● document

L. Toegankelijkheid

Software moet bruikbaar zijn voor iedereen. Voor overheden en vanaf 2025 voor veel webwinkels is toegankelijkheid verplicht.

IDWat we controlerenN1N2N3N4Hoe
L-01 Voldoet aan WCAG 2.1 AA (via EN 301 549): automatische scan van app en website plus handmatige steekproef van de belangrijkste schermen en taken; punten uit WCAG 2.2 apart gemeld
EN 301 549; WCAG 2.1/2.2
–○●● scan + analist
L-02 Toegankelijkheidsinformatie gepubliceerd: een verklaring of informatie in de voorwaarden over hoe de dienst toegankelijk is
Europese Toegankelijkheidsakte; Richtlijn 2016/2102
––◐◐ document

O. Website, domein en juridische informatie

De website is vaak de eerste indruk en de eerste ingang voor aanvallers: TLS, cookies, e-mailbeveiliging en de wettelijke gegevens.

IDWat we controlerenN1N2N3N4Hoe
O-01 Bedrijfsgegevens op de site: naam, geografisch adres, e-mail, ondernemingsnummer, btw-nummer, en waar van toepassing toezichthouder of beroepsorganisatie
E-commercerichtlijn (2000/31) art. 5
–●●● scan + analist
O-02 Algemene voorwaarden vindbaar, en op te slaan en af te drukken vóór de klant een overeenkomst sluit
E-commercerichtlijn art. 10(3)
––●● keurder
O-03 Privacyverklaring vindbaar, actueel en in lijn met de werkelijke verwerking (vergeleken met wat de scan aan trackers vindt)
AVG art. 13
–●●● scan + analist
O-04 Geen cookies of trackers vóór toestemming: de scan bezoekt de site zonder te klikken en noteert wat er wordt geplaatst
ePrivacyrichtlijn art. 5(3)
●●●● scan
in de scanner
O-05 De site zelf is veilig: TLS, beveiligingsheaders, CMS en plugins op een ondersteunde versie, geen beheerpagina's open
OWASP Top 10:2025; CRA I (2)(a)
●●●● scan
in de scanner
O-06 Domein en e-mail beschermd tegen misbruik: SPF, DKIM en DMARC ingesteld, geen overneembare subdomeinen, DNSSEC waar mogelijk
Basis cyberhygiëne (NIS2 art. 21(2)(g))
●●●● scan
in de scanner
O-07 Wat de site belooft, klopt: claims over beveiliging, AI, certificaten en hosting stemmen overeen met de keuring; het keurmerk wordt volgens de regels gebruikt
Richtlijn oneerlijke handelspraktijken; ISO/IEC 17030
––●● keurder
O-08 Domeinregistratie en DNS-beheer beveiligd: MFA op het account bij registrar en DNS-aanbieder, registrar lock, CAA-records; certificaten automatisch vernieuwd en op vervaldatum bewaakt
Basis cyberhygiëne (NIS2 art. 21(2)(g)); ISO/IEC 27002 8.24
–●●● scan + verklaring

P. Koppelingen met andere systemen

Koppelingen met andere systemen zijn de deuren van je app. Elke deur heeft een slot en een logboek nodig.

IDWat we controlerenN1N2N3N4Hoe
P-01 Overzicht van alle koppelingen: richting, protocol, welke gegevens, eigenaar, authenticatie; ook oude en testkoppelingen
ISO/IEC 27002 5.14; OWASP API9
–●●● scan + document
P-02 Authenticatie tussen systemen zonder gedeelde of vaste wachtwoorden: OAuth 2.0, mTLS of ondertekende tokens, met beperkte rechten en vervaldatum
OWASP API2; OWASP ASVS 5.0
–●●● scan + analist
P-03 Sleutels en tokens voor koppelingen worden geroteerd en zijn per omgeving gescheiden
ISO/IEC 27002 8.24
––●● keurder + verklaring
P-04 Eigen API's controleren rechten per object en per functie, valideren invoer, beperken verbruik en geven geen overbodige gegevens terug
OWASP API1, API3, API4, API5
–●●● scan + aanvalstest
P-05 Inkomende webhooks en berichten worden gecontroleerd (handtekening, herkomst); uitgaande verzoeken alleen naar toegestane bestemmingen; antwoorden van derden worden niet blind vertrouwd
OWASP API7, API10
●●●● scan + analist
in de scanner
P-06 Robuust bij storingen: time-outs, herhaalpogingen, geen dubbele verwerking, bepaald gedrag als een gekoppeld systeem uitvalt, en dat is getest
ISO/IEC 25010 (betrouwbaarheid); A10:2025
––●● keurder + document
P-07 Versiebeheer van API's: gedocumenteerd (bv. OpenAPI), wijzigingen aangekondigd, oude versies met een termijn uitgefaseerd
ISO/IEC 25010 (compatibiliteit)
––●● document
P-08 Gegevens die via koppelingen naar derden gaan, staan in de gegevensinventaris en zijn gedekt door een verwerkersovereenkomst
AVG art. 28, 30
––●● document
P-09 Open standaarden en exportformaten, zodat klanten kunnen koppelen en overstappen
Data Act hoofdstuk VIII
––○● document
P-10 API-gateway, reverse proxy of WAF juist ingesteld: TLS volgens E-06, authenticatie en limieten aan de rand én in de dienst zelf; de diensten erachter zijn niet rechtstreeks bereikbaar (geen omweg langs de gateway)
OWASP API8; A02:2025
–●●● scan + analist + aanvalstest
P-11 SOAP en XML: parser beschermd tegen XXE en entity-expansie, berichten gevalideerd tegen het schema, authenticatie via WS-Security of mTLS, XML-handtekeningen correct gecontroleerd (geen signature wrapping), WSDL niet publiek in productie
OWASP ASVS 5.0; OWASP Cheat Sheet XXE
–●●● scan + aanvalstest
P-12 GraphQL: introspectie uit in productie, limieten op diepte en complexiteit, rechten per veld. gRPC: TLS en authenticatie per aanroep
OWASP API4, API8; OWASP Cheat Sheet GraphQL
–●●● scan + aanvalstest
P-13 Berichtenbussen en bestandsoverdracht (bv. Kafka, MQ, SFTP, EDI): authenticatie en versleuteling, rechten per wachtrij of map, geen anonieme toegang
ISO/IEC 27002 5.14, 8.21
–●●● scan + analist

Q. Governance

Wie mag wat veranderen, en wie keurt het goed? Zonder afspraken hangt beveiliging af van toeval.

IDWat we controlerenN1N2N3N4Hoe
Q-01 Rollen vastgelegd voor product, beveiliging, privacy en AI, met mandaat en vervanging
ISO/IEC 27001 5.3; ISO/IEC 42001 5.3; NIS2 art. 20
––●● document
Q-02 Risicobeoordeling van het product, herzien minstens jaarlijks en bij grote wijzigingen
CRA art. 13(2); ISO/IEC 27001 6.1
––●● document
Q-03 Wijzigingsbeheer: wie mag wat naar productie brengen, met goedkeuring en een regeling voor noodwijzigingen
ISO/IEC 27002 8.32
–●●● scan + document
Q-04 Releasebeleid: versienummering, releasenotes, welke versies ondersteund worden, einde van ondersteuning tijdig aangekondigd
CRA art. 13(8)
––●● document
Q-05 Kritieke leveranciers (cloud, AI-aanbieders) beoordeeld en jaarlijks herzien
ISO/IEC 27036; NIS2 art. 21(2)(d)
––●● document
Q-06 Directie bekijkt minstens jaarlijks beveiliging, kwaliteit en open bevindingen van het product
ISO/IEC 27001 9.3; NIS2 art. 20
––●● document
Q-07 Ontwikkelaars krijgen jaarlijks opleiding in veilig programmeren en verantwoord AI-gebruik
ISO/IEC 27002 6.3; NIS2 art. 21(2)(g); AI Act art. 4
––●● document
Q-08 Niet afhankelijk van één persoon: minstens twee mensen kunnen bouwen, uitrollen en herstellen
ISO/IEC 25010 (onderhoudbaarheid)
––●● keurder

R. Versiebeheer en releases

Versiebeheer en vaste releases maken zichtbaar wat er in productie staat en wie wat veranderde.

IDWat we controlerenN1N2N3N4Hoe
R-01 Alle broncode, configuratie en infrastructuur-als-code staan in versiebeheer; niets in productie dat er niet in zit
ISO/IEC 27002 8.4, 8.32
–●●● scan + analist
R-02 Toegang tot de repository: MFA, minimale rechten, geen gedeelde accounts, vertrekkers verwijderd, periodiek nagekeken
ISO/IEC 27002 8.4, 5.18
–●●● scan + verklaring
R-03 Branchstrategie vastgelegd; hoofdbranch beschermd: geen directe of geforceerde push, verplichte review (B-03) en een geslaagde pipeline
ISO/IEC 27002 8.32
●●●● scan
in de scanner
R-04 Herleidbaarheid: elke wijziging gekoppeld aan een ticket of reden, met zinvolle commitberichten
ISO/IEC 27002 8.32; RTS 2024/1774 art. 16(7)
–○●● scan
R-05 Ondertekende commits of tags, of een gelijkwaardige herkomstcontrole
SLSA
–○●● scan
R-06 Repository opgeruimd: geen grote binaire bestanden, build-uitvoer of geheimen in de geschiedenis
ISO/IEC 27002 8.4
–○●● scan
R-07 Elke release getagd, met versienummer (bv. semantisch), releasenotes en een reproduceerbaar artefact
CRA I deel II (4); SLSA
–●●● scan + document
R-08 Vast releaseproces: bouwen, testen, goedkeuren, uitrollen; vastgelegd wie goedkeurt
ISO/IEC 27002 8.32
––●● document + keurder
R-09 Artefacten ondertekend en bewaard in een beheerde registry; productie draait alleen goedgekeurde artefacten
SLSA Build L2; A08:2025
–○●● scan + analist
R-10 Terugrollen naar de vorige versie getest; databasemigraties omkeerbaar of met herstelplan
ISO/IEC 27002 8.32
––●● document + keurder
R-11 Risicovolle wijzigingen gefaseerd uitgerold (feature flags, canary, blauw-groen) en na de release bewaakt
ISO/IEC 25010 (betrouwbaarheid)
––○● document
R-12 Overzicht van welke versies bij klanten draaien en welke nog updates krijgen; security-fixes ook naar ondersteunde oudere versies
CRA art. 13(8); I deel II (2)
––●● document
R-13 Repository-instellingen: geheimenscanning en afhankelijkheidswaarschuwingen aan, geen onbedoeld publieke repositories, geen langlevende persoonlijke tokens
OpenSSF Scorecard
●●●● scan
in de scanner

S. Mobiele apps (module)

Mobiele apps bewaren gegevens op het toestel en praten met servers via het internet: dat vraagt eigen controles.

IDWat we controlerenN1N2N3N4Hoe
S-01 Minimale permissies; elke permissie heeft een reden die de gebruiker te zien krijgt
OWASP MASVS-PLATFORM; AVG art. 25
–●●● scan + analist
S-02 Gevoelige gegevens op het toestel versleuteld in de veilige opslag van het platform (Keychain, Keystore); niets gevoeligs in logs, back-ups of het klembord
OWASP MASVS-STORAGE
–●●● scan + aanvalstest
S-03 Netwerkverkeer alleen via TLS, certificaatcontrole nooit uitgeschakeld, pinning waar het risico het vraagt
OWASP MASVS-NETWORK
–●●● scan + aanvalstest
S-04 Geen geheimen of API-sleutels in de app zelf
OWASP MASVS-STORAGE, MASVS-CODE
●●●● scan
in de scanner
S-05 Privacylabels in de app stores kloppen met de werkelijke verwerking en de SDK's in de app
AVG art. 13
–●●● scan + analist
S-06 SDK's van derden (analyse, advertenties, crashrapporten) geïnventariseerd; tracking pas na toestemming
ePrivacyrichtlijn art. 5(3); OWASP MASVS-PRIVACY
●●●● scan
in de scanner
S-07 Bescherming tegen manipulatie (root- of jailbreakdetectie, obfuscatie) waar het risico het vraagt, bv. bank- en betaalapps
OWASP MASVS-RESILIENCE
–○●● scan + aanvalstest

T. Klassieke kwaliteitsborging

Klassieke kwaliteitszorg: testen, foutenbeheer en acceptatie, ook als de code door AI geschreven is.

IDWat we controlerenN1N2N3N4Hoe
T-01 Eisen vastgelegd, functioneel en niet-functioneel (prestaties, beschikbaarheid, beveiliging, privacy, toegankelijkheid), met acceptatiecriteria
ISO/IEC/IEEE 29148
––●● document
T-02 Beveiligingseisen vooraf bepaald, afgeleid uit het dreigingsmodel en de geldende wetten
ISO/IEC 27002 8.26; Grip op SSD
––●● document
T-03 Traceerbaarheid van eis naar ontwerp, code en test (traceerbaarheidsmatrix of koppeling ticket–commit–test)
ISO/IEC/IEEE 29148, 12207
–○●● scan + document
T-04 Ontwerp vastgelegd en gereviewd vóór de bouw van grote wijzigingen
ISO/IEC 20246; IEEE 1028
––●● document
T-05 Acceptatietest door opdrachtgever of producteigenaar op een aparte acceptatieomgeving (OTAP), met vastgelegde goedkeuring
ISO/IEC/IEEE 29119-2; ISO/IEC 27002 8.29
––●● document
T-06 Foutenbeheer: elke fout geregistreerd met ernst, eigenaar en status; open fouten bij een release bekend en aanvaard
ISO/IEC/IEEE 29119-3
–●●● scan + document
T-07 Oorzaakanalyse bij ernstige fouten en incidenten, met maatregelen tegen herhaling
ISO/IEC 27001 10.2
––●● document
T-08 Overdracht aan beheer: draaiboeken, operationele acceptatie, kennisoverdracht
ISO/IEC 20000-1
––●● document
T-09 Definitie van 'klaar': wat af moet zijn voor een wijziging als klaar geldt (review, tests, documentatie, beveiliging)
ISO/IEC/IEEE 90003; IEEE 730
––●● document
T-10 De productbeschrijving klopt: beschreven functies werken zoals gedocumenteerd (steekproef)
ISO/IEC 25051
––●● keurder
T-11 Kwaliteitscijfers over tijd gevolgd (fouten, hersteltijd, testdekking) en gebruikt om te verbeteren
ISO/IEC 25023; TMMi
––○● document
T-12 Veranderproef: de keurder vraagt een kleine functionele wijziging; het team voert ze door met tests, review en uitrol, zonder iets anders te breken
ISO/IEC/IEEE 12207; ISO/IEC 25010:2023 (wijzigbaarheid)
––○● keurder

U. Frontend (webclient)

Alles wat in de browser staat, kan iedereen lezen. Geheimen, tokens en scripts van derden horen daar niet zomaar.

IDWat we controlerenN1N2N3N4Hoe
U-01 Geen geheimen, API-sleutels of interne adressen in de JavaScript-bundel
OWASP ASVS 5.0; A02:2025
●●●● scan
in de scanner
U-02 Source maps en debugmodus niet publiek in productie
A02:2025
●●●● scan
in de scanner
U-03 Sessietokens en gevoelige gegevens niet in localStorage of sessionStorage; cookies met HttpOnly, Secure en SameSite
OWASP ASVS 5.0
●●●● scan
in de scanner
U-04 Bescherming tegen CSRF en clickjacking (frame-ancestors)
OWASP ASVS 5.0
●●●● scan
in de scanner
U-05 Controles in de browser zijn gemak, geen beveiliging: elke controle gebeurt ook op de server (getest door de browser te omzeilen)
A06:2025; OWASP ASVS 5.0
––●● pentest + keurder
U-06 Scripts van derden (analyse, chat, advertenties) geïnventariseerd, met toestemming waar nodig en beperkt via CSP; op betaalpagina's goedgekeurd en bewaakt
ePrivacyrichtlijn art. 5(3); A08:2025; PCI DSS 4.0 req. 6.4.3
●●●● scan
in de scanner
U-07 Geen gevaarlijke DOM-functies met gebruikersinvoer (innerHTML, eval); berichten tussen vensters (postMessage) met controle van de herkomst
A05:2025
●●●● scan + analist
in de scanner
U-08 Prestaties en gebruikservaring gemeten (bv. Core Web Vitals); werkt in de ondersteunde browsers
ISO/IEC 25010 (prestatie-efficiëntie, compatibiliteit)
–○○● scan

W. Backend en opslag

De databank en de opslag bevatten wat het meest waard is: gegevens van klanten. Die verdienen minimale rechten en versleuteling.

IDWat we controlerenN1N2N3N4Hoe
W-01 Databankaccounts met minimale rechten per dienst; de app verbindt nooit als beheerder
ISO/IEC 27002 8.2, 8.3
–●●● scan + analist
W-02 Verbindingen met databank en opslag versleuteld; gevoelige velden extra versleuteld waar het risico dat vraagt
CRA I (2)(e)
–●●● scan + analist
W-03 Bestandsopslag (bv. S3, Blob) privé, toegang via kortlevende ondertekende links; uploads gecontroleerd en buiten de webroot bewaard
A01:2025; OWASP ASVS 5.0
●●●● scan
in de scanner
W-04 Achtergrondtaken en geplande jobs met minimale rechten, bewaakt, en ze falen zichtbaar
ISO/IEC 27002 8.16
––●● keurder
W-05 Gegevensintegriteit bij gelijktijdig gebruik: transacties, geen race conditions (bv. dubbele betaling), idempotente verwerking
ISO/IEC 25010 (betrouwbaarheid); A06:2025
––●● keurder + pentest
W-06 Limieten op middelen: time-outs, maximale grootte van verzoeken en uploads, paginering, bescherming tegen trage queries
OWASP API4; CRA I (2)(h)
●●●● scan
in de scanner
W-07 Configuratie gescheiden van code, per omgeving, zonder geheimen in platte tekst
ISO/IEC 27002 8.9
–●●● scan + analist
W-08 Servers en runtime gehard: overbodige diensten uit, niet als root, beveiligingsupdates automatisch (zie F-12)
CIS Benchmarks; ISO/IEC 27002 8.9
–●●● scan + analist
W-09 Databank: standaardaccounts en voorbeelddatabanken verwijderd; beheertoegang persoonlijk, met MFA en gelogd
CIS Benchmarks; ISO/IEC 27002 8.2
–●●● scan + analist
W-10 Databank versleuteld in rust, ook back-ups, replica's en snapshots; sleutels apart beheerd
CRA I (2)(e); AVG art. 32
–●●● scan + analist
W-11 Back-ups: frequentie volgens het toegelaten gegevensverlies, minstens één onveranderbare of offline kopie tegen ransomware, herstel getest
ISO/IEC 27002 8.13; NIS2 art. 21(2)(c)
––●● document + keurder
W-12 Beheeracties en grote exports op de databank gelogd en bewaakt
ISO/IEC 27002 8.15; AVG art. 32
–○●● scan + analist
W-13 Rechten per rij in de databank (Row Level Security of Security Rules) staan aan op elke tabel met gebruikersgegevens, getest met twee accounts; de sleutel met volledige rechten zit nooit in de frontend nieuw, voorstel
OWASP API1:2023; AVG art. 32
–●●● scan + document + test

X. Hosting en infrastructuur

Hosting en cloud: wie beheert wat, waar staan de gegevens, en zijn de beheeraccounts goed beveiligd?

IDWat we controlerenN1N2N3N4Hoe
X-01 Hostingoverzicht: welke aanbieders en diensten, welke regio's en datacenters, wie beheert wat (gedeelde verantwoordelijkheid)
CRA bijlage VII; AVG art. 30; DORA art. 30(2)
–●●● scan + document
X-02 De hostingaanbieder heeft een geldig certificaat dat de gebruikte diensten dekt (bv. ISO/IEC 27001, SOC 2 Type II, BSI C5, SecNumCloud)
ISO/IEC 27001, 27017; NIS2 art. 21(2)(d)
––●● document
X-03 Gegevens en back-ups in de EER, of doorgifte gedekt (I-05); blootstelling aan niet-Europese wetgeving (bv. de Amerikaanse CLOUD Act) staat in het rapport
AVG hoofdstuk V
––●● document
X-04 Cloudaccount beveiligd: hoofdaccount met MFA en niet in dagelijks gebruik, rechten via rollen met minimale rechten, geen langlevende toegangssleutels
CIS Foundations Benchmarks; ISO/IEC 27002 8.2
–●●● scan + analist
X-05 Logging op cloudniveau: wie wijzigt wat aan de infrastructuur, bewaard en bewaakt
ISO/IEC 27002 8.15
–○●● scan + analist
X-06 Beschikbaarheid passend bij het gebruik: meerdere zones of een uitwijklocatie, met een beschikbaarheidsdoel dat gehaald wordt
ISO/IEC 27002 8.14; ISO/IEC 25010
––●● document
X-07 Exitplan: gegevens en infrastructuur kunnen naar een andere aanbieder (infrastructuur als code, exportformaten)
Data Act hoofdstuk VI; DORA art. 28
––●● document
X-08 Budgetalarmen en limieten, zodat een aanval of fout geen onbeperkte kosten of uitval veroorzaakt
CRA I (2)(h)
–○●● scan + analist
X-09 Eigen servers of colocatie: fysieke beveiliging, stroom, koeling en toegang tot het datacenter aangetoond (certificaat of bezoek)
ISO/IEC 27002 7.1–7.8
––◐◐ document + keurder

Y. Communicatieprotocollen

Verouderde of onversleutelde protocollen zijn een open deur, ook als de app zelf goed gebouwd is.

IDWat we controlerenN1N2N3N4Hoe
Y-01 TLS juist ingesteld: alleen TLS 1.2 en 1.3, sterke cipher suites met forward secrecy, geldige certificaten met volledige keten, HSTS
NIST SP 800-52 Rev. 2; BSI TR-02102-2
●●●● scan
in de scanner
Y-02 Geen onversleutelde protocollen voor gegevens of beheer: geen HTTP behalve doorverwijzing, geen FTP, Telnet, LDAP of MQTT zonder TLS, geen SNMP v1/v2
CRA I (2)(e); ISO/IEC 27002 8.21
●●●● scan
in de scanner
Y-03 Verkeer tussen interne diensten ook versleuteld (bv. mTLS) of aantoonbaar afgeschermd
NIST SP 800-207; ISO/IEC 27002 8.20
–○●● scan + analist
Y-04 Verouderde protocolversies uit: SSH alleen versie 2 met sterke algoritmen en sleutels, SMBv1 uit, RDP niet publiek bereikbaar
CIS Benchmarks
●●●● scan
in de scanner
Y-05 Uitgaande e-mail van de app versleuteld afgeleverd (MTA-STS, TLS-rapportage)
RFC 8461
–○○● scan
Y-06 WebSockets en andere realtimeverbindingen: alleen versleuteld (wss), authenticatie bij het opzetten, rechten per bericht, controle van de herkomst
OWASP Cheat Sheet WebSocket
–●●● scan + aanvalstest
Y-07 Algoritmen en sleutellengtes volgens actuele aanbevelingen; inventaris van de gebruikte cryptografie als voorbereiding op post-quantumcryptografie
BSI TR-02102; EU-routekaart post-quantumcryptografie
–○○● scan + document
Y-08 Certificaatbeheer: inventaris van alle certificaten, automatische vernieuwing, geen zelfondertekende certificaten op verbindingen met derden, privésleutels nooit gedeeld
ISO/IEC 27002 8.24
–●●● scan + analist
Y-09 Klaar voor post-kwantumcryptografie: inventaris van de cryptografie (Y-07) en een plan om algoritmen te vervangen, met voorrang voor gegevens die lang vertrouwelijk moeten blijven
EU-routekaart post-kwantumcryptografie (2025); BSI TR-02102; NIST FIPS 203–205
––○● document + keurder

Z. Beheer, overdracht, kosten, energie en gebruik

Software moet ook over vijf jaar nog te beheren, over te dragen en betaalbaar te houden zijn.

IDWat we controlerenN1N2N3N4Hoe
Z-01 Beheerdossier voor de beheerpartij: draaiboeken voor de meest voorkomende storingen, bekende fouten met een omweg, escalatiepad en contacten
ISO/IEC 20000-1; ITIL 4 (servicetransitie)
––●● document + keurder
Z-02 Diagnose zonder ontwikkelaar: health- en readiness-controles, gedocumenteerde foutcodes, een correlatie-ID die een melding door alle logs volgt
ISO/IEC 25010:2023 (analyseerbaarheid)
–○●● scan + analist
Z-03 Dagelijks beheer zonder codewijziging: configuratie, gebruikers en rechten, certificaten vernieuwen, herstarten en schalen, gedocumenteerd
ISO/IEC 20000-1; ISO/IEC 25010:2023
––●● keurder + document
Z-04 Supportafspraken: reactie- en oplostijden per prioriteit, onderhoudsvensters, ondersteunde versies en kanalen
ISO/IEC 20000-1; CRA art. 13
––●● document
Z-05 Operationele acceptatietest door de beheerpartij, aantoonbaar geslaagd vóór ingebruikname
ISO/IEC 20000-1
––○● document + keurder
Z-06 Overdrachtstest: een ontwikkelaar die het project niet kent bouwt, test en rolt uit naar een testomgeving met alleen de documentatie (niveau 3 binnen een dag, niveau 4 binnen vier uur)
ISO/IEC 25010:2023 (onderhoudbaarheid, overdraagbaarheid)
––●● keurder
Z-07 Eigendom en toegang bij de opdrachtgever: repository, cloudaccounts, domeinen, certificaten, appwinkelaccounts en sleutels op naam van de opdrachtgever of aantoonbaar overdraagbaar
ISO/IEC 27002 5.9
––●● document + verklaring
Z-08 Intellectueel eigendom en licenties geregeld: overdracht of gebruiksrecht vastgelegd; geen licenties op naam van de bouwer die niet mee kunnen
ISO/IEC 5230
––●● document + verklaring
Z-09 Geen gesloten eigen frameworks, bibliotheken of codegeneratoren van de bouwer zonder broncode of overdraagbare licentie
ISO/IEC 25010:2023 (overdraagbaarheid)
–○●● scan + analist
Z-10 Ontwerpkeuzes (architectuurbeslissingen) en bedrijfsregels vastgelegd buiten de code, en actueel
ISO/IEC/IEEE 42010
––●● document + keurder
Z-11 AI-werkwijze overdraagbaar: instructiebestanden, agentconfiguratie en vaste opdrachten die de bouw sturen staan in de repository en zijn beschreven (zie B-05)
ISO/IEC 42001
–○◐◐ scan + document
Z-12 Exitplan bij einde van het contract: termijnen, kennisoverdracht en ondersteuning tijdens de overgang
ISO/IEC 27036; DORA art. 28(8)
––○● document
Z-13 Overzicht van de beheerkosten: alle terugkerende kosten per maand (hosting, licenties, externe diensten, AI-gebruik, beheeruren)
ISO/IEC 20000-1
––●● document
Z-14 Kosten per functionele eenheid bekend, met een prognose bij twee- en tienvoudige groei
FinOps Framework
––○● document + keurder
Z-15 Beheercomplexiteit gemeten en in het rapport: aantal uitrolbare onderdelen, talen en frameworks, directe afhankelijkheden, externe diensten, omgevingen en handmatige beheerstappen
ISO/IEC 25010:2023; ISO/IEC 5055
–○●● scan + analist
Z-16 Operationele cijfers bijgehouden: wijzigingsfaalpercentage, hersteltijd, uitrolfrequentie, doorlooptijd en incidenten per maand
DevOps Research and Assessment
––○● document + scan
Z-17 Energieverbruik gemeten per functionele eenheid volgens ISO/IEC 21031, apart voor server, toestel en AI-aanroepen, met vastgelegde meetmethode
ISO/IEC 21031:2024; Blauer Engel DE-UZ 215
––●● document + keurder
Z-18 AI-verbruik apart: tokens en geschatte energie per aanroep bekend; geen onnodige aanroepen (caching, kleiner model waar het kan)
ISO/IEC 21031:2024
–○◐◐ scan + document
Z-19 Zuinig in rust: geen onnodige achtergrondprocessen, polling of wekprocessen; op mobiel het batterijverbruik gemeten
Blauer Engel DE-UZ 215
–○○● scan + analist
Z-20 Werkt op oudere toestellen en browsers: minimumvereisten gepubliceerd; updates maken bestaande hardware niet onbruikbaar
Blauer Engel DE-UZ 215
––●● document + keurder
Z-21 Omvang beheerst: paginagewicht, bundel- en appgrootte en dataverkeer per sessie gemeten, met een drempel
Blauer Engel DE-UZ 215; W3C Web Sustainability Guidelines
–○○● scan
Z-22 Energiebron en efficiëntie (PUE) van het datacenter bekend en in het rapport
Gedelegeerde Verordening (EU) 2024/1364 (datacenters)
––○● document
Z-23 Einde levensduur: uitfaseerplan met tijdige aankondiging, teruggave van de gegevens en aantoonbaar veilig wissen
CRA art. 13; AVG art. 17
––●● document
Z-24 Gebruikslogica getoetst: de keurder beoordeelt de kerntaken op de interactieprincipes van ISO 9241-110
ISO 9241-110:2020; ISO/IEC 25010:2023 (interactievermogen)
––●● keurder
Z-25 Geen misleidende ontwerpen: opzeggen even makkelijk als afsluiten, weigeren even makkelijk als toestemmen, geen verborgen of voorgeselecteerde keuzes
DSA art. 25; Richtlijn 2005/29/EG; AVG art. 7
–○●● scan + analist
Z-26 Gebruikstest met echte gebruikers op de kerntaken, gerapporteerd volgens ISO/IEC 25066
ISO 9241-11:2018; ISO/IEC 25066:2016
––○● document
Z-27 Fouten helpen herstellen: begrijpelijke foutmeldingen met een oplossing; acties met grote gevolgen vragen bevestiging en zijn waar mogelijk ongedaan te maken
ISO 9241-110:2020
––●● keurder

Modules bovenop elk niveau

Deze checks komen erbij zodra een wet van toepassing is, op elk niveau. Bijvoorbeeld DORA als je klant een bank of verzekeraar is.

DORA — klant is een financiële instelling

M-D01Broncodereview met statische én dynamische tests, inclusief securitytests van alles wat aan internet hangt; gevonden zwakheden krijgen een actieplan dat aantoonbaar wordt opgevolgd (D-06 en D-07 worden verplicht)
M-D02Softwarepakketten van derden uiterlijk bij de integratie op beveiliging getest
M-D03Niet-productieomgevingen bevatten alleen geanonimiseerde, gepseudonimiseerde of gerandomiseerde gegevens; uitzonderingen zijn tijdelijk, goedgekeurd en gemeld
M-D04Integriteit van de broncode beschermd: toegang beperkt, wijzigingen herleidbaar, ondertekende commits of gelijkwaardig
M-D05Standaardcontract bevat alle bepalingen van art. 30(2): diensten, locaties van dienst en gegevens, gegevensbescherming, teruggave van gegevens, service levels, incidentbijstand, medewerking met toezichthouders, opzegging, deelname aan opleidingen
M-D06Bij kritieke of belangrijke functies ook art. 30(3): meetbare service levels, geteste continuïteitsplannen, deelname aan dreigingsgestuurde pentests (TLPT), audit- en toegangsrechten, exitstrategie met overgangsperiode
M-D07Leverancier levert de gegevens voor het informatieregister van de klant, waaronder de keten van onderaannemers
M-D08Incidentbijstand: de leverancier meldt incidenten snel genoeg zodat de klant zijn eigen DORA-meldtermijnen haalt

Betalingen

M-B01Betalingen lopen via een vergunde betaaldienstaanbieder; sterke klantauthenticatie wordt niet omzeild
M-B02De app slaat zelf geen volledige kaartgegevens op

Consumenten — online verkoop aan particulieren

M-C01Herroepingsknop: "overeenkomst hier herroepen" zichtbaar tijdens de hele termijn, bevestiging in twee stappen, ontvangstbevestiging op een duurzame drager
M-C02Prijzen en verplichte informatie zichtbaar vóór de bestelling; de bestelknop zegt "bestelling met betalingsverplichting"
M-C03Geen vooraf aangevinkte vakjes voor extra betalingen en geen misleidende interfaceontwerpen
M-C04Toont de app beoordelingen, dan staat erbij of en hoe gecontroleerd wordt dat ze van echte kopers komen

Platformen — de app bewaart of toont inhoud van gebruikers

M-P01Meldsysteem voor illegale inhoud; motivering aan de gebruiker bij verwijdering of blokkering
M-P02Contactpunten voor autoriteiten en gebruikers; gebruiksvoorwaarden beschrijven de moderatie
M-P03Online platformen: geen misleidende ontwerpen, uitleg over aanbevelingen, bescherming van minderjarigen (micro- en kleine ondernemingen deels vrijgesteld)
M-P04Online marktplaatsen: verkopers geïdentificeerd

Digitale identiteit

M-E01Sectoren die wettelijk sterke authenticatie vragen: plan om de Europese digitale-identiteitswallet te aanvaarden binnen de wettelijke termijn (datum na te kijken)

Overheid — de klant is een overheidsinstantie

M-O01Toegankelijkheid verplicht (L-01), met toegankelijkheidsverklaring
M-O02Open standaarden en gedocumenteerde koppelingen; ondersteuning bij de interoperabiliteitsbeoordeling van de klant

N. Uw organisatie (klantmodule)

N-01De app staat in het verwerkingsregister
N-02Verwerkersovereenkomst met de leverancier getekend; subverwerkers gekend
N-03Rechtsgrond bepaald; de privacyverklaring vermeldt de verwerking
N-04DPIA gedaan, of onderbouwd waarom die niet nodig is
N-05Verzoeken om inzage of verwijdering kunnen voor deze app binnen een maand afgehandeld worden
N-06De datalekprocedure dekt deze app (melden binnen 72 uur)
N-07Wie de AI-functies gebruikt, is voldoende AI-geletterd
N-08Bij hoog-risicogebruik: gebruik volgens de instructies, menselijk toezicht door bevoegde mensen, logs minstens 6 maanden bewaard, werknemers geïnformeerd
N-09De leverancier is opgenomen in de leveranciersbeoordeling; volgens het nationale kader (bv. CyberFundamentals in België)
N-10De incidentmeldprocedure dekt deze app (vroege waarschuwing binnen 24 uur)
N-11Contract met de art. 30-bepalingen getekend, leverancier in het informatieregister, exitplan bij een kritieke functie
N-12Toegang bij de klant: MFA aan, minimale rechten, vertrekkers verwijderd
N-13De veilige configuratie uit de handleiding (J-07) is toegepast
N-14Security-updates worden binnen een afgesproken termijn geïnstalleerd

De checks van niveau 3 en 4 en de modules zijn een concept (norm 0.2). Ze worden definitief na de pilots.