Saltar al contenido principal
OrcaRouter aplica cuatro capas a cada solicitud en un orden fijo. Cada capa es independiente, con alcance de espacio de trabajo y se adjunta a una clave API sin cambios de código. Esta página recorre una solicitud a través de las cuatro capas en secuencia, luego cubre el orden de resolución y el comportamiento fail-open/fail-closed. Para una introducción más amplia, ver Cómo asegurar agentes de IA con OrcaRouter.

1. Capa 1 — Clave API con alcance

La clave es la primera puerta. Antes de que se inspeccione cualquier contenido o se llame a cualquier modelo, el gateway resuelve la clave llamante y decide si la solicitud está siquiera permitida. Lo que lleva la clave:
  • model_limits — el conjunto de modelos que la clave puede llamar. Una solicitud para un modelo fuera de la lista se rechaza de inmediato.
  • allow_ips — lista de IPs permitidas opcional. Una solicitud de una fuente no listada se rechaza.
  • credit_limit_usd — un tope de gasto fijo. Una solicitud que empujaría la clave por encima del tope se rechaza.
  • expiry — una fecha de expiración fija. Las claves expiradas se rechazan.
  • environment — una etiqueta (production, staging, dev, …) para organizar e identificar la clave por entorno de despliegue.
  • guardrail_id — la política de guardrail que se vincula a esta clave (ver Capa 2 y Capa 4).
  • firewall_policy_id — la política de firewall que se vincula a esta clave (ver Capa 3).
  • is_firewall_gateway — marca la clave como un token con alcance de gateway de firewall; requerido para las rutas de evaluación y gateway MCP.
Una solicitud que falla la validación de clave nunca llega a un modelo — y nunca se mide. Dónde configurar: Consola → API Keys, o la API de tokens. Requiere Developer+ para crear o editar; is_firewall_gateway y lecturas de clave en texto plano requieren Admin. Para el modelo completo de claves, ver Alcance, claves, políticas y espacios de trabajo.

2. Capa 2 — Guardrails de entrada

Una vez que la clave está validada, el gateway ejecuta las reglas de etapa de entrada del guardrail vinculado contra el texto de la solicitud — antes de cualquier llamada al modelo upstream. Lo que ve: Los mensajes del llamador tal como se enviaron. (Un prompt inyectado desde un prompt del registro se añade más tarde, en la etapa de enrutamiento; las reglas de entrada no lo ven.) Tipos de regla disponibles: keyword, regex, pii, max_chars, external, llm_judge, grounding. Acciones que puede producir una regla:
AcciónQué ocurre
blockLa solicitud se rechaza — HTTP 400 guardrail_blocked. No se cobra cuota. Marcada skip-retry.
maskLa coincidencia se redacta (p. ej. jane@acme.com[EMAIL]). El texto saneado continúa hacia el modelo.
flagLa coincidencia se registra; el tráfico no cambia.
Un block en esta etapa significa que el modelo nunca se llama. Coste: cero. El llamador ve un error estructurado que nombra el guardrail y la regla que se disparó. Dónde configurar: Consola → Guardrails, o la API de guardrails. Requiere Developer+ para crear o modificar. Ver Guardrails para la referencia completa de reglas.

3. Capa 3 — El modelo se ejecuta

Si la clave es válida y los guardrails de entrada pasan, el gateway reenvía la solicitud al modelo upstream. Esta es la única capa sin aplicación configurable — es simplemente el modelo haciendo su trabajo. El firewall opera sobre las acciones que produce el modelo (Capa 3 → Capa 4 a continuación), no sobre el modelo en sí. El enrutamiento, los fallbacks y el balance de carga ocurren aquí de forma transparente.

4. Capa 4 — Agent Firewall (llamadas a herramienta y egress)

Después de que el modelo responde — o en línea, a medida que se emiten llamadas a herramienta — el Agent Firewall juzga cada acción que el modelo solicita. Cuatro superficies de aplicación:
SuperficieLo que ve el firewall
inboundDefiniciones de herramienta que el agente anuncia al modelo. Bloquea una herramienta peligrosa antes de que el modelo pueda elegirla.
responseLos tool_calls que el modelo emite en su respuesta.
mcpUn tools/call despachado a través del gateway MCP del Firewall o evaluado vía el hook de evaluación.
egressUn destino de red saliente (host / IP / CIDR) reportado por una herramienta — la superficie de SSRF y exfiltración de datos.
Veredictos que puede producir una regla (o el valor por defecto):
VeredictoQué hace
allowLa llamada procede. Registrada.
auditLa llamada procede; registrada para revisión. El default_verdict por defecto.
denyLa llamada se bloquea — HTTP 400 firewall_blocked en la superficie inbound; un error de herramienta en mcp.
sanitizeLas subcadenas coincidentes se redactan de los argumentos de la herramienta; la llamada limpia procede. En inbound (sin argumentos aún), escala a deny.
pending_approvalLa llamada se retiene; un revisor fuera de banda aprueba o rechaza; el agente reenvía con un token de aprobación de un solo uso.
cap_costDeny una vez que el gasto acumulado de la ejecución del agente supera un tope de centavos por regla.
Un deny en la superficie inbound no cuesta tokens de modelo — el bloqueo se dispara antes de la llamada upstream. Un hold pending_approval devuelve HTTP 400 firewall_approval_pending con un id de aprobación sobre el que el cliente hace polling. Dónde configurar: Consola → Firewall, o la API de firewall. Requiere Developer+ para crear o modificar políticas y reglas. Ver Firewall y Reglas del firewall para el lenguaje completo de reglas.

5. Capa 5 — Guardrails de salida

Después de que el modelo responde (y después de que se completa cualquier ciclo de llamada a herramienta), el gateway ejecuta las reglas de etapa de salida del guardrail vinculado contra el texto de la respuesta antes de que llegue al llamador. Los mismos tipos de regla y acciones aplican que en la Capa 2. Un block de salida devuelve HTTP 400 guardrail_blocked y reembolsa la cuota preconsumida — el llamador no paga nada.
Streaming y enmascarado de salida. Una acción block se aplica tanto en respuestas con streaming como sin streaming — en un stream, el escáner corta en pleno vuelo y emite un reemplazo. Una acción mask en la salida actualmente solo aplica a respuestas sin streaming; en una respuesta con streaming el chunk original pasa sin enmascarar. Verifica tu combinación de etapa/stream en el sandbox del guardrail antes de depender de ello.

6. Capa 6 — Auditoría

Cada coincidencia, veredicto y decisión de aprobación se escribe en el rastro de auditoría, correlacionado con la ejecución y la sesión del agente que lo causó. Este no es un paso de aplicación separado — se ejecuta en paralelo con las Capas 2–5 — pero es la capa que hace responsables a las demás. Qué se registra:
  • Coincidencias de guardrail: tipo de regla, acción, etapa, cadena de detalle y (si Log raw content está habilitado) la subcadena coincidente.
  • Eventos del firewall: superficie, nombre de herramienta, veredicto, regla coincidente, código de razón, factores de riesgo y la ejecución/sesión a la que pertenece la llamada.
  • Decisiones de aprobación: quién aprobó o rechazó, cuándo y si la regla subyacente cambió entre la retención y la decisión.
  • Cambios de política: cada creación, actualización, eliminación y cambio de nivel de autonomía escribe una fila de auditoría versionada.
Dónde revisar: Consola → Guardrails → Matches; Consola → Firewall → Events, Runs & Sessions, Audit. El feed de Matches del guardrail está abierto a cualquier Miembro del espacio de trabajo; los feeds de Events y Runs & Sessions del firewall requieren Developer+.

7. Tabla resumen

CapaQué controlaQué veResultado en un hitDónde configurar
1. Clave con alcanceIdentidad, acceso al modelo, gasto, IP, expiraciónEl token de autenticación de la solicitudHTTP 4xx antes de que nada se ejecute; sin mediciónConsola → API Keys (Developer+)
2. Guardrails de entradaContenido del texto de la solicitudMensajes del llamadorBloquear (HTTP 400 guardrail_blocked, sin cargo), enmascarar o marcarConsola → Guardrails (Developer+)
3. ModeloConfig de enrutamiento / canal
4. Agent FirewallLlamadas a herramienta, despacho MCP, egressNombre de herramienta, argumentos, destinoallow / audit / deny / sanitize / pending_approval / cap_costConsola → Firewall (Developer+)
5. Guardrails de salidaContenido del texto de la respuestaRespuesta del modeloBloquear (HTTP 400, cuota reembolsada), enmascarar o marcarConsola → Guardrails (Developer+)
6. AuditoríaAtribución y rastroTodo lo anteriorEntrada de log inmutableConsola → Matches (Member) / Events & Runs (Developer+)

8. Orden de resolución de políticas

Para cualquier solicitud, el guardrail activo y la política de firewall se resuelven independientemente:
  1. Adjunto a la clave — si la clave lleva un guardrail_id explícito o firewall_policy_id, esa política vincula (cuando existe y está habilitada).
  2. Valor por defecto del espacio de trabajo — si la clave no tiene adjunto, el guardrail o política habilitada is_default del espacio de trabajo aplica.
  3. Ninguno — sin aplicación. La solicitud es byte-idéntica a un espacio de trabajo que nunca habilitó la función.
Los dos planos difieren cuando una política adjunta está deshabilitada: un adjunto de guardrail deshabilitado desactiva los guardrails para esa clave (sin fallback), mientras que un adjunto de firewall deshabilitado hace fallback a la política de firewall por defecto del espacio de trabajo. A lo sumo un guardrail y una política de firewall por espacio de trabajo pueden ser el valor por defecto al mismo tiempo. Promover un nuevo valor por defecto degrada al anterior en la misma transacción.

9. Fail-open y fail-closed

Dos comportamientos — aplicados a casos diferentes.Fail-open (errores transitorios): Si la resolución de políticas encuentra un error transitorio — un hipo de la DB, un parpadeo de red camino a un proveedor externo — el gateway degrada a sin aplicación en vez de tumbar el tráfico. La seguridad se degrada; la disponibilidad se preserva. Configura fail_open: false en reglas external o llm_judge cuando una verificación perdida es inaceptable para tu política.Fail-closed (casos ambiguos): Donde no aplicar derrotaría la regla, el motor falla cerrado: un reporte de egress con un destino irresoluble se niega; un almacén de aprobaciones inalcanzable retiene la llamada en vez de pasarla; una skill cuya propiedad no puede resolverse se bloquea. La disponibilidad se preserva en el camino feliz; la seguridad no se omite silenciosamente en los casos extremos que importan.
Ver Modos de aplicación para el árbol de decisión completo, y Cómo OrcaRouter inspecciona las solicitudes para la mecánica de la ruta de relay.

10. Profundizaciones

Guardrails

Referencia completa de reglas — tipos, acciones, entidades PII, LLM judge, grounding y el sandbox de prueba.

Firewall

Modelo de políticas, veredictos, superficies, modo shadow, aprobación HITL y detección de anomalías.

Reglas del firewall

El lenguaje de coincidencia de reglas — globs de herramienta, cláusulas de argumentos, listas de egress y saneadores.

Guardrails vs. Firewall

Qué capa captura qué amenaza — y cuándo necesitas ambas.

Alcance, claves y políticas

El modelo completo de claves: qué lleva una clave y cómo se resuelven las políticas.

Modos de aplicación

Fail-open vs. fail-closed — el árbol de decisión completo.
Cada llamada a través de OrcaRouter pasa las cuatro capas de aplicación en orden — validación de clave, examen de entrada, juicio del firewall, examen de salida — con un rastro de auditoría completo escrito a lo largo de todas ellas.