allow, jedes deny, jedes
zurückgehaltene Approval, jedes Shadow-Mode-„Would-have” landet hier, filterbar
und zurück zum Agentenlauf korreliert, der es erzeugt hat.
Der Events-Feed ist Developer+ zum Lesen. Jede Zeile reserviert ein
begrenztes
args_summary-Feld für einen Tool-Call-Argument-Snapshot, sodass die
Surface über den für Member lesbaren sitzt (Einstellungen, Policies, Discovered
Tools, der
Anomalie-Feed). Konfigurieren Sie all das aus der
Konsole — das sind session-authentifizierte Routen, keine Relay-Aufrufe.1. Was im Events-Feed landet
Jede Auswertung, die die Engine ausführt, wird aufgezeichnet — nicht nur die Blocks. Einallow und ein audit hinterlassen eine Zeile genauso wie ein
deny, sodass der Feed eine vollständige Spur ist, kein Ausnahme-Log.
Das Verdikt auf einer Zeile ist dasjenige, das der Agent tatsächlich gesehen hat:
| Verdikt | Bedeutet |
|---|---|
allow / audit | Durchgelassen; audit flaggt es als etwas, das Sie beobachten wollten. |
deny | Blockiert — firewall_blocked (HTTP 400) inbound, Tool-Fehler auf mcp. |
sanitize | Weitergeleitet mit gematchten Teilstrings, redigiert aus den Argumenten des Aufrufs. |
pending_approval | Für einen Menschen zurückgehalten; die Zeile markiert, dass der Aufruf gegatet wurde. |
observe | Keine Policy matchte — eine Observe-Mode-Abdeckungslücke. |
audit herabgestuft und der Grund wird [shadow] would …
vorangestellt, sodass der Feed Ihnen genau zeigt, was eine Policy blockiert
hätte, bevor Sie sie scharf schalten.
2. Was jedes Event aufzeichnet
Ein einzelnes Event ist ein denormalisierter Snapshot — genug, um die Entscheidung zu rekonstruieren, ohne auf irgendetwas zurück-joinen zu müssen:Die Entscheidung
Die Entscheidung
verdict, surface (inbound / response / mcp / egress),
tool_name und ein menschlicher reason („destructive shell command”,
„egress to 169.254.169.254 denied”). Wenn die matchende Regel ein Label
hatte, benennen policy_name und rule_label die exakte Regel, die feuerte
— sodass die Zeile direkt auf die Zeile zeigt, die Sie geschrieben haben.Korrelations-Keys
Korrelations-Keys
request_id joint das Event zum Request-Log; conversation_id gruppiert
eine Multi-Turn-Session; agent_run_id (mit step_id / parent_step_id)
bindet es an einen vollen Agentenlauf und den LLM-Aufruf, der das Tool
angefordert hat. Diese sind es, die den Feed zu einem Trace machen, nicht
zu einer flachen Liste — siehe §4.Provenienz
Provenienz
token_name, model_name und die Aufrufer-ip — der Key, das Modell und
die Herkunft hinter dem Aufruf. skill_name benennt den besitzenden
Skill, wenn der Aufruf einem zuzuordnen war,
und quarantine flaggt einen Skill-Quarantäne-Hold.Argumente & Egress
Argumente & Egress
args_summary ist das begrenzte Tool-Call-Argument-Snapshot-Feld (der
Grund, warum diese Surface Developer+ ist). Auf einem egress-Event
zeichnet egress_host das ausgehende Ziel auf, das beurteilt wurde.3. Ein konkretes Beispiel
Ihr Agent gab einenshell.exec-Aufruf mit rm -rf /data aus, eine
deny-Regel fing ihn ab, und Sie wollen diese eine Entscheidung sehen. Filtern
Sie den Feed nach Verdikt und Tool:
$ORCA_CONSOLE_TOKEN ist Ihr Session-/Access-Token, kein
sk-orca-…-Relay-Key. Die /api/workspace/firewall/*-Routen sind
konsolen-authentifiziert und rollengesteuert; nur /v1/*-Traffic nutzt einen
Relay-Key.4. Nach Run und Session korrelieren
Der Grund, warum jedes Eventagent_run_id und conversation_id trägt, ist,
dass Sie aufhören können, Aufrufe isoliert zu betrachten, und anfangen zu
fragen was hat dieser Agent über seinen ganzen Run getan:
| Filter | Frage, die er beantwortet |
|---|---|
run_id=<run> | Jedes Verdikt in einem Agentenlauf — die volle Aktionsspur. |
session_id=<conv> | Jedes Verdikt über eine Multi-Turn-Konversation. |
verdict=deny,pending_approval | Die „was wurde gestoppt oder zurückgehalten”-Ansicht in einer Abfrage. |
surface=egress | Nur Ausgehende-Ziel-Entscheidungen — die Exfiltrations-Linse. |
since / until (Unix-Sekunden) und
limit / skip für Paging. Für die aufgerollte Ansicht — eine Zeile pro
Run oder Session mit einer Pro-Verdikt-Aufschlüsselung, distinkten Tools und
Modellen und first/last-seen — liest die Konsole
GET /api/workspace/firewall/events/aggregate?group_by=run (oder
group_by=session), und der Agent-Trace-Baum liest /trace/by-run. Beide sind
Developer+, gleich wie der rohe Feed.
5. Aufbewahrung und Löschung
Firewall-Events tragen ihren eigenen Aufbewahrungshorizont — ein 30-Tage-Default, server-geklemmt auf ein 365-Tage-Hartmaximum. Jedes Event wird mit einem Ablauf geschrieben und automatisch durch einen TTL-Index ausgealtert; nichts im Feed lebt über Ihre Aufbewahrungseinstellung hinaus. Eine Right-to-Erasure-Anfrage kaskadiert auch hierher: das Löschen eines Nutzers startet eine 30-Tage-Gnadenfrist, nach der seine PII gescrubbt wird und seine Firewall-Events neben den Request-Logs und Guardrail-Matches desselben Scopes gelöscht werden.Wohin als Nächstes
Verdikte
Was jedes Verdikt im Feed tatsächlich mit dem Aufruf gemacht hat.
Shadow-Mode
Lesen Sie den Feed im „Would-have”-Modus, bevor Sie durchsetzen.
Stages & Surfaces
Die vier Surfaces, die das
surface-Feld benennt.Firewall-Referenz
Die vollständige Policy-, Regel- und API-Referenz.
