Audit-Exportformat

Spalten des CSV-Exports und Felder des JSON-Exports des Audit-Logs, mit allen Ereignistypen und Ergebnissen.

Sie können das Audit-Log Ihres Workspaces auf der Audit-Seite als CSV oder JSON exportieren: Audit, dann Als CSV exportieren oder Als JSON exportieren. Die Audit-Seite können nur Inhaber und Admins öffnen. Ein Export enthält genau die Einträge, die die Seite mit Ihren Filtern zeigt (Team, Akteur, Ereignis, Run, Zeitraum), ein Eintrag pro Zeile oder Objekt, neueste zuerst, höchstens 5.000 Einträge. Die Seite beschreibt Audit.

CSV

Die Kopfzeile lautet immer:

timestamp,actor,team,run,event,result
Spalte Inhalt Beispiel
timestamp Zeitpunkt des Ereignisses, ISO 8601 mit Mikrosekunden und UTC-Versatz 2026-10-01T09:00:00.000000+00:00
actor Anzeigename der Person, oder kanman, oder system Lena Weber
team Team-Slug, leer bei Ereignissen auf Workspace-Ebene sandbox-team
run Run-Schlüssel, leer, wenn das Ereignis keinen Run hat run-2m9q
event Ereignistyp, siehe unten policy_decision
result Ergebnis, siehe unten denied

Beispiel:

timestamp,actor,team,run,event,result
2026-10-01T09:12:31.000000+00:00,Lena Weber,sandbox-team,run-2m9q,decision_resolved,rejected
2026-10-01T09:00:01.000000+00:00,kanman,sandbox-team,run-2m9q,decision_created,info
2026-10-01T09:00:00.000000+00:00,kanman,sandbox-team,run-2m9q,policy_decision,denied
2026-10-01T08:58:30.000000+00:00,kanman,sandbox-team,run-2m9q,run_state_changed,info
2026-10-01T08:41:07.000000+00:00,Lena Weber,sandbox-team,,story_written,info

Formatregeln:

  • UTF-8, ein Eintrag pro Zeile, Zeilen enden mit einem Zeilenvorschub.
  • Ein Feld mit Komma, Anführungszeichen oder Zeilenumbruch steht in Anführungszeichen; Anführungszeichen im Feld werden verdoppelt.
  • Leere Felder bleiben leer (kein null).
  • Ein Wert, der mit =, +, - oder @ beginnt, bekommt ein Apostroph (') vorangestellt, damit Tabellenprogramme ihn nie als Formel ausführen.
  • Die CSV enthält nur die sechs Spalten. Nutzen Sie den JSON-Export, wenn Sie Details brauchen, etwa den gesperrten Pfad oder alte und neue Richtlinienwerte.

JSON

Der JSON-Export ist ein Array von Objekten, eines pro Eintrag, in derselben Reihenfolge wie die Seite:

[
  {
    "timestamp": "2026-10-01T09:00:00.000000+00:00",
    "actor": "kanman",
    "actorType": "kanman",
    "team": "sandbox-team",
    "run": "run-2m9q",
    "event": "policy_decision",
    "result": "denied",
    "entityType": "run",
    "entityName": "SBX-14 Add health check alarm",
    "details": {
      "check": { "kind": "path", "subject": "infra/alarms.tf" },
      "verdict": { "allowed": false, "authority": "ESCALATE", "reasonKey": "policy.path.denied" },
      "policyVersion": 3,
      "presetId": "balanced"
    }
  }
]
Feld Typ Beschreibung
timestamp String ISO 8601 mit Mikrosekunden und UTC-Versatz.
actor String Anzeigename der Person; kanman oder system für diese Akteure.
actorType String human, kanman oder system.
team String oder null Team-Slug.
run String oder null Run-Schlüssel.
event String Ereignistyp.
result String oder null Ergebnis.
entityType String task (eine Story), run, decision, policy, convention oder team.
entityName String oder null Lesbarer Name zum Zeitpunkt des Ereignisses.
details Objekt Ereignisspezifische Details. Enthält nie geheime Werte oder Modell-Prompts.

Ereignistypen

Ereignis Wird festgehalten, wenn Typische Ergebnisse
policy_decision kanman etwas gegen die Team-Richtlinie prüft (Pfad, Repo, Diff-Größe, Budget, Arbeitszeiten, Parallelität, Plan-Freigabe, Merge) allowed, denied
policy_changed Ein Admin die Team-Richtlinie ändert (alte und neue Werte in details) info
decision_created Eine Entscheidung im Eingang landet info
decision_resolved Eine Person eine Entscheidung beantwortet (Option und Kanal in details) approved, rejected, info
story_drafted Die Aufnahme aus einer Anforderung eine Story entwirft info
story_written Eine freigegebene Story in den Tracker geschrieben wird info
run_state_changed Ein Run Status oder Stufe wechselt info, failed
gate_passed Ein Gate des Outcome-Gates besteht (Gate-ID in details) passed
gate_failed Ein Gate scheitert, zum Beispiel diff_guard failed
tracker_write kanman in den Tracker schreibt (Kommentar, Statuswechsel, Verknüpfung) info
budget_reserved Steht im Ereignisfilter, wird derzeit nicht festgehalten keine
budget_stop Ein Run gestoppt wird, weil sein Budget aufgebraucht ist denied
convention_changed Eine Konvention angeheftet, bearbeitet oder zurückgezogen wird info
merge Ein Pull Request gemergt wird approved, info
revert_opened kanman einen Revert-Pull-Request öffnet info
team_paused Ein Team pausiert wird info
team_resumed Ein Team fortgesetzt wird info
team_deleted Der Owner des Workspaces ein Team löscht (abgebrochene Runs und Entscheidungen in details) info
workspace_deleted Der Owner den Workspace löscht info
audit_retention_applied Einträge, die älter als die Aufbewahrungsfrist waren, entfernt wurden (Anzahl und Stichtag in details) info

Ergebnisse

Ergebnis Bedeutung
allowed Eine Richtlinien- oder Budgetprüfung wurde bestanden.
denied Eine Richtlinien- oder Budgetprüfung hat die Aktion blockiert.
passed Ein Gate wurde bestanden.
failed Ein Gate oder Run ist gescheitert.
approved Eine Person hat zugestimmt (einem Plan, einer Ausnahme, einem Merge).
rejected Eine Person hat abgelehnt.
info Für die Nachvollziehbarkeit festgehalten, ohne Urteil.

Unveränderlichkeit und Aufbewahrung

  • Das Audit-Log ist nur erweiterbar. Einträge lassen sich nicht bearbeiten, auch nicht von Admins.
  • Einträge, die älter als Ihr Aufbewahrungszeitraum sind, werden automatisch gelöscht. Admins legen den Zeitraum unter Einstellungen, Audit-Aufbewahrung fest. Siehe Aufbewahrung und Löschung.
  • kanman hält jeden Export fest: wer exportiert hat, wann, in welchem Format und für welchen Zeitraum.

Zuletzt aktualisiert: January 1, 0001

kanman öffnen