> For the complete documentation index, see [llms.txt](https://docs.safegpt.nl/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.safegpt.nl/module-beheer/chat/invoerfilters.md).

# Invoerfilters

Herken en maskeer gevoelige invoer met PII, regex, logica en uitzonderingen.

> **Doel:** invoerfilters verwijderen of vervangen gevoelige informatie uit tekst voordat deze verder door Chat wordt verwerkt. Ze verkleinen privacyrisico’s, maar zijn geen garantie dat alle gevoelige gegevens worden herkend.

### Overzicht en werking

De tabel toont naam, technologie, beleidswaarde, status en acties. Alleen **actieve** filters worden toegepast. U kunt een filter aanmaken, bewerken, direct activeren/deactiveren en na bevestiging verwijderen.

Actieve regels worden in deze volgorde verwerkt:

1. waarden uit blacklists;
2. reguliere expressies;
3. PII-herkenning;
4. logische controles, zoals de BSN-proef.

Daardoor kan tekst meerdere keren worden gecontroleerd. Een vervanging uit een vroege stap is de invoer voor de volgende stap.

> Filters worden toegepast op gebruikersinvoer vóór verdere AI-verwerking. Test dit als privacymaatregel, maar voorkom waar mogelijk al dat gebruikers onnodige persoonsgegevens invoeren.

### Een filter maken

1. Ga naar **Modulebeheer → Chat → Invoerfilters**.
2. Kies **Nieuw filter**.
3. Laat **Actief** uit tijdens ontwerp en test.
4. Vul een herkenbare **Naam** in.
5. Kies de **Technologie**: PII, Regex of Logica.
6. Kies of typ de **Beleidswaarde**.
7. Vul desgewenst **Vervangtekst**, **Whitelist** en **Blacklist** in.
8. Sla het filter op.
9. Test positieve, negatieve en grensgevallen.
10. Activeer het filter en controleer met een normaal gebruikersaccount.

Naam, technologie en beleidswaarde zijn verplicht.

### Technologieën

#### PII

**PII** gebruikt herkenning van categorieën persoonsgegevens. Beschikbare categorieën omvatten onder meer:

* e-mail, telefoonnummer, persoon, adres en organisatie;
* creditcardnummer en internationaal bankrekeningnummer (IBAN);
* EU-betaalkaart, rijbewijs, nationaal identificatienummer, paspoort, sociaalzekerheidsnummer en belastingnummer;
* Nederlandse BSN-, belastingnummer- en btw-nummercategorieën;
* URL, IP-adres, leeftijd en datum/tijd.

Kies één categorie per beleid. Maak afzonderlijke filters als categorieën een andere vervangtekst of eigenaar hebben.

PII-herkenning is contextafhankelijk. Een naam of nummer kan worden gemist of gewone tekst kan onterecht als persoonsgegeven worden gezien. Test daarom met realistische Nederlandstalige én eventueel anderstalige voorbeelden uit uw proces, zonder echte persoonsgegevens te gebruiken.

#### Regex

**Regex** zoekt tekst met een reguliere expressie. Dit is geschikt voor organisatiespecifieke patronen, zoals dossiercodes, personeelsnummers of klantreferenties.

Voorbeeld voor een fictieve dossiercode `AI-123456`:

```regex
\bAI-\d{6}\b
```

Gebruik ankers en woordgrenzen om onbedoelde treffers te beperken. Een ongeldige expressie wordt niet toegepast. Een te zware expressie kan uit veiligheid worden afgebroken, waardoor de oorspronkelijke tekst intact blijft. Test daarom ook lange invoer.

#### Logica

**Logica** gebruikt een vooraf ingebouwde inhoudscontrole. Momenteel is **BSN** beschikbaar. SafeGPT zoekt een getal van acht of negen cijfers en controleert de officiële 11-proef voordat het wordt vervangen.

Dit is nauwkeuriger dan alleen “acht of negen cijfers”, maar geen volledige garantie: een ander getal kan toevallig aan de proef voldoen en een afwijkend geschreven BSN kan worden gemist.

### Vervangtekst

Met **Vervangtekst** bepaalt u wat op de plaats van de gevonden waarde komt.

* Leeg veld: de gevonden tekst wordt verwijderd.
* `[REDACTED]`: neutrale algemene markering.
* `[E-MAIL VERWIJDERD]`: categorie-specifieke en goed uitlegbare markering.
* `[BSN AFGESCHERMD]`: helpt gebruiker en auditor begrijpen wat is gebeurd.

Gebruik geen vervangtekst die zelf op een ander actief patroon lijkt. Houd rekening met zinsbouw: volledig verwijderen kan een onbegrijpelijke zin opleveren.

### Whitelist

De **Whitelist** bevat waarden die altijd mogen blijven staan. Vul één item per regel in. Vergelijking is niet hoofdlettergevoelig.

Whitelists uit actieve beleidsregels worden gezamenlijk gebruikt. Een waarde die bij één actief beleid is toegestaan, kan daardoor ook worden beschermd tegen andere actieve filters. Neem alleen strikt noodzakelijke en stabiele uitzonderingen op.

Voorbeeld:

```
SafeGPT
AI-000000
```

> Zet nooit echte persoonsgegevens op de whitelist om een incidenteel probleem op te lossen. Daarmee maakt u juist een permanente uitzondering op de beveiliging.

### Blacklist

De **Blacklist** bevat waarden die altijd moeten worden vervangen, ongeacht de gekozen technologie. Vul één item per regel in. SafeGPT zoekt deze tekst niet-hoofdlettergevoelig en als letterlijke waarde.

Voorbeelden zijn een intern projectalias of een fictief testadres dat altijd moet worden afgeschermd. Een waarde op de gezamenlijke whitelist wordt niet via een blacklist vervangen.

### Praktisch voorbeeld

U wilt voorkomen dat fictieve dossiercodes en e-mailadressen worden doorgestuurd:

1. Maak een Regex-filter **Dossiercodes** met `\bAI-\d{6}\b` en vervangtekst `[DOSSIER]`.
2. Maak een PII-filter **E-mailadressen** met categorie **Email** en vervangtekst `[E-MAIL]`.
3. Voeg alleen aantoonbaar noodzakelijke uitzonderingen aan de whitelist toe.
4. Test: “Mail dossier AI-123456 naar <test@example.invalid>.”
5. Controleer dat beide waarden zijn vervangen en dat vergelijkbare gewone tekst intact blijft.

### Testmatrix

| Testsoort         | Voorbeeld                      | Verwachting                                         |
| ----------------- | ------------------------------ | --------------------------------------------------- |
| Positief          | Exact doelpatroon              | Waarde wordt vervangen.                             |
| Negatief          | Vergelijkbare gewone tekst     | Tekst blijft intact.                                |
| Hoofdletters      | Variatie in hoofdletters       | Blacklist/whitelist werkt niet-hoofdlettergevoelig. |
| Grensgeval        | Patroon naast leesteken        | Alleen bedoelde waarde wordt vervangen.             |
| Meerdere treffers | Dezelfde waarde meerdere keren | Alle bedoelde treffers worden verwerkt.             |
| Whitelist         | Toegestane waarde              | Waarde blijft intact.                               |
| Lange invoer      | Groot tekstblok                | Geen blokkade of onverwachte ongewijzigde match.    |
| Combinatie        | PII, regex en blacklist samen  | Volgorde levert een begrijpelijke uitkomst.         |

Gebruik uitsluitend fictieve of synthetische testgegevens.

### Beheerhandelingen

* **Status omschakelen:** wordt direct opgeslagen en beïnvloedt nieuwe invoer.
* **Bewerken:** wijzig de regel en test opnieuw voordat u breed vertrouwt op het resultaat.
* **Verwijderen:** SafeGPT vraagt om bevestiging. Deactiveer eerst als terugdraaien mogelijk moet blijven.
* **Vernieuwen/zoeken:** gebruik deze functies om wijzigingen en grotere beleidssets te controleren.

### Veelvoorkomende problemen

* **Gevoelige tekst blijft staan:** controleer status, beleidstype, exacte categorie of regex en whitelist.
* **Te veel tekst wordt vervangen:** verfijn de regex, kies een smallere PII-categorie of verklein de blacklist.
* **Regex doet niets:** controleer syntaxis en test op lange invoer; ongeldige of te dure patronen worden niet toegepast.
* **Een blacklistwaarde blijft staan:** dezelfde waarde kan in de gezamenlijke whitelist voorkomen.
* **De zin is na filtering onleesbaar:** gebruik een betekenisvolle vervangtekst in plaats van leeg verwijderen.
* **BSN-logica mist een waarde:** controleer schrijfwijze; de regel verwacht acht of negen cijfers die de 11-proef doorstaan.

### Grenzen en governance

Invoerfilters vervangen geen dataclassificatie, toegangsbeheer, gebruikersinstructie of beoordeling van leveranciers. Wijs per beleid een eigenaar aan en documenteer doel, categorie, voorbeeldtests, uitzonderingen en herbeoordelingsdatum. Controleer wijzigingen na incidenten, nieuwe processen en nieuwe gegevenssoorten.

> **Belangrijk:** fout-negatieven én fout-positieven blijven mogelijk. Ontwerp processen zo dat de organisatie niet uitsluitend van automatische filtering afhankelijk is.
