/v1/* fatta da quella chiave viene filtrata — prima che il modello
veda il prompt e dopo che il modello risponde — senza redeploy e senza
modifiche all’SDK.
Questa pagina è l’hub della sezione Guardrails: cos’è un guardrail, i tipi di
regola, gli stage e le azioni, e come una policy si collega a una chiave. Ogni
spoke approfondisce. Per il riferimento completo del motore, vedi
Guardrails.
1. Cosa fanno i guardrails AI sul gateway
La maggior parte dei team ricorre ai guardrails per tenere i dati sensibili fuori dai prompt (PII, segreti), per gestire contenuti non sicuri (jailbreak, intento di prompt-injection), o per soddisfare un controllo di compliance. Un guardrail è la risposta del gateway: una policy nominata, con scope a livello di workspace — un elenco ordinato di regole che il gateway esegue sull’input della richiesta e sull’output del modello. Poiché il binding vive sulla chiave API nel gateway — non nella tua applicazione — modificare un guardrail sposta ogni chiave collegata alla chiamata successiva. Il tuo codice continua a chiamare/v1/chat/completions esattamente come prima.
I guardrails sono una policy di contenuto (testo in entrata, testo in
uscita). L’Agent Firewall complementare è una policy di
tool — governa quali chiamate a tool un agent può effettuare. I due si
compongono; vedi
Guardrails vs. firewall.
2. Un esempio concreto
Crea un guardrail chiamatopii-shield nella console
(/console/guardrails), aggiungi una singola regola PII — stage input,
azione mask, entità email, ssn — e collegala a una chiave. Da quel
momento in poi:
Reply to [EMAIL] please prima di
inoltrare — il modello upstream non vede mai l’indirizzo. Porta quell’entità
ssn su block e la richiesta successiva che contiene un SSN viene
rifiutata con HTTP 400. Nessuna modifica all’applicazione.
3. Regole: type, stage, action
Ogni regola risponde a tre domande. Il motore esegue tutte le regole applicabili e le ripiega in un’unica decisione.Type — cosa cercare
Type — cosa cercare
Sette tipi di regola. Quelli integrati sono deterministici (pure
stringa/regex, nessuna rete); quelli avanzati effettuano chiamate verso un
modello o vendor e girano in modo concorrente.
keyword— denylist letterale, match per sottostringa senza distinzione tra maiuscole e minuscole.regex— un pattern RE2 (tempo lineare, nessuna backreference).pii— detector di entità integrati più i tuoi. Vedi §5.max_chars— limita il numero di caratteri in uno stage.external— delega a un vendor connesso (Aporia, Averta, o il tuo webhook).llm_judge— un controllo semantico contro un modello nel tuo workspace.grounding— valuta la fedeltà della risposta rispetto alle sorgenti recuperate sulla richiesta (RAG).
Stage — dove cercare
Stage — dove cercare
input (la richiesta), output (la risposta del modello), o both.
Le regole di input girano prima della chiamata upstream; le regole di output
girano dopo che il modello risponde. Vedi input stage
e output stage.Action — cosa fare
Action — cosa fare
Cinque azioni emergono nel rule builder:
- block — rifiuta la chiamata con HTTP 400.
- mask — redige il match e lascia passare il testo sanitizzato.
- flag — non cambia nulla del traffico; registra solo il match.
- annotate — lascia il testo intatto ma inietta una nota di sicurezza upstream (es. un avviso CVE prima che il modello risponda).
- spotlight — avvolge il testo non attendibile corrispondente in delimitatori e dice al modello di trattarlo come dati, non come istruzioni.
4. Come un guardrail si collega e si risolve
Un guardrail si lega a una chiave tramiteguardrail_id, oppure un workspace
può marcare un guardrail come suo default. Per ogni richiesta il gateway
risolve in quest’ordine:
- Collegamento esplicito — se il
guardrail_iddella chiave punta a un guardrail che esiste ed è abilitato, si applica quello. Un collegamento esplicito non fa mai fallback: disabilitarlo è l’interruttore di spegnimento. - Default del workspace — se la chiave non ha collegamento, si applica il guardrail di default abilitato.
- Nessuno dei due — nessuna applicazione; la richiesta è byte-identica a un workspace che non ha mai attivato la feature.
Questo differisce dal firewall. Una policy del firewall collegata e
disabilitata fa fallback al default del workspace; un guardrail collegato e
disabilitato va a nessuno. L’interruttore di spegnimento è letterale per i
guardrails.
5. PII detectors
Una regolapii porta un insieme chiuso di detector integrati:
email, phone, credit_card, ssn, ip, iban, mac_address,
jwt, aws_access_key, api_key_openai, bitcoin_address — più i regionali
jp_mynumber, kr_rrn e cn_resident_id.
Su un’azione mask ogni match diventa un tag tipizzato — un’email viene
renderizzata come [EMAIL], un SSN come [SSN]. Puoi sovrapporre fino a
25 entità personalizzate per regola (una regex con checksum Luhn opzionale),
e instradare entità diverse verso azioni diverse in una sola regola tramite
override per entità.
6. Il selettore di preset
New guardrail apre direttamente su un template. I preset sono creati lato server, così la console, la sandbox e questi docs descrivono lo stesso comportamento. Il selettore li raggruppa in categorie:| Categoria | Preset di esempio | Spoke |
|---|---|---|
| pii / secrets | PII Shield, blocker di credenziali segrete | block secrets |
| safety | prompt-injection, jailbreak, autolesionismo | prompt injection |
| compliance | GDPR, PCI, HIPAA, compliance logger | compliance logger |
| brand / cost | turpiloquio, menzioni di concorrenti, limiti di dimensione | brand safety · cost |
| agent | filtri URL / shell-tool / SQL-nell’output | agentic |
| code_security | block di file segreti, review di licenze copyleft | code security |
7. Quando un guardrail blocca
Una richiesta bloccata restituisce HTTP 400 con codice di erroreguardrail_blocked e un messaggio che nomina il guardrail e la regola che ha
scattato.
- Nessuna quota viene addebitata. Un block nello stage di input scatta prima della misurazione; un block nello stage di output rimborsa la quota pre-consumata.
- La richiesta è marcata skip-retry — rieseguire lo stesso prompt si limiterebbe a bloccarlo di nuovo, quindi il gateway non sprecherà un retry su un altro canale.
8. Dopo che è attivo
Feed dei match
Ogni regola che scatta registra type, action, stage e detail. Raggruppa,
filtra, esporta e scendi in profondità su un singolo match.
Logging e privacy
La sottostringa corrispondente viene registrata solo quando Log raw
content è attivo — disattivato per default, la postura conservativa sulla
privacy.
Versioning
Ogni modifica scrive una riga di cronologia. Confronta due versioni qualsiasi
e ripristina come nuova versione — la cronologia non viene mai mutata.
Testing ed eval
Una tab Test sandbox valuta la policy corrente senza chiamata upstream, e
un harness di eval la valuta contro corpora inclusi o personalizzati.
9. Dove andare dopo
Scegli il tipo di regola giusto
Scegli il tipo di regola giusto
Comprendi il modello
Comprendi il modello
Mappa sulle minacce
Mappa sulle minacce
Riferimento completo del motore
Riferimento completo del motore
Guardrails — ogni campo, ogni rotta, le regole
LLM-judge e grounding, e gli external vendor in profondità.
