Tracing & Audit

Jede Anfrage, die eine Maschine stellt – die Aufrufe des Agenten an LLM-Anbieter, Paket-Downloads, kubectl- und aws-Verkehr, gewöhnliche Web-Abrufe – läuft über den hostseitigen MITM-Proxy von Bromure Agentic Coding. Da der Proxy bereits an dieser Übertragungsgrenze steht, kann er aufzeichnen, was sie überschritten hat: welche Hosts der Agent kontaktiert hat, was er gesendet hat, was zurückkam, ob Zugangsdaten ausgetauscht oder geleakt wurden und – bei KI-Verkehr – die vollständige Konversation, die Tool-Aufrufe und die Shell-Befehle, die das Modell veranlasst hat.

Diese Aufzeichnung ist der Sitzungs-Trace der Maschine. Er existiert aus einem einzigen Grund: damit Sie im Nachhinein die Frage beantworten können, „was hat der Agent tatsächlich getan?“ – bis hinunter zum einzelnen Prompt, dem einzelnen rm -rf, der einzelnen ausgehenden Anfrage. Alles wird auf Ihrem Mac aufgezeichnet, im Ruhezustand verschlüsselt und (bei Einzelnutzern) verlässt es diesen niemals.

Dieses Kapitel behandelt das gesamte System: was ein Trace erfasst, wie er gespeichert und veraltet wird, das Fenster des Trace-Inspektors, die Befehlszeile bromure-cli trace, wie man Daten wieder herausbekommt und die Datenschutzgrenze zwischen lokalem Audit und der Telemetrie, die registrierte Macs an eine Organisation streamen. Die feldweise Einstellungsreferenz für den Bereich befindet sich unter Tracing-Einstellungen.

Tracing zeichnet Verkehr auf. Was die Sicherheits-Engines von Bromure über diesen Verkehr entschieden haben – Ersetzungen, Blockierungen, Paketprüfungen, Erkennungen –, wird separat und immer in der Sicherheits-Zeitleiste festgehalten.

Was ein Trace aufzeichnet

Tracing wird pro Maschine eingestellt (im Einstellungseditor ein Arbeitsbereich), über die Auswahl Sitzungs-Trace im Bereich Tracing unter Sicherheit in den Einstellungen der Maschine. Es gibt vier Stufen, von denen jede eine Obermenge der vorhergehenden ist:

Der Tracing-Bereich im Editor des Arbeitsbereichs „Web app“, mit der Auswahl „Sitzungs-Trace“ und ihrer Erklärung der vier Stufen
StufeWas aufgezeichnet wird
AusNichts.
Nur AktivitätEin Metadatensatz pro Anfrage – keine Inhalte.
KI-Anfragedetails (Standard)Metadaten für jede Anfrage, plus vollständige Anfrage- und Antwortinhalte für bekannte LLM-Hosts.
AllesMetadaten für jede Anfrage, plus Inhalte für jeden Host.

Neue Maschinen verwenden standardmäßig KI-Anfragedetails, sodass Agenten-Konversationen von Haus aus überprüfbar sind, ohne dass die Inhalte von nicht zusammenhängendem Verkehr (Paket-Downloads, Telemetrie-Pings) auf der Festplatte gespeichert werden.

Hinweis: Das Enum der Trace-Stufe verwendet im Profilformat standardmäßig Aus, sodass eine Maschine, deren gespeicherte Einstellungen älter als diese Einstellung sind, als Aus dekodiert wird. Der Standard KI-Anfragedetails gilt nur für Maschinen, die aus der aktuellen Vorlage erstellt wurden. Wählen Sie die Stufe bewusst, wenn Auditierung wichtig ist.

Der Metadatensatz

Bei Nur Aktivität und höher schreibt der Proxy einen Trace-Datensatz pro Anfrage. Jeder Datensatz – unabhängig von der Stufe – trägt die Metadaten:

  • Zeitstempel, Host, Port, HTTP-Methode und Pfad.
  • Statuscode und Latenz, gemessen vom CONNECT, das den Tunnel geöffnet hat, bis zur Antwort.
  • Anfrage-Bytes (gemessen vor jedem Zugangsdaten-Austausch) und Antwort-Bytes.
  • Der Token-Austauschbericht – welche Zugangsdaten der Proxy auf dem Weg nach außen ersetzt hat (siehe Zugangsdaten-Austausch und -Leaks).
  • Warnungen zu Zugangsdaten-Leaks – Bearer-artige Tokens in der ausgehenden Anfrage, die Bromure nicht erzeugt hat.
  • Bei KI-Anfragen, wenn das Modell-Routing der Maschine eingestellt ist, welches Backend die Runde bedient hat – cloud oder das lokale Modell (siehe Modelle & Anbieter).

Das reicht aus, um das vollständige Bild davon zu rekonstruieren, mit wem der Agent gesprochen hat und wann, ohne ein einziges Byte Prompt- oder Antworttext auf der Festplatte zu behalten. Wenn Sie den Audit-Trail wünschen – kontaktierte Domains, Umgang mit Zugangsdaten, Latenz –, aber nicht den Inhalt, ist Nur Aktivität die richtige Stufe.

Erfasste Inhalte und geparste Konversationen

Bei KI-Anfragedetails speichert der Proxy zusätzlich die vollständigen Anfrage- und Antwortinhalte für die bekannten LLM-Hosts: Anthropic, OpenAI / ChatGPT, Google, Cohere, Mistral, Perplexity, x.ai / Grok, Groq, Replicate und HuggingFace, plus den lokalen Inferenz-Host, wenn eine Maschine zu einem lokalen Modell routet. Bei Alles werden Inhalte für jeden Host aufbewahrt.

Ein erfasster KI-Inhalt wird nicht nur gespeichert – er wird geparst. Der Trace-Inspektor stellt ihn als Konversationsansicht dar: den System-Prompt, jede Nutzerrunde, die Antworten des Assistenten und die strukturierten Blöcke, die das Modell ausgegeben hat. Genau diese Blöcke machen den Trace eines Coding-Agenten nützlich:

  • Tool-Aufrufe – jeder tool_use-Block, den das Modell erzeugt hat, mit seinem Input.
  • Shell-Befehle – die Bash- / Shell-Tool-Aufrufe, d. h. die Befehle, die der Agent in der VM ausgeführt hat.
  • Datei-Lese- und Schreibvorgänge – die Read- / View- und Write- / Edit- / MultiEdit-Tool-Aufrufe, mit den Pfaden, die sie berührt haben.

So beantwortet ein einzelner KI-Anfragedatensatz die Frage „was hat das Modell in dieser Runde beschlossen zu tun“ – diese Datei lesen, jenen Befehl ausführen, diese API aufrufen –, herausgeparst aus dem rohen API-Inhalt. Dieselbe Struktur verwandelt der Echtzeit-Event-Tap auf registrierten Macs in Audit-Events.

Zugangsdaten-Austausch und -Leaks

Zwei Fakten zum Umgang mit Zugangsdaten werden bei jeder Anfrage aufgezeichnet und prominent angezeigt, weil sie diejenigen sind, die für eine Sicherheitsprüfung wichtig sind:

  • Token-Austausch. Wenn der Proxy die Köder-Zugangsdaten, die die VM hält, auf der Leitung durch die echten ersetzt, vermerkt der Datensatz dies – als Vorschauen der ersten/letzten Zeichen der gefälschten und echten Werte (sk-a…f9q3), niemals die geheimen Bytes. Dies ist der normale, gesunde Fall: Er bestätigt, dass das Austauschsystem seine Arbeit tut.
  • Leaks. Wenn eine ausgehende Anfrage einen Bearer-artigen Token trägt, den Bromure nicht erzeugt hat – ein echtes Geheimnis, das direkt in die VM eingefügt wurde und das Austauschsystem umgeht –, markiert der Datensatz es als potenziellen Leak, wiederum nur als Vorschau, versehen mit einer Verdachtsklasse: knownPrefix (ein erkanntes Geheimnis-Präfix, das Bromure nicht ausgestellt hat) oder opaqueToken (ein langer, undurchsichtiger Auth-Wert). Eine Leak-Markierung ist eine Aufforderung zur Untersuchung; die vollständige Funktionsweise von Köder-Zugangsdaten und Kompromittierungserkennung finden Sie unter Zugangsdaten.

Verschlüsselung im Ruhezustand und Aufbewahrung

Traces liegen unter ~/Library/Application Support/BromureAC/traces/, nach Tag organisiert:

  • Metadaten werden als eine JSON-Zeile pro Anfrage an traces/YYYY-MM-DD/<sessionID>.jsonl angehängt.
  • Erfasste Inhalte werden daneben als traces/YYYY-MM-DD/<sessionID>/<recordID>.req.enc und .res.enc gespeichert – mit AES-GCM versiegelt mit dem SecretsVault-Hauptschlüssel, demselben im Keychain gehaltenen Schlüssel, der Ihre Arbeitsbereich-Geheimnisse verschlüsselt. Die Dateiberechtigungen sind 0600.

Bevor irgendetwas geschrieben wird, wird der Datensatz bereinigt:

  • Sensible Header werden geschwärzt. Authorization, Proxy-Authorization, Cookie, Set-Cookie, x-amz-security-token, api-key und jeder Header, der auf -api-key endet, werden zu <redacted> umgeschrieben.
  • Geheimnisse werden nur als Vorschauen gespeichert. Token-Austausch und vermutete Leaks behalten Vorschauen der ersten/letzten Zeichen – echte geheime Bytes gelangen niemals in einen Trace-Datensatz, verschlüsselt oder nicht.

Die Aufbewahrung erfolgt automatisch und läuft verzögert (ein Bereinigungsdurchlauf alle 200 Anhängevorgänge):

GrenzeVerhalten bei Überschreitung
100 MB an Inhalten pro SitzungDie ältesten .enc-Inhaltsdateien für diese Sitzung werden entfernt. Die Metadatenzeilen bleiben – Sie behalten den Audit-Trail, verlieren nur den ältesten erfassten Text.
5 GB über das gesamte traces/-VerzeichnisDie ältesten Tagesverzeichnisse werden zuerst gelöscht.

Separat davon behält die App die letzten 5.000 Datensätze in einem In-Memory-Ring für die Live-Ansicht; ältere Datensätze verbleiben auf der Festplatte innerhalb der oben genannten Grenzen.

Warnung: Bei KI-Anfragedetails und Alles befindet sich der vollständige Prompt- und Antworttext von KI-Austauschen auf der Festplatte – verschlüsselt, aber vorhanden. Ist der Schutz personenbezogener Daten aktiv, enthält der Trace trotzdem die echten Werte: Er speichert die Anfrage so, wie der Agent sie gesendet hat, und die Antwort, nachdem die echten Werte wieder eingesetzt wurden. Da die Inhalte mit dem SecretsVault-Hauptschlüssel versiegelt sind, macht das Rotieren dieses Schlüssels zuvor erfasste Inhalte nicht mehr entschlüsselbar; der Trace-Inspektor zeigt dann (not captured / decryption failed) an, wo der Inhalt gewesen wäre.

Das Fenster des Trace-Inspektors

Der Trace-Inspektor ist der Live-, filterbare Betrachter für jeden aufgezeichneten Austausch über alle Arbeitsbereiche hinweg. Er liest dieselben Datensätze wie die CLI und aktualisiert sich in Echtzeit, während neue Anfragen einströmen.

Das Fenster öffnen

Öffnen Sie ihn über Fenster → Trace-Inspektor… (⇧⌘I). Er öffnet sich auch vorgefiltert auf eine Maschine über Trace untersuchen im Maschinenmenü – der Kapsel mit dem Namen der Maschine in der Symbolleiste des Hauptfensters –, sodass Sie von einem laufenden Agenten direkt zu seinem eigenen Verkehr springen können. Trace untersuchen erscheint nur, solange die Maschine läuft. Beim Öffnen wird der In-Memory-Ring von der Festplatte aufgewärmt – dabei werden nur die Tagesverzeichnisse von heute und gestern gelesen, sodass ein Kaltstart schnell ist. Ältere Datensätze bleiben auf der Festplatte und erscheinen, sobald Sie die Schaltfläche zum Neuladen drücken, während sie im Bereich liegen, oder indem Sie sie mit der CLI lesen.

Die Anfrageliste

Der linke Bereich ist eine Liste der Datensätze, neueste zuerst. Jede Zeile zeigt von links nach rechts:

  • Einen Statuspunkt, farbcodiert nach Antwortklasse: grün für 2xx, blau für 3xx, orange für 4xx, rot für 5xx, ansonsten grau.
  • Die Methode und den Host (der Pfad wird darunter angezeigt, in der Mitte gekürzt).
  • Abzeichen, wenn sie zutreffen: ein orangefarbenes Warndreieck für nicht ausgetauschte Zugangsdaten (ein potenzieller Leak), blaue Austauschpfeile für Token-Austausch und ein Dokumentsymbol, wenn für diesen Datensatz ein Inhalt erfasst wurde.
  • Den Statuscode und die Latenz auf der rechten Seite.

Die Fußzeile lautet N records (last M in memory) und trägt eine Schaltfläche Von Festplatte neu laden (das kreisförmige Pfeilsymbol). Die Liste verfügt über vollständige Tastaturnavigation – ↑ / ↓ zum Schrittweisen, PgUp / PgDn zum Springen um zehn, Home / End zum Erreichen der Enden – wobei die neu ausgewählte Zeile in den sichtbaren Bereich gescrollt wird.

Filtern

Über der Liste befindet sich eine Filterleiste:

SteuerungWirkung
Auswahl ArbeitsbereichAuf einen Arbeitsbereich eingrenzen oder Alle Arbeitsbereiche.
Nur LeaksNur Datensätze mit einer Warnung zu nicht ausgetauschten Zugangsdaten anzeigen.
Nur KonversationenNur Datensätze anzeigen, die der Proxy als KI-Chat-Austausch geparst hat.
Host-FilterEine Teilstring-Übereinstimmung gegen den Host.

Hinweis: Nur Konversationen beruht auf einer Markierung, die beim Schreiben des Datensatzes gesetzt wird. Datensätze, die vor der Existenz dieser Markierung erfasst wurden, zählen als Nicht-Konversationen und werden von diesem Filter ausgeblendet, bis sie neu aufgezeichnet werden.

Der Detailbereich

Die Auswahl einer Zeile füllt den rechten Bereich. Seine Kopfzeile zeigt die Methode, die vollständige URL, den Status und eine Reihe von Meta-Zellen – Arbeitsbereich, Latenz, Anfrage- und Antwort-Größen sowie Zeit – plus einen segmentierten Umschalter Konversation / Roh.

  • Konversation stellt den geparsten KI-Chat dar: System-Prompt, Runden, Tool-Aufrufe und Ergebnisse, für die Lesbarkeit formatiert. Sie ist nur verfügbar, wenn ein Inhalt erfasst wurde und der Austausch als KI-Konversation geparst wurde; andernfalls schaltet der Umschalter von selbst auf Roh zurück.
  • Roh zeigt die Bausteine des Datensatzes in Abschnitten: Nicht ausgetauschte Zugangsdaten (potenzielle Leaks), Token-Austausch (jeweils als fake → real-Vorschauen), Anfrageinhalt und Antwortinhalt. Inhalte werden bei Bedarf entschlüsselt, wenn Sie den Datensatz auswählen.

Jeder Inhaltsabschnitt verfügt über eine Kopierschaltfläche, die den vollständigen Inhalt in die Zwischenablage legt – den gesamten Text auch über die Kürzung auf dem Bildschirm hinaus und einen Hex-String für binäre Inhalte. Wenn kein Inhalt gespeichert wurde oder der Hauptschlüssel ihn nicht mehr entschlüsseln kann, lautet der Abschnitt (not captured / decryption failed).

Wenn nichts ausgewählt ist, zeigt der Bereich einen Platzhalter: Wählen Sie eine Anfrage – Wählen Sie links eine Zeile aus, um Header, Austausche und (falls erfasst) Inhalte zu inspizieren.

WebSocket-Sitzungen

Langlebige WebSocket-Upgrades durch den Proxy – OpenAI Realtime, Codex' responses_websockets und dergleichen – werden als ein einziger Datensatz pro WS-Sitzung getract, statt als undurchsichtige Binärdaten verloren zu gehen. Wenn die Trace-Stufe des Arbeitsbereichs Inhalte für diesen Host erfasst, werden beide Richtungen frame-geparst (RFC 6455): das Masking wird entfernt, Fortsetzungsframes werden defragmentiert und permessage-deflate-Payloads (RFC 7692) werden dekomprimiert, sodass Textframes lesbar sind statt komprimierter Müll.

Beim Schließen hängt der Proxy ein chronologisches Transkript nach der Upstream-Handshake-Antwort an und speichert es als Antwortinhalt des Datensatzes, sodass der Trace-Inspektor es über den gewöhnlichen Inhaltspfad darstellt – Konversationsansicht inbegriffen, wenn es als KI-Austausch geparst wird. Ein Transkripteintrag sieht so aus:

--- WebSocket session transcript ---
>>> [2026-07-13T15:30:05Z] TEXT 1234B
<<< [2026-07-13T15:30:06Z] TEXT 5678B (truncated, total 40000 bytes)

Grenzwerte halten eine gesprächige Sitzung begrenzt: 1 MB pro Nachricht behalten, 4.096 Nachrichten pro Sitzung, ein maximaler Frame von 64 MB und eine maximale dekomprimierte Nachricht von 32 MB; alles über einer Grenze wird als (truncated, total N bytes) markiert. Parse-Fehler beeinträchtigen nur das Transkript – der Live-Tunnel pumpt rohe Bytes und wird durch das Tracing niemals blockiert oder beschädigt.

Die Sicherheits-Zeitleiste

Der Trace-Inspektor beantwortet „was hat der Agent gesendet?“; die Sicherheits-Zeitleiste (Fenster → Sicherheit…) beantwortet „was haben Bromures Sicherheits-Engines entschieden?“ – jede Ersetzung von Zugangsdaten, jedes Firewall-Urteil, jede Paketprüfung, jede Prompt-Injection-Erkennung, jede Ersetzung personenbezogener Daten und jede Verwendung von Zugangsdaten, in einer einzigen chronologischen Tabelle mit einer Übersicht der letzten 24 Stunden. Anders als Tracing braucht sie keine Einstellung: Sie wird immer aufgezeichnet, 90 Tage lang aufbewahrt und übersteht Neustarts. Sie hat ein eigenes Kapitel: Sicherheitsübersicht und Zeitleiste.

Die Trace-CLI

Die Befehlsgruppe bromure-cli trace gibt Ihnen dieselben Trace-Daten im Terminal. Sie ist ein Thin Client: Sie spricht mit der laufenden App über den lokalen Control-Socket, sodass die GUI-App laufen muss (der Rich Client tunnelt das identische Protokoll über SSH, um eine entfernte Instanz zu erreichen).

BefehlWas er tut
bromure-cli trace ls [workspace] [--limit N]Aktuelle Anfragen auflisten, neueste zuerst (standardmäßig 50 Zeilen). Spalten: TIME, HOST, METHOD, STATUS, REQ, RESP, LAT und FLAGS (swap×N, LEAK×N, conv).
bromure-cli trace summary [workspace]Aggregierte Ansicht: Anfrage- und Host-Zählungen, Bytes hoch/runter, ein Statusklassen-Histogramm, Austausch-/Leak-/Konversationszählungen und die Top 10 Hosts.
bromure-cli trace hostnames [workspace]Jeder eindeutige kontaktierte Host, mit Anfragezählungen.
bromure-cli trace leaks [workspace]Nur Anfragen mit einem potenziellen Zugangsdaten-Leak – Header, Wertvorschau und Verdachtsklasse. Gibt No leaks detected. ✓ aus, wenn sauber.
bromure-cli trace clear [-f]Den gesamten Trace-Verlauf löschen – den In-Memory-Ring und die Dateien auf der Festplatte – nach einer y/N-Bestätigung (mit -f überspringen). Meldet, wie viele Datensätze gelöscht wurden.

Das optionale Argument workspace filtert nach ID oder Name. Wenn Tracing für den Arbeitsbereich ausgeschaltet ist (oder noch nichts aufgezeichnet wurde), gibt trace ls No trace records. (Tracing is per-workspace — enable it in the workspace's settings.) aus; wenn die App nicht läuft, gibt jeder Unterbefehl No bromure-ac agent running. aus. Die vollständige CLI ist unter CLI, API & MCP dokumentiert.

Einen Trace exportieren

Es gibt keine einzelne „Exportieren“-Schaltfläche – Trace-Daten verlassen den Inspektor über die Pfade, die die Verschlüsselungsgrenze intakt halten:

  • Aus dem Trace-Inspektor. Im Modus Roh kopiert die Kopierschaltfläche bei Anfrageinhalt oder Antwortinhalt den vollständigen entschlüsselten Inhalt in die Zwischenablage, über jede Kürzung auf dem Bildschirm hinaus. Die URL in der Kopfzeile ist auswählbarer Text. Dies ist der Weg, um einen Austausch – ein vollständiges Prompt/Antwort-Paar – für einen Bericht oder eine Fehlermeldung herauszuheben.
  • Aus der CLI. Leiten Sie jeden trace-Unterbefehl in eine Datei um, zum Beispiel bromure-cli trace summary my-workspace > audit.txt oder bromure-cli trace ls my-workspace --limit 500 > requests.txt. Dies ist der Weg, um den Metadaten-Trail für viele Anfragen auf einmal zu erfassen.
  • Von der Festplatte. Die Metadaten-JSONL unter traces/YYYY-MM-DD/ ist reiner Text (mit bereits zu Vorschauen geschwärzten Geheimnissen) und kann direkt gelesen werden. Die .enc-Inhaltsdateien sind mit AES-GCM mit dem SecretsVault-Hauptschlüssel versiegelt und nur innerhalb der App entschlüsselbar – kopieren Sie sie aus dem Inspektor, nicht von der Festplatte.

Was Ihren Mac niemals verlässt

Bei einer individuellen, nicht verwalteten Installation ist Tracing vollständig lokal:

  • Traces werden in das Application-Support-Verzeichnis Ihres Macs geschrieben und mit einem Schlüssel verschlüsselt, der in Ihrem Anmelde-Keychain gehalten wird.
  • Kein Trace-Datensatz, kein Inhalt und keine Zusammenfassung wird irgendwohin hochgeladen. Der Proxy hat für Einzelnutzer keinen Analytik-Endpunkt verdrahtet.
  • Die Prompt-Injection-Klassifikatoren, die auch die Sicherheits-Zeitleiste speisen, laufen auf dem Gerät; siehe Prompt-Injection-Erkennung & Schutzmechanismen. Nichts über Ihren Verkehr wird zum Scannen an einen Cloud-Dienst gesendet.

Die obigen Schwärzungs- und Vorschauregeln bedeuten, dass selbst die Daten im Ruhezustand niemals ein verwendbares Geheimnis enthalten. Tracing ist ein privates Audit-Protokoll, kein Phone-Home.

Privater Modus und Enterprise-Telemetrie

Der eine Fall, in dem aus Traces abgeleitete Daten die Maschine verlassen, ist ein Mac, der mit einem bromure.io-Arbeitsbereich registriert ist. Die Registrierung verwandelt das lokale Audit-Protokoll in ein für die Organisation sichtbares – und gibt Ihnen einen Schalter, um einen einzelnen Arbeitsbereich wieder abzumelden. Was Administratoren sehen und wie die Registrierung funktioniert, wird unter Enterprise behandelt; dieser Abschnitt beschreibt die Grenze von der Tracing-Seite aus.

Der Event-Stream

Auf einem registrierten Mac streamen Sitzungen strukturierte Cloud-Events an den Admin-Arbeitsbereich der Organisation, extrahiert aus demselben KI-Verkehr, den das Tracing erfasst:

  • llm.request – pro Austausch: Anbieter, Host, Pfad, Status, Latenz, Modell, Input-/Output-Token-Zählungen und beide Anthropic-Cache-Zähler (cache_creation_input_tokens, cache_read_input_tokens, auch aus SSE-Streams geparst; OpenAIs cached_tokens wird ebenfalls unterstützt).
  • tool.use – jeder Tool-Aufruf, mit einer auf 240 Zeichen begrenzten Input-Zusammenfassung.
  • file.read / file.write – der extrahierte Pfad und Tool-Name.
  • command.run – der Shell-Befehl, auf 500 Zeichen begrenzt.
  • credential.token_swap – einer pro Austausch auf der Leitung, nur Vorschauen.
  • prompt_injection.detection – weitergeleitet, wenn ein Detektor auslöst, mit dem gesamten markierten Ausschnitt (auf 20 KB begrenzt), im Gegensatz zur kurzen Vorschau der Sicherheits-Zeitleiste.
  • egress.firewall – eines pro Firewall-Urteil: Host, Port, Protokoll und die ergriffene Aktion.
  • credential.exfiltration – ein gefälschtes Zugangsdatum wurde dabei beobachtet, wie es die VM zu einem Host außerhalb seines Geltungsbereichs verließ (nur Vorschauen und Hosts, niemals Token-Bytes); credential.exfiltration_allowed, wenn Sie den Kompromittierungsalarm mit Erlauben beantwortet haben.
  • privacy.pii_swap – pro Anfrage, in der der Schutz personenbezogener Daten Werte ersetzt hat: der Host und die Anzahl je Art, niemals die Werte.
  • net.flow — auf einer Maschine mit dem Kernel-Sentry jede Verbindung mit ihrer Prozesskette, dem Tool-Aufruf dahinter und der Entscheidung des Hosts (Netzwerk-Abstammung).
  • Ereignisse der Gast-Sandbox, des Kernel-Sentry und des Watchdogs — was die Gast-Sandbox verweigert hat, Manipulationsalarme des Sentry und Befunde des Watchdogs.
  • agent.reasoning — was der Agent vor einem Tool-Aufruf geschrieben hat (seine Überlegungen, seine erklärte Absicht und Ihr Prompt), nur wenn die Organisation es verlangt (capture_agent_reasoning in ihrer verwalteten OpenShell-Policy). Lokal wird es immer gezeigt, im Abstammungsblatt.
  • Detaillierte HTTP-Anfrageprotokolle – registrierte Installationen können zusätzlich HTTP-Metadaten pro Anfrage aus der transparenten Abfangschicht streamen, sodass eine Organisation die ausgehende HTTP-Oberfläche des Arbeitsbereichs sieht, nicht nur seinen KI-Verkehr.

Nur die neueste Assistentenrunde wird durchlaufen, sodass erneut gesendeter Verlauf niemals doppelt gezählt wird, und rohe Prompts werden niemals ausgegeben, es sei denn, die Organisation hat agent.reasoning gewählt – die Telemetrie beantwortet „was hat die KI getan“, nicht „was hat der Nutzer gefragt“.

Befehlszeilen werden geschwärzt

Befehlszeilen in Ereignissen — die Argumente eines Prozesses, der Befehl eines Tool-Aufrufs, die Zusammenfassung einer Tool-Eingabe — werden von Geheimnissen befreit, bevor sie in der Sicherheits-Zeitleiste aufgezeichnet, in OCSF-Logs geschrieben oder hochgeladen werden:

  • Tokens in einem bekannten Format (Anthropic, OpenAI, GitHub, GitLab, Slack, AWS, Google, Hugging Face, npm, PyPI, DigitalOcean, xAI, Groq, JWTs…) werden zu ihrem Fingerabdruck-Label, etwa [GitHub token #3f9a1c2e] — überall dasselbe Label, sodass Sie weiterhin erkennen, welcher Schlüssel benutzt wurde.
  • Alles andere Geheime wird zu ***: Passwörter in URLs (https://user:***@host), curl -u user:*** (auch zusammengeschriebene und gebündelte Formen wie -fsSLu), curl-Cookies (-b, --cookie, jedes Paar), Zertifikats-Passphrasen (-E cert:***), Werte der Header Authorization, API-Key, Token und Cookie, Optionen im Stil von --password / --token / --api-key und KEY=value-Paare, deren Schlüsselname auf ein Passwort, Geheimnis, Token oder einen Schlüssel deutet.
  • Werte in Anführungszeichen werden ganz verborgen, samt Leerzeichen.
  • Was nur nach einem Geheimnis aussieht, bleibt erhalten: rsync -u, git checkout -b, PWD und andere Pfade.

Der Echtzeit-Event-Tap

Bei langlebigen WebSocket-Sitzungen würde das Warten bis zum Schließen des Sockets, um Events zu extrahieren, einen Administrator für die gesamte Sitzung blind machen. Stattdessen überwacht ein Echtzeit-Event-Tap die Server-Frames und gibt bei jedem response.completed dieselben llm.request- / tool.use- / file.read- / file.write- / command.run-Events aus, sodass eine laufende Realtime-Sitzung fortlaufend berichtet (die Extraktion beim Schließen wird dann übersprungen, um Doppelzählungen zu vermeiden). Der Tap hängt sich nur an, wenn die Trace-Stufe des Arbeitsbereichs bereits Inhalte für diesen Host erfasst – er nutzt denselben Inhaltserfassungspfad wie alles andere in diesem Kapitel und hat keine eigene lokale Benutzeroberfläche.

Privater Modus

Der private Modus ist ein Schalter pro Arbeitsbereich im Tracing-Bereich, der nur auf registrierten Macs angezeigt wird. Wenn aktiviert, hört diese Maschine auf, Sitzungsmetadaten und die obigen Events an den bromure.io-Arbeitsbereich zu streamen – weder der rote Streaming-Punkt in der Symbolleiste („Session metadata is being sent to bromure.io“) noch die Sitzungsliste des Admins sieht etwas davon. Das lokale Tracing und der Trace-Inspektor sind davon unberührt: Sie erhalten weiterhin den vollständigen verschlüsselten Trace auf Ihrer eigenen Maschine.

Er existiert genau für den Fall, in dem lokales Audit und organisatorische Telemetrie auseinandergehen sollen – zum Beispiel eine Maschine, auf der Sie einen persönlichen API-Schlüssel verwenden und diese Aktivität nicht in den Dashboards Ihrer Organisation haben möchten. Auf einem nicht registrierten Mac wird nichts gestreamt, sodass der Schalter vollständig ausgeblendet ist.

Hinweis: Der private Modus unterdrückt auch prompt_injection.detection-Events, sodass auf einer privaten Maschine eine Injection weiterhin lokal in der Sicherheits-Zeitleiste aufgezeichnet (und gemäß Ihrer Erkennungsaktion durchgesetzt) wird, aber nicht an Ihre Organisation weitergeleitet wird. Siehe Tracing-Einstellungen für den Schalter selbst und Enterprise für das, was die Registrierung streamt.