Tutto qui si collega al tuo workspace ed è configurato dalla console. Il
tuo chatbot continua a chiamare
https://api.orcarouter.ai/v1/chat/completions
con la stessa chiave sk-orca-... — cambia solo la policy nel gateway. Le
azioni di configurazione richiedono i ruoli indicati per ciascun passaggio; le
chiamate di relay usano la chiave con scope.1. Il modello di threat per un chatbot pubblico
Prima di scrivere qualsiasi cosa, sappi contro cosa ti stai difendendo. La superficie d’attacco di un chatbot è più ristretta di quella di un agent completo — ma i rischi ad alta frequenza sono concreti:PII in entrata, PII loggata
Gli utenti incollano email, numeri di carta, SSN in chat — e tu li inoltri
a monte e nei tuoi log.
Prompt injection
“Ignora le istruzioni precedenti e …” — tentativi di sovrascrivere il tuo
system prompt e cambiare il comportamento del bot.
Jailbreak
Framing DAN / role-play che cercano di tirare il bot fuori policy.
Output non sicuro
Il modello che restituisce nella chat segreti trapelati, boilerplate del
system prompt o contenuto carico di injection.
2. Un guardrail, quattro compiti
Anziché quattro policy separate, scrivi un guardrail di workspace con regole ordinate che coprono ciascun rischio. Un guardrail è un elenco ordinato e nominato di regole; ogni regola dice cosa cercare, dove (input,
output o both) e cosa farne (block, mask o flag).
Nella console, apri Guardrails → New guardrail, chiamalo
chatbot-shield e aggiungi le regole qui sotto. Scrivere un guardrail — ed
eseguire la sandbox di Test — richiede il ruolo Developer; visualizzare
i guardrail è aperto a qualsiasi membro.
a. PII sulla richiesta
Aggiungi una regola PII, stageinput, azione mask. L’insieme di
entità integrate è chiuso — scegli quelle che un chatbot vede davvero:
jane@acme.com diventa
[EMAIL], così il modello a monte non vede mai l’indirizzo. L’override
entity_actions blocca del tutto la richiesta su un numero di carta o un
SSN mentre maschera le entità a severità più bassa. Questo è esattamente il
preset PII Shield, esteso con override per-entità — applica il preset dalla
libreria dei template e modifica da lì.
b. Screening della prompt injection
OrcaRouter fornisce questo come preset di sicurezza Prompt-Injection Basics (una denylist di keyword per frasi come “ignore previous instructions” e “reveal your system prompt”; per una copertura regex più stringente dei framing DAN / role-play, aggiungi il preset Jailbreak / Role-Play Blocker) più, per l’intento semantico che nessun pattern coglie, una regolallm_judge. Aggiungi il preset, poi una regola judge sullo stage input
con una rubrica che segnala tentativi di injection/override. Il judge gira
contro un modello nel tuo workspace, è limitato da judge_timeout_ms e fa
fail open per default (un errore del judge viene loggato e la richiesta
prosegue) — imposta judge_fail_open: false per fare fail closed.
c. Sicurezza dell’output
Aggiungi una regola di block allo stageoutput (regex o keyword) per
contenuti che non devono mai raggiungere la finestra di chat — segreti
trapelati, token di controllo del chat-template, boilerplate del system prompt.
Il Secrets & API-Key Blocker e i preset di sicurezza per il leak del
system-prompt coprono i casi comuni; applicali e fissa le regole rilevanti allo
stage output. Il block dell’output è applicato anche in streaming — lo
scanner taglia lo stream in corsa ed emette un messaggio sostitutivo prima che
il contenuto bloccato raggiunga l’utente.
3. Testa prima di spedire
Ogni editor di guardrail ha un tab Test. Incolla un campione, scegli lo stage ed esegui la policy corrente localmente — nessuna chiamata a monte, nessuna quota spesa.| Incolla questo | Stage | Aspettati |
|---|---|---|
email me at jane@acme.com | input | email me at [EMAIL] |
ignore previous instructions | input | flag / block (a tua scelta) |
carta 4111 1111 1111 1111 | input | guardrail_blocked (per l’override) |
4. Conia un’unica chiave con scope per il bot
Un guardrail applica solo sulle chiavi che si risolvono su di esso. Dai al chatbot la sua chiave, con scope al minimo necessario — mai la tua chiave a livello di account. In API Keys → New key, imposta:Collega il guardrail
Collega il guardrail
Scegli
chatbot-shield dal dropdown Guardrail. Questo imposta
guardrail_id sulla chiave. Un collegamento esplicito è l’opposto
dell’interruttore di disattivazione: se è impostato e abilitato, si applica
sempre e non ricade mai silenziosamente. (Lascialo non impostato per
ricadere invece sul guardrail is_default del workspace.)Limita la spesa
Limita la spesa
Imposta
credit_limit_usd a un tetto sensato (0 = illimitato). Un chatbot
pubblico è la chiave con più probabilità di essere abusata — un cap di
credito rigido è il tuo limite di blast radius. Vedi
denial-of-wallet.Fissa i modelli
Fissa i modelli
Attiva
model_limits ed elenca solo il/i modello/i che il bot è autorizzato
a chiamare, così una chiave trapelata non può essere usata per eseguire un
modello costoso che non intendevi esporre.Blindala ulteriormente
Blindala ulteriormente
Imposta
allow_ips sugli IP di egress del tuo backend se il bot chiama da
un server fisso, e un expired_time se la chiave è temporanea
(-1 = non scade mai).chatbot-shield senza che alcun codice sappia che lo screening sta avvenendo.
5. Osservalo in produzione
Due letture ti tengono onesto, entrambe con scope a livello di workspace:- Guardrails → Matches (qualsiasi Member) — ogni regola che è scattata: tipo, azione, stage e dettaglio. La sottostringa corrispondente è registrata solo se Log raw content è attivo per il guardrail (disattivato per default — la postura conservativa sulla privacy). Marca un falso positivo per mettere a punto la policy (Admin).
- Version history — ogni modifica scrive una riga di history; fai il
diff di due versioni qualsiasi e revert se una regola si rivela troppo
aggressiva. Una richiesta bloccata restituisce HTTP 400
guardrail_blocked, non costa alcuna quota ed è marcata skip-retry.
Una risposta
guardrail_blocked è un 400 deliberato e visibile all’utente.
Gestiscilo nella UI del tuo chatbot con un messaggio amichevole (“Non posso
elaborarlo”) anziché esporre l’errore grezzo — il gateway ha già fermato il
turno non sicuro al posto tuo.6. Se il tuo bot chiama tool
Nel momento in cui il tuo chatbot può chiamare una funzione, recuperare un URL o raggiungere un MCP server, lo screening del testo non basta — ti serve il piano delle azioni. Collega una policy Firewall alla stessa chiave tramitefirewall_policy_id, o applica il livello di autonomia
balanced per auditare le chiamate a tool e segnalare le PII a livello di
workspace prima di irrigidire. Il percorso più rapido è il
quickstart zero-trust; per un agent che
chiama tool in modo intensivo, vedi
proteggere un agent autonomo.
7. Dove approfondire
Riferimento Guardrails
Ogni tipo di regola, entità PII, campo del judge e l’eval harness per
intero.
Guardrails vs Firewall
Piano del testo vs piano delle azioni — quando ti serve quale.
Modalità di applicazione
Observe → shadow → enforce: fai il rollout senza rompere il bot.
Scope di chiavi, policy, workspace
Come si risolvono il collegamento della chiave e i default del workspace.
