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