Een AI-agent krijgt geen bedrijfsbevoegdheid doordat hij een verzoek begrijpt. De organisatie moet vastleggen welke gegevens hij mag lezen, welke voorstellen hij mag voorbereiden en welke wijzigingen de toepassing werkelijk mag uitvoeren. Die grenzen horen in toegangscontrole en programmatuur te zitten. Een instructie zoals “wees voorzichtig met klantgegevens” is daarvoor onvoldoende.
Deze gids helpt een rechtenmatrix maken voor een eerste toepassing. De kern is dat taalinterpretatie, toestemming en daadwerkelijke uitvoering verschillende zaken zijn. Je ontwerpt de kleinst bruikbare bevoegdheid, controleert de actuele situatie bij iedere belangrijke handeling en zorgt dat onzekere uitkomsten onderzocht kunnen worden. De uitgewerkte voorbeelden zijn fictief en illustreren ontwerpkeuzes.
Maak lezen, voorstellen en uitvoeren apart zichtbaar
Begin met een lijst van handelingen die de toepassing nodig heeft. “CRM gebruiken” wordt bijvoorbeeld klantgegevens opzoeken, een samenvatting maken, een conceptnotitie voorbereiden en een notitie opslaan. Voor elk werkwoord bepaal je de toegestane gegevens en voorwaarden. Een medewerker kan dan een nuttig voorstel krijgen zonder dat een model rechtstreeks brede wijzigingsrechten nodig heeft.
Maak vervolgens onderscheid tussen interne en externe gevolgen. Een interne concepttaak is meestal eenvoudiger te herstellen dan een bericht aan een klant of een betaalopdracht. De juiste grens hangt af van het proces en de afspraken, niet alleen van het bedrag. Ook een kosteloze wijziging van een adres kan gevolgen hebben voor levering, toegang of vertrouwelijkheid.
Koppel toegang aan een betrouwbare identiteit
Een agent moet weten namens wie een verzoek plaatsvindt en voor welke organisatie die persoon werkt. Een e-mailadres dat iemand in het gesprek noemt is geen betrouwbare accountcontrole. Gebruik de bestaande aanmeldroute en laat de toepassing de actuele rol bepalen. Beperk systeemtoegang vervolgens tot de gegevens en functies die bij die gebruiker en taak horen.
Een gedeeld technisch account met brede rechten maakt begrenzing moeilijker. Onderzoek daarom welke minimale scopes en afzonderlijke toegangssleutels beschikbaar zijn. Als een externe API alleen zeer ruime toegang ondersteunt, benoem dat als ontwerprisico en onderzoek een tussenlaag. Die kan de bruikbare functies beperken, maar vervangt geen beoordeling van de achterliggende toegang en gegevensstroom.
Controleer toestemming buiten de modeltekst
Een model kan een functieaanroep voorstellen met een klantnummer of een wijziging. De toepassing hoort vervolgens te controleren of het verzoek compleet is, of de gebruiker toegang heeft en of de actie binnen de afgesproken taak valt. OpenAI beschrijft function calling als een samenwerking waarbij applicatiecode de gevraagde functie daadwerkelijk verwerkt.
Laat de toepassing gevoelige waarden opnieuw ophalen wanneer dat nodig is. Een voorstel kan inmiddels achterhaald zijn door een wijziging van een collega. Controleer dus bijvoorbeeld de actuele dossierstatus voordat een actie wordt vastgelegd. Koppel goedkeuring aan de exacte actie en relevante recordversie. Een algemene toestemming aan het begin van een gesprek hoeft geen geldige toestemming voor een later veranderd voorstel te zijn.
Werk naast technische rechten ook de wachttijd, beoordelaar en uitvoering na akkoord uit: Menselijke goedkeuring in een workflow: maak akkoord controleerbaar.
Ontwerp een bruikbaar goedkeuringsscherm
Een medewerker moet kunnen zien wat hij goedkeurt. Toon de concrete ontvanger, de voorgenomen wijziging, het gebruikte bronrecord en eventuele onzekerheden. Vermijd een enkele knop met alleen “doorgaan” als de gevolgen elders verborgen blijven. Bij meerdere acties moet duidelijk zijn of de goedkeuring voor één handeling of een hele reeks geldt.
Bepaal ook de geldigheidsduur. Een actie die gisteren passend leek kan vandaag onjuist zijn. Laat een verlopen of gewijzigd voorstel opnieuw beoordelen. Zorg dat afwijzen een werkbare uitkomst heeft: de medewerker kan corrigeren, aanvullende informatie vragen of terug naar de gewone route. Als iedere afwijking een technisch ticket vereist, bestaat het risico dat gebruikers gedachteloos goedkeuren om verder te kunnen werken.
Behandel opgehaalde inhoud als onbetrouwbare invoer
Een klantmail, document of website kan tekst bevatten die de agent probeert te sturen. Dat geldt ook wanneer het bestand uit een normaal bedrijfssysteem komt. OWASP beschrijft prompt injection als risico waarbij zulke instructies het gedrag kunnen beïnvloeden. Een gevonden passage is daarom informatie om te beoordelen, geen nieuwe bevoegdheid om andere systemen te openen of gegevens te versturen.
Beperk de gevolgen met meerdere maatregelen. Geef alleen noodzakelijke hulpmiddelen beschikbaar, valideer hun invoer en houd uitvoering achter gewone toegangscontroles. Onderzoek verdachte of ongewone opdrachten in tests. Een filter of modelinstructie kan ondersteunen, maar levert geen absolute bescherming. Het ontwerp moet ook bij ongewenste modeluitvoer voorkomen dat brede technische toegang direct wordt misbruikt.
Illustratieve rechtenmatrix voor een service-assistent
Een fictief onderhoudsbedrijf begint met drie mogelijkheden: een publieke handleiding zoeken, een eigen klantafspraak lezen na aanmelding en een conceptverzoek voor verplaatsing maken. Het wijzigen van de planning blijft bij een medewerker. De assistent kan zo informatie verzamelen zonder te beslissen welke monteur of klant voorrang krijgt. Voor ieder concept blijft zichtbaar welke afspraak bedoeld wordt.
In een latere versie mag een medewerker één voorgestelde verplaatsing bevestigen. De toepassing controleert dan opnieuw de klant, beschikbaarheid en afspraakversie. Verzoeken voor een andere klant, ontbrekende tijdvakken en verlopen voorstellen worden afgewezen. Een storing na bevestiging leidt tot controle van de feitelijke planning, niet meteen tot een tweede wijzigingspoging. De rechtenmatrix beschrijft dus ook wat bij onzekerheid gebeurt.
Test grensgevallen en intrekking
Maak testen voor een verkeerde organisatie, een ingetrokken rol, een gewijzigd record en een verzoek dat meerdere acties verbergt. Controleer of de toepassing weigert zonder extra gegevens prijs te geven. Test daarnaast de normale route: medewerkers moeten hun werk nog kunnen doen wanneer een aanvraag terecht binnen de bevoegdheid valt. Alleen blokkeren is geen bruikbare acceptatiestrategie.
Oefen ook het intrekken van toegang. Als een medewerker vertrekt of een leverancier wordt vervangen, moet duidelijk zijn welke sessies, sleutels en koppelingen worden beëindigd. Controleer vervolgens of de taak werkelijk stopt. Een administratie die “toegang ingetrokken” vermeldt is onvoldoende bewijs wanneer een bestaande sessie nog wijzigingen kan uitvoeren. Leg de proef en de gevonden beperkingen vast.
Maak verantwoordelijkheid en onderzoek mogelijk
Wijs een eigenaar aan voor de rechtenmatrix en laat veranderingen beoordelen voordat nieuwe functies beschikbaar komen. Bewaar genoeg informatie om een actie te onderzoeken: tijdstip, betrokken record, aangevraagde handeling, toestemming en feitelijke uitkomst. Beperk de inhoud van logs tot wat voor dat doel nodig is en spreek toegang en bewaartermijnen af.
Geef medewerkers een eenvoudige manier om uitvoering te pauzeren. Zij moeten weten welke werkzaamheden doorgaan, waar openstaande voorstellen staan en hoe de gewone route beschikbaar blijft. Een bevoegdheid is pas beheersbaar wanneer je haar ook kunt stoppen, onderzoeken en later bewust opnieuw inschakelen. Dat maakt de rechtenmatrix een praktisch beheerhulpmiddel in plaats van een eenmalig projectdocument.
Van uitleg naar een concrete projectkeuze
Leg je aannames, open vragen en oplevercriteria vast in de bijbehorende tool. Gebruik de dienstengidsen om uitvoering en afbakening te bespreken.
Open de voorbereidingstool ↗Vragen over dit onderwerp
Is menselijke goedkeuring altijd nodig?
Niet voor iedere taak. Een beperkt, goed getest leesverzoek kan anders worden ingericht dan een externe toezegging. Bepaal de grens aan de hand van foutgevolgen, omkeerbaarheid en geldende afspraken. Maak expliciet voor welke acties voorafgaande goedkeuring geldt.
Kan een prompt de rechten beperken?
Een prompt kan gewenst gedrag beschrijven, maar de technische toegangsgrens hoort buiten het model te liggen. Controleer functies, records en gebruikersrechten in de toepassing. Ga ervan uit dat ongewenste modeluitvoer kan voorkomen en begrens de mogelijke gevolgen.
Wat moet een rechtenmatrix bevatten?
Vermeld de handeling, gebruiker, organisatie, toegestane records, voorwaarden, goedkeuringswijze en herstelroute. Voeg een eigenaar en controlevoorbeelden toe. Houd lezen, voorstellen, opslaan en extern communiceren apart zodat latere uitbreidingen zichtbaar blijven.
Verder met een aansluitende vraag
Een AI-agent aan je CRM koppelen: ontwerp de gegevensstroom
Werk een AI-CRM-koppeling uit met betrouwbare klantidentificatie, beperkte acties, controle op dubbelen en zicht op de feitelijke verwerking.
AI-agents & chatbotsVan AI-agent naar medewerker: ontwerp een werkende overdracht
Maak overdracht van een AI-agent praktisch: herken de grens, verzamel context, wijs eigenaarschap toe en voorkom dubbele opvolging.
AI-agents & chatbotsEen AI-agent beheren: monitoring, wijzigingen en herstel
Richt AI-agentbeheer in met begrijpelijke meldingen, kostenlimieten, bronbeheer, regressiecontroles, pauzeren en een uitvoerbare herstelroute.
n8n & procesautomatiseringMenselijke goedkeuring in een workflow: maak akkoord controleerbaar
Ontwerp menselijke goedkeuring met duidelijke bevoegdheid, gegevensversie, vervaldatum en een veilige vervolgactie. Met een fictieve inkooproute.
RAG & bedrijfskennisToegangsrechten in RAG: wie mag welke bedrijfskennis terugvinden?
Werk gebruikers, organisaties, bronrechten, caches en intrekking uit voordat je interne kennis via AI beschikbaar maakt.
Bronnen en technische achtergrond
- OpenAI: Function calling ↗
Functieaanroepen worden door applicatiecode verwerkt; de toepassing blijft verantwoordelijk voor de daadwerkelijke uitvoering.
- OWASP: Prompt Injection ↗
Risico dat instructies in onbetrouwbare broninhoud het modelgedrag beïnvloeden; geen afzonderlijke maatregel garandeert preventie.