Audit-Log

Zwei einmal geschriebene Spuren der Handlungen, die Vertrauen betreffen - Rollen, Mitgliedschaft und Tokens im Workspace, Sitze, Eigentum und Single Sign-on in der Organisation - jede 90 Tage aufbewahrt. Inhaltsbearbeitungen stehen bewusst in keiner von beiden.

Jeder Workspace führt eine Spur der Handlungen, die ändern, wer was darf. Sie wird einmal geschrieben, nie bearbeitet, und nach 90 Tagen beschnitten.

Was festgehalten wird

  • Rollen - angelegt, geändert, gelöscht. Eine Änderung trägt ein Diff: welche Rechte kamen hinzu, welche fielen weg, und ob sich Name, Beschreibung, Farbe oder Standard-Flag änderten.
  • Menschen - hinzugefügt, samt der Rolle, die sie erhalten haben, entfernt, Rolle geändert, Status geändert, sowie seitenbezogene Rechte erteilt oder entzogen. Verlässt jemand einen Workspace selbst, wird das als Entfernung festgehalten, mit dieser Person als eigenem Urheber.
  • Tokens - erstellt und widerrufen, einschließlich der Asset-Tokens, die private Medien signieren.
  • Der Workspace - Einstellungen geändert und das Draft-Secret neu erzeugt.
  • Webhook-Endpunkte - angelegt, geändert, gelöscht, Secret rotiert und eine gespeicherte Zustellung erneut gesendet. Eine Änderung trägt, wohin die URL vorher zeigte, welche Ereignisse hinzukamen oder wegfielen und ob der Endpunkt abgeschaltet wurde. Eine Rotation trägt das Kulanzfenster, in dem das alte Secret weiter signiert - eine Rotation ohne Kulanz bricht jede Zustellung, bis der Konsument neu ausrollt. Ein Endpunkt, den der Zustell-Worker nach zwanzig aufeinanderfolgenden fehlgeschlagenen Zustellungen abschaltet, wird ebenfalls festgehalten - als eigene Aktion mit der Fehlerzahl, niemals als Bearbeitung durch eine Person.
  • Veröffentlichung einer Seite - veröffentlicht, zurückgezogen, ein Entwurf verworfen, ein Layout veröffentlicht, ein Layout-Entwurf verworfen, ein Entwicklungsentwurf übernommen, und ein Wechsel der redaktionellen Stufe. Die Veröffentlichung ist der Moment, in dem eine Änderung öffentlich sichtbar wird, also gehört sie hierher - auch wenn die Bearbeitung, die sie erzeugt hat, es nicht tut. Eine Layout-Veröffentlichung ist eine eigene Aktion: sie ändert, was die Seite darstellt, ohne die Seite live zu schalten.
  • Löschungen - eine Seite, samt der Zahl der Unterseiten, die mit ihr gingen; eine Seitensperre, die jemandem abgenommen wurde; ein Modell, samt der Zahl der Datensätze, die mit ihm gingen; ein einzelner Datensatz; eine Massenlöschung von Produkten, samt Anzahl und der Angabe, ob die Auswahl über Ids oder über einen Filter erfolgte; ein Formular, samt der Zahl der Einsendungen, die mit ihm gingen; und eine einzelne Einsendung. Ein Eintrag zu einer Einsendung nennt das Formular, ihren Status und wann sie eintraf - niemals, was der Besucher eingetippt hat. Das Audit-Log wird mit einem anderen Recht gelesen als die Einsendungen selbst, also würde es die Antworten dort zu wiederholen jemandem geben, der den Eingang nicht öffnen darf.

Jeder Eintrag nennt das Objekt, den Zeitpunkt und wer gehandelt hat - eine Person oder die Plattform selbst, wenn sie von sich aus handelte, etwa bei einem Webhook-Endpunkt, den wiederholte Fehlschläge abgeschaltet haben.

Jeder Eintrag sagt, woher der Schreibvorgang kam. Eine Änderung in der Verwaltung trägt überhaupt keine Herkunft. Eine Änderung durch den KI-Assistenten wird als solche markiert und nennt das benutzte Werkzeug; eine Änderung über den MCP-Server wird stattdessen als diese Oberfläche markiert. Die Aktion ist in beiden Fällen dieselbe - eine Veröffentlichung durch den Assistenten ist derselbe Eintrag veröffentlicht, den auch ein Mensch schreibt - also lässt sich die Spur als eine Geschichte lesen und dann auf die maschinellen Schreibvorgänge eingrenzen, wenn das die Frage ist. Urheber bleibt die Person, deren Token die Änderung ausgeführt hat: der Assistent handelt in jemandes Auftrag, nie im eigenen.

Die Organisation führt ihr eigenes Log

Einer Organisation gehören der Tarif, die Sitze und die Single-Sign-on-Konfiguration. Diese Ereignisse gehören zu keinem einzelnen Workspace, also werden sie in eine eigene Spur mit eigenem Leserecht geschrieben. Die Trennung hält das Workspace-Log ehrlich: ein Eintrag dort nennt immer einen Workspace, und ein Organisationsereignis hat keinen zu nennen.

Auf Organisationsebene festgehalten wird:

  • Die Organisation selbst - angelegt, umbenannt, gelöscht, Einstellungen geändert. Eine Umbenennung trägt, ob Name, Slug oder beides sich bewegt haben; eine Einstellungsänderung trägt die neue Standardrolle für Mitglieder und ob Mitglieder selbst Workspaces anlegen dürfen.
  • Eigentum - übertragen, mit Namen dessen, der es abgab, und dessen, der es übernahm.
  • Sitze - jemand eingeladen, samt der Organisationsrolle, die ihm angeboten wurde; eine Einladung zurückgezogen; eine Einladung angenommen; ein Mitglied entfernt; die Organisationsrolle eines Mitglieds geändert. An diesen Einträgen entscheidet sich ein Streit um einen Sitz - und der Sitz ist die Einheit, in der der Tarif zählt.
  • Workspaces - in die Organisation hinein oder aus ihr heraus verschoben, mit beiden Seiten der Verschiebung.
  • Single Sign-on - eine Domain hinzugefügt, verifiziert oder entfernt, die Verbindung konfiguriert, eine Testverbindung samt Ergebnis, und Erzwingung ein- oder ausgeschaltet. Die Erzwingung entscheidet, wer sich noch mit einem Passwort anmelden kann, also wird sie als eigene Aktion festgehalten und nicht als eine weitere Einstellungsänderung.

Die Organisationsrolle - Eigentümer, Admin oder Mitglied - ist etwas anderes als die Workspace-Rolle, die Rechte innerhalb eines Workspace vergibt. Eine Änderung der einen wird nie als Änderung der anderen festgehalten, und die beiden Spuren vermischen ihre Vokabulare nicht.

Eine Aktion, die nichts geändert hat, schreibt nichts. Das Speichern des Einstellungsformulars, ohne ein Feld anzurühren, oder das Setzen einer Rolle, die jemand schon hält, hinterlässt keinen Eintrag: eine mit Nicht-Ereignissen gefüllte Spur liest niemand.

Was nicht, und warum

Inhaltsbearbeitungen stehen nicht im Audit-Log. Keine Seitenspeicherungen, keine Blockkorrekturen, keine Medien-Uploads.

Veröffentlichung und Löschung sind die beiden Ausnahmen, und beide stehen auf der Liste oben. Die Grenze verläuft nicht zwischen „Inhalt" und „Zugriff", sondern zwischen wiederherstellbar und nicht. Eine Entwurfsbearbeitung ist umkehrbar und privat, also bleibt sie draußen. Der Moment, in dem Inhalt öffentlich wird, wird festgehalten - und ebenso der Moment, in dem er aufhört zu existieren: eine Löschung ist die eine Inhaltsoperation, die danach nichts anderes beantworten kann, weil das, wonach jemand fragen würde, fort ist.

Das ist eine bewusste Grenze, kein Versehen. Diese Ereignisse sind hochvolumig - ein geschäftiger Nachmittag erzeugt Hunderte - und sie beizumischen würde die fünfzehn Einträge, auf die es ankommt, unter Tausenden begraben, auf die es nicht ankommt. Das Audit-Log beantwortet „wer hat Zugriff geändert"; für „wer hat diese Seite geändert" hält der Versionsverlauf jede Speicherung samt Urheber fest.

Die Faustregel hinter der Liste: Sie deckt ab, was Vertrauen, Authentifizierung und Abrechnung betrifft - und worüber ein Angreifer seine Spuren verwischen wollte.

Wer es lesen darf

Das Workspace-Log verlangt das Recht, Rollen zu verwalten. Das ist Absicht: Das Log ist größtenteils eine Aufzeichnung von Rechteänderungen, also sehen jene, die Zugriff erteilen können, auch, wer ihn erteilt hat.

Das Organisations-Log verlangt, die Organisation zu verwalten: ihr Eigentümer zu sein oder die Admin-Rolle der Organisation zu halten. Das Workspace-Recht reicht nicht dorthin. Wer in einem Workspace Rollen verwalten kann, hat keinen Anspruch auf die Aufzeichnung, wer in die Organisation darüber eingeladen wurde - und dieses Recht in jedem Workspace der Organisation zu halten öffnet es trotzdem nicht.

Neunzig Tage

Ältere Einträge werden von einem geplanten Job entfernt, der beide Spuren im selben Durchlauf durchgeht. Sind deine Aufbewahrungspflichten länger, exportiere regelmäßig, statt die Lücke während einer Prüfung zu entdecken.

Ein Eintrag überlebt seinen Gegenstand mit Absicht: Das Löschen einer Organisation wird festgehalten, und diese Aufzeichnung wird nicht mit ihr gelöscht. Sie läuft nach neunzig Tagen mit allem anderen aus.

Nächste Schritte

  • Mitglieder und Rollen - die Rechte, deren Änderungen hier landen.
  • API-Tokens - Erstellung und Widerruf, beides festgehalten.
  • Webhooks - die Endpunkte, deren Änderungen hier landen.
  • Single Sign-on - Domains, Konfiguration und Erzwingung, alles auf der Organisation festgehalten.
  • Versionsverlauf - die Inhaltsspur, die dieses Log bewusst auslässt.