Wie een klachtbrief, huurcontract of notulen door ChatGPT of Claude wil laten herschrijven, plakt al snel namen, telefoonnummers en rekeningnummers in een chatvenster. Presidio is een gratis open-source pakket, oorspronkelijk ontwikkeld door Microsoft en inmiddels ondergebracht bij de organisatie Data Privacy Stack, dat zulke persoonsgegevens in tekst opspoort en vervangt door labels, op je eigen computer. Wij keken hoe goed dat werkt met Nederlandse tekst.
Wat we testten
Presidio (versie 2.2.366, de onderdelen presidio-analyzer en presidio-anonymizer) met het grote Nederlandse taalmodel van spaCy (nl_core_news_lg 3.8.0). Volgens de maker is Presidio bedoeld om gevoelige gegevens te herkennen en te anonimiseren, en kun je er eigen herkenners aan toevoegen. Wij testten wat je krijgt zonder zelf extra regels te schrijven.
Zo pakten we het aan
- We installeerden beide pakketten en het Nederlandse model met pip in een Python-omgeving. Het taalmodel neemt ruim een halve gigabyte schijfruimte in.
- Presidio is standaard ingesteld op Engels. Voor Nederlands moet je in een paar regels code zelf aangeven dat het Nederlandse spaCy-model gebruikt moet worden. De analyse zelf gebeurt daarna op je eigen computer.
- We gaven het vijf verzonnen Nederlandse teksten: een klachtbrief, een belverzoek, een zin zonder hoofdletters, een stukje notulen en een vraag over een huurcontract.
- Eerst lieten we Presidio alles zoeken wat het kent, daarna alleen namen, plaatsen, e-mailadressen, telefoonnummers en IBAN's.
Wat er gebeurde
De klachtbrief ging zo in:
"Mijn naam is Sanne Bakker, ik woon aan de Kerkstraat 12 in Utrecht. U kunt mij bereiken op 06-12345678 of sanne.bakker@example.nl. Het bedrag van 89 euro is afgeschreven van NL91ABNA0417164300 op 3 november."
En kwam er zo uit:
"Mijn naam is <PERSON>, ik woon aan de Kerkstraat 12 in <LOCATION>. U kunt mij bereiken op <PHONE_NUMBER> of <EMAIL_ADDRESS>. Het bedrag van 89 euro is afgeschreven van <IBAN_CODE> op 3 november."
Naam, woonplaats, telefoon, e-mail en IBAN waren dus weg. Het straatadres Kerkstraat 12 bleef gewoon staan.
- Namen gaan goed. "Fatima El Amrani", "Lisa van den Berg", "Ahmed Yilmaz" en losse voornamen als "Wouter" en "Joost" werden allemaal herkend. Zelfs "jan de boer en piet jansen" zonder hoofdletters werd netjes "<PERSON> en <PERSON>".
- Adressen glippen erdoor. "Laan van Meerdervoort 230, Den Haag" werd "Laan van Meerdervoort 230, <LOCATION>": de stad weg, de straat en het huisnummer niet. "Postcode 3511 AB, huisnummer 4" bleef helemaal ongemoeid.
- Geen BSN-herkenning. Een (verzonnen) burgerservicenummer in de zin "Mijn burgerservicenummer is 123456782" werd niet gevonden. Daar zit voor Nederlands standaard geen herkenner voor.
- Verwarring zonder filter. Bij de eerste ronde, waarin we alles lieten zoeken, werd het telefoonnummer 06-12345678 als datum gelabeld en het factuurnummer 2026-118 ook. Ook "morgen" en "10 uur" werden weggehaald. Pas toen we aangaven welke soorten gegevens we wilden, klopte het telefoonnummer en bleven datums staan.
- Snel. Na het laden (een paar seconden) duurde een tekst minder dan een seconde.
Pluspunten en minpunten
Pluspunten
- Gratis, open source en draait op je eigen computer.
- Herkent Nederlandse namen goed, ook zonder hoofdletters.
- E-mailadressen en IBAN's worden betrouwbaar gevonden.
Minpunten
- Straatnamen, huisnummers, postcodes en BSN's worden standaard niet herkend.
- Zonder filter worden telefoonnummers en codes voor datums aangezien.
- Geen app of knop: je hebt Python en een paar regels code nodig, en voor Nederlands moet je zelf het taalmodel instellen.
Voor wie is dit?
Presidio is een goede eerste zeef voor wie wat technischer is en regelmatig teksten met namen erin door een chatbot haalt, bijvoorbeeld notulen of klantmails. Reken er niet blind op: een adres of BSN kan er zo doorheen glippen, dus lees de uitkomst altijd na voordat je hem ergens plakt. Wil je het echt sluitend hebben, dan moet je zelf extra herkenners toevoegen voor postcodes en BSN's, wat volgens de maker kan. Voor wie geen Python gebruikt, is dit (nog) niets.



