Skip to content

fibenacci/FibImmutableCommerceLedger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Fib Immutable Commerce Ledger

Manipulationssicherer Audit- und Compliance-Layer für Shopware 6.

Das Plugin erweitert Shopware um eine unveränderlich gedachte Audit-Logik mit Hash-Kette, Integritätsprüfung, Export-Funktionen und optionalem externen Hash-Anchoring.

Warum dieses Plugin?

Shopware protokolliert viele Vorgänge, aber Standard-Logs lösen typischerweise nicht vollständig diese Anforderungen:

  • revisionssichere Nachvollziehbarkeit von Änderungen
  • manipulationssichere Historie
  • konsistente Änderungsbeweise über längere Zeiträume
  • zentrale Audit-Auswertung für kritische Geschäftsänderungen
  • prüffähige Exporte für Compliance-/Audit-Prozesse

Welchen Painpoint adressiert es?

Viele Shops sind operativ stark, aber Behörden-seitig schwach:

  • Preisänderungen sind im Nachhinein schwer zu belegen
  • manuelle Eingriffe an Bestellungen sind nicht sauber historisiert
  • Rollen-/Rechteänderungen sind für interne Audits schwer nachvollziehbar
  • direkte Datenbankmanipulationen bleiben oft unentdeckt
  • bei Steuer-/Compliance-Prüfungen fehlt ein konsistenter, prüfbarer Export

Das Plugin schafft dafür einen technischen Nachweis-Layer.

Typische Use Cases

  • B2B-/Enterprise-Shops mit internen Freigabeprozessen
  • Shops mit erhöhten Compliance-Anforderungen (z. B. ISO 27001-nahe Prozesse)
  • forensische Nachvollziehbarkeit bei internen Fehlbedienungen oder Missbrauch
  • Audit-Vorbereitung (intern/extern)
  • Nachweis, dass kritische Änderungen nicht unbemerkt verändert wurden

Was das Plugin macht (Kurzfassung)

  • protokolliert kritische DAL-Schreibvorgänge in ein Ledger
  • bildet eine Hash-Kette über alle Ledger-Einträge
  • prüft die Kette auf Integrität (Tamper Detection)
  • alarmiert bei Integritätsbruch (Logger + optional Webhook)
  • erzeugt Exporte (JSONL/CSV) mit Prüfsumme + Manifest
  • erstellt tägliche Hash-Anker (lokal + optional Webhook an externen Dienst)
  • stellt ein Admin-Dashboard (MVP) für Übersicht, Verify, Export und Anchoring bereit

Aktuell auditierte Bereiche (MVP)

  • order
  • order_line_item
  • order_transaction
  • order_delivery
  • product
  • rule
  • rule_condition
  • promotion
  • user
  • acl_role
  • acl_user_role
  • user_access_key

Hinweis: Die Liste kann erweitert werden.

Architektur (vereinfacht)

  1. DAL-Write Events werden abgefangen (PreWriteValidationEvent, EntityWrittenContainerEvent)
  2. Für relevante Entitäten wird ein Audit-Payload erzeugt (before/after, Actor, Context)
  3. Payload wird gehasht (payload_hash)
  4. Ledger-Hash wird verkettet (entry_hash = SHA256(previous_hash + payload_hash))
  5. Eintrag wird append-only in Ledger-Tabelle gespeichert
  6. Integritätsprüfung rekonstruiert die Kette und erkennt Abweichungen

Welche Probleme werden konkret “ausgemerzt”?

  • Kein isoliertes “wer hat was geändert?” mehr nur über verstreute Logs
  • Keine unbemerkte Änderung eines Ledger-Eintrags ohne Hash-Bruch
  • Keine unstrukturierte Export-Erstellung für Prüfungen
  • Keine rein manuelle Integritätskontrolle

Wichtig: Das Plugin macht Manipulationen sichtbar, nicht magisch unmöglich. Für stärkeren Schutz empfiehlt sich externes Anchoring + Härtung der Infrastruktur (z. B. DB-Rechte, S3 Object Lock, Backup-/Retention-Policies).

Konfigurierbarkeit (Plugin-Konfiguration)

Im Shopware-Plugin-Config (FibImmutableCommerceLedger) sind u. a. konfigurierbar:

  • enableVerifyTask
    • aktiviert/deaktiviert den Scheduled Task für Integritätsprüfung
  • enableAnchorTask
    • aktiviert/deaktiviert den täglichen Anchor-Task
  • anchorRequireCleanChain
    • erlaubt Anchoring nur bei sauberer Hash-Kette
  • alertWebhookUrl
    • optionaler Webhook für Alarmierungen bei Integritätsproblemen
  • anchorWebhookUrl
    • optionaler Webhook für externe Hash-Anker
  • webhookSharedSecret
    • HMAC-SHA256 Signatur für Alert-/Anchor-Webhooks
  • webhookTimeoutSeconds
    • Timeout für Webhook-Aufrufe
  • exportDirectory
    • Zielverzeichnis für Exporte
  • exportHmacSecret
    • optionale HMAC-Signatur des Export-Manifests

Admin-Dashboard (MVP)

Das Admin-Modul bietet:

  • Übersicht über Ledger-Status / letzte Sequenz / letzter Hash
  • Liste der Ledger-Einträge (filterbar)
  • manuelle Integritätsprüfung
  • manuelles Anchoring
  • manuellen Export (JSONL/CSV)

CLI-Commands

  • bin/console fib:ledger:verify
    • prüft die Integrität der Hash-Kette
  • bin/console fib:ledger:export --format=jsonl
    • erstellt Export + SHA256-Datei + Manifest
  • bin/console fib:ledger:anchor
    • erstellt/publiziert einen Hash-Anker

Scheduled Tasks

  • fib_immutable_commerce_ledger.verify_integrity (stündlich)
  • fib_immutable_commerce_ledger.daily_anchor (täglich)

Export-Format / Nachweis

Exports enthalten:

  • Ledger-Daten (.jsonl oder .csv)
  • SHA256-Datei (.sha256)
  • Manifest (.manifest.json)
  • optional HMAC-Signatur im Manifest

Das unterstützt prüfbare Weitergabe und externe Verifikation.

Datenschutz / Security Hinweise

  • Sensible Payload-Felder wie password, token, secret werden redigiert
  • Ledger-Einträge sind über den DAL-Write-Pfad geschützt (kein reguläres Update/Delete)
  • Webhooks können mit HMAC signiert werden

Grenzen des aktuellen Standes (MVP / v1)

  • kein vollständiges juristisches GoBD-Zertifikat (das ist ein Prozess-/Gesamtsystem-Thema)
  • keine qualifizierte elektronische Signatur
  • kein S3 Object Lock / WORM-Storage Adapter out of the box
  • Admin-UI ist funktional, aber noch kein vollwertiges Reporting/BI-Dashboard
  • aktuell werden Audit-Schreibfehler geloggt; Business-Write wird nicht hart abgebrochen

Installation (Kurz)

  1. bin/console plugin:refresh
  2. bin/console plugin:install --activate FibImmutableCommerceLedger
  3. bin/console database:migrate --all FibImmutableCommerceLedger
  4. bin/console scheduled-task:register

Strategische Positionierung (für Vertrieb/Angebot)

Dieses Plugin ist kein “Standard-Log-Plugin”, sondern ein Governance-/Compliance-Layer für Shopware:

  • Audit Trail
  • Tamper Detection
  • Export-Fähigkeit
  • Anchoring
  • Admin-Operabilität

Kurz: ein technischer Baustein für revisionsnahe E-Commerce-Prozesse.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors