Sicherheit & Compliance
Das Audit-Log und seine Hash-Kette
Bei einer Kontrolle zählt nicht, wie das Register heute aussieht, sondern ob nachvollziehbar ist, wie es dazu kam. Wer hat wann was geändert, und was stand vorher dort? TransparenzAgent beantwortet das nicht mit einem Versionsverlauf, sondern mit einem Journal, dessen Einträge sich gegenseitig absichern.
Was ein Eintrag enthält
Jede schreibende Operation erzeugt in derselben Datenbank-Transaktion einen Eintrag. Schlägt der Eintrag fehl, schlägt die Änderung fehl – es gibt keinen Zustand "geändert, aber nicht protokolliert".
- Aktion
- Was getan wurde, als fester Bezeichner (z.B. FILING_CONFIRMED)
- Akteur
- Der Benutzer, der die Änderung ausgelöst hat – oder "System" bei automatischen Vorgängen wie der Fristenberechnung
- Zeitpunkt
- UTC, mikrosekundengenau, aus der Anwendung gesetzt
- Vorher / Nachher
- Der alte und der neue Datensatz als Ganzes, damit nichts zwischen den Zeilen verschwindet
- Hash
- SHA-256 über den Hash des Vorgängers, Workspace, Akteur, Aktion, beide Datensätze und den Zeitpunkt
Warum eine Kette
Weil jeder Eintrag den Hash seines Vorgängers enthält, lässt sich kein Eintrag nachträglich ändern oder entfernen, ohne dass alle folgenden Hashes nicht mehr stimmen. Die Kette läuft pro Workspace, in fester Reihenfolge. Ein täglicher Job rechnet jede Kette vollständig nach. Ist sie gebrochen, steht das im Audit-Log des Workspace – sichtbar für Inhaber und Treuhänder, nicht nur in einem Server-Log.
Geplant: Der jeweils letzte Hash jedes Workspace wird täglich ausserhalb der Datenbank abgelegt. Damit wäre auch ein Neuschreiben der ganzen Kette durch einen Datenbank-Administrator erkennbar. Bis das umgesetzt ist, schreiben wir es nicht auf die Startseite.
Was protokolliert wird
- Anlegen, Ändern, Wegfall einer wirtschaftlich berechtigten Person, inkl. Verifikation
- Anlegen, Ändern, Beenden einer Beteiligung
- Jede Statusänderung einer Meldung: vorbereitet, aktualisiert, eingereicht, bestätigt, zurückgezogen
- Berechnung, Neuberechnung, Erfüllung und Verzicht einer Frist – mit Grund
- Entscheid über einen KI-Vorschlag: angenommen, abgelehnt, verworfen – mit Begründung
- Upload, Freigabe und Verwerfen eines Dokuments
- Änderungen am TJPG-Profil, an Einstellungen und an den Mitgliedern des Workspace
Für Revisionsstelle und Kontrollstelle
Das Audit-Log ist im Workspace einsehbar und durchsuchbar. Der Takeout-Export enthält es vollständig, zusammen mit den Dokumenten, Dossiers und Meldungen – so kann die Kette auch ausserhalb der Plattform nachgerechnet werden.
Die Kette beweist, dass das Journal nicht verändert wurde. Sie beweist nicht, dass die erfassten Daten richtig sind – das bleibt die Verantwortung derer, die sie erfassen und verifizieren.