Het probleem met compliancebibliotheken
Voor het governed agentplatform dat ik ontwierp voor Nederlandse gemeenten bouwde ik een compliancebibliotheek: ongeveer vijftig frameworks in acht categorieën. EU-recht, van de AI Act en de AVG tot NIS2, de Cyber Resilience Act, de Data Act en eIDAS 2. Nederlands bestuursrecht, de Wet open overheid, de Archiefwet. De ISO- en IEC-managementsysteemnormen. De Nederlandse overheidstoetsingskaders, het impact assessment mensenrechten en algoritmes als nationale vorm van de grondrechtentoets, het algoritmeregister. Sectorwetgeving voor maatschappelijke ondersteuning, jeugdzorg en participatie.
Elk frameworkbestand heeft dezelfde structuur: samenvatting, wie wordt geraakt, wat het van het platform vraagt, open punten, bronnen. Dat is nuttig. Het is ook waar de meeste organisaties stoppen: met een bibliotheek die verplichtingen beschrijft en een platform dat ze niet implementeert.
Het eerlijke moment in mijn eigen bibliotheek kwam toen ik de secties “wat we al dekken” ongeldig verklaarde. Ze beschreven een systeem dat niet bestond toen ze werden geschreven. Wat elk framework vraagt, bleef geldig als eis. De dekkingsclaims niet. Als je compliancedocumentatie een dekkingskolom heeft, vraag dan wie die heeft geverifieerd tegen draaiende code.
Dit stuk gaat dus over de andere helft: een verplichting omzetten in een control die een engineer kan bouwen en een tester kan laten falen.
Artikel 14, eerst
Primaire bron: Verordening (EU) 2024/1689, de AI Act, artikel 14 over menselijk toezicht. Wat volgt is mijn ontwerplezing, geen juridisch advies; de functionaris gegevensbescherming van elke organisatie beslist voor de eigen uitrol.
Menselijk toezicht is het artikel dat de meeste AI-strategieën fout doen, in een van twee richtingen. Of elke actie krijgt een menselijke goedkeuring, wat niet schaalt en een rubberen stempel wordt. Of “er zit een mens in de loop” staat op een slide en niemand kan zeggen waar.
Mijn ontwerplezing, uitdrukkelijk als ontwerplezing en niet als juridisch oordeel, omdat de functionaris gegevensbescherming van elke inzettende gemeente oordeelt over haar eigen inzet, is deze:
Positie één. Voorafgaande goedkeuring in de loop waar de inzet dat vereist; supervisie op de loop elders; en bewijs dat de override bereikbaar was. Onomkeerbare effectklassen en effectklassen met hoge inzet houden expliciete goedkeuring vóór uitvoering. Klassen met lagere inzet draaien met een mens op de loop die kan zien, stoppen en corrigeren. Het record moet laten zien dat de stop en de override bereikbaar waren op het moment dat ze ertoe deden, niet alleen achteraf gelogd. Artikel 14 vraagt om toezicht dat evenredig is aan het resterende risico, niet om voorafgaande goedkeuring van alles; welke effectklasse aan welke kant staat, volgt uit de autonomiegradering. Autoriteit schaalt met de inzet; controls schalen met capaciteit.
Positie twee. Een menselijke poort telt alleen als toezicht als zij mandaat, tijd en een gesanctioneerd recht om te weigeren declareert. Een goedkeuring buiten het mandaat van de goedkeurder wordt geweigerd, met een record. Een weigering is een volwaardige uitkomst, geen fout. Elke menselijke stap declareert hoeveel tijd per besluit zij krijgt, en een niet-gedeclareerde poort wordt als zodanig gerapporteerd. Een poort zonder die drie dingen is theater.
Positie drie. Een gepubliceerd overrulepercentage. Het geaggregeerde percentage waarin mensen agentvoorstellen overrulen of afwijzen, met zijn noemer, getoond naast de waarde van elke inzet en nooit per medewerker. Een percentage van nul is een bevinding, geen succes: het betekent dat niemand beoordeelt, of dat de poort op de verkeerde plek staat.
Het sterkste tegenargument, dat human-in-the-loop niet schaalt, heeft gelijk over goedkeuring per actie en ongelijk over toezicht. Toezicht bestaat uit drie verschillende controls: goedkeuring vóór een onomkeerbare handeling, supervisie met een bereikbare stop, en verantwoording achteraf via een reconstrueerbaar record. Elk heeft zijn eigen mechanisme. Ze op één hoop gooien is hoe organisaties bij de rubberen stempel uitkomen.
Een aanvullende positie: het control plane bestuurt acties en autoriteit aan de toolgrens, niet modeloutput. Werk dat vooraf beschreven kan worden, draait als workflow, regelset of solver, zonder model in het pad.
Kant vroeg ons mensen als doel te behandelen, nooit louter als middel. Een menselijke poort zonder mandaat, tijd of recht om te weigeren behandelt een mens als middel om een handtekening te produceren.
Twaalf artikelen, twaalf controls
Generiek gesteld, met het controlpatroon dat elk beantwoordt. “Control” betekent hier iets dat gebouwd, getest en bewezen kan worden, geen alinea.
- Artikel 12, logging. Automatisch, append-only, hash-geketend bewijs voor elk besluit, elke goedkeuring en elk effect, verpakt als bewijsartefact dat een derde kan verifiëren zonder de actor te vertrouwen. Een log is wat een systeem over zichzelf zegt. Een audittrail is wat iemand anders kan controleren.
- Artikel 14, menselijk toezicht. Fail-closed goedkeuringspoorten op effectklassen met hoge inzet; een bereikbare stop en override op de loop; mandaat, tijd en weigering per poort gedeclareerd; het gepubliceerde overrulepercentage.
- Artikel 13, transparantie richting gebruiksverantwoordelijken. Een blok met gedeclareerde beperkingen in elk evaluatiecontract, dat de niet-gedekte dimensies en de ontbrekende orakels benoemt, plus instructies voor de gebruiksverantwoordelijke. Evaluatie wordt nooit als certificering gepresenteerd.
- Artikel 15, nauwkeurigheid, robuustheid, beveiliging. Nauwkeurigheid gedeclareerd via datzelfde beperkingenblok; robuustheid en beveiliging aangetoond met gemeten tests, niet beweerd.
- Artikel 9, risicobeheer. Een risicoregister per capability, bijgewerkt bij elke versie en volgens schema opnieuw beoordeeld.
- Artikel 11 en bijlage IV, technische documentatie. Sjablonen per capability-archetype, vooraf ingevuld vanuit het gesigneerde capability-manifest, zodat documentatie wordt afgeleid van wat is uitgerold en niet andersom.
- Artikel 49, registratie. Vermeldingen in het algoritmeregister en velden voor de EU-databank, gegenereerd vanuit het manifest.
- Artikel 72, monitoring na het in de handel brengen. Driftdetectie op nauwkeurigheid, bias en gebruikspatronen, vergeleken met wat de impactbeoordeling declareerde, met meldingen aan de capability-eigenaar.
- Artikel 73, ernstige incidenten. Een incidentworkflow met deadlinebewaking en een meldsjabloon, gekoppeld aan hetzelfde bewijsrecord.
- Artikel 27, grondrechteneffectbeoordeling. Het platform levert gestructureerde input voor de beoordeling van de gebruiksverantwoordelijke; het voert die niet uit.
- Artikel 50, transparantie richting mensen. Bekendmaking bij het eerste contact, met tekst aangeleverd door de inzettende organisatie, en een machineleesbaar herkomstkenmerk op AI-gegenereerde content.
- Artikel 5, verboden praktijken. Een benoemd handhavingspunt, zodat “dat doen wij niet” een check is en geen zin.
Logretentie onder de verplichtingen voor gebruiksverantwoordelijken is een geval waar ik bewust halt houd: het retentiebeleid moet het wettelijke minimum halen, en dat is een beleidsuitspraak totdat de retentie-engine bestaat. Dat zeg ik liever dan het als geïmplementeerd op te voeren.
Classificatie vóór ontwerp
Elke capability wordt vooraf geclassificeerd als beperkt of hoog risico, met een vuistregel: een capability die een besluit beïnvloedt met directe juridische of materiële gevolgen voor een persoon valt onder bijlage III; een capability die alleen informatie vindt of samenvat is meestal beperkt risico. De classificatie bepaalt welke controls hierboven verplicht zijn en welke beoordelingen moeten bestaan voordat de capability wordt toegelaten. Dit eerst doen is goedkoper dan het doen in een aanbestedingsreactie.
Wat de andere frameworks toevoegen
Het dreigingsregister is gemapt op de OWASP-lijsten en de MITRE ATLAS-matrix voor traceerbaarheid, en de mapping zegt dat ook: gemapt betekent traceerbaar, niet gemitigeerd. De vrijwillige risicobeheerframeworks zijn kandidaten voor een crosswalk, geen eisen; een leveranciersclaim dat een ervan iets “eist”, is getoetst aan de primaire tekst en heeft dat niet overleefd. Een in-process governancebibliotheek van een grote leverancier wordt alleen gebruikt voor lagen die het platform zelf bezit en nooit als handhavingspunt, omdat haar eigen documentatie zegt dat zij de procesgrens deelt met de agent. De regel die daaruit volgt: een in-process governancebibliotheek is een component, nooit een kernel; een bibliotheek die de bestuurde code kan weigeren aan te roepen, is geen control.
Wat ik niet kan bewijzen
Prototypeniveau. De controls hierboven zijn ontworpen; sommige hebben instrumenten, andere niet, en de eigen lijst met open punten van de bibliotheek zegt welke. Er is geen conformiteitsbeoordeling, geen aangemelde instantie, geen certificering, en ik claim er geen. Er is ook een bewijshiaat dat ik liever benoem dan verberg: de lezing van artikel 14 steunt op de verordening en op internationale praktijk, en ik heb nog geen Nederlandse institutionele primaire bron gevonden die haar beslecht. Als die verschijnt, kan de positie verschuiven.
Als je één ding meeneemt
Neem artikel 14 en schrijf voor je AI-toepassing met de hoogste inzet drie dingen op: welke acties goedkeuring vereisen vóór uitvoering, wie het mandaat heeft en hoeveel tijd die persoon krijgt, en wat je overrulepercentage vorige maand was. Als een van de drie leeg blijft, heb je nog geen menselijk toezicht. Je hebt een plan om het te krijgen, wat een prima startpunt is, zolang niemand iets anders wordt verteld.
Verwijzingen
De knipogen en citaten in dit stuk, met hun herkomst:
- Immanuel Kant, Groundwork of the Metaphysics of Morals (1785): the formula of humanity, treat persons as ends and never merely as means.
- The Office (BBC, 2001-2003): David Brent, Ricky Gervais’s manager at Wernham Hogg.
- #EU AI Act
- #AI-governance
- #Menselijk toezicht
- #Compliance

Rutger Hemrika
AI-strategie en -governance voor sectorsoftware. Schrijft vanuit bouwen, niet vanuit slides; elke claim draagt een bewijsniveau.