Gemeten op 2026-05-27 · promptShield 1.0.14 · Presidio 2.2.362
promptShield vs Microsoft Presidio
Rechtstreeks gebenchmarkt op 14 PDF-documenten in 7 talen. Dezelfde tekstextractie, dezelfde documenten, geen asymmetrische afstemming. Script en ruwe CSV's gepubliceerd — verifieer het zelf.
Kort samengevat
Presidio (standaardinstallatie)
666
spans gedetecteerd · hoog ruisniveau
promptShield 1.0.14
252
spans gedetecteerd · zelfde corpus · ruis weggefilterd
Op contractdocumenten (waar de data echte PII is) detecteert promptShield dezelfde 209 spans met een sterk signaal als Presidio. Het verschil van 414 spans zit in de financiële overzichten, waar de ruwe entiteittreffers voor 30–70% ruis zijn (namen van accountantskantoren, statutaire zetels, vermeldingen van jurisdictielanden).
Functievergelijking
| Functie | promptShield | Presidio |
|---|---|---|
Meertalige regex-herkenner (60+ types) Presidio: standaard primair EN | ◦ | ◦ |
Meertalig entiteitmodel (Davlan) Presidio: vereist aangepaste HuggingFace-entiteitherkenner | ◦ | ◦ |
Optionele LLM-laag voor contextuele PII | ◦ | ◦ |
Checksumvalidatie US NPI / ABA / DEA Presidio: NPI en MBI inbegrepen, ABA/DEA gedeeltelijk | ◦ | ◦ |
Checksumvalidatie AU TFN / ABN / ACN / Medicare | ◦ | ◦ |
Checksumvalidatie BR CPF / CNPJ | ◦ | ◦ |
Checksumvalidatie CH AHV | ◦ | ◦ |
Checksumvalidatie MX CLABE | ◦ | ◦ |
Checksumvalidatie NL BSN / RSIN | ◦ | ◦ |
Validatie Frans NIR (sociale zekerheid) | ◦ | ◦ |
Filter voor jurisdictie-opvulling "vallend onder het recht van X" → X niet gemarkeerd | ◦ | ◦ |
Samenvoegen van PERSON-spans binnen een pagina "Pierre Dubois" behouden, los "Pierre" verwijderd | ◦ | ◦ |
Filter voor generieke afdelings-ORG | ◦ | ◦ |
Filter voor functietitel-PERSON | ◦ | ◦ |
Afgewerkte desktopapplicatie met beoordelings-GUI | ◦ | ◦ |
Omkeerbare tokenisatie (coderen / decoderen) Presidio: aparte anonymizer-laag | ◦ | ◦ |
100% offline (geen cloudafhankelijkheid) | ◦ | ◦ |
Aangepaste herkenners via API | ◦ | ◦ |
Python-bibliotheek voor maatwerkintegratie | ◦ | ◦ |
Integratie met Azure AI Language | ◦ | ◦ |
✓ = standaard inbegrepen · ◦ = beschikbaar via aangepaste configuratie · ✗ = niet aanwezig
Ruiscategorieën die Presidio (standaardinstallatie) genereert en die promptShield onderdrukt
URL's in contractvoetteksten
Link naar privacybeleid, URL van de supportpagina, generiek juridisch contact. ~8–10 spans per contract, waarvan vrijwel niets PII is die de beoordelaar wil redigeren.
UrlRecognizerLosse land-/stadvermeldingen in jurisdictieproza
"vallend onder het recht van Frankrijk", "statutaire zetel in Parijs", "vennootschap opgericht in Duitsland". In een Frans financieel overzicht genereert Presidio 73 LOCATION-spans; bijna alle zijn contractopvulling.
filter_jurisdiction_boilerplate + filter_standalone_countryPERSON-fragmenten
Dezelfde naam verschijnt als drie aparte spans: "Pierre", "Dubois", "Pierre Dubois". Op een Italiaans contract genereert Presidio 26 PERSON-spans — dezelfde namen, herhaald en opgesplitst in voornaam, achternaam en volledige naam.
filter_span_coalescenceGenerieke afdelingsnamen getagd als ORG
"Marketing", "Vorstand", "Direction Générale", "Board of Directors", "Comitato di Direzione". Dit zijn geen organisaties die de beoordelaar wil redigeren.
filter_generic_org (stoplijst van 90 vermeldingen × 7 talen)Functietitels getagd als PERSON
"CEO", "Directeur", "Geschäftsführer" met een hoofdletter aan het begin van een regel, soms ten onrechte als PERSON getagd door het entiteitmodel.
filter_role_titlesWanneer u toch beter voor Presidio kiest
Presidio is de juiste keuze wanneer:
- U een eigen, op Python gebaseerde DLP-pipeline bouwt en controle op bibliotheekniveau wilt.
- U clouddiensten (Azure AI Language, AWS Comprehend) moet integreren onder één PII-abstractie.
- U uw eigen herkenners wilt fine-tunen voor bedrijfseigen entiteitstypen.
- U tekststromen verwerkt (geen afgebakende documenten) en een bibliotheek nodig hebt die als dienst is vormgegeven.
Zowel Presidio (van Microsoft) als promptShield zijn projecten in de geest van MIT. Gebruik het juiste gereedschap voor de klus.
Wanneer u voor promptShield kiest
- U afgebakende PDF-/DOCX-/XLSX-documenten op de desktop anonimiseert.
- U landspecifieke checksums kant-en-klaar nodig hebt (TFN, CPF, NPI, IBAN, enz.) zonder ze zelf te hoeven schrijven.
- U een afgewerkte GUI-workflow wilt (beoordelen, redigeren, tokeniseren, exporteren) in plaats van een bibliotheek om te integreren.
- Uw klanten om compliancyredenen geen documenten naar een clouddienst mogen sturen.
Reproduceer het zelf
Elk cijfer op deze pagina komt uit het script dat in de openbare repo is gepubliceerd. Geen enkel cijfer is afkomstig uit een interne, niet-verifieerbare run.
git clone https://github.com/promptshield-Inc/pii-detection-benchmarks
cd pii-detection-benchmarks
pip install -r requirements.txt
python benchmark.pyOutputs: results/presidio_counts_<date>.csv + results/presidio_entities_<date>.csv. Het Presidio-script is volledig op zichzelf staand — u hebt promptShield niet nodig om de Presidio-kant te verifiëren.
Eerlijke kanttekeningen
- Alleen standaardinstallatie. Een afgestemde Presidio-installatie (aangepaste herkenners + transformer-entiteitbackend + afgestemde betrouwbaarheidsdrempels) zou het grootste deel van het precisieverschil dichten. Wij meten wat de meeste Presidio-gebruikers in de eerste maand inzetten.
- Synthetisch corpus. Echte klantdocumenten hebben rijkere ruis (OCR-fouten, gescande originelen, indelingen met meerdere kolommen) die we hier niet meten.
- Geen ground-truth-labels. De cijfers "beide / alleen wij / alleen Presidio" zijn een precisie-indicatie, geen strikte F1-meting. 14 PDF's in 7 talen handmatig labelen kost ~40 uur werk; dat hebben we nog niet gedaan.
- Twee documentklassen. Contracten + financiële overzichten. Medische dossiers, HR-formulieren en immigratiepapieren zouden andere verschillen opleveren.