deny, sanitize, [EMAIL]. Questa pagina è la tabella di lookup
per quelle parole: cosa significa ciascuna, cosa fa alla chiamata e dove andare per la
meccanica completa. Tienila aperta mentre crei regole o fai triage del feed degli eventi.
Due control plane producono due vocabolari. Il Firewall governa
le azioni dei tool ed emette un verdetto. I Guardrails
filtrano il testo di prompt e risposta ed emettono un’azione più, su un mask, un
tag di mascheramento tipizzato. Non condividono mai una parola — un guardrail non
dice mai deny, un firewall non dice mai mask.
Questo è un indice di riferimento, non una guida how-to. Per il caso d’uso dietro ogni
controllo vedi Guardrails vs Firewall;
per i corpi HTTP vedi Codici di errore di sicurezza.
1. Il glossario dei verdetti del firewall
Una regola del firewall (o ildefault_verdict della policy) risolve ogni chiamata a
tool in esattamente uno di questi sei verdetti. Il motore percorre le regole in ordine di
priorità, vince il primo match, e ricade sul default se nulla corrisponde.
allow — lascia passare la chiamata
allow — lascia passare la chiamata
La chiamata procede verso il tool. Comunque loggata come evento del firewall, quindi
compare in Runs e nel feed degli eventi. È ciò che vuoi per i tool che un agent è
esplicitamente autorizzato a usare.
audit — consenti, ma registralo per revisione
audit — consenti, ma registralo per revisione
Traffico identico ad
allow, ma marcato come qualcosa che volevi osservare. È il
default_verdict consigliato: osserva tutto, blocca nulla, finché le tue regole non
sono messe a punto. Il livello di autonomia balanced fornisce il guardrail PII
Shield come solo-flag (audit), così i PII sono registrati senza mettere in attesa la
chiamata.deny — blocca la chiamata
deny — blocca la chiamata
La chiamata non raggiunge mai il tool. Sulla superficie
inbound questo restituisce
HTTP 400 firewall_blocked; attraverso il gateway MCP torna come un errore di
tool (firewall deny: <reason>) così il modello può reagire invece di andare in
crash. Marcato skip-retry. Non costa token del modello.sanitize — redige gli argomenti, inoltra la chiamata ripulita
sanitize — redige gli argomenti, inoltra la chiamata ripulita
Sostituisce le sottostringhe corrispondenti (segreti, PII) negli argomenti della
chiamata a tool con un token
[redacted:<preset>], poi inoltra la chiamata con gli
argomenti ripuliti. Redige solo gli argomenti — mai il contenuto che un tool
restituisce. Sulla superficie inbound, dove non ci sono ancora argomenti al
momento della chiamata, sanitize escala a un deny.pending_approval — in attesa di un umano
pending_approval — in attesa di un umano
La chiamata viene accodata per revisione e l’agent riceve una risposta held che porta
un id di approvazione (HTTP 400
firewall_approval_pending). Un revisore la
risolve nella console o tramite un callback webhook HMAC; l’agent fa polling sull’id e
ri-invia una volta con un header di approvazione monouso. Vedi
Approvazione umana.cap_cost — nega una volta che l'esecuzione supera la spesa
cap_cost — nega una volta che l'esecuzione supera la spesa
Creato come una regola con un tetto in centesimi per regola. Si risolve in
allow
finché l’esecuzione dell’agent è sotto budget e in deny una volta che la spesa
accumulata supera il tetto — quindi un evento mostra allow o deny, non la parola
letterale cap_cost. Un interruttore di sicurezza per i loop incontrollati.Verdetto di default
default_verdict accetta solo i tre verdetti non-interattivi:
| Valore | Significato quando nessuna regola corrisponde |
|---|---|
allow | Consenti silenziosamente le chiamate a tool non coperte. |
audit | Consenti ma registra — il default. |
deny | Blocca qualsiasi cosa nessuna regola consenta esplicitamente (postura default-deny). |
tight imposta default_verdict: deny; balanced e il default
fornito usano audit.
2. Azioni dei guardrail
Una regola di guardrail fa scattare una di cinque azioni. Sono l’equivalente sul piano del testo dei verdetti — e una regola di guardrail non produce mai un verdetto del firewall.| Azione | Cosa fa | Quota |
|---|---|---|
block | Rifiuta l’intera richiesta con HTTP 400 guardrail_blocked. | Nessuna — i block in input scattano prima del metering; i block in output rimborsano. |
mask | Redige ogni match in un tag tipizzato (vedi §3) e inoltra il testo ripulito. | Normale — la chiamata procede. |
flag | Solo log. Registra un match; non cambia nulla del traffico. | Normale. |
annotate | Non bloccante. Attacca una nota leggibile dall’uomo alla richiesta (iniettata upstream come avviso di sicurezza) senza mascherare o bloccare il testo. | Normale. |
spotlight | Non bloccante. Avvolge il testo (non attendibile) corrispondente in delimitatori e dice al modello di trattare la regione delimitata come dato, mai come istruzioni — la difesa “spotlighting” da prompt-injection. | Normale. |
pii può applicare azioni diverse a entità diverse con
entity_actions — maschera email e telefoni, ma blocca su credit_card e ssn, da
un’unica regola. Le chiavi devono essere un’entità abilitata sulla regola; i valori
devono essere block / mask / flag / annotate.
3. Il glossario dei tag di mascheramento
Su un’azionemask, ogni entità corrispondente viene sostituita inline con un tag
tipizzato — [<NOME_ENTITÀ_MAIUSCOLO>] — così il modello (fase di input) o il chiamante
(fase di output) vede la forma del dato senza il valore. Il mascheramento gira su
entrambe le fasi, incluse le risposte in streaming: uno scanner di stream token-aware
maschera i match che attraversano i confini dei chunk prima che raggiungano il client.
| Entità | Tag |
|---|---|
email | [EMAIL] |
phone | [PHONE] |
credit_card | [CREDIT_CARD] |
ssn | [SSN] |
ip | [IP] |
iban | [IBAN] |
mac_address | [MAC_ADDRESS] |
jwt | [JWT] |
aws_access_key | [AWS_ACCESS_KEY] |
api_key_openai | [API_KEY_OPENAI] |
bitcoin_address | [BITCOIN_ADDRESS] |
| Entità | Tag | Regione |
|---|---|---|
jp_mynumber | [JP_MYNUMBER] | Giappone |
kr_rrn | [KR_RRN] | Corea del Sud |
cn_resident_id | [CN_RESIDENT_ID] | Cina |
Le entità personalizzate seguono la stessa convenzione. Un’entità personalizzata
chiamata
employee_id maschera a [EMPLOYEE_ID] a meno che tu non imposti una
sostituzione mask_with esplicita. Fino a 25 entità personalizzate per regola, ciascuna
una regex RE2 con un checksum luhn opzionale. Vedi
Rilevamento PII.4. Un esempio svolto
Una singola chiamata al tooldb.query, letta dall’alto in basso, tocca entrambi i
vocabolari:
sanitize del firewall ha ripulito gli argomenti del tool; il mask del guardrail
ha ripulito il testo del prompt; il tag [EMAIL] è ciò che il modello vede al posto
dell’indirizzo. Stessa richiesta, tre layer diversi, tre parole da questo glossario.
5. Parole di postura che vedrai accanto ai verdetti
Queste non sono verdetti o azioni, ma decidono se un verdetto viene applicato del tutto — quindi compaiono nelle stesse viste di eventi e impostazioni.| Parola | Piano | Significato |
|---|---|---|
| Shadow mode | Firewall | Flag per-policy. Declassa ogni verdetto applicativo ad audit, prefissa la motivazione [shadow] would …. |
| Observe mode | Firewall | Impostazione del workspace. Quando nessuna policy si risolve, consente la chiamata ma la logga come un gap di copertura (Discovered tools). |
| Enforce | Firewall | Shadow off + una policy collegata: i verdetti hanno effetto. |
| Fail-open | Guardrails | Default per le regole avanzate (llm_judge, grounding, external) — un timeout viene osservato, la richiesta continua. Passa a fail-closed per regola. |
| Log raw content | Guardrails | Disattivato di default. Quando è off, un match registra che una regola è scattata ma non la sottostringa corrispondente. |
6. Dove ogni parola è definita
| Superficie | Vocabolario | Pagina di riferimento |
|---|---|---|
| Policy del firewall | allow audit deny sanitize pending_approval cap_cost | Firewall |
| Matching delle regole del firewall | tool_name_glob, args_match, egress, sequence | Regole del firewall |
| Regola del guardrail | block mask flag annotate spotlight | Guardrails |
| PII del guardrail | nomi delle entità + tag di mascheramento | Guardrails |
| MCP e skill | risk band delle skill, modalità quarantine / block | Firewall MCP, Firewall skills |
| Corpi di errore HTTP | guardrail_blocked, firewall_blocked, firewall_approval_pending | Codici di errore |
7. Letture correlate
Perché è stato bloccato?
Risali da una singola chiamata negata alla regola e al verdetto esatti che l’hanno
fermata.
Modalità di applicazione
Come audit, shadow, observe ed enforce si relazionano — e come fare rollout in
sicurezza.
Guardrails vs Firewall
Quale piano possiede quale decisione, e perché una richiesta può attraversare
entrambi.
Chiamate a tool pericolose
La minaccia per cui esistono i verdetti
deny e sanitize.