guardrail_blocked. Esta página é a
referência principal para esse único erro: como é o corpo, por que ele se
comporta como se comporta, e como tratá-lo no código do cliente. Para o motor
de política por trás dele, veja
Visão geral dos guardrails e a
referência completa.
1. Quando você vê guardrail_blocked
Um guardrail é uma lista ordenada de regras que o gateway executa contra a entrada da requisição e a saída do modelo. Quando uma regra cuja ação é block dispara, a chamada é rejeitada — o modelo upstream nunca é chamado (estágio de input) ou sua resposta é retida (estágio de output). O cliente recebe um 400 carregandoguardrail_blocked.
Nenhuma outra ação produz esse erro. mask redige a correspondência e deixa
o texto sanitizado passar, flag registra um match sem mudar o tráfego, e
as ações de modelagem de prompt (annotate, spotlight) deixam a chamada
prosseguir enquanto adicionam uma nota ou envolvem texto não confiável. Das
cinco ações, apenas block rejeita. Veja
Ações.
guardrail_blocked é uma rejeição de conteúdo (texto entra, texto sai). A
negação de política de ferramenta companheira é firewall_blocked do
Agent Firewall — um erro diferente com um formato
diferente. Veja
guardrails vs. firewall.2. O corpo da resposta
O block é retornado no envelope de erro padrão do gateway no formato OpenAI. Em um endpoint estilo OpenAI (/v1/chat/completions, /v1/responses):
code — guardrail_blocked
code — guardrail_blocked
O identificador de máquina estável. Ramifique sobre este, não sobre a
string da mensagem. É o mesmo valor em cada endpoint e nunca localizado.
message — nomeia o guardrail e a regra
message — nomeia o guardrail e a regra
Legível por humanos. A forma é
request blocked by guardrail "<name>": <detail>, onde <detail> resume o(s) tipo(s) de regra que dispararam
como <type>(<rule-detail>) — por exemplo pii(pii: ssn) ou
keyword(matched 1 keyword(s)). Um block no estágio de output lê
response blocked by guardrail "<name>": <detail>, então o verbo te diz
qual estágio rejeitou a chamada. A mensagem passa por mascaramento de
informações sensíveis antes de deixar o gateway, então não espere a
substring correspondente bruta aqui.type — orcarouter_api_error
type — orcarouter_api_error
O tipo de erro genérico do gateway em endpoints estilo OpenAI. O sinal
distintivo é
code, não type./v1/messages) o envelope é no formato
Claude — {"error": {"type": ..., "message": ...}} — e guardrail_blocked
aparece no campo type, então um SDK nativo do Claude pode distinguir uma
negação de política de uma falha genérica do gateway.
3. Por que guardrail_blocked não custa cota
Uma requisição bloqueada é gratuita — ela nunca debita seu saldo de crédito.| Estágio | Quando o block dispara | Efeito na cota |
|---|---|---|
input | Antes da chamada upstream, à frente da medição | Nada é medido |
output | Depois que o modelo responde, antes de a resposta retornar | A cota pré-consumida é reembolsada |
4. Por que guardrail_blocked pula a retry
O erro é marcado como skip-retry. O roteamento do próprio gateway não fará failover desta requisição para outro canal, porque o block é uma propriedade do seu conteúdo e da sua política — reexecutar o prompt idêntico apenas bloquearia de novo no próximo canal e desperdiçaria a tentativa.5. Tratando no código do cliente
Ramifique sobre o campocode e mostre uma mensagem útil ao usuário final em
vez de tentar de novo.
sk-orca-... aqui é uma chave de relay — ela só carrega tráfego
/v1/*. Você nunca edita um guardrail com ela; escrever e vincular política é
uma ação de console / API de gerenciamento na sua sessão, e criar ou editar um
guardrail exige o papel Developer+.
6. Confirmando e ajustando um block
Toda regra que dispara — block incluído — cai no feed Matches do workspace com seu tipo, ação, estágio e uma string de detalhe. É ali que você confirma qual regra rejeitou uma dada chamada e faz a triagem de falsos positivos.Feed de matches
Veja cada block, mask e flag com tipo, ação e estágio. A substring
correspondente aparece apenas quando Log raw content está ligado.
Logging e privacidade
Conteúdo bruto está desligado por padrão — a postura conservadora de
privacidade. Ligue-o por guardrail quando precisar da substring para
triagem.
Ajustar falsos positivos
Um falso positivo é um sinal de ajuste, não um motivo para desabilitar a
regra. Marque-o e estreite o padrão.
Versionamento
Mudou a política e quer desfazer? Faça o diff de quaisquer duas versões e
reverta como uma nova versão — o histórico nunca é mutado.
Em uma resposta streaming, um block de output ainda se aplica: o
scanner corta o stream em pleno voo antes que qualquer conteúdo bloqueado
chegue ao cliente. O mask de output também se aplica in-band em streams —
o scanner reescreve a correspondência no buffer rolante antes de o prefixo
seguro ser emitido. Veja
cobertura de streaming e
regras stream-safe.
7. Relacionado
Entenda a política
Entenda a política
Veja no tráfego real
Veja no tráfego real
Mapeie para conceitos e ameaças
Mapeie para conceitos e ameaças
