1. A política de segurança por chave: dois campos em uma chave
Um guardrail triaga o texto que flui através de um modelo (PII, segredos, jailbreaks). Uma política de firewall governa as chamadas de ferramenta que um agente emite (quais ferramentas, quais servidores MCP, quais hosts). Ambos são políticas nomeadas, com escopo de workspace — criadas uma vez, compartilhadas no workspace — e uma chave opta por uma específica através de dois campos:| Campo | Vincula | Define no console |
|---|---|---|
guardrail_id | O guardrail que triaga os prompts e respostas desta chave. | Developer+ |
firewall_policy_id | A política de firewall que avalia as chamadas de ferramenta desta chave. | Developer+ |
/console/token. Definir qualquer um
deles é uma ação de Developer+ — as próprias políticas também são criadas
como Developer+ (veja
Escopo e chaves).
Esses dois campos são independentes. Uma chave pode anexar um guardrail e
não uma política de firewall, o inverso, ambos ou nenhum — cada plano
resolve por conta própria. Deixar um campo sem definir (
0) não é o mesmo que
desligar o enforcement; veja §3.2. Um exemplo concreto
Digamos que o guardrail padrão do seu workspace sinaliza PII mas a deixa passar, e a política de firewall padrão audita cada chamada de ferramenta. Isso está bom para a maioria dos agentes — mas o seu agente de finanças lida com SSNs de clientes e nunca deveria chamar uma ferramenta de shell. Crie umfinance-guardrail mais rígido (bloqueia PII de vez) e um finance-firewall
(allow-list só das três ferramentas de que precisa), depois vincule ambos à
chave desse agente:
12 e suas chamadas de ferramenta são avaliadas pela política 8 — enquanto
toda outra chave no workspace continua rodando os padrões do workspace. O
próprio código do agente nunca muda; ele continua chamando
https://api.orcarouter.ai/v1/... com a sua chave sk-orca-… exatamente como
antes.
3. Resolução: a regra que pega as pessoas
Para cada requisição, o gateway resolve o guardrail ativo e a política de firewall ativa independentemente. A ordem parece a mesma para ambos — anexo primeiro, padrão do workspace segundo — mas eles divergem em um caso.Resolução de guardrail
Anexado e habilitado → usa
Anexado e habilitado → usa
O
guardrail_id da chave aponta para um guardrail que existe e está
habilitado. Esse guardrail triaga a requisição.Anexado mas DESABILITADO ou deletado → nenhum guardrail
Anexado mas DESABILITADO ou deletado → nenhum guardrail
Desabilitar o guardrail anexado é um interruptor de desligar. A chave
não recebe nenhuma triagem de conteúdo — ela não cai de volta para o
padrão do workspace. Isso é deliberado: anexar um guardrail e desabilitá-lo é
como você desliga a triagem para aquela chave.
Não definido (0) → padrão do workspace
Não definido (0) → padrão do workspace
Nenhum
guardrail_id na chave. O guardrail padrão habilitado do workspace
se aplica, se houver um definido.Nenhum → sem enforcement
Nenhum → sem enforcement
Nenhum anexo e nenhum padrão do workspace → a requisição passa sem triagem
de conteúdo.
Resolução de firewall
Anexado e habilitado → usa
Anexado e habilitado → usa
O
firewall_policy_id da chave aponta para uma política que existe e está
habilitada. Essa política avalia as chamadas de ferramenta da chave.Anexado mas DESABILITADO → padrão do workspace
Anexado mas DESABILITADO → padrão do workspace
Aqui está a diferença. Um anexo de firewall desabilitado cai de volta para
a política de firewall padrão do workspace — ele não desliga o
enforcement. Desabilitar um anexo de firewall reverte a chave para o padrão
do workspace; não deixa a chave desprotegida.
Não definido (0) → padrão do workspace
Não definido (0) → padrão do workspace
Nenhum
firewall_policy_id na chave → a política de firewall padrão
habilitada do workspace se aplica.4. Como é um bloqueio
Quando uma política vinculada nega uma requisição, o chamador vê um erro estruturado — o agente pode reagir em vez de quebrar:| Plano | Código de erro | HTTP | Custo |
|---|---|---|---|
| Guardrail | guardrail_blocked | 400 | Nenhum — um bloqueio de input dispara antes da medição; um bloqueio de output reembolsa. Marcado skip-retry. |
| Firewall (inbound) | firewall_blocked | 400 | Um bloqueio inbound dispara antes da chamada ao modelo, então sem tokens de modelo. Skip-retry. |
| Firewall (retido) | firewall_approval_pending | 400 | Retido para aprovação humana; o agente faz polling e reenvia uma vez aprovado. |
5. Para onde ir a seguir
Escopo e chaves
O modelo completo de três níveis — workspace, política, chave — e cada campo
que uma chave carrega.
O objeto token
Cada campo em uma chave:
model_limits, allow_ips, credit_limit_usd,
expired_time e os dois anexos de política.Guardrails
Crie a política de conteúdo que você vincula via
guardrail_id — regras,
entidades de PII, ações e presets.Firewall
Crie a política de chamada de ferramenta que você vincula via
firewall_policy_id — vereditos, superfícies e níveis de autonomia.Quer definir toda a postura do seu workspace em um único movimento em vez de
vincular chaves uma a uma? Um nível de autonomia escreve ambos os planos —
guardrails e firewall — de uma vez. Depois anexe políticas mais rígidas nas
poucas chaves que precisam ir além do padrão do workspace. Veja
Guardrails vs. Firewall.
