allow, cada
deny, cada aprobación retenida, cada “habría” de modo shadow aterriza aquí,
filtrable y correlacionado de vuelta a la ejecución de agente que lo produjo.
El feed de eventos es Developer+ para leer. Cada fila reserva un campo
args_summary acotado para un snapshot de argumentos de llamada a herramienta,
así que la superficie se sitúa por encima de las legibles por Member
(configuración, políticas, herramientas descubiertas,
el feed de anomalías). Configura todo esto desde la
consola — estas son rutas autenticadas por sesión, no llamadas de relay.1. Qué aterriza en el feed de eventos
Cada evaluación que el motor ejecuta se registra — no solo los bloqueos. Unallow y un audit dejan una fila exactamente como lo hace un deny, así que
el feed es un rastro completo, no un registro de excepciones.
El veredicto en una fila es el que el agente realmente vio:
| Veredicto | Significa |
|---|---|
allow / audit | Dejado pasar; audit lo marca como algo que quisiste observar. |
deny | Bloqueado — firewall_blocked (HTTP 400) inbound, error de herramienta en mcp. |
sanitize | Reenviado con las subcadenas coincidentes redactadas de los argumentos de la llamada. |
pending_approval | Retenido para un humano; la fila marca que la llamada fue gobernada. |
observe | Ninguna política coincidió — un hueco de cobertura de modo observe. |
audit y la razón se prefija con [shadow] would …,
así que el feed te muestra exactamente qué habría bloqueado una política
antes de cambiarla a vivo.
2. Qué registra cada evento
Un solo evento es un snapshot desnormalizado — suficiente para reconstruir la decisión sin volver a unir con nada:La decisión
La decisión
verdict, surface (inbound / response / mcp / egress),
tool_name, y una reason humana (“destructive shell command”, “egress to
169.254.169.254 denied”). Cuando la regla coincidente tenía una etiqueta,
policy_name y rule_label nombran la regla exacta que se disparó — así
que la fila apunta directamente de vuelta a la línea que escribiste.Claves de correlación
Claves de correlación
request_id une el evento al registro de solicitudes; conversation_id
agrupa una sesión de varios turnos; agent_run_id (con step_id /
parent_step_id) lo ata a una ejecución de agente completa y la llamada al
LLM que solicitó la herramienta. Estas son las que hacen del feed una
traza, no una lista plana — ver
§4.Procedencia
Procedencia
token_name, model_name, y la ip del llamador — la clave, el modelo y
el origen detrás de la llamada. skill_name nombra la
skill propietaria cuando la llamada era
atribuible a una, y quarantine marca una retención de cuarentena de
skill.Argumentos y egress
Argumentos y egress
args_summary es el campo de snapshot de argumentos de llamada a
herramienta acotado (la razón por la que esta superficie es Developer+). En
un evento egress, egress_host registra el destino saliente que fue
juzgado.3. Un ejemplo concreto
Tu agente emitió una llamadashell.exec con rm -rf /data, una regla deny
la capturó, y quieres ver esa única decisión. Filtra el feed por veredicto y
herramienta:
$ORCA_CONSOLE_TOKEN es tu sesión / token de acceso, no una clave de relay
sk-orca-…. Las rutas /api/workspace/firewall/* están autenticadas por
consola y gobernadas por rol; solo el tráfico /v1/* usa una clave de relay.4. Correlacionar por ejecución y sesión
La razón por la que cada evento llevaagent_run_id y conversation_id es
para que puedas dejar de mirar las llamadas de forma aislada y empezar a
preguntar qué hizo este agente a lo largo de toda su ejecución:
| Filtro | Pregunta que responde |
|---|---|
run_id=<run> | Cada veredicto en una ejecución de agente — el rastro de acción completo. |
session_id=<conv> | Cada veredicto a lo largo de una conversación de varios turnos. |
verdict=deny,pending_approval | La vista de “qué se detuvo o retuvo” en una consulta. |
surface=egress | Solo decisiones de destino saliente — la lente de exfiltración. |
since / until (segundos unix) y
limit / skip para paginación. Para la vista agregada — una fila por
ejecución o sesión con un desglose por veredicto, herramientas y modelos
distintos, y primera/última vez vistos — la consola lee
GET /api/workspace/firewall/events/aggregate?group_by=run (o
group_by=session), y el árbol de traza de agente lee /trace/by-run. Ambos
son Developer+, igual que el feed en bruto.
5. Retención y borrado
Los eventos del firewall llevan su propio horizonte de retención — un valor por defecto de 30 días, acotado por el servidor a un máximo duro de 365 días. Cada evento se escribe con una expiración y se envejece automáticamente por un índice TTL; nada en el feed vive más allá de tu ajuste de retención. Una solicitud de derecho al borrado cascada aquí también: eliminar un usuario inicia un periodo de gracia de 30 días, después del cual su PII se limpia y sus eventos del firewall se purgan junto a los registros de solicitudes y las coincidencias de guardrail del mismo alcance.Dónde ir a continuación
Veredictos
Qué le hizo realmente a la llamada cada veredicto en el feed.
Modo shadow
Lee el feed en modo “habría” antes de aplicar.
Etapas y superficies
Las cuatro superficies que el campo
surface nombra.Referencia del Firewall
La referencia completa de política, regla y API.
