Saltar para o conteúdo principal
O OrcaRouter aplica quatro camadas a cada requisição em uma ordem fixa. Cada camada é independente, com escopo de workspace, e se conecta a uma chave de API sem mudança de código. Esta página percorre uma requisição por todas as quatro camadas em sequência, depois cobre a ordem de resolução e o comportamento de fail-open/fail-closed. Para uma introdução mais ampla, veja Segurança de agentes de IA com OrcaRouter.

1. Camada 1 — Chave de API com escopo

A chave é o primeiro portão. Antes que qualquer conteúdo seja inspecionado ou qualquer modelo seja chamado, o gateway resolve a chave chamadora e decide se a requisição é sequer permitida. O que a chave carrega:
  • model_limits — o conjunto de modelos que a chave pode chamar. Uma requisição para um modelo fora da lista é rejeitada imediatamente.
  • allow_ips — lista de permissão de IPs opcional. Uma requisição de uma fonte não listada é rejeitada.
  • credit_limit_usd — um limite de gasto fixo. Uma requisição que ultrapassaria o limite da chave é rejeitada.
  • expiry — uma data de expiração fixa. Chaves expiradas são rejeitadas.
  • environment — uma tag (production, staging, dev, …) para organizar e identificar a chave por ambiente de deployment.
  • guardrail_id — a política de guardrail que se vincula a esta chave (veja as Camadas 2 e 4).
  • firewall_policy_id — a política de firewall que se vincula a esta chave (veja a Camada 3).
  • is_firewall_gateway — sinaliza a chave como um token com escopo de firewall-gateway; necessário para as rotas de avaliação e gateway MCP.
Uma requisição que falha na validação da chave nunca chega a um modelo — e nunca é medida. Onde configurar: Console → API Keys, ou a API de token. Exige Developer+ para criar ou editar; is_firewall_gateway e leituras de chave em texto simples exigem Admin. Para o modelo completo de chave, veja Escopo, chaves, políticas e workspaces.

2. Camada 2 — Guardrails de entrada

Uma vez que a chave é validada, o gateway executa as regras de estágio de entrada do guardrail vinculado contra o texto da requisição — antes de qualquer chamada ao modelo upstream. O que ele vê: As mensagens do chamador como submetidas. (Um prompt injetado a partir de um prompt de registro é anexado depois, na etapa de roteamento; as regras de entrada não o veem.) Tipos de regra disponíveis: keyword, regex, pii, max_chars, external, llm_judge, grounding. Ações que uma regra pode produzir:
AçãoO que acontece
blockA requisição é rejeitada — HTTP 400 guardrail_blocked. Nenhuma cota é cobrada. Marcada como skip-retry.
maskA correspondência é redigida (ex.: jane@acme.com[EMAIL]). O texto sanitizado continua para o modelo.
flagA correspondência é registrada; o tráfego não é alterado.
Um block neste estágio significa que o modelo nunca é chamado. Custo: zero. O chamador vê um erro estruturado nomeando o guardrail e a regra que disparou. Onde configurar: Console → Guardrails, ou a API de guardrail. Exige Developer+ para criar ou modificar. Veja Guardrails para a referência completa de regras.

3. Camada 3 — Execução do modelo

Se a chave for válida e os guardrails de entrada passarem, o gateway encaminha a requisição para o modelo upstream. Esta é a única camada sem enforcement configurável — é simplesmente o modelo fazendo seu trabalho. O firewall opera nas ações que o modelo produz (Camada 3 → Camada 4 abaixo), não no modelo em si. Roteamento, fallbacks e balanceamento de carga acontecem aqui de forma transparente.

4. Camada 4 — Agent Firewall (chamadas de ferramenta e egress)

Depois que o modelo responde — ou inline, à medida que as chamadas de ferramenta são emitidas — o Agent Firewall julga cada ação que o modelo solicita. Quatro superfícies de enforcement:
SuperfícieO que o firewall vê
inboundDefinições de ferramenta que o agente anuncia ao modelo. Bloqueie uma ferramenta perigosa antes que o modelo possa escolhê-la.
responsetool_calls que o modelo emite em sua resposta.
mcpUm tools/call despachado através do gateway MCP do Firewall ou do hook de avaliação.
egressUm destino de rede outbound (host / IP / CIDR) reportado por uma ferramenta — a superfície de SSRF e exfiltração de dados.
Vereditos que uma regra (ou o padrão) pode produzir:
VereditoO que faz
allowA chamada prossegue. Registrada.
auditA chamada prossegue; registrada para revisão. O default_verdict padrão.
denyA chamada é bloqueada — HTTP 400 firewall_blocked na superfície inbound; um erro de ferramenta no mcp.
sanitizeSubstrings correspondentes são redigidas dos argumentos da ferramenta; a chamada limpa prossegue. No inbound (sem argumentos ainda), escala para deny.
pending_approvalA chamada é retida; um revisor fora de banda aprova ou rejeita; o agente reenvia com um token de aprovação de uso único.
cap_costNega assim que o gasto acumulado da run do agente excede um limite por regra em centavos.
Um deny na superfície inbound não custa tokens de modelo — o bloqueio dispara antes da chamada upstream. Um pending_approval retorna HTTP 400 firewall_approval_pending com um id de aprovação que o cliente consulta. Onde configurar: Console → Firewall, ou a API de firewall. Exige Developer+ para criar ou modificar políticas e regras. Veja Firewall e Regras de Firewall para a linguagem completa de regras.

5. Camada 5 — Guardrails de saída

Depois que o modelo responde (e depois que qualquer ciclo de chamadas de ferramenta é concluído), o gateway executa as regras de estágio de saída do guardrail vinculado contra o texto da resposta antes que ela alcance o chamador. Os mesmos tipos de regra e ações se aplicam como na Camada 2. Um block de saída retorna HTTP 400 guardrail_blocked e reembolsa a cota pré-consumida — o chamador não paga nada.
Streaming e mascaramento de saída. Uma ação block é aplicada tanto em respostas streaming quanto não-streaming — em um stream, o scanner corta em pleno voo e emite uma substituição. Uma ação mask na saída atualmente se aplica apenas a respostas não-streaming; em uma resposta streaming o chunk original passa sem ser mascarado. Verifique sua combinação de estágio/stream no sandbox de guardrail antes de depender dela.

6. Camada 6 — Auditoria

Cada correspondência, veredito e decisão de aprovação é escrita na trilha de auditoria, correlacionada à run e sessão do agente que as causou. Isso não é uma etapa de enforcement separada — ela roda em paralelo com as Camadas 2–5 — mas é a camada que torna as outras responsáveis. O que é registrado:
  • Correspondências de guardrail: tipo de regra, ação, estágio, string de detalhe e (se Log raw content estiver habilitado) a substring correspondente.
  • Eventos de firewall: superfície, nome da ferramenta, veredito, regra correspondente, código de motivo, fatores de risco e a run/sessão à qual a chamada pertence.
  • Decisões de aprovação: quem aprovou ou rejeitou, quando e se a regra subjacente mudou entre o hold e a decisão.
  • Mudanças de política: cada criação, atualização, exclusão e mudança de nível de autonomia escreve uma linha de auditoria versionada.
Onde revisar: Console → Guardrails → Matches; Console → Firewall → Events, Runs & Sessions, Audit. O feed de Matches de guardrail está aberto a qualquer Member do workspace; os feeds de Events e Runs & Sessions do firewall exigem Developer+.

7. Tabela resumo

CamadaO que controlaO que vêResultado em um hitOnde configurar
1. Chave com escopoIdentidade, acesso a modelos, gasto, IP, expiraçãoO token de autenticação da requisiçãoHTTP 4xx antes de qualquer execução; sem mediçãoConsole → API Keys (Developer+)
2. Guardrails de entradaConteúdo de texto da requisiçãoMensagens do chamadorBlock (HTTP 400 guardrail_blocked, sem cobrança), mask ou flagConsole → Guardrails (Developer+)
3. ModeloConfig de roteamento / canal
4. Agent FirewallChamadas de ferramenta, dispatch de MCP, egressNome da ferramenta, argumentos, destinoallow / audit / deny / sanitize / pending_approval / cap_costConsole → Firewall (Developer+)
5. Guardrails de saídaConteúdo de texto da respostaResposta do modeloBlock (HTTP 400, cota reembolsada), mask ou flagConsole → Guardrails (Developer+)
6. AuditoriaAtribuição e trilhaTudo acimaEntrada de log imutávelConsole → Matches (Member) / Events & Runs (Developer+)

8. Ordem de resolução de política

Para qualquer requisição, o guardrail ativo e a política de firewall são resolvidos independentemente:
  1. Vinculação da chave — se a chave carrega um guardrail_id ou firewall_policy_id explícito, essa política se vincula (quando existe e está habilitada).
  2. Padrão do workspace — se a chave não tem vinculação, o guardrail ou política is_default habilitado do workspace se aplica.
  3. Nenhum — sem enforcement. A requisição é byte-idêntica à de um workspace que nunca habilitou o recurso.
Os dois planos diferem quando uma política vinculada está desabilitada: uma vinculação de guardrail desabilitada desliga os guardrails para essa chave (sem fallback), enquanto uma vinculação de firewall desabilitada cai de volta para a política de firewall padrão do workspace. No máximo um guardrail e uma política de firewall por workspace podem ser o padrão. Promover um novo padrão rebaixa o antigo na mesma transação.

9. Fail-open e fail-closed

Dois comportamentos — aplicados a casos diferentes.Fail-open (erros transitórios): Se a resolução de política encontra um erro transitório — um soluço do banco de dados, uma falha de rede no caminho para um fornecedor externo — o gateway degrada para sem enforcement em vez de derrubar o tráfego. A segurança degrada; a disponibilidade é preservada. Configure fail_open: false em regras external ou llm_judge quando uma verificação perdida for inaceitável para a sua política.Fail-closed (casos ambíguos): Onde não aplicar derrotaria a regra, o motor falha fechado: um relatório de egress com um destino não resolvível é negado; um armazenamento de aprovação inalcançável retém a chamada em vez de passá-la; uma skill cuja propriedade não pode ser resolvida é bloqueada. A disponibilidade é preservada no caminho feliz; a segurança não é silenciosamente pulada nos casos extremos que importam.
Veja Modos de enforcement para a árvore de decisão completa e Como o OrcaRouter inspeciona requisições para a mecânica do caminho de relay.

10. Aprofundamentos

Guardrails

Referência completa de regras — tipos, ações, entidades PII, LLM judge, grounding e o sandbox de testes.

Firewall

Modelo de política, vereditos, superfícies, shadow mode, aprovação HITL e detecção de anomalias.

Regras de Firewall

A linguagem de correspondência de regras — globs de ferramenta, cláusulas de argumento, listas de egress e sanitizers.

Guardrails vs. Firewall

Qual camada intercepta qual ameaça — e quando você precisa de ambas.

Escopo, chaves e políticas

O modelo completo de chave: o que uma chave carrega e como as políticas se resolvem.

Modos de enforcement

Fail-open vs. fail-closed — a árvore de decisão completa.
Cada chamada pelo OrcaRouter passa por todas as quatro camadas de enforcement em ordem — validação de chave, inspeção de entrada, julgamento do firewall, inspeção de saída — com uma trilha de auditoria completa escrita em todas elas.