Gemessen am 2026-05-27 · promptShield 1.0.14 · Presidio 2.2.362
promptShield vs. Microsoft Presidio
Im direkten Vergleich getestet an 14 PDF-Dokumenten in 7 Sprachen. Dieselbe Textextraktion, dieselben Dokumente, keine einseitige Optimierung. Veröffentlichtes Skript und rohe CSVs – überprüfen Sie es selbst.
Kurzfassung
Presidio (Standardinstallation)
666
ausgegebene Spans · hoher Rauschpegel
promptShield 1.0.14
252
ausgegebene Spans · gleicher Korpus · Rauschen gefiltert
Bei Vertragsdokumenten (wo die Daten echte PII sind) gibt promptShield dieselben 209 aussagekräftigen Spans aus wie Presidio. Die Differenz von 414 Spans entsteht bei Finanzberichten, wo die rohen Entity-Treffer zu 30–70 % Rauschen sind (Namen von Wirtschaftsprüfungsgesellschaften, eingetragene Geschäftssitze, Erwähnungen von Gerichtsständen).
Funktionsvergleich
| Funktion | promptShield | Presidio |
|---|---|---|
Mehrsprachiger Regex-Erkenner (60+ Typen) Presidio: standardmäßig primär EN | ◦ | |
Mehrsprachiges Entity-Modell (Davlan) Presidio: erfordert individuellen HuggingFace-Entity-Erkenner | ◦ | |
Optionale LLM-Schicht für kontextbezogene PII | ||
Prüfsummenvalidierung US NPI / ABA / DEA Presidio: NPI und MBI enthalten, ABA/DEA teilweise | ◦ | |
Prüfsummenvalidierung AU TFN / ABN / ACN / Medicare | ||
Prüfsummenvalidierung BR CPF / CNPJ | ||
Prüfsummenvalidierung CH AHV | ||
Prüfsummenvalidierung MX CLABE | ||
Prüfsummenvalidierung NL BSN / RSIN | ||
Validierung französische NIR (Sozialversicherung) | ||
Filter für Gerichtsstands-Boilerplate „unterliegt dem Recht von X“ → X nicht markiert | ||
Zusammenführung von PERSON-Spans innerhalb der Seite „Pierre Dubois“ behalten, bloßes „Pierre“ verworfen | ||
Filter für generische Abteilungen (ORG) | ||
Filter für Funktionsbezeichnungen (PERSON) | ||
Fertige Desktop-Anwendung mit Prüfungs-GUI | ||
Umkehrbare Tokenisierung (Codieren / Decodieren) Presidio: separate Anonymizer-Schicht | ◦ | |
100 % offline (keine Cloud-Abhängigkeit) | ||
Individuelle Erkenner über API | ||
Python-Bibliothek für individuelle Integration | ||
Azure AI Language-Integration |
✓ = standardmäßig enthalten · ◦ = über individuelle Konfiguration verfügbar · ✗ = nicht vorhanden
Rauschkategorien, die Presidio (Standardinstallation) ausgibt und promptShield unterdrückt
URLs in Vertragsfußzeilen
Link zur Datenschutzerklärung, Support-Seiten-URL, generischer juristischer Kontakt. ~8–10 Spans pro Vertrag, von denen so gut wie keiner PII ist, das der Prüfer schwärzen möchte.
UrlRecognizerEinzelne Länder-/Städtenennungen in Gerichtsstands-Prosa
„unterliegt dem Recht Frankreichs“, „Geschäftssitz in Paris“, „in Deutschland eingetragenes Unternehmen“. In einem französischen Finanzbericht gibt Presidio 73 LOCATION-Spans aus; fast alle sind Vertrags-Beiwerk.
filter_jurisdiction_boilerplate + filter_standalone_countryPERSON-Fragmente
Derselbe Name erscheint als drei separate Spans: „Pierre“, „Dubois“, „Pierre Dubois“. Bei einem italienischen Vertrag gibt Presidio 26 PERSON-Spans aus — dieselben Namen, wiederholt und in Vorname, Nachname und vollständigen Namen zerlegt.
filter_span_coalescenceGenerische Abteilungsnamen, die als ORG getaggt werden
„Marketing“, „Vorstand“, „Direction Générale“, „Board of Directors“, „Comitato di Direzione“. Das sind keine Organisationen, die der Prüfer schwärzen möchte.
filter_generic_org (Sperrliste mit 90 Einträgen × 7 Sprachen)Funktionsbezeichnungen, die als PERSON getaggt werden
„CEO“, „Directeur“, „Geschäftsführer“ am Zeilenanfang großgeschrieben, vom Entity-Modell manchmal fälschlich als PERSON getaggt.
filter_role_titlesWann Sie stattdessen Presidio wählen sollten
Presidio ist die richtige Wahl, wenn:
- Sie eine individuelle, Python-basierte DLP-Pipeline aufbauen und Kontrolle auf Bibliotheksebene möchten.
- Sie Cloud-Dienste (Azure AI Language, AWS Comprehend) unter einer einzigen PII-Abstraktion integrieren müssen.
- Sie Ihre eigenen Erkenner für proprietäre Entity-Typen feinabstimmen möchten.
- Sie Textströme (keine begrenzten Dokumente) verarbeiten und eine dienstförmige Bibliothek benötigen.
Sowohl Presidio (von Microsoft) als auch promptShield sind Projekte im MIT-Geist. Nutzen Sie das richtige Werkzeug für die jeweilige Aufgabe.
Wann Sie promptShield wählen sollten
- Sie anonymisieren begrenzte PDF-/DOCX-/XLSX-Dokumente auf dem Desktop.
- Sie benötigen länderspezifische Prüfsummen von Haus aus (TFN, CPF, NPI, IBAN usw.), ohne sie selbst schreiben zu müssen.
- Sie möchten einen fertigen GUI-Workflow (Prüfen, Schwärzen, Tokenisieren, Exportieren) statt einer Bibliothek zum Integrieren.
- Ihre Kunden können aus Compliance-Gründen keine Dokumente an einen Cloud-Dienst senden.
Reproduzieren Sie es selbst
Jede Zahl auf dieser Seite stammt aus dem im öffentlichen Repo veröffentlichten Skript. Keine Zahl stammt aus einem internen, nicht überprüfbaren Durchlauf.
git clone https://github.com/promptshield-Inc/pii-detection-benchmarks
cd pii-detection-benchmarks
pip install -r requirements.txt
python benchmark.pyAusgaben: results/presidio_counts_<date>.csv + results/presidio_entities_<date>.csv. Das Presidio-Skript ist vollständig eigenständig – Sie müssen promptShield nicht installieren, um die Presidio-Seite zu überprüfen.
Ehrliche Einschränkungen
- Nur Standardinstallation. Eine optimierte Presidio-Installation (individuelle Erkenner + Transformer-Entity-Backend + angepasste Konfidenzschwellen) würde den größten Teil der Präzisionslücke schließen. Wir messen, was die meisten Presidio-Nutzer im ersten Monat einsetzen.
- Synthetischer Korpus. Echte Kundendokumente haben reichhaltigeres Rauschen (OCR-Fehler, gescannte Originale, mehrspaltige Layouts), das wir hier nicht messen.
- Keine Ground-Truth-Labels. Die Zahlen für „beide / nur unsere / nur Presidio“ sind ein Präzisions-Proxy, keine strenge F1-Messung. 14 PDFs in 7 Sprachen von Hand zu labeln, sind etwa 40 Stunden Arbeit; das haben wir noch nicht getan.
- Zwei Dokumentklassen. Verträge + Finanzberichte. Krankenakten, HR-Formulare und Einwanderungsunterlagen würden andere Lücken hervorbringen.