# Audit-Log

> Wo du nachliest, wer wann was in deiner Organisation geändert hat, wer sich angemeldet hat, was über Webhooks und die REST-API gelaufen ist und welche Integrations-Accounts Probleme hatten — mit Filtern, Details und Export.

Unter **Organisation › Audit-Log** liest du nach, was in deiner Organisation passiert ist: welche Einstellung wann von wem geändert wurde, wer sich angemeldet hat, was über Webhooks und die REST-API gelaufen ist und wo es bei den Integrations-Accounts Probleme gab. Jeder Eintrag nennt den Zeitpunkt und lässt sich per Klick im Detail öffnen.

## Voraussetzungen

- Deine Benutzerrolle braucht das Recht **Audit-Log** im Bereich **Organisation**. Fehlt es, erscheint der Menüpunkt **Audit-Log** gar nicht.
- Zum Ändern der Aufbewahrungszeit brauchst du das Recht **Einstellungen** im Bereich **Organisation**, und die Zeile **Audit-Log** muss dort auf **Lesen + Bearbeiten** stehen.

## Welche Protokolle es gibt

<img alt="Die Seite Organisation › Audit-Log mit der Protokollauswahl links (Einstellungen, Login, Webhooks, API, Accounts), dem geöffneten Protokoll Einstellungen und der Tabelle mit den Spalten Zeitpunkt, Benutzer, Aktion, Bereich, Objekt-ID und IP-Adresse" src="/img/organisation/audit-log-protokolle-tabelle.png" width="760">

Links wählst du das Protokoll, das die Tabelle zeigt. Die Protokolle stehen in drei Gruppen:

**Organisation**

| Protokoll | Inhalt |
|---|---|
| **Einstellungen** | Protokoll der Änderungen an den Organisations-Einstellungen — dazu zählen auch Mitglieder und Module |
| **Login** | Anmeldungen, 2FA, Passwort- und Profiländerungen der Org-Mitglieder |

**Entwickler**

| Protokoll | Inhalt |
|---|---|
| **Webhooks** | Ausgehende Webhook-Zustellungen an externe URLs |
| **API** | Eingehende Aufrufe der REST-API (v3) |

**Integrationen**

| Protokoll | Inhalt |
|---|---|
| **Accounts** | Auth-Prüfungen der Integrations-Accounts: Fehler, Ausfälle und Wiederherstellungen |

Beim Öffnen von **Organisation › Audit-Log** ist das Protokoll **Einstellungen** vorausgewählt. Jedes Protokoll hat eigene Spalten:

| Protokoll | Spalten |
|---|---|
| **Einstellungen** | **Zeitpunkt**, **Benutzer**, **Aktion**, **Bereich**, **Objekt-ID**, **IP-Adresse** |
| **Login** | **Zeitpunkt**, **Benutzer**, **Aktion**, **Methode**, **Status**, **Gerät**, **IP-Adresse** |
| **Webhooks** | **Zeitpunkt**, **Trigger**, **Methode**, **Ziel**, **Status**, **Versuch**, **Dauer**, **Request-ID** |
| **API** | **Zeitpunkt**, **Methode**, **Pfad**, **Status**, **Dauer**, **Token** (Name des API-Tokens, darunter klein seine Beschreibung), **IP-Adresse**, **Request-ID** |
| **Accounts** | **Zeitpunkt**, **Account**, **Anbieter**, **Aktion** (**Auth-Prüfung** oder **Revalidierung**), **Status**, **Auslöser** (**Manuell** oder **Automatisch**) |

Im Protokoll **Accounts** steht in der Spalte **Account** der Name des Accounts; ist der Account inzwischen gelöscht, steht dort der Name des Anbieters. Protokolliert werden dort nur Auffälligkeiten — etwa abgelehnte Zugangsdaten oder ein nicht erreichbarer Anbieter — und die Rückkehr eines fehlerhaften Accounts zu einer funktionierenden Verbindung. Erfolgreiche Routineprüfungen erscheinen nicht. Die Accounts selbst verwaltest du unter [Accounts](/organisation/accounts).

Vorsortiert ist jedes Protokoll nach **Zeitpunkt**, neueste zuerst; ein Klick auf eine andere Spaltenüberschrift sortiert danach.

## Einen Eintrag finden

1. Öffne **Organisation › Audit-Log** und wähle links das Protokoll.
2. Grenze über die Leiste über der Tabelle ein:

   <img alt="Suchfeld, Aktions-Filter, Zeitraum-Filter und Export-Schaltfläche über der Tabelle" src="/img/organisation/audit-log-filterleiste.png" width="760">

   - **Suchen…** durchsucht die bereits geladenen Zeilen über alle sichtbaren Spalten. Ein Datum in der Schreibweise der Spalte **Zeitpunkt** (zum Beispiel 28.08.2026) findet die Suche nicht — dafür ist der Zeitraum-Filter da.
   - Der Filter daneben gehört zum jeweiligen Protokoll (siehe Tabelle unten).
   - Der Filter ganz rechts steht auf **Gesamter Zeitraum** und lässt sich auf **Letzte 7 Tage**, **Letzte 30 Tage** oder **Letzte 90 Tage** umstellen.
3. Klicke auf eine Spaltenüberschrift, um danach zu sortieren.

Welchen eigenen Filter ein Protokoll mitbringt:

| Protokoll | Filter |
|---|---|
| **Einstellungen** | **Alle Aktionen** — **Erstellt**, **Geändert**, **Gelöscht**, **Dupliziert**, **Neu generiert**, **Deaktiviert**, **Erneut gesendet**, **Secret angezeigt**, **Secret rotiert** |
| **Login** | **Alle Status** — **Erfolg**, **Fehlgeschlagen**, **Blockiert** |
| **Webhooks** | **Alle** — **Erfolg**, **Fehlgeschlagen** |
| **API** | zwei Filter: **Alle Methoden** — **GET**, **POST**, **PUT**, **PATCH**, **DELETE**; und **Alle** — **2xx OK**, **4xx Fehler**, **5xx Fehler** |
| **Accounts** | **Alle Status** — **Abgelehnt**, **Vorübergehend**, **Hängt fest**, **Wiederhergestellt** |

Wechselst du links das Protokoll, werden Suche, Filter und Zeitraum zurückgesetzt und ein offener Detailbereich schließt sich. Gibt es keine passenden Einträge, steht in der Tabelle **Keine Protokoll-Einträge**.

Zeitraum und Protokoll-Filter wirken auf alle gespeicherten Einträge, das Suchfeld nur auf die bereits geladenen Zeilen. Geladen werden zuerst die neuesten 200 Einträge, weitere lädt die Tabelle im Hintergrund nach — je Ansicht höchstens 50.000. Einen Hinweis, dass die Grenze erreicht ist, gibt es nicht. Ältere Einträge eines sehr großen Protokolls erreichst du deshalb nur, indem du zuerst mit Zeitraum und Filter eingrenzt.

## Details zu einem Eintrag ansehen

1. Öffne **Organisation › Audit-Log** und wähle links das Protokoll.
2. Klicke auf die Zeile, die dich interessiert.

Es öffnet sich ein Detailbereich mit den Daten des Eintrags.

<img alt="Der Detailbereich Geändert · API-Tokens mit Zeitpunkt, den Symbolen für Layer-Modus, Dock-Modus und Schließen und dem Datenblock detail mit Kopier-Symbol" src="/img/organisation/audit-log-detailbereich.png" width="439">

In der Kopfzeile des Detailbereichs steht eine Kurzbezeichnung — bei **Einstellungen** etwa **Deaktiviert · Mitglieder**, bei **Accounts** Status und Account, etwa **Abgelehnt · \<Account>** — und darunter der Zeitpunkt. Es folgt der Inhalt als schreibgeschützter Datenblock **detail**; das Kopier-Symbol rechts in dessen Kopfzeile (**JSON kopieren**) legt den ganzen Block in die Zwischenablage.

Was im Datenblock steht, hängt vom Protokoll ab:

| Protokoll | Inhalt des Datenblocks |
|---|---|
| **Einstellungen** | Werte vor und nach der Änderung |
| **Login** | Schritt, Status, Anmeldeverfahren, Gerät und Browser, Sitzungskennung sowie Fehlercode und Fehlermeldung, falls es einen gab |
| **Webhooks** | Anfrage und Antwort — Ziel-URL, Kopfzeilen, Inhalt, Statuscode und Fehlermeldung. Die Werte der gesendeten Kopfzeilen sind als `***` ausgeblendet, damit keine Zugangsdaten im Protokoll stehen |
| **API** | Angaben zur Anfrage — Token, Route, Parameter, Kopfzeilen, Statuscode und Fehlermeldung. Die Antwort selbst wird nicht mitprotokolliert |
| **Accounts** | Prüfschritt, Status, Fehlercode und Fehlermeldung, Auslöser, Kennungen von Account und Integration, Anbieter, Accountinhaber und weitere Angaben zur Prüfung |

Bei Einträgen aus **Login** steht über dem Datenblock der Kasten **Standort (IP-Geo)** mit Ort, Region und Land, dazu der Anbieter, wenn er bekannt ist. Dieser Wert wird beim Klick grob aus der IP-Adresse abgeleitet; lässt sie sich nicht zuordnen, bleibt der Kasten weg. Lässt sich der Eintrag nicht nachladen, erscheint **Details konnten nicht geladen werden** — klicke die Zeile dann erneut an.

Oben im Detailbereich schaltest du über die Symbole zwischen **Layer-Modus** und **Dock-Modus** um; das X mit dem Hinweis **Detailbereich ausblenden** schließt ihn wieder.

## Ein Protokoll exportieren

1. Öffne **Organisation › Audit-Log** und wähle links das Protokoll.
2. Setze Suche, Filter und Zeitraum so, wie der Export aussehen soll.
3. Klicke rechts in der Leiste über der Tabelle auf die Export-Schaltfläche (das Drucker-Symbol).
4. Wähle **Als Excel (XLSX)**, **Als CSV**, **Als JSON** oder **Als PDF**.

Exportiert wird genau das, was du siehst: die sichtbaren Spalten in der aktuellen Reihenfolge und die aktuell gefilterten und sortierten Zeilen. Die Datei heißt `audit-log` mit der Endung des gewählten Formats.

## Aufbewahrungszeit ändern

Wie lange die Einträge aufbewahrt werden, bevor sie automatisch gelöscht werden, stellst du nicht unter **Organisation › Audit-Log** ein, sondern unter **Organisation › Einstellungen › Organisation › Audit-Log**. Dort gibt es drei Einstellungen: **Audit-Log** gilt für die Protokolle **Einstellungen**, **Login** und **Accounts**; **Webhook-Deliveries** gilt für **Webhooks**; **API-Requests** gilt für **API**. Wie lange du höchstens aufbewahren kannst, begrenzt die gebuchte Version; die Fristen, die Obergrenzen und die Voreinstellung stehen auf der Seite [Audit-Log unter Einstellungen](/organisation/einstellungen/organisation/audit-log).

## Häufige Fragen

### Warum sehe ich den Menüpunkt „Audit-Log" nicht?
Deiner Benutzerrolle fehlt das Recht **Audit-Log**. Eine Person mit Administrator-Rolle kann es dir unter **Organisation › Einstellungen › Team & Rollen › Benutzerrollen** im Bereich **Organisation** geben. Ohne dieses Recht verschwindet der Menüpunkt vollständig, und auch der direkte Aufruf der Seite wird mit „Keine Berechtigung für das Audit-Log." abgewiesen.

### Wer hat diese Einstellung geändert?
Öffne **Organisation › Audit-Log**, bleibe links auf **Organisation** und suche die Zeile: Die Spalte **Bereich** nennt den betroffenen Bereich (zum Beispiel **Mitglieder**, **API-Tokens** oder **Webhooks**), **Aktion** sagt, was passiert ist, **Benutzer**, wer es war. Ein Klick auf die Zeile zeigt im Detailbereich die geänderten Werte.

### Kann ich das Protokollieren abschalten?
Nein. Anmeldungen und Änderungen an Einstellungen werden immer protokolliert. Einstellbar ist nur, wie lange die Einträge aufbewahrt werden — unter **Organisation › Einstellungen › Organisation › Audit-Log**.

### Wie lange bleiben die Einträge erhalten?
Die Einträge im Audit-Log bleiben so lange erhalten, wie es unter **Organisation › Einstellungen › Organisation › Audit-Log** eingestellt ist — höchstens so lange, wie deine gebuchte Version erlaubt. Die Einstellung **Audit-Log** gilt für die Protokolle **Einstellungen**, **Login** und **Accounts**; **Webhook-Deliveries** gilt für **Webhooks**; **API-Requests** gilt für **API**. Fristen, Obergrenzen und Voreinstellung stehen auf der Seite [Audit-Log unter Einstellungen](/organisation/einstellungen/organisation/audit-log).

### Ich finde einen bestimmten alten Eintrag nicht.
Fehlt ein alter Eintrag im Audit-Log, gibt es drei mögliche Gründe. Erstens: Der Eintrag ist älter als die Aufbewahrungszeit, die unter **Organisation › Einstellungen › Organisation › Audit-Log** eingestellt ist, und wurde gelöscht. Zweitens: Die Tabelle lädt je Ansicht höchstens 50.000 Einträge, ohne Hinweis — bei sehr großen Protokollen fehlt der ältere Rest. Drittens: Das Suchfeld durchsucht nur die geladenen Zeilen. Grenze deshalb zuerst mit dem Zeitraum und dem Filter ein und suche dann.

### Ein Kollege sagt, er hat sich angemeldet — unter „Login" steht nichts.
Das Protokoll **Login** zeigt nur, was unter dieser Organisation passiert ist. Ist der Kollege in mehreren Organisationen Mitglied, bleiben seine Anmeldungen in einer anderen Organisation auch dort. Prüfe außerdem den Status-Filter: Steht er auf **Erfolg**, sind fehlgeschlagene und blockierte Versuche ausgeblendet.

### Sehe ich auch Anmeldungen von Mitgliedern, die inzwischen deaktiviert sind?
Ja. Das Protokoll **Login** zeigt die Ereignisse selbst, nicht die aktuelle Mitgliederliste. Einträge von ausgeschiedenen oder deaktivierten Mitgliedern bleiben deshalb sichtbar.

### Warum steht bei manchen Einträgen „System" als Benutzer?
**System** in der Spalte **Benutzer** kommt im Protokoll **Einstellungen** vor und heißt: Zu diesem Eintrag ist kein Benutzerkonto hinterlegt. Das ist zum Beispiel der Fall, wenn das Mitglied, das die Änderung vorgenommen hat, inzwischen endgültig gelöscht wurde — über **Mitglied löschen** auf seiner Detailseite unter **Organisation › Team**. Seine Einträge bleiben dann erhalten, die Verknüpfung zu seinem Benutzerkonto wird aber entfernt.

### Warum gibt es im Protokoll „API" keine Benutzer-Spalte?
Aufrufe der REST-API weisen sich mit einem API-Token aus, nicht mit einem Benutzerkonto. Deshalb zeigt das Protokoll **API** statt einer Benutzer-Spalte die Spalte **Token** mit dem Namen des verwendeten Tokens. Ein **–** bedeutet, dass der Aufruf keinem Token deiner Organisation zugeordnet werden konnte.

### Was bedeutet die Spalte „Objekt-ID"?
Die Spalte **Objekt-ID** im Protokoll **Einstellungen** zeigt die interne Kennung des Datensatzes, den die Aktion betroffen hat — meist eine Nummer, manchmal eine lange Zeichenfolge. Sie hilft, mehrere Einträge zum selben Objekt zusammenzubringen; bei Änderungen ohne einzelnen Datensatz bleibt sie leer.

### Ein Kollege sagt, der Anmelde-Code oder die Passwort-Mail kam nicht an.
Öffne **Organisation › Audit-Log**, wechsle links auf **Login** und klicke den passenden Eintrag an. Bei Mails, die zur Anmeldung gehören — Bestätigungscode per E-Mail, Bestätigung eines neuen Geräts, Passwort zurücksetzen — steht im Detailbereich unter `delivery` der Zustellstatus, etwa **zugestellt**, **unzustellbar**, **als Spam gemeldet** oder **Zustellnachweis fehlt**, dazu Empfängeradresse und Zeitpunkt. Für die Einladungs-Mail und den Login-Link aus **Organisation › Team** wird kein Zustellstatus protokolliert; dort hilft nur, die Mail über das Drei-Punkte-Menü der Person erneut zu senden.

### Kann ich das Protokoll herausgeben, zum Beispiel für eine Prüfung?
Ja. Öffne **Organisation › Audit-Log**, stelle Protokoll, Filter und Zeitraum ein und klicke rechts über der Tabelle auf die Export-Schaltfläche (das Drucker-Symbol). Zur Wahl stehen **Als Excel (XLSX)**, **Als CSV**, **Als JSON** und **Als PDF**. Exportiert wird der aktuell sichtbare, gefilterte und sortierte Stand.
