← terug

10 juni 2026

De verborgen dataflow achter een simpele AI-vraag

Iemand typt een vraag in een AI-chat: "Kun je deze offerte herschrijven voor een nieuwe klant?" en plakt de hele offerte erbij. Drie seconden later staat er een keurig antwoord. Voor de gebruiker is dat het hele verhaal. Vraag erin, antwoord eruit.

Voor de organisatie is dat pas het begin. Tussen het indrukken van enter en het verschijnen van het antwoord zit een complete dataflow, verspreid over systemen, partijen en vaak meerdere landen. De gebruiker ziet alleen het antwoord. De organisatie moet de hele dataflow begrijpen.

Dat is geen theoretisch punt. Overal worden nu AI-beleid en leverancierscontracten geschreven, mede door de AI Act en de AVG. Maar je kunt geen goed beleid maken over iets dat je niet kunt zien. Daarom loop ik de route van zo'n simpele vraag een keer helemaal af.

Stap 1: de prompt is groter dan je vraag

Wat naar het model gaat, is niet alleen jouw zin. De prompt die het systeem opbouwt, bestaat meestal uit een systeemprompt (instructies van de leverancier of je eigen organisatie), de eerdere berichten in het gesprek, soms een gebruikersprofiel of "memory" met dingen die de tool over je heeft onthouden, en pas dan jouw vraag. Plak je een offerte mee, dan gaan ook de klantnaam, prijzen en voorwaarden mee.

Dat pakket wordt omgezet naar tokens, kleine stukjes tekst waarin het model rekent. Een onschuldige vraag van tien woorden kan zo een verzoek van duizenden tokens worden, vol context die de gebruiker zich niet bewust meestuurt. Wie wil weten welke data een AI-tool verwerkt, moet dus niet naar het invoerveld kijken, maar naar wat er werkelijk in het verzoek zit.

Stap 2: documenten worden geknipt en omgerekend

Upload je een document, dan gebeurt er nog iets extra's. Het bestand wordt geparsed (tekst eruit gehaald), in stukken geknipt (chunks) en vaak omgezet naar embeddings. Een embedding is geen samenvatting. Het is een rij getallen die de betekenis van een stuk tekst een plek geeft op een soort betekeniskaart. Twee zinnen met andere woorden kunnen daar toch dicht bij elkaar liggen. Dat is precies wat zoeken in bedrijfsdocumenten mogelijk maakt: de techniek achter RAG.

Maar die embeddings staan ergens. Meestal in een vector database, en dat is een ander systeem dan waar het originele document staat. Soms zelfs bij een andere partij. En hier komt een vraag die bijna niemand stelt: als je het document verwijdert, verdwijnen de chunks en embeddings dan ook? In slordig gebouwde systemen niet. Dan is het document weg, maar leeft de inhoud door in een database die niemand meer op het netvlies heeft.

Stap 3: onderweg naar het model

Daarna vertrekt het verzoek naar de modelprovider. Soms direct, soms via een gateway of LLM-router die bepaalt welk model het verzoek krijgt. Handig voor kosten en betrouwbaarheid, maar het is wel een extra partij die je prompts ziet en mogelijk logt.

Het transport zelf is versleuteld via TLS. Dat beschermt de data onderweg, maar zegt niets over wat er op de bestemming gebeurt. De bestemming is een datacenter, en de regio daarvan staat in je contract of instellingen. Let op het verschil: data residency betekent dat de data fysiek in een bepaalde regio staat. Het betekent niet automatisch dat alleen mensen in die regio erbij kunnen. Wie toegang heeft, hangt af van de leverancier, de moedermaatschappij en de wetgeving waar die onder valt. Dit is geen juridisch advies, maar wel een technische realiteit.

Stap 4: GPU's, batching en caches

In dat datacenter komt je prompt terecht op GPU's. Het model staat geladen in VRAM, het werkgeheugen van zo'n kaart, en rekent token voor token een antwoord uit. Om dat betaalbaar te houden, gebruiken providers batching: meerdere verzoeken van verschillende klanten worden tegelijk door dezelfde hardware verwerkt. Jouw offerte deelt op dat moment dus rekencapaciteit met de prompts van vreemden. Bij een serieuze provider is dat netjes gescheiden, maar het is goed om te beseffen dat "de cloud" hier heel concreet wordt: gedeelde machines in een hal.

Daarnaast bestaat er caching. Tijdens het genereren houdt het model tussenresultaten bij (de KV-cache), en veel providers bieden prompt caching aan: terugkerende delen van een prompt, zoals een lange systeemprompt of een vast document, worden tijdelijk warm gehouden zodat het volgende verzoek sneller en goedkoper is. Technisch slim. Maar het betekent ook dat delen van jouw invoer even ergens blijven hangen, buiten je eigen zicht. Niet per se onveilig, wel een plek in de dataflow die je moet kennen.

Stap 5: het antwoord, en wat er achterblijft

Het antwoord stroomt terug naar je scherm en daarmee lijkt het klaar. Alleen: onderweg zijn er kopieën en sporen ontstaan. De provider logt verzoeken, vaak tijdelijk, bijvoorbeeld voor misbruikdetectie. De gateway logt. Je eigen applicatie logt, voor debugging en monitoring. De chatgeschiedenis wordt opgeslagen zodat je het gesprek later kunt teruglezen. En soms kijkt er nog een analytics-tool mee in de frontend.

Hier zit ook een misvatting die ik vaak tegenkom: "ze trainen niet op onze data, dus het zit goed." Trainen en loggen zijn twee verschillende dingen. Een leverancier kan oprecht beloven dat je data niet in een volgend model belandt, terwijl je prompts wel dertig dagen in logs staan. Voor een privacy- of securitybeoordeling telt allebei.

Een voorbeeld: het advocatenkantoor

Stel, een medewerker van een advocatenkantoor uploadt een conceptdagvaarding naar een gratis AI-chatdienst en vraagt om een samenvatting. Tel even mee waar die inhoud nu staat of heeft gestaan: in de browser van de medewerker, in de frontend van de tool, in de bestandsopslag van de dienst, als chunks en embeddings in een vector database, in de prompt richting de modelprovider, in de logs van die provider, in de opgeslagen chatgeschiedenis en mogelijk in een cache. Dat zijn zomaar acht plekken, na een handeling van tien seconden.

En omdat het een gratis account is, gelden waarschijnlijk de consumentenvoorwaarden, niet de zakelijke. Dat is het echte risico van Shadow AI: niet dat medewerkers AI gebruiken, maar dat de dataflow buiten elk contract en elke beoordeling om loopt.

Waar het technisch misgaat

De problemen zitten zelden in het model zelf. Ze zitten in de randen van de dataflow:

Dit klinkt simpel, maar in productie wordt het interessant. Een demo hoeft alleen een goed antwoord te geven. Een productiesysteem moet ook kunnen uitleggen waar elke byte is geweest.

Een denkmodel: volg de data in vijf stappen

Wie dit voor de eigen organisatie wil snappen, kan elke AI-toepassing langs vijf vragen leggen:

Vijf vragen, een middag werk per toepassing. En je hebt direct het materiaal dat je nodig hebt voor verwerkersovereenkomsten, een DPIA of de gesprekken die de AI Act van organisaties gaat vragen.

Tot slot

Niets hiervan is een reden om AI niet te gebruiken. Het is een reden om AI te behandelen als wat het is: een keten van systemen die jouw data verwerken, niet een magisch tekstvak. Bij Klai en HostYourAI is dit precies waarom ik begin met het tekenen van de dataflow voordat er ook maar een model wordt gekozen. Welke route je data aflegt, bepaalt welke leverancier, regio en architectuur passen, niet andersom.

Als je AI veilig wilt inzetten, begin dan met de dataflow. Het antwoord op het scherm is het kleinste deel van wat er gebeurt.