Veldnotities agentplatform, twee van acht. De eerste notitie betoogde dat geen modelprovider, runtime of cloud de trust root mag zijn. Deze gaat over de volgende vraag die een gemeente stelt: mogen we überhaupt een frontier-model gebruiken, en als we dat doen, wat mogen we er dan over zeggen?
De vraag
Een Nederlandse gemeente wil een agent die casemedewerkers helpt met aanvragen voor sociale ondersteuning. De beste modellen voor dat werk worden in het buitenland gehost door bedrijven waarvan de voorwaarden elk kwartaal veranderen. De eigen hardware van de gemeente kan kleinere modellen draaien die goed genoeg zijn voor sommige stappen en niet voor andere. Iedereen aan tafel is het erover eens dat het antwoord “allebei” is. Niemand kan op papier zetten wat “allebei” betekent wanneer de data van een inwoner op het spel staat.
Mijn korte antwoord: modelassurance en deployment-topologie zijn twee verschillende beslissingen, en het woord “soeverein” hoort bij precies één assuranceklasse. Een route naar een remote model kan gekwalificeerd, bestuurd en veilig zijn. Soeverein is hij nooit, en het platform moet het structureel onmogelijk maken om anders te doen voorkomen.
Twee klassen, geen schuifregelaar
Ik heb twee assuranceklassen gedefinieerd en geweigerd een derde toe te voegen.
In de eerste, soeverein, blijven inferentie, data, sleutels, identiteit, bewijs, telemetrie en beheer allemaal binnen de grens die de gemeente controleert of expliciet heeft gedelegeerd. Er is voor niets een remote modelprovider nodig. Zelf gehoste inferentie, gekwalificeerd en geaccepteerd, is de enige toegestane serving.
In de tweede, frontier-connected, blijft de governor lokaal, maar mag een door het beleid goedgekeurde, geminimaliseerde payload naar één exact gespecificeerde remote route. Provider, juridische entiteit, endpoint, verwerkingsregio, bewaartermijn, trainingsgebruik, subverwerkers en vervaldatum zijn allemaal vastgepind en zichtbaar.
De regel die het werk doet: de tweede klasse erft of impliceert nooit de eerste. Eén deployment mag uitvoeringsconfiguraties uit beide klassen aanbieden, maar elke claim, elk bewijsrecord, elk serviceniveau en elke releasebeslissing is gebonden aan de exacte klasse en route. Niets generaliseert over de klassen heen.
Waarom geen derde klasse, geen “grotendeels soeverein”, geen percentage? Omdat een schuifregelaar precies de zin uitlokt die ik onmogelijk wil maken: “het is soeverein, behalve de delen die dat niet zijn.”
Een schuifregelaar zou de zin “het is soeverein, behalve de delen die dat niet zijn” laten overleven. Liever niet. De kaart is niet het gebied, en een percentage soevereiniteit is een kaart zonder kustlijn.
Een route is een contract, geen instelling
Het praktische gevolg is dat “welk model gebruiken we” ophoudt een configuratiewaarde te zijn en een bestuurd record wordt.
Een route pint onveranderlijk vast: de provider en zijn contracterende juridische entiteit (een merknaam is niet genoeg), het endpoint en zijn verwerkingsregio, de modelsnapshot of exacte versie, de API-versie, de bewaartermijn, de assuranceklasse, de toegestane dataklassen, de benoemde use case, het egress-beleid, het evaluatiecontract, de kwalificatiestatus, de vervaldatum ervan, en een apart gekwalificeerde fallback-set.
Elk daarvan is een eigen record met een eigen versie en digest, en de vingerafdruk van de route dekt ze allemaal. Verander de regio, de bewaarvoorwaarden of de lijst met subverwerkers, en je hebt een andere route die opnieuw gekwalificeerd moet worden. Een live route wordt niet ter plekke aangepast.
Voordat een route gereguleerde data mag dragen, heeft hij een provider-assurancebeslissing nodig met de getekende voorwaarden en verwerkersovereenkomst, een doorgiftebesluit waar daadwerkelijk een doorgifte plaatsvindt, en een data-egress-beleid dat precies opsomt welke velden naar buiten mogen, welke transformaties worden toegepast en wat er gebeurt bij een fout. Voor de use case sociale ondersteuning betekende dat concreet: pseudonimisering tenzij geïdentificeerde data aantoonbaar nodig is, casefragmenten in plaats van dossiers, geen opt-in voor training, en afgeronde impactbeoordelingen voordat er iets live gaat.
De invarianten waarover ik niet onderhandel
- Elke use case heeft een vastgepinde allow-list van routes. Routering is nooit een open providerkeuze, hoe slim de router ook is.
- Primaire en fallback-routes worden onafhankelijk gekwalificeerd. Een fallback is niet “hetzelfde, maar ergens anders”. Het is een andere route, met eigen beslissingen.
- Geen automatische failover tussen providers of tussen assuranceklassen. Als een soevereine route niet beschikbaar is, degradeert de run veilig: hij wacht op een mens, onthoudt zich of wordt geweigerd. Hij belt niet stilletjes naar buiten. Dit kost beschikbaarheid. Dat is de juiste prijs.
- Modeloutput is een voorstel. Een tool call die het model produceert, wordt geautoriseerd en uitgevoerd door deterministische lokale onderdelen, of helemaal niet.
- Een wezenlijke wijziging schort de kwalificatie op. Nieuwe subverwerker, nieuwe regio, nieuwe bewaarvoorwaarden, nieuwe API-versie, modeldeprecatie: de betrokken productiekwalificatie wordt opgeschort tot de juridische, technische, evaluatie- en gemeentelijke poorten opnieuw zijn gepasseerd.
- Providerlogs zijn geen bewijs. Het lokale aanroeprecord bevat de vingerafdruk van de route, de classificatie- en redactiebeslissingen, het verzoek-ID van de provider waar dat wordt meegegeven, een digest van het antwoord, de beleidsbeslissing, of een mens de output heeft gebruikt, en latentie, tokens en kosten. Volledige prompts en outputs leven, waar bewaring wettelijk verplicht is, in een apart geautoriseerde opslag waarnaar per digest wordt verwezen.
Wat dit verandert voor de mensen aan tafel
Voor de CIO wordt “mogen we een frontier-model gebruiken” beantwoordbaar: ja, als frontier-connected route, voor deze use cases, met deze velden, onder dit besluit, tot deze datum. Niet als gevoel.
Voor de privacy officer is elke route een object met een doorgiftebesluit eraan vast, of een vastgelegde reden waarom dat niet nodig was. De beoordeling is niet een document ergens; het is een afhankelijkheid zonder welke de run niet kan worden toegelaten.
Voor de engineer is de adapter met opzet saai. Hij spreekt het wire-formaat van de provider en verder niets. Alles wat ertoe doet, leeft in de canonieke records die de adapter niet mag veranderen.
Voor de leverancier die “soevereine AI” wil verkopen: je bent welkom, zolang wat op de doos staat overeenkomt met de assuranceklasse in het bewijsrecord.
Wat ik nog niet kan bewijzen
Dezelfde beoordeling als de vorige keer: prototype. Het contract bestaat, de records zijn met schema’s vastgelegd, validators controleren sluiting en digest-continuïteit, en de demo’s oefenen het failover-verbod. Wat nog niet is gebeurd: een echte provider die zijn voorwaarden wijzigt onder een lopende kwalificatie, een echte doorgiftebeoordeling die een echte toezichthouder doorstaat, of een echte storing waarbij het veilige-degradatiepad moest standhouden terwijl een casemedewerker zat te wachten. De validators kunnen ook geen dingen bewijzen waarvoor ze niet ontworpen zijn: autorisatie van de ondertekenaar, intrekking van sleutels, opname in een transparantielog. Die vallen expliciet buiten scope en zijn als zodanig gedocumenteerd.
De eerlijke prijs is operationeel. Elke routekwalificatie is werk, en de vervaldata betekenen dat het werk terugkomt. Een gemeente die tien frontier-use-cases wil, heeft tien sets beslissingen te onderhouden. Dat beschouw ik als de prijs van het woord.
Wat je hiermee doet
Stel je platformteam één vraag: als de soevereine route op vrijdag om 15:00 uitvalt, wat doet het systeem dan?
Als het antwoord het woord “fallback” bevat en niet de woorden “klasse”, “gekwalificeerd” en “mens”, dan is de soevereiniteitsclaim één incident verwijderd van onwaar.
De volgende veldnotitie vergelijkt de grote agentframeworks op één as: wat elk daadwerkelijk bestuurt, en wat het aan jou overlaat.
Computer says no. Voor een soevereine route die verlangend naar een externe route kijkt, is dat geen sketch. Dat is de specificatie.
Verwijzingen
De knipogen en citaten in dit stuk, met hun herkomst:
- Alfred Korzybski, Science and Sanity (1933): “the map is not the territory”.
- Little Britain (BBC, 2003-2006): “Computer says no”, Carol Beer at the desk.
- #Veldnotities agentplatform
- #AI-governance
- #Architectuur
- #EU AI Act

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