fairlane.systems

LOGGING · SICHERHEIT & BETRIEB

Logging und Audit-Trail: revisionsfeste Protokollierung nach OR Art. 957a für KMU

Unveränderliche Logs mit 10-jähriger Aufbewahrung nach OR 957a, WORM-Storage und Hash-Chain. Tools Mai 2026: Loki, Wazuh, GrayLog, Elasticsearch.

Recherche & Faktencheck: · Stand: 2026-05

Was sind Logs und Audit-Trail?

Ein Log ist die zeitgestempelte Aufzeichnung eines Ereignisses in einem IT-System: ein Login, ein Datenbank-Schreibvorgang, ein API-Aufruf, eine Berechtigungs-Änderung, ein KI-Output. Ein Audit-Trail ist die Summe dieser Einträge, lückenlos und unveränderlich, geordnet nach Zeit, mit Bezug zu Akteur, Aktion und Objekt. Der Audit-Trail dient drei Zwecken: technischer Fehlersuche (Debugging), Sicherheits-Forensik (was hat ein Angreifer getan?) und gesetzlicher Nachweispflicht (was hat das System wann mit welchen Geschäftsdaten getan?).

In der Schweiz fordert Artikel 957a des Obligationenrechts die ordnungsmässige Buchführung, vollständig, wahrheitsgetreu, systematisch und durch Belege nachweisbar. Artikel 958f präzisiert die 10-jährige Aufbewahrungspflicht für Geschäftsbücher, Buchungsbelege und Geschäftskorrespondenz. Wer Buchhaltung in einer Software macht, muss alle relevanten Aktionen so protokollieren, dass die Buchführung in 10 Jahren noch nachvollziehbar ist - mit Bezug auf den Benutzer, den Zeitpunkt und die geänderten Daten.

Für KI-Systeme kommt eine zusätzliche Dimension: Jedes von einem LLM erzeugte Dokument (Mandanten-Antwort, Buchungsvorschlag, Lohnabrechnung) muss später rekonstruierbar sein. Welche Version des Modells? Welcher System-Prompt? Welche Retrieval-Chunks aus der Vektor-DB? Wer hat die Ausgabe freigegeben? Das ist nicht optional, das ist Stand der Technik 2026.

Warum es zählt

Drei Treiber machen Audit-Trail zur Pflicht-Disziplin. Erstens das Recht: OR 957a, MWSTG, FINMA-Rundschreiben für Finanzdienstleister, DSG Art. 8 (Aufzeichnungspflicht des Bearbeiters). Zweitens die Sicherheit: Ohne Logs ist nach einem Vorfall nicht rekonstruierbar, was passiert ist - die Incident-Response (siehe incident-response-playbook) bricht in Phase 2 (Detektion und Analyse) zusammen. Drittens das Vertrauen: Ein Mandant, der wissen will, wer wann seine Akte angesehen hat, erwartet eine Antwort in Minuten, nicht in Wochen.

Konkret für ein Treuhandbüro: Die Mandantin in Zug fragt im Juli 2026, warum ihre Lohnabrechnung im April abweichend war. Ohne Log: stundenlange Suche in Bexio-Backups. Mit Log: Loki-Query auf den Mandantenfall, alle Aktionen sichtbar in 5 Sekunden, einschliesslich des KI-Vorschlags und der manuellen Änderung durch die Mitarbeiterin.

Konkret für einen LLM-Vorfall: Ein Anwalt entdeckt, dass ein Chatbot einem Mandanten falsche Auskuenfte gab. Ohne Logs: spekulative Diskussion über den Fehler. Mit Logs: exakter Prompt, exakter Modell-Output, exakte Retrieval-Stellen, exakte Zeitstempel - die Lessons-Learned-Analyse hat Material.

Wie es funktioniert

Was loggen. Mindestens: Login und Logout mit IP und User-Agent, jede Schreib-Operation (Create, Update, Delete) auf Geschäfts- oder Personendaten, jede Berechtigungs-Änderung, jeder Daten-Export, jede KI-Inferenz mit Prompt-Hash und Modell-Version, jeder fehlgeschlagene Zugriffsversuch. Datenbank-Reads von Massendatensätzen (z.B. ganzer Mandantenstamm) ebenso, da exfiltration ein bevorzugter Angriffsweg ist.

Was NICHT loggen. Passwörter, API-Tokens, Klartext-Secrets, vollständige Mandanten-Datensätze als Payload (Datenminimierung gemäss DSG Art. 6 und DSGVO Art. 5). Stattdessen: nur Referenzen wie Datensatz-IDs, gehashte Identifikatoren oder pseudonymisierte Werte. Kreditkarten-PAN, Bankgeheimnis-Daten und Gesundheitsdaten gehören niemals in das normale Log.

Wo speichern. Hot-Storage für 30 Tage in Loki oder Elasticsearch mit indexierten Labels für schnelle Queries. Cold-Storage für den Rest der 10 Jahre auf WORM-Medium (Write-Once-Read-Many): S3 Object Lock im Compliance-Modus, Azure Blob Immutable Storage, lokales LTO-Tape mit WORM-Kassette oder Backblaze B2 mit Object Lock.

Wie unveränderlich machen. Append-only Datenbank-Tabellen mit RBAC-Kontrolle (nur INSERT, kein UPDATE/DELETE). Hash-Chain wie in Blockchain: jeder Eintrag enthält den SHA-256-Hash des vorherigen Eintrags. Tamper-Versuche werden bei der nächsten Verifikation sichtbar (siehe ai-audit-trail-design). Externe Zeitstempel-Dienste (RFC 3161 TSA) bestätigen den Zeitpunkt der Log-Erstellung gerichtsfest.

Tools Mai 2026. Grafana Loki bleibt der Open-Source-Standard für Container-Logs - speichert nur Labels indexiert, Volltext kompremiert; Setup an einem Tag, laufender Aufwand minimal. Wazuh ist die Wahl für Security-Event-Logging und kombiniert SIEM mit File-Integrity-Monitoring. GrayLog 6 ist im KMU-Bereich beliebt für Compliance-Logs mit nativer Retention-Verwaltung. Elasticsearch (jetzt unter Elastic License 2.0, im Früh-2026-Streit weiter unter AGPL-Option) bleibt der Schwergewichts-Stack für Volltext-Suche.

Korrelation und Suche. Logs aus verschiedenen Quellen brauchen ein gemeinsames Korrelations-Feld. Standard ist eine UUIDv7-Request-ID, die von der Web-App über Backend, Datenbank und LLM-Gateway mitgezogen wird. Eine Loki-Query wie `{service="treuhand-api"} | json | request_id="018f2b4a-..." ` zieht den ganzen Pfad eines Mandanten-Vorgangs zusammen.

Audit-Logging in 6 Schritten aufbauen

  1. 01Inventur: welche Systeme erzeugen welche Logs, in welchem Format? Strukturieren auf JSON-Logs mit gemeinsamen Feldern (timestamp, level, service, user, request_id).
  2. 02Klassifikation: was muss revisionsfest für 10 Jahre, was reicht 90 Tage, was darf nicht geloggt werden (Passwörter, Klartext-Secrets, Vollpayloads).
  3. 03Hot-Storage einrichten: Loki oder Elasticsearch für 30 Tage, mit indexierten Labels für schnelle Queries.
  4. 04Cold-Storage einrichten: S3 Object Lock im Compliance-Modus oder LTO-Tape mit WORM-Kassetten für den Rest der 10 Jahre.
  5. 05Unveränderlichkeit prüfen: Hash-Chain einbauen, RBAC auf nur INSERT, externe RFC 3161 Timestamping für den Beweis.
  6. 06Prüfen und üben: quartalsweise Zufalls-Queries, jährliche Prüfung des Restore-Pfads aus Cold-Storage.

Wann strukturiertes Audit-Logging einsetzen

Strukturiertes Logging ist nicht optional für Organisationen, die (a) Geschäftsbücher führen (OR 957a), (b) Personendaten verarbeiten (DSG Art. 8 Rechenschaftspflicht), (c) regulierte Tätigkeiten ausüben (FINMA, BAG, NCSC).

Konkrete Anwendungsfälle in der Schweiz: Treuhand mit Bexio-, Abacus-, oder ProffixPx-Anbindung - alle Schreib-Aktionen aus der eigenen App müssen revisionsfest sein. Anwaltskanzlei mit elektronischer Akte - Mandanten-Akten-Zugriff muss nachweisbar sein (StGB 321 Berufsgeheimnis verlangt es nicht direkt, aber bei Vorwurf eines Bruches braucht es Beweise). E-Commerce mit Mehrwertsteuer-relevanten Buchungen - die MWST-Revisorin (ESTV) verlangt vollständige Belegspur. LLM-Plattform mit produktiver Mandanten-Nutzung - jede Inferenz mit Prompt-Hash und Output speichern.

Als Faustregel: Sobald mehr als eine Person das System nutzt und externe Daten reinkommen, lohnt sich der strukturierte Audit-Trail.

Wann Logging zurückgefahren wird

Logs sind nicht endlos günstig. Eine 25-Container-Plattform produziert pro Tag mehrere Gigabyte Logs - ohne Sampling und ohne Retention-Policy füllt das auch grosse Festplatten innerhalb Wochen. Drei Fälle, wo Logging zurückgefahren werden sollte:

Debug-Logs in Produktion auf DEBUG-Level lassen ist ein Klassiker - das produziert 10- bis 100-fach mehr Log-Volumen als nötig. Standard in Produktion ist INFO-Level mit gezieltem DEBUG nur bei Fehleranalyse.

Healthcheck-Logs jede Sekunde von 30 Containern sind sinnloser Lärm, der echte Ereignisse versteckt. Promtail oder Vector filtern solche Einträge weg, bevor sie in Loki landen.

Logs mit Personendaten als Payload sind ein DSG-Problem: die Aufbewahrungsfrist für Logs (technisch oft 90 Tage oder 1 Jahr) widerspricht der DSG-Löschpflicht für die Personendaten selbst. Lösung: keine Personendaten in Logs (siehe oben), nur Referenzen, oder zweigleisige Aufbewahrungs-Policy mit automatischer Löschung der Personendaten-Felder nach Ablauf.

Ausserdem: Audit-Logs nicht testen heisst, sich nur einbilden, sie zu haben. Quartalsweise zufällige Prüf-Queries zu unkritischen Vorgängen halten die Disziplin.

Vor- und Nachteile

STÄRKEN

  • Erfüllt OR 957a Aufbewahrungspflicht und DSG Art. 8 Rechenschaftspflicht
  • Liefert Material für Incident-Response-Phase 2 (Detektion und Analyse)
  • Beweismittel bei Streitfällen mit Mandanten oder Behörden
  • Macht KI-Outputs reproduzierbar (Prompt, Modell-Version, Retrieval-Chunks)

SCHWÄCHEN

  • Speicher- und Wartungskosten über 10 Jahre Cold-Storage
  • Komplexer Spagat zwischen Aufbewahrungspflicht (OR) und Löschpflicht (DSG)
  • Initiale Disziplin zur konsistenten JSON-Log-Struktur in allen Services
  • Nutzlos ohne quartalsweise Prüfung der Integrität und der Such-Queries

Häufige Fragen

Wie viel Speicher braucht ein KMU-Audit-Log?

Faustregel: eine 10-Personen-Treuhand mit Bexio-Anbindung und LLM-Pipeline produziert 0.5 bis 2 GB komprimierte Logs pro Monat. Hot-Storage 30 Tage: ca. 60 GB. Cold-Storage 10 Jahre: ca. 240 GB. Bei S3 Object Lock (z.B. Backblaze B2) kostet das unter CHF 1.50/Monat für den Cold-Anteil. Lokales LTO-9 Tape: einmalig CHF 90 für 18 TB Kapazität.

Sind Logs Personendaten?

In den meisten Fällen ja, sobald Benutzer-IDs, IP-Adressen oder Bezüge zu Mandanten enthalten sind. Damit gilt DSG für Aufbewahrungsfrist und Löschkonzept. Lösung: Aufbewahrungsfrist je Log-Typ definieren (technische Debug-Logs 30 Tage, sicherheitsrelevante Logs 1 Jahr, OR-957a-relevante Geschäftsbuchungs-Logs 10 Jahre). Löschung nach Ablauf automatisch, dokumentiert im Datenschutzkonzept.

Reicht ein einfaches Bexio-Audit-Log nicht?

Bexio und vergleichbare SaaS-Buchhaltungen liefern Audit-Trail für ihre eigene App. Das deckt die Buchhaltungs-Schreibvorgänge ab. Aber nicht: KI-Inferenzen ausserhalb von Bexio (RAG-Antworten, OCR-Belegerkennung), eigene Web-Apps, Integrationen mit anderen Tools. Wer mehr als nur Bexio nutzt, braucht eine eigene Log-Aggregation, in die Bexio-Audit-Events per API einlaufen.

Was kostet ein Loki-Setup für 10 Container?

Komplett quelloffen (AGPL v3). Hardware für 10 Container und 30 Tage Hot-Storage: ein Docker-Host mit 4 vCPU, 8 GB RAM, 100 GB SSD - CHF 25/Monat bei Hetzner. Setup-Aufwand: 1 Tag. Wartung: 1 bis 2 Stunden pro Monat. Grafana Cloud Free-Tier bietet auch 50 GB Logs gratis für Teams, die Self-Hosting vermeiden wollen.

Verwandte Themen

INCIDENT RESPONSE · SICHERHEIT & BETRIEBIncident-Response-Playbook: 6-Phasen-Modell nach NIST SP 800-61 für KMUART. 957a OR · COMPLIANCEArt. 957a OR und KI-Buchungen: Audit-Trail, GeBüV und 10-Jahres-AufbewahrungAUDIT-TRAIL · AI-KONZEPTAI-Audit-Trail-Design: Was Sie loggen müssen, damit eine KI-Antwort revisionsfähig bleibtGRAFANA · TECH-STACKGrafana, Prometheus, Loki: Monitoring-Stack für Container-Apps und LLM-WorkflowsFIREWALL · SICHERHEIT & BETRIEBFirewall und CrowdSec: mehrschichtiger Schutz für KMU-Server 2026DSGVO · COMPLIANCEDSGVO und LLMs: Wann die EU-Datenschutz-Grundverordnung CH-Unternehmen direkt trifft

Quellen

  1. Schweizerisches Obligationenrecht Art. 957a und 958f - Buchführung und Aufbewahrung · 2026-04
  2. EDÖB - Leitfaden technische und organisatorische Massnahmen, Kapitel Logging · 2026-05
  3. Grafana Loki 3.4 - Documentation, Retention and Compaction · 2026-05
  4. Wazuh 4.10 - Documentation, File Integrity Monitoring and Audit · 2026-04
  5. BSI IT-Grundschutz OPS.1.1.5 Protokollierung · 2026-03

PASSEND ZU IHREM STACK?

Wie das in Ihrem Betrieb konkret aussieht – 30 Minuten Erstgespräch.

Erstgespräch buchen