jane@acme.com → [EMAIL]), sodass das
Modell weiterhin einen kohärenten Prompt liest, während der Rohwert Ihren
Workspace nie verlässt.
Diese Seite ist der fokussierte Blick darauf, was Masking rendert, wie man
den Tag ändert und wie man auf einer einzelnen Regel manche Entities
maskiert, während man andere blockiert. Für die vollständige Engine — jeder
Regeltyp, jede Stage, jede Route — siehe die
Guardrails-Referenz, und für Masking speziell auf
der Anfrage Input-Stage-Regeln.
1. Sensible Daten in LLM-Prompts mit typisierten Tags maskieren
Einepii-Regel mit der mask-Action erkennt eine Entity und ersetzt
jeden Treffer durch einen typisierten Redaktions-Tag — ein
großgeschriebenes Label in Klammern, das benennt, was entfernt wurde, ohne
den Wert preiszugeben:
| Entity | Gerenderter Tag |
|---|---|
email | [EMAIL] |
credit_card | [CREDIT_CARD] |
ssn | [SSN] |
email, phone, credit_card,
ssn, ip, iban, mac_address, jwt, aws_access_key, api_key_openai,
bitcoin_address, plus die regionalen jp_mynumber, kr_rrn und
cn_resident_id — rendert jeweils seinen eigenen Klammer-Tag ([PHONE],
[IBAN], [JP_MYNUMBER] und so weiter). Der Tag ist deterministisch:
dieselbe Entity rendert immer dasselbe Label, sodass nachgelagerte Prompts
stabil bleiben und Ihre Logs sich sauber lesen.
Typisierte Tags schlagen ein pauschales
[REDACTED] für die Modellqualität.
Das Modell weiß weiterhin, dass es eine E-Mail vs. eine Kontonummer vs. eine
Telefonnummer ansieht, sodass es weiter über die Form der Daten
schlussfolgern kann — „reply to [EMAIL]” bleibt eine umsetzbare Anweisung —
ohne je den echten Wert zu halten.2. Ein konkretes Beispiel
Verfassen Sie die Regel in der Konsole unter Ihrer eigenen Session — Guardrail-Config erfordert Developer+, keinen Relay-Key. Fügen Sie einem Guardrail namenspii-shield eine einzelne pii-Regel hinzu:
guardrail_id oder markieren Sie
es als Workspace-Default — siehe
An einen Key anhängen), rufen Sie
dann das Gateway mit diesem sk-orca-...-Relay-Key auf:
[EMAIL]
about her SSN [SSN]” um. Das Upstream-Modell sieht weder die Adresse noch
die Nummer. Beweisen Sie das exakte Rendering zuerst im Tab Test des
Editors (kein Upstream-Aufruf, kein Kontingent) — siehe
Testing & Eval.
3. Den Tag mit mask_with überschreiben
Eingebaute Entities rendern einen festen Tag. Benutzerdefinierte Entities
— Ihre eigenen Regex-Detektoren, über den eingebauten Satz geschichtet —
lassen Sie den Ersatztext selbst mit mask_with setzen:
Was mask_with tut
Was mask_with tut
mask_with ist der wortwörtliche Ersatz-String für die Treffer dieser
Entity. EMP-004217 wird zu [STAFF_ID]. Lassen Sie es leer, und der
Treffer rendert den Standard-Tag [<UPPERCASE_NAME>] — hier,
[EMPLOYEE_ID] — sodass ein benutzerdefinierter Detektor selbst ohne
Override immer eine lesbare, typisierte Redaktion produziert.Felder benutzerdefinierter Entities
Felder benutzerdefinierter Entities
name (Kleinbuchstaben-ASCII / Ziffern / Unterstrich, muss mit einem
Buchstaben beginnen), pattern (eine Go-RE2-Regex — lineare Zeit, keine
Backreferences), optionale checksum (luhn validiert kartenförmige
Nummern) und optionales mask_with. Bis zu 25 benutzerdefinierte
Entities pro Regel — jede ist ein Scan über den vollständigen Text, sodass
das Limit den heißen Pfad linear hält. Siehe
Benutzerdefinierte PII-Entities.4. Manche Entities maskieren, andere blockieren — entity_actions
Eine einzelne pii-Regel kann verschiedene Actions auf verschiedene
Entities anwenden, via entity_actions, statt drei überlappende Regeln zu
stapeln. Die klassische Form: niedrigsensible Kontaktdaten maskieren,
aber die hochsensiblen Felder rundheraus blockieren.
email, phone und ip der Top-Level-mask der Regel und
rendern [EMAIL] / [PHONE] / [IP]; ein credit_card- oder ssn-Treffer
blockiert stattdessen die gesamte Anfrage mit HTTP 400
guardrail_blocked.
| Feld | Regel |
|---|---|
| Keys | Muss eine auf der Regel deklarierte Entity sein (eingebaut oder benutzerdefiniert). |
| Werte | block, mask, flag oder annotate. |
Ein blockierter Request kostet kein Kontingent — ein Block der
Input-Stage feuert vor der Messung. Ein maskierter Request geht mit dem
bereinigten Text durch. So kann eine Regel die routinemäßigen Felder still
redigieren und die regulierten hart stoppen, mit einer einzigen Bindung und
ohne Änderung in der Anwendung.
5. Mask vs. block vs. flag
Masking ist eine der Actions, die eine Regel (oder ein Pro-Entity-Override) ergreifen kann. Wählen Sie danach, wie sehr Sie den Traffic stören möchten:mask
Den Treffer zu einem typisierten Tag redigieren und die Anfrage mit dem
bereinigten Text durchlassen. Das Modell sieht den Rohwert nie.
block
Die gesamte Anfrage mit HTTP 400
guardrail_blocked ablehnen. Nichts
erreicht das Modell. Verwenden Sie es für Daten, die nie transitieren
dürfen.flag
Nichts am Traffic ändern — nur einen Match aufzeichnen. Messen Sie, wie
oft eine Regel feuern würde, bevor Sie sie durchsetzen.
6. Verifizieren, was maskiert wurde
Jede Regel, die feuert, zeichnet einen Match im Workspace-Matches-Feed auf — Regeltyp, Action, Stage und einen Detail-String. Der gematchte Teilstring selbst (die rohe E-Mail, die tatsächliche Kartennummer) wird nur aufgezeichnet, wenn Log raw content an ist, was standardmäßig aus ist — die datenschutzfreundliche Haltung, da der ganze Sinn ist, Rohwerte aus Ihren Logs herauszuhalten.7. Wohin als Nächstes
- PII Shield-Preset — der Ausgangspunkt mit einer Regel, der alles maskiert und den Sie in einem Klick anwenden können.
- Benutzerdefinierte PII-Entities —
verfassen Sie Ihre eigenen Regex-Detektoren mit
mask_withund optionalemluhn. - Input-Stage-Regeln — wo Masking heute live läuft, vor dem Modell und vor der Messung.
- Secrets blockieren — für Credentials ist Blockieren (nicht Maskieren) die richtige Wahl.
- Streaming-Abdeckung — welche Stage/Stream-Kombinationen heute maskieren vs. blockieren.
