Strategy
Herkomst van agent-berichten: veldgids in elf signalen
Een klant belde de ochtend nadat het Pentagon-AI-verhaal uitbrak. Hoe ziet haar leverancier het verschil tussen een factuur van onze agent en een nepmail? Dit zijn elf signalen.

Een klant belde ons de ochtend nadat het Pentagon-AI-propagandaverhaal op Hacker News verscheen. Ze runt de crediteurenadministratie van een groothandel in Rotterdam. Haar vraag was concreet: hoe verifieert de leverancier die een mail krijgt van onze invoice-agent de herkomst, en hoe onderscheidt hij die van een verzonnen bericht dat zogenaamd van haar bedrijf komt?
Ze wilde geen verhandeling over AI-ethiek. Ze wilde een checklist.
Aan het einde van die week hadden we het message envelope herschreven dat al onze veertien productie-agents gebruiken om mail te versturen, in Slack te posten of telefoongesprekken te voeren. Elf herkomstsignalen, vastgeplakt aan elk uitgaand bericht, ontworpen zodat een redelijk technische ontvanger de herkomst binnen dertig seconden kan bevestigen, en een volledig geautomatiseerd systeem aan de andere kant het in milliseconden kan verifiëren.
Wat volgt is de veldgids. Wij gebruiken 'm intern. Jij mag 'm kopiëren.
Waarom we de envelope in 48 uur herschreven
Drie dingen veranderden het afgelopen jaar. Publieke agents schrijven inmiddels namens merken op serieus volume. Voice cloning is goed genoeg dat een telefonische terugbel naar hetzelfde nummer geen verificatiestap meer is. En statelijke actoren draaien generatie-pipelines op productieschaal, wat betekent dat de kosten van een overtuigende nepmail van jouw agent richting nul zijn gegaan.
De meeste klanten vertrouwen de agents die we voor ze bouwden al. Het nieuwe probleem is de asymmetrie. Een ontvanger aan de andere kant van een transactioneel bericht heeft geen goede manier om herkomst vast te stellen, en dus geen goede manier om echte agent-output van valse te onderscheiden. De footer is het enige oppervlak dat beschikbaar is. Dus moet de footer echt werk verzetten.
Hoe een uitgaand bericht er nu uitziet
Hieronder staat het echte footer-blok dat hangt aan berichten van de invoice-agent die we voor een Nederlandse groothandel bouwden. Namen aangepast.
--
Sent by: invoice-agent v2.4.1 (deployed 2026-05-12)
Run ID: run_01HVZQ2K3M4N5P6Q7R8S9T
Review: auto-sent under whitelist policy AP-2026-03
Sources: invoice/INV-2026-0411.pdf [sha256:a1b2c3...d4]
contract/MSA-Acme-2025.pdf [sha256:e5f6a7...b8]
Confidence: high (template match + vendor on file since 2021)
Intent: transactional, commitment-bearing (references payment)
Signature: ed25519:Mn0pQrSt... (verify https://wholesaler.example/keys)
Reply: reply here OR verify at https://wholesaler.example/agent/INV-0411
Scope: to ap@vendor.example only, do not forward without re-verifying
Elf velden. Elk verdient zijn plek. Hieronder de redenering.
De elf herkomstsignalen
1. Afzenderprofiel
Naam van de agent, versie, deploy-datum. Niet de onderliggende modelfamilie. Die verandert te vaak en is zelden nuttig voor een ontvanger. Het profiel vertelt welke van onze agents dit schreef, en laat een ontvanger matchen tegen een bekende lijst agents die we hebben aangekondigd.
2. Run ID
Een globaal uniek trace-identificator. Elke tool call, elke prompt-input, elk opgehaald document krijgt dezelfde ID in onze logs. Als er iets misgaat is dit de ene string die een klant ons om 2 uur 's nachts kan doorgeven om de hele keten terug te halen. Gebruik een sorteerbaar formaat (ULID, KSUID) zodat support ook tijd en volgorde direct kan afleiden.
3. Review-status
Een van drie waarden. auto-sent betekent dat geen mens het bericht aanraakte voordat het verzonden werd. human-reviewed betekent dat iemand de exacte eindtekst goedkeurde. human-drafted betekent dat de agent het alleen routeerde. Wij behandelen dit als het belangrijkste signaal voor ontvangers. Een door een mens gereviewd bericht draagt ander gewicht dan een automatisch verstuurd bericht, en ontvangers verdienen om te weten welke ze lezen.
4. Geciteerde bronnen
Voor elk retrieval-augmented antwoord: de documenten die de agent erbij pakte. Pad plus SHA-256 hash. De hash doet ertoe omdat hij de ontvanger (of zijn eigen systeem) laat verifiëren dat het document er niet onder uit is geruild. Twee regels metadata maken van een black-box antwoord iets controleerbaars.
5. Tool calls
Bijwerkingen die de agent heeft uitgevoerd of voorstelt uit te voeren, samengevat op één regel. Factuurstatus bijgewerkt naar SENT. Follow-up ingepland voor 13 juni 2026. Een lezer hoort niet te hoeven gokken wat de agent in zijn account deed.
6. Confidence-band
Hoog, gemiddeld, laag. Met een korte reden. Hier hebben we lang tegen geworsteld omdat confidence-scores van taalmodellen berucht onbetrouwbaar zijn. De juiste insteek is niet de interne logit van het model. Het is of onze policy-pipeline reden zag om dit bericht te markeren. Template-match plus bekende leverancier is hoog. Een nieuw soort claim met dunne retrieval is laag.
7. Cryptografische handtekening
Een ed25519-handtekening over de gecanonicaliseerde berichtinhoud, met de publieke sleutel bereikbaar op een stabiele URL op het domein van de afzender. Dit is het veld dat een volledig geautomatiseerd systeem aan de ontvangende kant laat verifiëren zonder menselijke tussenkomst. Het is ook het veld dat het vaakst door mensen wordt genegeerd, en dat is prima. Het bestaat voor machines.
Als je DKIM hebt gedaan voelt dit vertrouwd. Het verschil is dat DKIM de SMTP-envelope en de mailheaders tekent. Dit tekent de semantische inhoud die de agent daadwerkelijk genereerde. Zie de DKIM-specificatie (RFC 6376) voor de mailheader-tegenhanger, en pas dezelfde canonicalisatie-discipline toe.
8. Content credentials op bijlagen
Elke afbeelding, PDF of audiobestand dat de agent meestuurt draagt een C2PA content credential-manifest. C2PA is de open standaard die Adobe, Microsoft, BBC en anderen ontwikkelden voor cryptografisch ondertekende herkomstmetadata op mediabestanden. Bij een factuur-PDF legt het manifest vast dat het bestand op een bepaalde datum door onze invoice-agent is gegenereerd vanuit een bepaald template. Een vervalste factuur draagt geen geldig manifest, en een ontvangend systeem kan weigeren te handelen op ongetekende bijlagen.
9. Intentie-tag
Een van: informational, transactional, commitment-bearing. De derde is de gevaarlijke. Elk bericht dat een verplichting creëert (een betaling, een contract, een deadline) krijgt een vlag, zodat zowel de ontvanger als hun downstream-automatisering weten dat ze er voorzichtig mee moeten omgaan. De meeste phishingpogingen kleden zich als commitment-bearing. Je eigen legitieme berichten taggen maakt de valse er contrasterend makkelijker uit te pikken.
10. Reply-channel verificatie
Een URL op een bekend domein waar de ontvanger het bericht opnieuw kan verifiëren. Geen klik om te bevestigen-link. Die trainen mensen om op links in mails te klikken, en dat is de oorzonde. Een link naar een dashboard waar de ontvanger zelfstandig naartoe kan navigeren, en waar hetzelfde bericht met dezelfde Run ID verschijnt. Als de URL in de mail en de URL die de ontvanger al kent niet matchen, klopt er iets niet.
11. Recipient scope
Voor wie het bericht bedoeld is, en of het veilig is om door te sturen. De meeste transactionele agent-berichten zijn gericht aan een specifieke rol bij een specifiek bedrijf. Als iemand het doorstuurt, moet de nieuwe ontvanger minstens opnieuw verifiëren. Dit signaal is informatief voor mensen en afdwingbaar voor downstream-automatisering die het respecteert.
De footer is geen disclaimer. Het is een contractoppervlak. Elf velden, elk een specifiek antwoord op een vraag die een ontvanger (of zijn systeem) zou stellen als hij het bericht verdacht vond.
Wat het kost
Het eerlijke antwoord: meer dan we verwachtten, en minder dan je zou denken.
De kosten in tokens zijn klein. De footer voegt zo'n 180 tokens toe aan elk uitgaand bericht. Op ons huidige volume is dat een afrondingsfout.
De kosten in deliverability zijn echt. De eerste dag dat we de nieuwe footer voor de Rotterdamse groothandel uitrolden, daalde de inbox-placement, omdat spamfilters niet houden van lange gestructureerde footers van eerder stille verzenddomeinen. We verplaatsten de meeste metadata naar een gestructureerde header (analoog aan List-Unsubscribe) en hielden de menselijk leesbare footer op twee regels. Inbox-placement herstelde binnen 36 uur.
De kosten in engineering zitten in de sleutels. ed25519-sleutels roteren, ze publiceren op een stabiele URL, een verifier-endpoint bouwen, de C2PA-manifest-pipeline voor bijlagen schrijven. Twee weken werk voor één van onze engineers. Herbruikbaar voor elke volgende agent die we opleveren.
Publiceer je signeersleutels niet in een JSON-bestand achter je marketing-CDN. Wij deden het bijna. Gebruik een apart subdomein, zet strikte cache-headers, en roteer per kwartaal. Een gelekte sleutel is erger dan helemaal geen handtekening, want hij creëert de schijn van verificatie waar die er niet is.
Waar het herkomstmodel raakt aan bestaande standaarden
Geen van deze signalen is een nieuwe uitvinding. Het zijn herhalingen van standaarden die al bestaan voor naburige problemen:
- Het signature-veld generaliseert DKIM en ARC naar de berichtinhoud.
- Het content-credentials-veld is C2PA, ongewijzigd toegepast.
- Het cited-sources-veld is een dunnere versie van het W3C Verifiable Credentials data model, beperkt tot retrieval-bewijs.
- De intentie-tag leent van het mailcategorisatie-werk dat mailproviders sinds de jaren 2010 doen.
- De reply-channel verificatie is hetzelfde patroon als out-of-band MFA-bevestigingen.
Het werk zat niet in het uitvinden. Het werk zat in beslissen welke elf van deze standaarden je samenbrengt, en je committeren ze allemaal aan elk bericht vast te plakken in plaats van per use case te kiezen.
Waar je morgenochtend kunt beginnen
Als je team ook maar één uitgaande agent draait (een mail-responder, een factuur-nachasser, een Slack-reply-bot), is het kleinste nuttige dat je deze week kunt doen drie van de elf signalen toevoegen: afzenderprofiel, run ID, review-status. Dat is een footer van twee regels en een aanpassing in je logging. Het stopt geen vastberaden aanvaller, maar het geeft elke ontvanger een manier om een specifieke vraag te stellen als iets vreemd lijkt, en het geeft jou de trace-ID om die te beantwoorden.
De rest van de elf kan later komen, één per sprint, in de volgorde die jouw threat model eist.
Toen we de invoice-agent voor de Rotterdamse groothandel bouwden, was de valkuil dat een handtekening-footer op dag één de spamfolder-rate verdubbelde. We losten het op door de meeste metadata naar een gestructureerde header te verplaatsen en de zichtbare footer op twee regels te houden. Dat soort frictie zit overal in dit werk. Wil je doorpraten over hoe je herkomstsignalen toepast op je eigen AI-agents? De contactlink onderaan deze pagina komt direct bij ons binnen.
Kern
De agent-footer is een contractoppervlak, geen disclaimer. Elf velden, elk met antwoord op één concrete vraag die een sceptische ontvanger als eerste zou stellen.
FAQ
Heb ik vanaf dag één alle elf signalen nodig?
Nee. Begin met afzenderprofiel, run ID en review-status. Die drie zijn een footer van twee regels plus een aanpassing in je logging, en ze dekken de meest voorkomende wat-is-dit-bericht-vraag zonder engineering-investering.
Schaadt een lange gestructureerde footer mijn deliverability?
In het begin wel. Verplaats de meeste metadata naar gestructureerde headers zoals List-Unsubscribe en hou de zichtbare footer op twee regels. Inbox-placement herstelt meestal binnen 36 tot 72 uur als je verzendreputatie zich opbouwt.
Waarom de berichtinhoud tekenen als DKIM de headers al tekent?
DKIM tekent de SMTP-envelope en de headers, dat beschermt de routeerlaag. De semantische inhoud tekenen beschermt wat de agent daadwerkelijk schreef tegen aanpassing onderweg of tegen herciteren in een andere envelope.
Is C2PA de moeite waard alleen voor factuur-PDF's?
Als je agent ooit een bestand meestuurt dat een betalingsverplichting creëert, ja. C2PA laat een ontvangend systeem weigeren te handelen op ongetekende bijlagen, en dat dicht de eenvoudigste vervalsingsroute tegen agent-uitgegeven documenten.