Audit

Plugin für Payload CMS, das automatisch unveränderliche Audit-Logs über alle Collections hinweg aufzeichnet.

Community 4 410/Wo. MIT v1.3.0

Installation

pnpm add @trieb.work/payload-audit

Über

payload-audit registriert `afterChange`- und `afterDelete`-Hooks an jeder Collection und schreibt für jedes Erstellen, Ändern und Löschen einen Eintrag in die unveränderliche `audit-logs`-Collection. Eine einzige Konfigurationszeile deckt alle Collections ab. Über `disabledCollections` lassen sich einzelne Collections ausschließen. Interne Collections von Payload (`payload-jobs`, `payload-preferences`, `payload-migrations` und weitere) sind standardmäßig ausgenommen, um Rauschen und Rückkopplungen zu vermeiden. Die generierte `audit-logs`-Collection weist API-Anfragen zum Erstellen, Ändern und Löschen konsequent zurück. Einträge entstehen ausschließlich intern durch das Plugin mit `overrideAccess` und sind damit vor Benutzereingriffen geschützt. Jeder Eintrag protokolliert den Actor mit E-Mail und Namens-Snapshot, der auch nach einer späteren Löschung des Benutzers erhalten bleibt. Zusätzlich werden Dokument-ID, Dokumenttitel, Aktionstyp, IP-Adresse und User-Agent gespeichert. Bei Collections mit Uploads werden die dedizierten Aktionen `file_upload` und `file_delete` anstelle von generischen Create- und Delete-Aktionen verwendet. Das Plugin richtet sich gegen die Protokollierungs- und Nachweisanforderungen von NIS-2, CRA, GDPR, HIPAA, PCI-DSS 4.0, ISO/IEC 27001 und SOC 2. Optionale forensische Metadaten umfassen Authentifizierungsstrategie, HTTP-Methode, Request-Pfad sowie einen nicht umkehrbaren Token-Fingerprint (`<prefix8>:<sha256(rest)>`). So lassen sich Aktionen eines kompromittierten Tokens korrelieren, ohne das Token selbst zu speichern. Delegation und Impersonation folgen der `act`-Semantik aus RFC 8693 und erfassen über `onBehalfOf` und eine verschachtelte `delegationChain`, wer in wessen Auftrag gehandelt hat. Die Aufbewahrung steuert ein Scheduled Task von Payload, sobald `maxAge` (Tage) oder `maxEntries` (Anzahl) gesetzt ist. Cron, Queue und ein `disableSchedule`-Flag für manuelle Ausführung sind konfigurierbar. Im Multi-Tenant-Modus erhält jeder Eintrag eine `tenant`-Beziehung, die das Plugin per AutoDetect auf den Collections erkennt und mit `@payloadcms/plugin-multi-tenant` zusammenarbeitet. Exportierte Hilfsfunktionen wie `writeAuditLog`, `resolveDelegation`, `extractTenant`, `resolveDocTitle` und `pruneAuditLogs` erlauben das Schreiben und Verwalten von Einträgen aus eigenen Hooks und Skripten. Das Flag `skipAuditLog` im Request-Context unterdrückt den automatischen Eintrag, wenn eine spezifischere Protokollierung eigenen Code erfordert. Voraussetzung sind Payload 3.x mit MongoDB-Adapter.

Paketinformationen

Paketname
@trieb.work/payload-audit
Neueste Version
1.3.0
Entpackte Größe
227 kB
Lizenz
MIT
Wöchentliche Downloads
410
Zuletzt veröffentlicht
9. Sep. 2026

Mehr von trieb-work

Profil ansehen

Ähnliche Plugins

Mehr in Admin