Benchmarks
· 5 min leestijd

Presidio versus promptShield: wat blijft er leesbaar?

Door Amine Gaaliche · concept opgesteld met Claude, met de hand nagekeken en geredigeerd

Wie promptShield en Presidio vergelijkt, moet tellen hoeveel gevoelige woorden leesbaar blijven. Dat hebben wij in oktober 2026 gedaan, op 48 fictieve documenten in acht talen, waarin elk persoonsgegeven per woord was gelabeld. De standaardinstallatie van Presidio liet 1.327 van de 4.489 gevoelige woorden leesbaar. Bij promptShield 1.4.1 bleven er 92 leesbaar.

Waarom het aantal detecties weinig zegt

Een eerste vergelijking, in mei 2026, telde hoeveel markeringen elke tool opleverde. Er was geen gelabelde referentie om de uitkomsten tegen te toetsen. Achteraf was dat de verkeerde maatstaf. Een telling van detecties gooit echte vondsten en ruis op één hoop en kan ze niet uit elkaar houden.

Voor een tool die documenten zwartlakt, zijn twee getallen van belang. Het eerste is het aantal gevoelige woorden dat leesbaar blijft. Het tweede is het aantal tekstfragmenten dat ten onrechte wordt gemarkeerd. Elk van die markeringen moet iemand met de hand weghalen.

Hoe de test is opgezet

Het corpus telt 48 documenten: zes per taal, in het Engels, Frans, Duits, Spaans, Italiaans, Nederlands, Portugees en Pools. Per taal zijn dat een contract, een factuur, een bankafschrift, een medische brief, een HR-brief en juridische correspondentie. Alle documenten zijn fictief en voor deze test geschreven. Er zit geen klantdocument tussen.

De labels zijn aangebracht door AI-agents, één per taal, volgens een gepubliceerde labelspecificatie. Die agents hadden geen toegang tot de detectiecode van promptShield. De labels zijn door een script nagekeken, niet door een mens.

Beide tools kregen precies dezelfde geëxtraheerde tekst als invoer. Presidio draaide met zijn ingebouwde herkenners en één spaCy-model per taal, zonder eigen herkenners en zonder drempelwaarde voor de score. promptShield draaide met de standaardinstellingen van de knop Detecteren.

Wat er leesbaar bleef

Met de grote spaCy-modellen vond Presidio 70,4% van de gevoelige woorden. Met de kleine modellen bleven er 1.583 leesbaar; Presidio vond dan 64,7%. promptShield 1.4.1 vond 98,0%. Bij promptShield bleef in 24 van de 48 documenten niets gevoeligs leesbaar, bij Presidio in geen enkel document.

Ook de ruis verschilt. Met de grote modellen markeerde Presidio gemiddeld 9,8 tekstfragmenten per document ten onrechte, met de kleine modellen 13,7. Bij promptShield waren dat er 1,9.

Soort gegevenPresidio (groot model)promptShield 1.4.1
Namen87%98%
Organisaties57%98%
Postadressen50%98%
Identificatienummers37%95%
IBAN's79%100%
Telefoonnummers78%98%
Geboortedata72%100%
E-mailadressen100%99%

De missers van Presidio zitten vooral bij identificatienummers en adressen. Onder identificatienummers vallen hier nationale persoonsnummers, fiscale nummers, bedrijfsnummers, rekeningnummers en patiëntnummers. Bij e-mailadressen ligt Presidio net voor.

Pools vraagt om een kanttekening. Presidio herkent de namen die de Poolse spaCy-modellen vinden, alleen als de labels van die modellen op die van Presidio zijn afgestemd. Zonder die afstemming vond Presidio geen enkele Poolse naam en kwam het uit op 20,5%. Met de afstemming haalde Presidio 64% en promptShield 97%.

Een BSN of IBAN in een Nederlands dossier

Stel dat een dossier dat u deelt een BSN, een IBAN of een geboortedatum bevat. Blijft zo'n gegeven leesbaar, dan is het document niet geanonimiseerd. Voor het BSN gelden extra regels: de UAVG beperkt het gebruik ervan tot wat een wet toestaat. De Autoriteit Persoonsgegevens houdt daar toezicht op.

Voor advocaten en accountants telt daarnaast het beroepsgeheim. Een gemiste naam in een stuk voor een externe partij schendt dat geheim al. Laat u documenten door een externe dienst analyseren, dan hebt u op grond van artikel 28 AVG een verwerkersovereenkomst nodig. promptShield draait op uw computer, en het document verlaat die computer niet.

Wanneer Presidio de betere keuze is

Presidio is goede software. Het project is bij Microsoft begonnen en wordt inmiddels door een gemeenschap beheerd. Het is een Python-bibliotheek waarmee u zelf een verwerkingsketen bouwt voor tekst die doorlopend binnenkomt, zoals logbestanden, chatberichten of databasevelden.

Wilt u op bibliotheekniveau beheren welke herkenners draaien, dan zit u bij Presidio goed. Dat geldt ook als u analysediensten in de cloud via één interface wilt aanspreken. promptShield heeft een beperktere taak: het anonimiseert losse documenten op één computer.

Een afgesteld Presidio zou beter scoren dan in deze test. Eigen herkenners voor BSN, KvK-nummer of postcode dichten een deel van het gat. Dat kost ontwikkelwerk, per taal en per soort gegeven. Waarom wij de detectie zelf hebben gebouwd, leest u in een apart artikel.

Wat deze test niet meet

Het corpus bestaat uit nette, digitaal aangemaakte pdf's. Scans en fouten uit tekstherkenning zijn niet gemeten. Hoe promptShield met scans omgaat, leest u in ons artikel over gescande pdf's.

De cijfers horen bij de meting van oktober 2026. Ze gelden voor Presidio 2.2.364 en promptShield 1.4.1, niet voor latere versies.

promptShield scoorde ook niet altijd zo. Versie 1.0.14 uit juni 2026 vond in zeven talen 74,3%, ongeveer evenveel als Presidio, met 4,5 foute markeringen per document. Na vier verbeterrondes aan de detectie, tussen 30 september en 2 oktober 2026, kwam versie 1.3.4 uit op 98,1% gevonden en 2,0 foute markeringen per document. Sindsdien is het op dat niveau gebleven. Pools zat daar niet bij, omdat die taal pas in versie 1.4.0 is toegevoegd.

De test zelf herhalen

De documenten, de labels, de ruwe uitvoer van beide tools en het scorescript staan in de openbare repository promptshield-Inc/pii-detection-benchmarks op GitHub. U kunt Presidio opnieuw draaien zonder promptShield te installeren. Met de gepubliceerde labels en het script rekent u de score zelf na.

Stelt u Presidio af, dan meet u met hetzelfde script wat dat oplevert. De grafieken, de versiegeschiedenis en de methode staan op de vergelijkingspagina.

Hoe promptShield detecteert

Detecteren werkt in lagen. Eerst zoeken patronen naar gegevens met een vaste opbouw, zoals IBAN's en telefoonnummers. Daarna doorzoekt een herkenningsmodel de tekst op namen, organisaties en adressen. Een taalmodel als extra laag is optioneel en staat standaard uit.

De resultaten worden samengevoegd en ontdubbeld. Een naam die op pagina 1 is gevonden, wordt ook op pagina 4 gemarkeerd. Tot slot haalt een filter de ruis eruit.

Geen lokaal model vindt elk gegeven. Daarom beoordeelt u de markeringen voordat u downloadt. Een bestand met beschermde gebieden kunt u pas downloaden als u die gebieden hebt geverifieerd. De abonnementen vindt u op de prijspagina.

Vragen over Presidio en deze test

Is Presidio nauwkeurig genoeg om documenten te anonimiseren?

In onze test van oktober 2026 vond de standaardinstallatie van Presidio 70,4% van de gevoelige woorden. Bij identificatienummers was dat 37% en bij postadressen 50%. Die gaten moet u zelf dichten, of u moet de documenten met de hand nalopen.

Wanneer kies ik beter voor Presidio?

Als u in Python een verwerkingsketen bouwt voor tekst die doorlopend binnenkomt en op bibliotheekniveau wilt beheren wat er draait. Ook als u analysediensten in de cloud via één interface wilt aanspreken, is Presidio een goede keuze.

Kan ik deze test zelf herhalen?

Ja. De documenten, de labels, de ruwe uitvoer en het scorescript staan op GitHub. Presidio kunt u opnieuw draaien zonder promptShield te installeren.

Zou een afgesteld Presidio het verschil goedmaken?

Een afgesteld Presidio scoort beter dan de standaardinstallatie die wij hebben getest. Hoeveel beter, meet u met het gepubliceerde script. Het afstellen is werk per taal en per soort gegeven.

Was dit nuttig? Laat het ons weten.

Delen