Alles wat een agent mag doen
staat met naam opgeschreven.

Niets hiervan leunt op een agent die zich netjes gedraagt. Het draait op een server die van jou is, op sleutels die van jou zijn, en de enige acties die het kan uitvoeren staan in een bestand dat je zelf kunt lezen.

Laatst gecontroleerd op 26 augustus 2026

Twee kolommen, één afspraak.
Wij harden het, jij beslist.

AI-veiligheid krijg je niet kant-en-klaar van ons overhandigd. Wij harden de machine en de poort; jij bepaalt wat de agent mag aanraken. Beide helften staan opgeschreven, en beide helften zijn controleerbaar.

Wij garanderen
  • Een poort die standaard weigert. Elke actie gaat langs één functie; alles wat wijzigt of verstuurt wordt geweigerd, tenzij het met naam op de lijst staat.
  • Een geharde machine. Alleen sleutels, firewall met drie open poorten, automatische beveiligingsupdates, versleuteld verkeer, herhaalde inlogpogingen worden aan de deur geweerd.
  • Niets gedeeld. Jouw instantie draait jouw bedrijf en niemand anders zijn bedrijf, geen pool, geen gedeelde wachtrij.
  • Een controleerbaar spoor. Wat een agent ook zei of deed, de invoer die dat opleverde staat op de machine die van jou is.
Jij bepaalt
  • Wat het mag doen, per actie. De toestemmingslijst wordt per agent geschreven, samen met jou doorgenomen, en onder versiebeheer gehouden.
  • Waar autonomie aangaat. Categorieën worden één voor één autonoom, op cijfers die jij kunt zien, en in één actie weer teruggedraaid.
  • De grenzen die gelden. Terugbetalingsplafonds, onderwerpen die permanent van jou blijven, wanneer een gesprek bij jou terecht moet komen, jouw regels, in het bestand.
  • De toegang zelf. Verleend vanuit je eigen accounts, op dezelfde manier weer ingetrokken, je mailbox en winkel blijven van jou om los te koppelen.

Elke actie gaat langs één functie.
En die weigert standaard.

De poort leest de naam van het tool zelf. Een naam gebouwd op get, list, search, fetch of query leest alleen, dus die komt erdoor. Een naam met een van de achtentwintig woorden die wijzigen of versturen betekenen wordt geweigerd. Alles wat de poort niet kan plaatsen wordt ook geweigerd, dat is de standaard, niet de uitzondering.

Gevraagde actie Poort Wat er gebeurt
shopify.get_order
Toegestaan leest alleen, get
gmail.send_message
Geweigerd send is een van de achtentwintig
shopify.list_products
Toegestaan leest alleen, list
gmail.delete_message
Geweigerd delete is een van de achtentwintig
tracking.fetch_status
Toegestaan leest alleen, fetch
shopify.create_refund
Geweigerd create en refund, allebei op de lijst
composio.execute_tool
Geweigerd generieke doorgeefluik: de echte actie zit verstopt in de invoer, dus de naam zegt niets wat de poort kan controleren
gmail.create_draft
Toegestaan create en draft staan allebei op de weigerlijst, dit draait alleen omdat iemand deze ene naam in het bestand heeft gezet
Al het andere
De poort kent geen derde antwoord. Een naam die niet te plaatsen is wordt geweigerd, ook op de dagen dat dat onhandig uitkomt.

Leest, komt erdoor

getlist searchfetch query

Een naam moet een van deze woorden bevatten en geen van de achtentwintig.

Betekent wijzigen of versturen, geweigerd tenzij met naam in het bestand

createupdate deleteremove mutationsend publishapply activatecancel refundbulk deployupload generateclone writeedit setswitch labeldraft importmove duplicaterename connectdisconnect

label en draft staan op deze lijst, en dat is waarom de twee acties waar de mailagent op draait eerst met naam opgeschreven moesten worden voordat ze überhaupt konden draaien.

Toestemming is een lijst.
En iemand heeft hem geschreven.

Dit is het echte toestemmingsbestand van de mailagent tijdens de leerperiode. Twee acties mogen iets wijzigen, allebei met naam opgeschreven. Versturen staat er niet tussen, dus kan het niet gebeuren, niet omdat de agent is verteld zich te gedragen, maar omdat de naam niet in het bestand staat.

tools.json agents/klantenservice-agent/
{  "gmail": [    "GMAIL_FETCH_EMAILS",              // leest    "GMAIL_FETCH_MESSAGE_BY_MESSAGE_ID", // leest    "GMAIL_LIST_LABELS",              // leest    "GMAIL_ADD_LABEL_TO_EMAIL",       // wijzigt iets    "GMAIL_CREATE_EMAIL_DRAFT"         // wijzigt iets  ],   // De poort weigert elke naam hierboven die wijzigt of verstuurt.  // Deze twee draaien alleen omdat ze hier met naam staan:  "allowed_mutations": {    "gmail": [      "GMAIL_CREATE_EMAIL_DRAFT",   // schrijf een antwoord als concept      "GMAIL_ADD_LABEL_TO_EMAIL"     // zet een label op een bericht    ]  }   // Niet hier, en dus geweigerd voordat het draait:  //   GMAIL_SEND_EMAIL      : wat dan ook versturen  //   GMAIL_DELETE_MESSAGE  : een bericht verwijderen of wijzigen  //   al het andere in de mailbox}

Je eigen machine.
Een agent die alleen weet wat hij kreeg toegereikt.

De build draait op een eigen instantie, gehuurd op jouw naam, in een Europees datacenter. Niets anders draait erop. De agent start met overgeërfde context uitgeschakeld: wat hij weet komt binnen via vier bestanden en verder niets.

JOUW INSTANTIE Hetzner, Europees datacenter, het ISO/IEC 27001-certificaat is van hen, niet van ons.
LoginAlleen sleutels. Wachtwoordlogins uit.
FirewallDrie poorten open, verder niets bereikbaar.
UpdatesBeveiligingsupdates installeren automatisch.
fail2banHerhaalde inlogpogingen worden aan de deur geweerd.
VerkeerVersleuteld op alles wat de machine verlaat.
De agent overgeërfde context: uit

Hij pikt geen huisinstructies op en geen instellingen die in de omgeving rondslingeren, de runtime draait op settingSources: []. Vier bestanden, expliciet overhandigd:

spec.mdZijn eigen instructies, wat deze rol doet.
brand.jsonJouw bedrijfsprofiel: woordkeuze, tijdvensters, beleid.
tools.jsonWelke tools hij mag benaderen, en wat hij mag wijzigen.
skills.jsonWelke skills hij mag zien.

Verder komt er niets mee. Geen gedeelde prompt, geen instellingen van onze machines, geen enkel bestand van een ander bedrijf binnen bereik.

De instantie van een andere klant Eigen machine, eigen sleutels, eigen configuratiebestand.
geen verbinding
Elke gedeelde pool of wachtrij Bestaat hier niet. Niets wordt gepoold, niets wordt gemiddeld over klanten heen.

De motor is voor iedereen hetzelfde; de brandstof is van jou. Dat maakt het werk overdraagbaar, en dat houdt de configuratie van de ene klant buiten het bereik van elke andere machine.

Wie er verder nog iets ziet.
Vier partijen, de hele lijst.

Vier partijen, en dat is de hele lijst:

Anthropic
Draait het model dat het denkwerk doet. Ziet de configuratie en alles wat de agent leest tijdens een run. Traint er niet op: dat is hun eigen beleid voor betaald API-gebruik, gepubliceerd op anthropic.com.
Composio
Bemiddelt de verbindingen met Shopify, Klaviyo en Gmail, en beheert de toegang die je zelf via je eigen login hebt verleend. Ziet wat een agent aanvraagt terwijl een run bezig is. We noemen het hier omdat het een echte partij is tussen jou en je eigen systemen.
Hetzner
Host de machine. Ziet wat elke host ziet: de bestanden en logs die erop staan. De infrastructuur heeft ISO/IEC 27001:2022 (gecontroleerd op hun certificeringspagina, 13 augustus 2026), het certificaat is van hen, niet van ons, en dat zeggen we hieronder ook.
De tools die je al gebruikt
Shopify, Klaviyo, Gmail en de rest. Jouw data stond daar al. Een agent leest het met toegang die jij hebt verleend en weer kunt intrekken.

Het intakeformulier op deze site is een aparte kwestie met een eigen antwoord, en dat staat op de privacypagina.

Wat we niet claimen.
De hiaten horen ook op deze pagina.

Een beveiligingspagina is alleen de moeite waard als de hiaten er ook op staan:

Op papier, voordat er iets is aangesloten.
Ondertekend voordat één account is gekoppeld.

Een verwerkersovereenkomst wordt ondertekend voordat één account is gekoppeld. De toegangslijst per agent maakt er onderdeel van uit: wat hij mag lezen, de acties die hij met naam mag uitvoeren, en wat hij nooit mag doen. Als die lijst ooit moet groeien, groeit hij op dezelfde manier als waarop hij geschreven is, jij ziet het, jij stemt ermee in, en het gaat naar versiebeheer.

Toegang wordt door jou verleend, vanuit je eigen accounts, en op dezelfde manier weer ingetrokken. Je mailbox en je winkel blijven verbonden op rechten die jij verleent en kunt terugtrekken, en dat is wat die zin waar maakt in plaats van aardig.

Elke week dat je wacht,loopt de concurrentie verder uit.

Seth Desaunois Plan je gratis gesprek30 minuten

Geen verkooppraatje. De persoon die het bouwt, die de cijfers van jouw bedrijf doorneemt.