block, mask,
flag, annotate e spotlight. Questa pagina copre le tre scelte di
applicazione a cui ricorri per prime: block, mask e flag. Scegline una per
regola (o, per una regola PII, instrada entità diverse verso azioni diverse;
vedi §5). Le altre due sono azioni di
prompt-shaping, non bloccanti: annotate inietta una nota di sicurezza upstream
(vedi code security), e
spotlight avvolge l’input non attendibile corrispondente in delimitatori così
che il modello lo tratti come dati, non come istruzioni. Il roster completo vive
nella panoramica dei Guardrails.
Per il motore più ampio — tipi di regola, stage, collegare una policy a una
chiave — parti dalla panoramica dei Guardrails
o dal riferimento Guardrails completo.
1. La decisione guardrail block mask flag in una riga
block
Rifiuta la chiamata con HTTP 400
guardrail_blocked. Il modello non gira
mai (stage di input) o la sua risposta non torna mai (stage di output).mask
Redige ogni match — es.
jane@acme.com → [EMAIL] — e lascia passare il
testo sanitizzato. La richiesta continua.flag
Non cambia nulla del traffico. Registra un match nel feed e prosegue.
Solo osservazione.
Queste sono le tre azioni di applicazione. Qualunque imposti è onorata ovunque la
regola giri — il rule builder della console, la
sandbox di Test, e il percorso di relay
/v1/* reale leggono tutti lo stesso valore block / mask / flag.2. Un esempio concreto — tre regole, tre azioni
Ecco un singolo guardrail le cui tre regole scelgono ciascuna un’azione diversa. Lo scrivi nella console (/console/guardrails) sulla tua sessione — la chiave di
relay sk-orca-... serve solo per le chiamate /v1/*, mai per modificare la
policy. Creare o modificare un guardrail richiede il ruolo Developer+.
- La regola block rifiuta qualsiasi prompt che contiene uno di quei termini letterali — HTTP 400, il modello non gira mai.
- La regola mask riscrive email e numeri di telefono in
[EMAIL]/[PHONE]nel prompt prima che il modello lo veda. - La regola flag osserva l’output del modello per un marcatore confidenziale e registra un match senza alterare la risposta — così puoi misurare quanto spesso appare prima di decidere di applicare.
3. block — rifiuta con HTTP 400
Un’azioneblock rifiuta l’intera chiamata. Il chiamante riceve HTTP 400 con
codice di errore guardrail_blocked e un messaggio che nomina il guardrail e la
regola che ha scattato.
Nessuna quota viene addebitata
Nessuna quota viene addebitata
Un block nello stage di input scatta prima della misurazione, quindi
nulla viene consumato. Un block nello stage di output rimborsa la quota
pre-consumata dopo aver rifiutato la risposta. In entrambi i casi il chiamante
non paga nulla per una chiamata bloccata.
È marcato skip-retry
È marcato skip-retry
Un risultato
guardrail_blocked è skip-retry — rieseguire lo stesso
prompt contro un altro canale si limiterebbe a bloccarlo di nuovo, quindi il
gateway non sprecherà un retry. Vedi
l’errore guardrail_blocked.È applicato anche sullo streaming
È applicato anche sullo streaming
Su una risposta non in streaming la risposta viene filtrata prima che
torni. Su una risposta in streaming uno scanner interrompe lo stream a
metà ed emette un messaggio sostitutivo prima che qualsiasi contenuto
bloccato raggiunga il client. Vedi
streaming coverage.
block quando un match significa che la richiesta non deve procedere —
segreti in un prompt, un tentativo di jailbreak, una linea di compliance rigida.
4. mask — redige e continua
Un’azionemask redige ogni match e lascia passare la richiesta con il testo
sanitizzato. Il modello upstream non vede mai l’originale. Su una regola PII, ogni
match viene sostituito con un tag tipizzato derivato dall’entità — un’email
diventa [EMAIL], un SSN diventa [SSN], una carta di credito
[CREDIT_CARD], e così via. (Puoi sovrascrivere la stringa di sostituzione per
entità personalizzata; vedi formati di masking.)
Il masking nello stage di input è attivo su ogni stream. Riscrive la
richiesta prima che il modello giri, in streaming o meno. Il masking nello
stage di output si applica solo alle risposte non in streaming — il testo
mascherato viene inoltrato dopo che la risposta completa è filtrata. Su una
risposta in streaming il gateway calcola la maschera ma non inoltra ancora il
testo redatto, quindi una regola mask non redige una risposta in streaming
oggi; il masking dell’output in-stream è nella roadmap. (Un block di output
interrompe comunque uno stream a metà — vedi §3.) Dimostra prima la tua specifica
combinazione stage/stream nella sandbox. Vedi
streaming coverage.
mask quando il contenuto va bene ma una sottostringa non dovrebbe
raggiungere il modello — la redazione di PII è il caso canonico. Il punto di
partenza chiavi-in-mano è il preset PII Shield; vedi
PII Shield.
5. flag — registra solo, non cambia nulla
Un’azioneflag è solo osservazione: la richiesta è byte-identica a una
senza alcuna regola, eccetto che un match è registrato nel
feed dei Matches. Nulla è bloccato, nulla
è redatto.
Un match segnalato registra il tipo di regola, l’azione, lo stage e una stringa
di detail — e la sottostringa corrispondente solo se Log raw content è
attivo per quel guardrail (disattivato per default, la postura conservativa sulla
privacy). Vedi logging e privacy.
6. Override di azione per entità
Una singola regola PII può instradare entità diverse verso azioni diverse tramiteentity_actions, invece di impilare regole sovrapposte. Ogni valore di
override deve essere uno tra block / mask / flag / annotate, e deve
riferirsi a un’entità che la regola già dichiara — il validator rifiuta qualsiasi
altra cosa.
7. Scegliere l’azione giusta
| Se vuoi… | Usa | Effetto |
|---|---|---|
| Fermare del tutto la richiesta | block | HTTP 400, nessuna quota, skip-retry |
| Rimuovere una sottostringa, mantenere la chiamata | mask | Testo redatto inoltrato |
| Osservare senza toccare il traffico | flag | Solo match registrato |
Le azioni si compongono con gli stage. La stessa azione si comporta
leggermente diversamente su input vs output — un block di input risparmia quota
in anticipo; un block di output la rimborsa; il masking di output si applica solo
alle risposte non in streaming, mentre un block di output interrompe sia le
risposte in streaming che quelle non in streaming. Leggi
stage di input e
stage di output accanto a questa pagina.
8. Dove andare dopo
L'errore guardrail_blocked
Com’è fatto un 400, perché non costa quota e come funziona lo skip-retry.
Formati di masking
Tag tipizzati, stringhe di sostituzione personalizzate, e com’è un prompt
mascherato per il modello.
Streaming coverage
Esattamente quali combinazioni azione × stage × stream sono applicate oggi.
Modalità di enforcement
Come block / mask / flag si mappano sul modello di enforcement più ampio del
gateway, incluso il verdetto di audit del firewall.
