Hoe het werkt

Tokenize, verwerken, detokenize, opruimen.

Vier stappen tussen de medewerker en het AI-model. De verwerking vindt volledig server-side plaats; de browser ontvangt geen sleutel en geen token-mapping.

De flow

Wat er per bericht gebeurt

  medewerker
      │  "Bel Jan de Vries op 06-12345678 over de cv-storing"
      ▼
  ┌──────────────┐   POST /filter          ┌──────────────────┐
  │  AVGFILTER   │ ──────────────────────▶ │  filterservice   │
  │  (server)    │ ◀────────────────────── │  (EU, Azure)     │
  └──────────────┘   tokens + session_id   └──────────────────┘
       │  "Bel [NAAM_a41] op [TEL_7c2] over de cv-storing"
       ▼
  ┌──────────────┐
  │   AI-model   │  ziet uitsluitend tokens
  └──────────────┘
       │  "Plan een monteur bij [NAAM_a41]; bel [TEL_7c2] vooraf."
       ▼
  ┌──────────────┐   POST /detokenize
  │  AVGFILTER   │ ──────────────────────▶ filterservice
  └──────────────┘
      │  "Plan een monteur bij Jan de Vries; bel 06-12345678 vooraf."
      ▼
  medewerker

Per stap

De details

1. Tokenize (fail-closed)

Elke gebruikersinvoer gaat server-side naar het /filter-endpoint. De service retourneert de getokeniseerde tekst, het aantal gedetecteerde persoonsgegevens en een session_id. Faalt de call of duurt deze langer dan vijf seconden, dan wordt de aanvraag afgebroken met een 502 en volgt geen AI-call. Een fallback naar de originele tekst bestaat niet.

2. Uitsluitend tokens naar het model

De systeemprompt schrijft voor dat placeholders als [NAAM_xxx], [BSN_xxx], [TEL_xxx], [EMAIL_xxx] en [IBAN_xxx] letterlijk worden overgenomen. Ook de meegestuurde gespreksgeschiedenis bestaat uitsluitend uit getokeniseerde tekst.

3. Detokenize (fail-open)

Het volledige antwoord wordt gebufferd en vervolgens in één bewerking teruggemapt met hetzelfde session_id. Is de sessie verlopen of onbekend, dan wordt het antwoord met tokens weergegeven. Sessies blijven dertig dagen geldig, zodat een gesprek herlaadbaar blijft.

4. Opslag

Waar gesprekken worden bewaard, slaan we naast de leesbare tekst ook de getokeniseerde versie en het session_id op. Voor AI-context wordt altijd de getokeniseerde versie gebruikt. In de demo op deze site wordt niets opgeslagen.

5. Cleanup bij verwijderen

Bij het verwijderen van een gesprek worden alle unieke session_id's opgehaald en per sessie aangeboden aan /cleanup. Pas daarna worden de records verwijderd, zodat er geen token-mapping achterblijft.

De demo laat per bericht zien welke tekst het model ontvangt.

Live demo