Wer mehrere Personen mit Adminrechten in seinem Shopware-Shop arbeiten lässt, kennt die Situation: Plötzlich ist der Steuersatz eines Produkts geändert, ein Kundendatensatz angepasst, ein Versandstatus zurückgesetzt — und niemand will es gewesen sein. Im Tagesgeschäft ist das ärgerlich. In einem DSGVO-Audit wird daraus schnell ein echtes Problem.
Der Grund liegt in Artikel 5 Absatz 2 DSGVO, der sogenannten Rechenschaftspflicht. Der Verantwortliche — in der Regel der Shop-Betreiber — muss die Einhaltung der DSGVO-Grundsätze nicht nur sicherstellen, sondern auch nachweisen können. Das heißt im Klartext: Wenn eine Aufsichtsbehörde, ein Kunde oder ein interner Datenschutzbeauftragter fragt, wer wann welche personenbezogenen Daten geändert hat, musst du eine belastbare Antwort liefern können. Mit „weiß ich nicht mehr” kommst du nicht weit.
Genau hier hat Shopware out-of-the-box eine Lücke. Es gibt keine integrierte Änderungshistorie auf Entitätsebene — kein Admin sieht im Standard nach, wer den Bruttopreis eines Produkts gestern um 17:42 Uhr von 89,90 € auf 79,90 € gesetzt hat. Diese Lücke schließt du nicht mit guten Vorsätzen, sondern mit einem Audit-Trail.
Disclaimer: Dieser Artikel ist keine Rechtsberatung. Bei konkreten DSGVO-Fragen — etwa zu Aufbewahrungsfristen, Zweckbindung oder Verarbeitungsverzeichnis — wende dich an deinen Datenschutzbeauftragten oder einen spezialisierten Anwalt.
Was ein Audit-Trail abdecken muss
Bevor wir uns ein konkretes Plugin anschauen, lohnt sich ein Blick auf die Anforderungen. Ein DSGVO-tauglicher Audit-Trail muss mehr leisten, als nur „irgendwas zu protokollieren”. Die folgenden sechs Punkte sind das Minimum:
- User-Attribution — Jede Änderung muss eindeutig einem Admin-Benutzer zugeordnet sein. Ein anonymes „System hat geändert” hilft im Audit nicht.
- Zeitstempel — Datum und Uhrzeit der Änderung, idealerweise mit Sekundengenauigkeit, damit sich auch zeitlich nahe Ereignisse trennen lassen.
- Vor-/Nachher-Werte — Es reicht nicht zu wissen, dass ein Kundendatensatz geändert wurde. Du brauchst auch was sich von welchem Wert auf welchen neuen Wert verändert hat. Sonst lässt sich keine fehlerhafte Änderung rekonstruieren oder rückgängig machen.
- Authentifizierungs-Events — Erfolgreiche und fehlgeschlagene Login-Versuche. Letztere sind oft das erste Anzeichen für einen kompromittierten Account.
- API-Zugriffe — Welche externen Systeme (ERP, PIM, POS, Marktplatz-Connector) schreiben Daten in deinen Shop? Wenn ein Kundendatensatz nachts um drei geändert wird, ist die Antwort meistens „die ERP-Synchronisierung” — aber das musst du belegen können.
- Aufbewahrungsfristen — Die DSGVO verlangt Datensparsamkeit (Art. 5 Abs. 1 lit. e). Ein Protokoll, das alle Daten ewig speichert, ist selbst ein DSGVO-Problem. Es braucht eine definierte Aufbewahrungsdauer und eine automatische Bereinigung danach.
Hinzu kommt eine Eigenschaft, die oft übersehen wird: Revisionssicherheit. Protokolleinträge dürfen nachträglich weder gelöscht noch verändert werden können — sonst wäre das Protokoll als Nachweis wertlos.
Schritt-für-Schritt: Audit-Trail mit dem Admin Aktivitätsprotokoll einrichten
Für genau diese Anforderungen haben wir das Admin Aktivitätsprotokoll gebaut. Im Folgenden gehen wir die Einrichtung Schritt für Schritt durch — mit den konkreten UI-Pfaden, damit du es ohne Developer-Wissen nachvollziehen kannst.
1. Plugin installieren
Im Shopware-Admin auf Erweiterungen → Store wechseln und nach „Admin Aktivitätsprotokoll” suchen, oder das ZIP direkt aus dem Shopware Store herunterladen und unter Erweiterungen → Meine Erweiterungen → Erweiterung hochladen einspielen. Nach dem Upload erscheint das Plugin in deiner Erweiterungsübersicht.
2. Aktivieren und Konfiguration öffnen
Unter Erweiterungen → Meine Erweiterungen das Plugin aktivieren und über den Menüpunkt Konfigurieren in den Einstellungen landen. Erst nach der Aktivierung beginnt die Protokollierung — vorher liegt das Plugin nur inaktiv im System.
3. Erfasste Entitäten auswählen
Standardmäßig protokolliert das Plugin Änderungen an Produkten, Bestellungen, Kunden, Kategorien und Medien. In der Konfiguration kannst du diese Liste anpassen.
Aus DSGVO-Sicht ist die Empfehlung eindeutig: Kunden und Bestellungen müssen aktiviert sein, denn dort liegen die personenbezogenen Daten. Produkte und Kategorien sind eher aus betriebswirtschaftlichen Gründen relevant (Preisänderungen, Sortimentspflege), aber datenschutzrechtlich unkritisch. Medien lohnen sich, wenn dort Vertragsunterlagen oder Kundendokumente liegen.
4. Aufbewahrungszeitraum festlegen
Die Auswahl reicht von 30 Tagen über 60, 90, 180 und 365 Tage bis hin zu unbegrenzter Speicherung. Welcher Wert passt, hängt von deinem Verarbeitungsverzeichnis ab — pauschale Aussagen verbieten sich.
Als Orientierung: Viele Datenschutzbeauftragte empfehlen für reine Admin-Audit-Logs eine Aufbewahrung von 90 bis 180 Tagen. Lang genug, um einen vergangenen Quartalsabschluss noch nachzuvollziehen, kurz genug, um nicht selbst zur Datenhalde zu werden. „Unbegrenzt” ist mit Blick auf Datensparsamkeit nur dann zu rechtfertigen, wenn es eine konkrete gesetzliche Aufbewahrungspflicht gibt — die meisten Audit-Logs fallen nicht darunter.
5. Systemaktionen-Toggle bewusst setzen
Es gibt einen Schalter für Systemaktionen, der entscheidet, ob auch Änderungen durch CLI-Befehle, Scheduled Tasks und Integrationen protokolliert werden.
- Einschalten, wenn du wissen willst, jede Änderung — auch automatisierte — nachvollziehen können. Das ist die saubere Variante für DSGVO-Audits, weil auch nächtliche ERP-Synchronisationen Spuren in personenbezogenen Daten hinterlassen.
- Ausschalten, wenn dein Protokoll sonst durch Massenimporte unleserlich wird und du einen separaten Mechanismus für API-Logs hast. In der Praxis ist das die seltenere Wahl.
Wer im Zweifel ist, lässt den Toggle aktiv und filtert später in der Protokollansicht nach Bedarf heraus.
Audit-Trail in der Praxis nutzen
Nach der Einrichtung beginnt das Plugin sofort mit der Aufzeichnung. Spannender ist die Frage, wie du im Alltag damit arbeitest.
Die Aktivitätsprotokoll-Ansicht
Die Hauptansicht findest du unter Einstellungen → Erweiterungen → Aktivitätsprotokoll. Dort kannst du nach Entitätstyp, Benutzer, Aktion (Anlegen, Ändern, Löschen) und Zeitraum filtern. Ein Klick auf einen Eintrag öffnet das Detailmodal mit der vollständigen Feldliste — inklusive der Vor- und Nachher-Werte, sauber gegenübergestellt.
Verlauf-Button auf Detailseiten
Statt sich durch das gesamte Protokoll zu filtern, kannst du die Historie einer einzelnen Entität direkt aufrufen. Auf der Produkt-, Bestell- und Kundendetailseite erscheint in der Toolbar ein Verlauf-Button. Klick darauf öffnet ein Modal mit allen Änderungen zu dieser Entität — chronologisch sortiert, ohne dass du die Seite verlassen musst. Das ist im Alltag der schnellste Weg, eine Frage wie „Wer hat den Preis dieses Artikels letzte Woche geändert?” zu beantworten.
CSV-Export für Audit-Berichte
Für externe Auditoren oder eigene Reports brauchst du oft eine exportierte Liste. Das Plugin exportiert die jeweils gefilterte Ansicht als CSV — bis zu 50.000 Einträge in einem Durchgang. Das reicht in den allermeisten Shops für mehrere Monate Historie auf einmal.
Dashboard-Widget
Auf dem Shopware-Startdashboard zeigt ein kleines Widget die zehn aktuellsten Aktivitäten. Das ersetzt kein Audit, ist aber für den täglichen Blick „was ist heute im Admin passiert?” überraschend nützlich — gerade in Teams, wo mehrere Leute parallel arbeiten.
Spezialfälle
Drei Konstellationen verdienen einen genaueren Blick, weil sie in DSGVO-Audits gern als „blinde Flecken” auftauchen.
API-Integrationen (ERP, PIM, POS)
Schreibvorgänge durch OAuth-Integrationen werden mit dem Namen der jeweiligen Integration attributiert und in der Protokollansicht mit einem Plug-Icon markiert. So siehst du auf einen Blick, ob ein Datensatz manuell oder durch eine Drittsystem-Synchronisation geändert wurde. Das ist im Audit Gold wert — die häufigste Antwort auf „Wer hat das geändert?” lautet in komplexen Shops nämlich nicht „ein Mitarbeiter”, sondern „das ERP”.
Login-Tracking
Erfolgreiche Logins und fehlgeschlagene Versuche werden mit Benutzername und Zeitstempel erfasst. Passwörter werden niemals gespeichert — weder im Klartext noch gehasht, weder bei erfolgreichen noch bei fehlgeschlagenen Versuchen. Was bleibt, ist die Information „Benutzer X hat sich zu Zeitpunkt Y eingeloggt” bzw. „Es gab drei fehlgeschlagene Login-Versuche für Benutzer X innerhalb von zwei Minuten” — die Datenbasis, mit der sich verdächtige Aktivität erkennen lässt.
Bestellstatus-Wechsel
Statuswechsel bei Bestellungen (Bezahlt → Versendet, Offen → Storniert etc.) werden automatisch und ohne separate Konfiguration erfasst. Das ist relevant, weil Bestellstatus-Änderungen oft an Versanddienstleister-Webhooks oder automatisierte Workflows gekoppelt sind — und im Streitfall genau dokumentiert werden muss, wann und durch wen ein Status gesetzt wurde.
Fazit
Mit einem aktiv eingerichteten Audit-Trail hast du drei Dinge gewonnen, die dir vorher gefehlt haben: einen lückenlosen Nachweis für die Rechenschaftspflicht aus Art. 5 Abs. 2 DSGVO, Transparenz im Team über alle Admin-Aktivitäten und ein schnelles Werkzeug für die Fehleranalyse im Alltag. Aus dem „weiß ich nicht mehr” wird eine klare Antwort in zwei Klicks.
DSGVO-Compliance ist keine Einmalaufgabe — Verarbeitungsverzeichnis, technisch-organisatorische Maßnahmen und der Audit-Trail wollen gepflegt werden. Aber gerade beim Audit-Trail ist der Aufwand für den Start überschaubar: Plugin installieren, Entitäten und Aufbewahrungsfrist konfigurieren, fertig.
Wenn du den nächsten Schritt gehen willst, findest du alle Details auf der Plugin-Seite: Admin Aktivitätsprotokoll. Dort siehst du auch die aktuellen Versionen für Shopware 6.6 und 6.7 sowie die Lizenzoptionen.
Verwandte Plugins
Newsletter abonnieren
Erhalte Updates zu neuen Shopware-Plugins, Tutorials und Release-Notes direkt in dein Postfach. Kein Spam, jederzeit abbestellbar.