Was Operatoren sind
Wenn Sie anonym_legal_anonymize_text aufrufen, wird PII in Ihrem Text erkannt und ersetzt. Standardmäßig werden alle erkannten Entitäten durch Positionstoken ersetzt: <PERSON_1>, <EMAIL_1>, usw.
Der operators-Parameter setzt dieses Pro-Entitätstyp außer Kraft. Sie übergeben ein JSON-Objekt, wobei der Schlüssel ein Entitätstyp ist (z. B. "PERSON") und der Wert eine Operatorkonfiguration ist. Die 6 verfügbaren Operatoren sind: replace, redact, hash, encrypt, mask und keep.
"operators": {
"ENTITY_TYPE_1": { "type": "operator_name", ...params },
"ENTITY_TYPE_2": { "type": "operator_name", ...params },
...
}
Ersetzt die erkannte Entität durch eine statische Zeichenkette, die Sie über new_value bereitstellen. Wenn new_value weggelassen wird, wird die Entität durch ein Typ-gekennzeichnetes Platzhalter-Token wie <PERSON> ersetzt.
Verwenden wenn: Sie einen von Menschen lesbaren Platzhalter benötigen — Juristisches Einspruchsverfahren ([CLIENT]), Audit-Trails ([REDACTED]) oder gekennzeichnete Markierungen, die der AI mitteilen, welcher Typ entfernt wurde, ohne den Wert bereitzustellen.
type: "replace" · new_value?: string (max 100 Zeichen)
"PERSON": { "type": "replace", "new_value": "[CLIENT]" }
"LOCATION": { "type": "replace", "new_value": "[LOCATION]" }
"EMAIL_ADDRESS": { "type": "replace" }
Entfernt die Entität vollständig aus dem Text. Kein Token, kein Platzhalter — der Wert ist weg. Der Text rundherum wird beibehalten. Verwenden Sie mode: "redact" global für dauerhafte Entfernung oder selektiv pro Entitätstyp.
Verwenden wenn: die Entität darf in keiner Form existieren — SSNs, Passwörter, Authentifizierungstoken. GDPR Art. 25 Dateneinsparung. Jedes Szenario, in dem sogar ein Platzhalter ein Risiko trägt.
type: "redact" · keine zusätzlichen Parameter
"US_SSN": { "type": "redact" }
"CREDIT_CARD": { "type": "redact" }
Ersetzt die Entität durch einen SHA-256 oder SHA-512 Hex-Digest. Die gleiche Eingabe erzeugt immer denselben Hash — wodurch es nützlich für Deduplizierung und Verknüpfung von Datensätzen ist, ohne ursprüngliche Werte zu speichern. Hashing ist unidirektional: Sie können das Original nicht aus dem Hash wiederherstellen.
Verwenden wenn: Sie Datensätze verknüpfen müssen (dieselbe Person über Dokumente hinweg) ohne PII zu behalten. Healthcare De-Identifizierung (HIPAA Safe Harbor). Analytics, wo individuelle Identität zum Zählen notwendig ist, aber nicht zur Anzeige. Audit-Logs, wo Benutzer verfolgbar aber nicht identifizierbar sein müssen.
type: "hash" · hash_type?: "SHA256" | "SHA512" (Standard: SHA256)
"PERSON": { "type": "hash", "hash_type": "SHA256" }
"EMAIL_ADDRESS": { "type": "hash", "hash_type": "SHA256" }
Verschlüsselt den Entitätswert mit AES-256 unter Verwendung eines Schlüssels, den Sie bereitstellen. Der Schlüssel ist 16, 24 oder 32 Zeichen lang. anonym.legal speichert oder protokolliert den Schlüssel nicht. Jeder mit dem Schlüssel kann den Wert entschlüsseln. Im Gegensatz zur Tokenisierung ist keine serverseitige Sitzung erforderlich — die Entschlüsselung ist eigenständig.
Verwenden wenn: Sie den ursprünglichen Wert durch einen bestimmten Schlüsselhalter wiederherstellbar benötigen, aber nicht durch die AI oder serverseitige Sitzungssuche. Cross-System-Freigabe, bei der die empfangende Partei den Schlüssel hat. Langzeitarchive, in denen Sitzungs-Token ablaufen würden. Zero-Knowledge-Bereitstellungen, in denen Serversicherheitszugriff nicht vertrauenswürdig ist.
type: "encrypt" · key: string (genau 16, 24 oder 32 Zeichen — erforderlich)
"IBAN_CODE": { "type": "encrypt", "key": "my-32-char-encryption-key-here-!" }
"CREDIT_CARD": { "type": "encrypt", "key": "my-32-char-encryption-key-here-!" }
Ersetzt einen Teil der Entität durch ein Maskierungszeichen (Standard: *). Sie kontrollieren, wie viele Zeichen maskiert werden sollen und ob von Anfang oder Ende maskiert werden soll. Die verbleibenden sichtbaren Zeichen bieten genug Kontext für die AI zum Nachdenken über den Typ, ohne den vollständigen Wert zu sehen.
Verwenden wenn: teilweise Sichtbarkeit ist für Kontext notwendig — letzte 4 Ziffern einer Kartennummer, erste 3 Ziffern einer Telefonnummer, sichtbare Domäne in einer E-Mail. Kundensupport-UIs. Audit-Logs zeigen "Benutzer endet mit 89" ohne vollständige Daten offenzulegen.
type: "mask" · chars_to_mask: number (1–100, erforderlich) · masking_char?: string (1 Zeichen, Standard: "*") · from_end?: boolean (von Ende maskieren wenn wahr, von Anfang wenn falsch — Standard: falsch)
"PHONE_NUMBER": { "type": "mask", "chars_to_mask": 6, "from_end": true }
"US_SSN": { "type": "mask", "chars_to_mask": 7, "from_end": false }
"CREDIT_CARD": { "type": "mask", "chars_to_mask": 12, "masking_char": "X", "from_end": false }
Erkennt den Entitätstyp aber lässt den ursprünglichen Wert an Ort und Stelle. Dies ist der Opt-out-Operator — nützlich, wenn Sie analysieren möchten, welche Typen existieren (oder Erkennungszählungen abrufen), während Sie selektiv bestimmte Werte beibehalten, die für die Freigabe an die AI akzeptabel sind.
Verwenden wenn: Daten, allgemeine Orte oder andere nicht-empfindliche Typen sind kontextuell wichtig und Sie möchten sie nicht verschleiern. Sie möchten Erkennungsergebnisse (z. B. über analyze_text zuerst) aber einige Typen passieren durch. Voreinstellungen, die breite Entitätsgruppen abdecken, sollten aber ein paar Typen überspringen.
type: "keep" · keine zusätzlichen Parameter
"DATE_TIME": { "type": "keep" }
"LOCATION": { "type": "keep" }
"PERSON": { "type": "redact" }
Operatoren-Entscheidungstabelle
Wählen Sie den richtigen Operator für jede Situation:
| Anforderung |
Operator |
Wiederherstellbar? |
| AI benötigt Kontext darüber, was entfernt wurde | replace | Nein (nur Bezeichnung) |
| Wert darf in keiner Form erscheinen | redact | Nein |
| Gleiche Entität über Datensätze hinweg verknüpfen (Deduplizierung) | hash | Nein (unidirektional) |
| Bestimmte Partei muss später entschlüsseln können | encrypt | Ja (mit Schlüssel) |
| Teilweise Sichtbarkeit notwendig (letzte 4 Ziffern) | mask | Teilweise |
| AI benötigt vollständigen Wert, nicht empfindlich | keep | k.A. (nicht geändert) |
| Original in AI-Antwort wiederherstellen müssen | tokenisieren (Standard) | Ja (session_id) |
Kombinierte Operator-Beispiele
Reale Szenarien, die Operatoren in einem einzigen Aufruf vermischen:
Recht — Vertragsprüfung
{
"text": "Der Vertrag zwischen ACME Corp und John Smith (SSN 123-45-6789)\n für Eigentum unter 123 Main St, IBAN DE89370400440532013000...",
"entity_groups": ["UNIVERSAL", "FINANCIAL", "NORTH_AMERICA", "LEGAL"],
"operators": {
"PERSON": { "type": "replace", "new_value": "[PARTY]" },
"LOCATION": { "type": "replace", "new_value": "[ADDRESS]" },
"US_SSN": { "type": "redact" },
"IBAN_CODE": { "type": "encrypt", "key": "legal-vault-32char-key---------!" },
"DATE_TIME": { "type": "keep" }
},
"persistence": "persistent"
}
Gesundheitswesen — HIPAA De-Identifizierung
{
"text": "Patient Jane Doe (MRN: MR-8842156, DOB: 1985-03-15)\n verschriebenes Metformin 500mg, US Medicare 1EG4-TE5-MK72",
"entity_groups": ["UNIVERSAL", "HEALTHCARE", "NORTH_AMERICA"],
"operators": {
"PERSON": { "type": "hash", "hash_type": "SHA256" },
"DATE_TIME": { "type": "replace", "new_value": "[DATE]" },
"MEDICAL_RECORD_NUMBER": { "type": "hash", "hash_type": "SHA256" },
"US_MEDICARE": { "type": "redact" }
}
}
FinTech — Transaktionsanalyse
{
"text": "Transaktion von Konto 4532015112830366 (John Smith)\n IBAN DE89370400440532013000, Betrag €4.250,00",
"entity_groups": ["UNIVERSAL", "FINANCIAL", "DACH"],
"operators": {
"CREDIT_CARD": { "type": "mask", "chars_to_mask": 12, "from_end": false },
"IBAN_CODE": { "type": "mask", "chars_to_mask": 14, "from_end": true },
"PERSON": { "type": "hash", "hash_type": "SHA256" }
}
}
Zusammenfassung
- replace — von Menschen lesbare Bezeichnung, nicht ohne Sitzung wiederherstellbar
- redact — dauerhafte Entfernung, keine Spur
- hash — deterministisch unidirektional, ermöglicht Deduplizierung
- encrypt — AES-256, nur mit Ihrem Schlüssel wiederherstellbar
- mask — teilweise Sichtbarkeit, konfigurierbar von Anfang oder Ende
- keep — erkennen aber unverändert durchlassen
Das Standard (kein Operator für einen Entitätstyp angegeben) ist equivalent zu replace mit einem Positionstoken wie <PERSON_1>, was wiederherstellbar über anonym_legal_detokenize_text mit dem zurückgegebenen session_id ist.
Vollständige Toolreferenz: Siehe die MCP Server-Seite für die vollständige Parameterdokumentation aller 7 Tools, 26 Entitätsgruppen und Integrations-Setup-Leitfäden.