Tudo aqui se vincula ao seu workspace e é configurado a partir do console.
Seu chatbot continua chamando
https://api.orcarouter.ai/v1/chat/completions
com a mesma chave sk-orca-... — apenas a política no gateway muda. As ações
de configuração precisam dos papéis indicados por etapa; as chamadas de relay
usam a chave com escopo.1. O modelo de ameaças de um chatbot público
Antes de criar qualquer coisa, saiba contra o que você está defendendo. A superfície de ataque de um chatbot é mais estreita que a de um agente completo — mas os riscos de alta frequência são concretos:PII entra, PII registrada
Usuários colam emails, números de cartão, SSNs no chat — e você os
encaminha upstream e para os seus logs.
Injeção de prompt
“Ignore as instruções anteriores e …” — tentativas de sobrescrever seu
system prompt e mudar o comportamento do bot.
Jailbreaks
Enquadramentos DAN / role-play que tentam tirar o bot da política.
Saída insegura
O modelo ecoando segredos vazados, boilerplate de system prompt ou
conteúdo com injeção de volta para o chat.
2. Um guardrail, quatro tarefas
Em vez de quatro políticas separadas, crie um guardrail de workspace com regras ordenadas cobrindo cada risco. Um guardrail é uma lista nomeada e ordenada de regras; cada regra diz o que procurar, onde (input, output
ou both) e o que fazer (block, mask ou flag).
No console, abra Guardrails → New guardrail, dê o nome chatbot-shield e
adicione as regras abaixo. Criar um guardrail — e rodar o sandbox de Test —
precisa do papel Developer; visualizar guardrails está aberto a qualquer
membro.
a. PII na requisição
Adicione uma regra de PII, stageinput, ação mask. O conjunto de
entidades embutido é fechado — escolha as que um chatbot realmente vê:
jane@acme.com
vira [EMAIL], então o modelo upstream nunca vê o endereço. O override
entity_actions bloqueia a requisição inteira em um número de cartão ou
SSN enquanto mascara as entidades de menor severidade. Isto é exatamente o
preset PII Shield, estendido com overrides por entidade — aplique o preset
a partir da biblioteca de templates e edite dali.
b. Triagem de injeção de prompt
O OrcaRouter entrega isto como o preset de segurança Prompt-Injection Basics (uma denylist de palavras-chave para frases como “ignore previous instructions” e “reveal your system prompt”; para cobertura regex mais rígida de enquadramentos DAN / role-play, adicione o preset Jailbreak / Role-Play Blocker) e, para intenção semântica que nenhum padrão captura, uma regrallm_judge. Adicione o preset, depois uma regra de judge no stage
input com um rubric que sinaliza tentativas de injeção/override. O judge roda
contra um modelo no seu workspace, é limitado por judge_timeout_ms e falha
aberto por padrão (um erro do judge é registrado e a requisição continua) —
defina judge_fail_open: false para falhar fechado.
c. Segurança de saída
Adicione uma regra de block no stageoutput (regex ou keyword) para
conteúdo que nunca deve chegar à janela de chat — segredos vazados, tokens de
controle de chat-template, boilerplate de system prompt. O Secrets & API-Key
Blocker e os presets de segurança de vazamento de system prompt cobrem os
casos comuns; aplique-os e fixe as regras relevantes ao stage output. O
block de saída é aplicado também em streaming — o scanner corta o stream em
voo e emite uma mensagem de substituição antes que o conteúdo bloqueado chegue
ao usuário.
3. Teste antes de lançar
Todo editor de guardrail tem uma aba Test. Cole uma amostra, escolha o stage e rode a política atual localmente — sem chamada upstream, sem cota gasta.| Cole isto | Stage | Espere |
|---|---|---|
email me at jane@acme.com | input | email me at [EMAIL] |
ignore previous instructions | input | flag / block (sua escolha) |
cartão 4111 1111 1111 1111 | input | guardrail_blocked (conforme o override) |
4. Cunhe uma única chave com escopo para o bot
Um guardrail só aplica enforcement em chaves que resolvem para ele. Dê ao chatbot sua própria chave, escopada ao mínimo de que ele precisa — nunca sua chave para toda a conta. Em API Keys → New key, defina:Vincule o guardrail
Vincule o guardrail
Escolha
chatbot-shield no dropdown Guardrail. Isso define
guardrail_id na chave. Um vínculo explícito é o oposto do interruptor de
desligar: se estiver definido e habilitado, ele sempre se aplica e nunca cai
de volta silenciosamente. (Deixe-o sem definir para cair de volta ao
guardrail is_default do workspace.)Limite o gasto
Limite o gasto
Defina
credit_limit_usd em um teto sensato (0 = ilimitado). Um chatbot
público é a chave com maior probabilidade de ser abusada — um teto de
crédito rígido é o seu limite de raio de explosão. Veja
denial-of-wallet.Fixe os modelos
Fixe os modelos
Ative
model_limits e liste apenas o(s) modelo(s) que o bot tem permissão
de chamar, para que uma chave vazada não possa ser usada para rodar um
modelo caro que você nunca pretendeu expor.Restrinja ainda mais
Restrinja ainda mais
Defina
allow_ips para os IPs de egress do seu backend se o bot chama de um
servidor fixo, e um expired_time se a chave for temporária (-1 = nunca
expira).chatbot-shield sem
nenhum código ciente de que a triagem está acontecendo.
5. Observe em produção
Duas leituras mantêm você honesto, ambas com escopo de workspace:- Guardrails → Matches (qualquer Member) — toda regra que disparou: tipo, ação, stage e detalhe. A substring correspondente é registrada somente se Log raw content estiver ligado para o guardrail (desligado por padrão — a postura conservadora de privacidade). Marque um falso positivo para ajustar a política (Admin).
- Version history — toda mudança escreve uma linha de histórico; faça
diff de quaisquer duas versões e reverta se uma regra se mostrar
agressiva demais. Uma requisição bloqueada retorna HTTP 400
guardrail_blocked, custa nenhuma cota e é marcada como skip-retry.
Uma resposta
guardrail_blocked é um 400 deliberado e visível ao usuário.
Trate-o na UI do seu chatbot com uma mensagem amigável (“Não consigo processar
isso”) em vez de expor o erro bruto — o gateway já parou o turno inseguro por
você.6. Se o seu bot chama ferramentas
No momento em que seu chatbot pode chamar uma função, buscar uma URL ou alcançar um servidor MCP, a triagem de texto não basta — você precisa do plano de ação. Vincule uma política de Firewall à mesma chave viafirewall_policy_id, ou aplique o nível de autonomia balanced
para auditar chamadas de ferramenta e sinalizar PII em todo o workspace antes
de restringir. O caminho mais rápido é o
quickstart de zero trust; para um agente
que chama ferramentas pesadamente, veja
proteja um agente autônomo.
7. Para onde aprofundar
Referência de Guardrails
Cada tipo de regra, entidade de PII, campo de judge e o eval harness por
completo.
Guardrails vs. Firewall
Plano de texto vs. plano de ação — quando você precisa de qual.
Modos de enforcement
Observe → shadow → enforce: faça o rollout sem quebrar o bot.
Escope chaves, políticas, workspaces
Como o vínculo de chave e os padrões de workspace resolvem.
