Un guardrail PII filtra il testo di prompt e risposte. Per governare le
azioni che un agent compie con i dati — tool di fetch, host di egress — vedi
Esfiltrazione di dati. I due piani si
compongono; la maggior parte dei team li usa entrambi.
1. Come avviene l’esposizione
Le PII raggiungono un provider upstream attraverso traffico ordinario e ben intenzionato:- Un utente incolla i propri contatti in una chat e la tua app inoltra l’intero messaggio alla lettera.
- Una pipeline RAG recupera un documento contenente record di clienti e lo inserisce nel prompt come contesto.
- Un agent legge una riga di database e include campi grezzi in un argomento di un tool o in un prompt successivo.
- La risposta del modello riformula o inferisce PII, che la tua app poi scrive nei propri log.
2. Difenditi dalla fuga di PII verso l’LLM con un guardrail PII
Un guardrail è una policy di contenuto nominata, con scope a livello di workspace. Una regolapii al suo interno rileva le entità
sensibili e applica una azione a ciascun match:
| Azione | Effetto |
|---|---|
mask | Sostituisce ogni match con un tag tipizzato — jane@acme.com → [EMAIL] — e inoltra il testo ripulito. Il modello non vede mai l’originale. |
block | Rifiuta l’intera richiesta con HTTP 400 guardrail_blocked. Da usare quando le PII non devono mai raggiungere il provider. |
flag | Non cambia nulla del traffico; registra un match. Misura l’esposizione prima di applicare. |
email, phone, credit_card, ssn, ip, iban, mac_address, jwt,
aws_access_key, api_key_openai, bitcoin_address, più gli identificatori
regionali con checksum jp_mynumber, kr_rrn e cn_resident_id.
Su un’azione mask ogni match viene reso come il suo tag tipizzato — [EMAIL],
[SSN], [CREDIT_CARD] e così via — così la struttura del prompt sopravvive
mentre il valore scompare.
3. Esempio concreto — mascherare le PII sulla richiesta
L’avvio più rapido è il preset PII Shield: una singola regolapii che
maschera email, phone, ssn, credit_card e ip. Configuralo nella
console — nessuna modifica al codice, nessuna chiave in questo passaggio.
Crea il guardrail
Nella console, apri Guardrails e clicca New guardrail. Scegli il
preset PII Shield dalla categoria pii, oppure scrivi a mano una
regola
pii con azione mask sulle entità sopra. Salva. (Le scritture
richiedono il ruolo Developer o superiore.)Verificalo nella sandbox
Apri il tab Test, incolla “reply to jane@acme.com”, scegli lo stage
input ed esegui. La sandbox restituisce reply to [EMAIL] — localmente,
senza chiamata upstream e senza consumo di quota.Collegalo a una chiave
In API Keys, modifica una chiave e seleziona il guardrail dal menu a
tendina Guardrail, oppure imposta il guardrail come default del
workspace così ogni chiave non collegata lo eredita. Il binding vive sulla
chiave nel gateway.
4. Maschera la maggior parte, blocca il peggio — override per entità
Una singola regola può applicare azioni diverse a entità diverse tramiteentity_actions. Maschera gli identificatori a basso rischio ma blocca in modo
netto le entità che non vuoi mai inoltrare — una regola invece di tre
sovrapposte:
guardrail_blocked. Una richiesta bloccata non costa quota — un block in
fase di input scatta prima della contabilizzazione — ed è marcata skip-retry.
Ogni chiave di entity_actions deve essere un’entità dichiarata sulla regola
(integrata o custom); la sua azione viene validata rispetto al set di azioni
della regola.
5. Cosa funziona oggi sullo streaming
Azione e stage interagiscono con lo streaming in modo diverso — conosci la matrice prima di farci affidamento:Mask o block in fase di input (qualsiasi modalità di risposta)
Mask o block in fase di input (qualsiasi modalità di risposta)
Completamente live. Il prompt viene filtrato prima della chiamata
upstream, quindi masking e blocking funzionano in modo identico sia che la
risposta sia in streaming sia che non lo sia. È la superficie che PII Shield
applica oggi.
Block in fase di output
Block in fase di output
Applicato sia sulle risposte in streaming sia su quelle non in streaming. Su
uno stream, uno scanner interrompe lo stream a metà ed emette un messaggio
sostitutivo prima che qualsiasi contenuto bloccato raggiunga il client; un
block di output rimborsa la quota pre-consumata.
Mask in fase di output
Mask in fase di output
Attualmente solo non-streaming. Su una risposta in streaming il chunk
originale passa non mascherato — la riscrittura in-band dello stream è un
miglioramento pianificato. Per il masking delle risposte oggi, usa richieste
non-streaming, oppure affidati al masking in fase di input. Verifica prima la
tua esatta combinazione stage/stream nel tab Test.
6. Vedi cosa è stato catturato
Ogni regola che scatta registra un match — il suo tipo, l’azione, lo stage e una stringa di dettaglio — visibile sul feed Matches del workspace (GET /api/guardrail/match, aperto a ogni membro). Da lì puoi raggruppare, filtrare,
esportare in CSV e marcare i falsi positivi.
I valori grezzi non vengono loggati di default. Il toggle Log raw
content di un guardrail è disattivato — la postura conservativa per la privacy
— quindi il feed Matches registra che una regola PII è scattata e quale entità,
ma non la sottostringa corrispondente (l’indirizzo email stesso). Attivalo
per singolo guardrail solo quando ti serve il valore per il triage;
l’impostazione non è retroattiva. Catturare PII nella tua stessa traccia di
audit per fare il debug di una fuga di PII sarebbe controproducente.
7. Vai oltre
Per controlli completi di residenza, retention e diritto alla cancellazione — inclusa l’installazione di un compliance pack che materializza questi guardrail per GDPR, HIPAA o PCI DSS — parti dalle pagine di riferimento qui sotto.Riferimento Guardrails
Ogni tipo di regola, stage, azione, entità custom, versioning e l’eval
harness — il riferimento approfondito dietro questa pagina.
Fuga di segreti
Il fratello a forma di credenziale — token AWS, OpenAI, GitHub — catturato
dal guardrail Secrets Blocker.
Output non sicuro
Filtrare ciò che il modello rimanda indietro, non solo ciò che riceve.
Guardrails vs Firewall
Quando filtrare il testo e quando governare le azioni — e perché di solito li
vuoi entrambi.
