Zum Inhalt springen
AnmeldenAudit-Pilot buchen
Menü öffnenMenü schließen

Beispiel eines Änderungsnachweis-Berichts

Was Ihr Auditor für zwei Repositories und ein Quartal erhält: wie jede gemergte Änderung hineingekommen ist und was sie bewirkt, jeder Fakt mit Label, wie er erhoben wurde.

Fiktive Organisation und Daten, nur zur Veranschaulichung.

Dieses Beispiel zeigt seinen Inhalt auf Deutsch. Der Bericht, den Toevan erzeugt, ist englisch, wo er Produktausgaben wie Regelnamen, Befehle und Statuswerte zitiert.

Kommt in v1.4.0Der Code-Nachweis ist heute live. Änderungseinträge und Prozessnachweise kommen in v1.4.0. Der letzte Abschnitt zeigt spätere Ebenen, markiert als Geplant.

Fiktive Organisation und Daten, nur zur Veranschaulichung.

toevan

Änderungsnachweis-Bericht

Gemergte Änderungen

Northwind (Beispieldaten) · 2 Repositories · geschützte Branches · 15. Juli bis 13. Okt. 2026

Erstellt für
[Prüfungsgesellschaft]
Repositories
northwind/payments-api · northwind/ledger-service
Änderungen im Umfang
146 in geschützte Branches gemergte Pull Requests und 2 direkte Pushes, beim Eintreten aus GitHub erfasst.
Einträge
4.152 versiegelte Einträge: Änderungseinträge, Control-Änderungen und Code-Prüfungen. Signaturen bei der Erzeugung geprüft.
Engine und Regelsätze
toevan-engine 0.9.4 · Clean Architecture 1.4.0 · Security Essentials 2.14.0
Personen
In versiegelten Einträgen als Digests ihrer GitHub-Konten dargestellt. Ausnahmegenehmigungen nennen Antragsteller und Genehmiger.
Erzeugt
13. Okt. 2026, 11:42 UTC von [Name]
Bericht-Hash
sha256:3f9a…c21e

Dieser Bericht ist ein Nachweis, den der Auditor beurteilt. Toevan äußert keine Meinung dazu, ob Controls angemessen gestaltet sind oder wirksam arbeiten. Jeder Fakt nennt, wie er erhoben wurde. Controls außerhalb der Abdeckung von Toevan stehen im Abschnitt zum Umfang und bleiben in der Verantwortung der Organisation.

1. Zusammenfassung

Prozessnachweis · wie Änderungen hineinkamen

Gemergte Pull Requests146in geschützte Branches
Unabhängige Freigabe143 / 1463 Abweichungen
Direkte Pushes2ohne Pull Request, markiert
Control-Änderungen31 öffnete eine Lücke von 29 Minuten

Code-Nachweis · was die Änderungen bewirken

Geprüfte Pull Requests146 / 146Gate-Urteil vor dem Merge
Code-Regeln bestanden11 / 12Produktionscode, letztes Release
Analyseabdeckung97,4 %Gate 95 % · 0 Läufe darunter
Genehmigte Ausnahmegenehmigungen10 im Zeitraum abgelaufen

Was erfasst wurde

Toevan hat die Merges in geschützte Branches, die Änderungen an Review-Regeln, die Umgehungen und die direkten Pushes in beiden Repositories so erfasst, wie GitHub sie gemeldet hat, und jeden beim Eintreten versiegelt. Im Zeitraum wurden 146 pull requests gemergt und 2 Commits direkt gepusht. Gemeldet + versiegelt

Punkte zur Beachtung

  1. Zwei direkte Pushes auf payments-api/release/v1 am 19. Sep., innerhalb eines Fensters von 29 Minuten, in dem die Review-Pflicht ausgeschaltet war.Prozess
  2. Drei Pull Requests wurden ohne Freigabe durch eine andere Person als den Autor gemergt: zwei in ledger-service, bevor dessen Review-Regel existierte, einer per Admin-Umgehung im Fenster vom 19. Sep.Prozess
  3. Die Regel secret-detection-high schlägt im Produktionscode fehl (1 Befund), gedeckt durch eine genehmigte Ausnahmegenehmigung bis 20. Dez.Code, Ausnahmegenehmigungen

2. Umfang, Herkunft und Control-Zuordnung

Wie jeder Fakt erhoben wurde

Neu berechnet
Toevan hat es selbst aus Code oder Git-Historie berechnet.
Mit denselben Eingaben nachvollziehen und dasselbe Ergebnis erhalten.
Gemeldet + versiegelt
GitHub hat es gemeldet; Toevan hat es beim Ereignis erfasst und signiert.
Verlassen Sie sich darauf, soweit Sie GitHub vertrauen. Jede spätere Änderung ist erkennbar.
Erklärt + versiegelt
Die Organisation hat es erklärt, etwa eine Änderung dessen, was geprüft wird; Toevan hat die Erklärung und ihre Historie signiert.
Sehen Sie, wer was wann erklärt hat, und jede spätere Änderung.
Toevan-Eintrag, nicht versiegelt
In der Datenbank von Toevan gespeichert, aber nicht im Ledger versiegelt, etwa eine Ausnahmegenehmigung heute. Keine Signatur schützt ihn.
Behandeln Sie ihn als Aussage von Toevan und fragen Sie die Organisation nach der Freigabe dahinter.
Übernommen
Aus dem signierten Eintrag eines anderen Systems übernommen, etwa einer Build-Provenienz, und per Commit oder Digest verknüpft. Geplant.
Den Originaleintrag unabhängig prüfen.
Nicht erfasst
Es gab keine verlässliche Quelle. Toevan schließt nichts daraus.
Auf anderem Weg bei der Organisation einholen.

Nachweise und die Controls, auf die sie sich beziehen

NachweisRelevante ControlsErhoben
Freigabe, unabhängiges Review, Freigabe auf dem finalen CommitDORA RTS 2024/1774 Art. 17 (geplant) · SOC 2 CC8.1 · ISO 27001 A.8.32Gemeldet + versiegeltNeu berechnet
Pflicht-Checks beim Merge; geltende Review-Regeln; Regeländerungen und UmgehungenDORA RTS 2024/1774 Art. 17 (geplant) · SOC 2 CC8.1 · ISO 27001 A.8.32Gemeldet + versiegelt
Direkte Pushes auf geschützte BranchesSOC 2 CC8.1 · ISO 27001 A.8.4, A.8.32Gemeldet + versiegelt
Code-Regeln: Architekturgrenzen, sicheres Coding, AbhängigkeitenISO 27001 A.8.25, A.8.28 · SOC 2 CC8.1Neu berechnet
Ausnahmegenehmigungen und UmfangsänderungenAusnahmen zu den obigen RegelnToevan-Eintrag, nicht versiegelt

Von diesem Bericht nicht abgedeckt

  • Zugriffsprüfungen, Eintritts- und AustrittsprozesseOrganisatorisch
  • Laufzeitüberwachung, Incident ResponseOrganisatorisch
  • IKT-Drittparteirisiko, physische SicherheitOrganisatorisch
  • Deployments außerhalb von GitHubOrganisatorisch
  • Änderungen außerhalb von GitHub, etwa direkt in Datenbank oder KonsoleOrganisatorisch

3. Prozessnachweis

Wie die 146 im Zeitraum gemergten Pull Requests geprüft und gemergt wurden, im Moment jedes Merges aus GitHub erfasst.

PrüfungErgebnisErhoben
Freigegeben von einer anderen Person als dem Autor143 / 146 · 3 AbweichungenNeu berechnet
Freigabe auf dem finalen Commit erteilt137 / 143 freigegeben · 6 gaben einen früheren Commit freiGemeldet + versiegelt
Pflicht-Checks beim Merge bestanden146 / 146Gemeldet + versiegelt
Commit-Signaturen von GitHub geprüft144 / 146Gemeldet + versiegelt
Geltende Review-Regeln beim Merge erfasst146 / 146Gemeldet + versiegelt

Abweichungen: ohne unabhängige Freigabe gemergt

PRGemergtAutorBeim Merge geltende RegelEintrag
ledger-service #38824. Juli4be1…09c2Keine (Regel am 02. Aug. ergänzt)rec_51b9e20
ledger-service #39129. Julic58f…71d0Keine (Regel am 02. Aug. ergänzt)rec_6e07a3d
payments-api #190319. Sep. 14:122a6e…f915Ausgeschaltet 14:02 bis 14:31 (Admin)rec_0c88f14

Änderungen an den Controls selbst

Wann (UTC)ÄnderungDurchEintrag
02. Aug. 09:14Review-Regel auf ledger-service angewendet: 2 Freigaben, Pflicht-Checks9d07…e3a4rec_8a2f61c
19. Sep. 14:02Review-Pflicht auf payments-api/release/* ausgeschaltet2a6e…f915rec_3f10b9a
19. Sep. 14:31Review-Pflicht wieder eingeschaltet2a6e…f915rec_3f10c02

Direkte Pushes ohne Pull Request

Wann (UTC)BranchCommitDurchEintrag
19. Sep. 14:09payments-api/release/v17c1e0a22a6e…f915rec_7c1e0a2
19. Sep. 14:22payments-api/release/v191d4b3f2a6e…f915rec_91d4b3f

Control-Änderungen und direkte Pushes werden als Ereignisse erfasst, wenn sie eintreten, daher bleibt keine Lücke zwischen Momentaufnahmen unbemerkt. Personen erscheinen als Digests ihrer GitHub-Konten; die Unabhängigkeit wird aus den Konto-IDs berechnet. Gemeldet + versiegelt

4. Code-Nachweis

Was der Code bewirkt, geprüft durch Lesen des Codes selbst auf der exakten gemergten Version. Als fehlschlagend markierte Regeln gelten für Produktionscode; Dokumentation und Test-Fixtures liegen außerhalb des Umfangs (siehe Ausnahmegenehmigungen).

Clean Architecture 1.4.0 · Designregeln

RegelWas sie prüftLetztes ReleaseBefunde
layer-dependency-handlers-to-dbRequest-Handler rufen die Datenbank nie direkt aufBestanden0
service-boundariesDienste erreichen einander nur über ihre öffentlichen SchnittstellenBestanden0
role-placement-policyAbstraktionen und ihre Implementierungen liegen in den Schichten, die die Architektur ihnen zuweistBestanden0
layer-dependency-policyEine Abhängigkeit über Schichten hinweg ist nur erlaubt, wo die Richtlinie sie aufführtBestanden0

Security Essentials 2.14.0 · sicheres Coding

RegelWas sie prüftLetztes ReleaseBefunde
secret-detection-highKeine Zugangsdaten mit hoher Konfidenz in Quellcode oder Konfiguration hartkodiertFehlgeschlagen1 · Ausnahmegenehmigung
no-committed-secret-filesKeine .env, kein privater Schlüssel und kein Keystore eingechecktBestanden0
vulnerable-dependencyKeine Abhängigkeit mit bekannter hoher oder kritischer Schwachstelle (OSV.dev)Bestanden0
encryption-at-restSpeicher und Datenbankverbindungen verschlüsseltBestanden0
iac-encryption-policySchalter für Speicherverschlüsselung im Infrastruktur-Code aktiviertBestanden0
iac-network-segmentationKeine öffentliche Erreichbarkeit interner DiensteBestanden0
iac-access-controlKeine Zugriffsrichtlinien mit PlatzhalternBestanden0
sensitive-unsafe-log-flowSensible Daten erreichen keine Logging-ZieleBestanden0

Wie weit die Analyse reichte

RepositoryAbdeckung im letzten ReleaseGateLäufe unter dem Gate im Zeitraum
payments-api97,9 %95 %0
ledger-service96,6 %95 %0

Die Abdeckung ist der Anteil der Produktions-Quelldateien des Repositories, die der Code-Index beim indizierten Commit geparst hat. Unter dem Gate wird ein Lauf markiert, nicht als bestanden erfasst. Engine- und Regelsatz-Versionen stehen in jedem Eintrag, sodass sich jedes Ergebnis erneut ausführen lässt. Neu berechnet

5. Ausnahmegenehmigungen und Umfangsänderungen

Jede Entscheidung, die änderte, was geprüft wurde, oder eine bekannte Abweichung akzeptierte.

DatumÄnderungBeantragt · genehmigtGrundEintrag
20. Sep.Ausnahmegenehmigung: secret-detection-high, payments-api/config/sandbox.yaml (exakte Datei), läuft am 20. Dez. abc58f…71d0 · 4be1…09c2Sandbox-Schlüssel ohne Produktionszugriff; Rotation geplantrec_b30e7c5

Im Zeitraum ist keine Ausnahmegenehmigung abgelaufen oder widerrufen worden. Antragsteller und Genehmiger sind bei jedem Eintrag verschiedene Konten. Ausnahmegenehmigungen sind Toevan-Einträge, die nicht im Ledger versiegelt sind. Toevan-Eintrag, nicht versiegelt

Im Zeitraum verwendete Regelsatz-Versionen

RegelsatzVersionAbÄnderung
Clean Architecture1.4.015. Juli (gesamter Zeitraum)Keine Änderung
Security Essentials2.13.015. JuliKeine Änderung
Security Essentials2.14.012. Aug.Regeln von Toevan aktualisiert

6. Änderungseinträge

Eine Änderung vollständig, so wie der Auditor sie bei der Stichprobe sieht. Alle Einträge stehen im CSV-Export, und jeder signierte Envelope liegt auf dem Evidence-Branch im Repository der Organisation.

rec_5b81d4e

Die Änderung

Pull Request
payments-api #1921 · Add tenant check to refund handler
Gemeldet + versiegelt
Autor · gemergt von
4be1…09c2 · 9d07…e3a4 · 13. Okt. 2026, 10:41 UTC in main
Gemeldet + versiegelt
Merge-Commit
5b81d4e
Gemeldet + versiegelt
In Produktion deployt
13. Okt. 2026, 11:20 UTC · Produktion (GitHub-Kennzeichnung) · rec_9e41b07
Gemeldet + versiegelt

Prozessnachweis

Freigaben
9d07…e3a4, c58f…71d0 · beide auf dem finalen Commit e81b2d0
Gemeldet + versiegelt
Unabhängig vom Autor
Ja, nach GitHub-Konto-ID
Neu berechnet
Pflicht-Checks
ci/test ✓ · ci/lint ✓ · toevan/gate ✓
Gemeldet + versiegelt
Geltende Regeln
main-protection: 2 Freigaben, Pflicht-Checks, signierte Commits
Gemeldet + versiegelt
Commit-Signatur
Von GitHub geprüft
Gemeldet + versiegelt

Code-Nachweis

Designregeln
4 / 4 bestanden
Neu berechnet
Sicheres Coding
7 / 8 bestanden · secret-detection-high unter Ausnahmegenehmigung rec_b30e7c5
Neu berechnet
Abdeckung · Engine
98,1 % (Gate 95 %) · toevan-engine 0.9.4
Neu berechnet

Weg in die ProduktionGeplant

In Release kopiert
Per Inhalt dem geprüften Original zugeordnet
Neu berechnet

Siegel

Signatur
ECDSA P-256 · DSSE-Envelope · keyid 8c1f…e0a2
Vorheriger Eintrag
rec_b7e21f0
Öffentlicher Anker
Öffentliches Rekor-Log von Sigstore · eingebaut, Opt-in je Organisation

Weitere Einträge (Beispiel)

EintragÄnderungUnabhängige FreigabeCode-RegelnVersiegelt (UTC)
rec_b7e21f0payments-api #1918Ja11 / 12 · Ausnahmegenehmigung13. Okt. 09:58
rec_9d41e02ledger-service #412Ja12 / 1209. Okt. 16:21
rec_0c88f14payments-api #1903Nein · Admin-Umgehung12 / 1219. Sep. 14:12
rec_7c1e0a2direct push 7c1e0a2Nein · kein PR12 / 1219. Sep. 14:09

7. So prüfen Sie diesen Bericht

Sie müssen weder Toevan noch der Organisation vertrauen. Wählen Sie den Weg, der zu Ihrer Rolle passt. Nur der dritte braucht Werkzeuge.

PrüfungWas sie belegtWas sie nicht belegt
Eintrag ist echt und unverändertDer Eintrag wurde mit Toevans veröffentlichtem Schlüssel signiert und seither nicht verändert. Die Hash-Kette zeigt, dass keiner entfernt wurde.Dass die Fakten darin stimmen: Das decken die beiden Prüfungen unten ab.
Freigabe war unabhängigFreigebender und Autor sind verschiedene GitHub-Konten, aus den Konto-IDs im Eintrag neu berechnet.Dass das Review selbst angemessen war.
Code-Ergebnis ist reproduzierbarDerselbe Commit, dieselbe Engine-Version und dieselbe Regelsatz-Version ergeben dasselbe Ergebnis.Dass die Regeln jedes Risiko im Code abdecken.
  1. In der App der Organisation

    Lesezugriff für Auditoren, kein Repository-Zugriff

    • Die Organisation lädt Sie mit der Auditor-Rolle ein: Lesezugriff auf die Nachweisliste, die Exporte und die Berichte.
    • „Jetzt prüfen“ prüft in der App das gesamte Ledger, die Signaturen und etwaige Belege des Transparenz-Logs erneut.
    • Mehr öffnen Sie nicht: Repositories, Code und Befunde werden verweigert.
  2. Der Organisation beim Prüfen zusehen

    Bildschirmfreigabe oder vor Ort

    • Sie wählen die Stichproben während der Sitzung; ein Engineer führt die Prüfungen aus, während Sie zusehen.
    • Prüfung jedes gezogenen Eintrags: Kette, Signatur, unverändert.
    • Konten von Autor und Freigebendem je Stichprobe, auf dem Bildschirm verglichen.
  3. Selbst ausführen

    IT-Audit-Spezialisten mit befristetem Lesezugriff

    • Nutzen Sie git, openssl und den Befehl toevan, den Toevan auf Anfrage bereitstellt. Ein Toevan-Konto ist nicht nötig.
    • Prüfen Sie, ob die Branch-Spitzen einer Kopie mit den im Bericht erfassten Spitzen übereinstimmen.
    • Führen Sie die Befehle im Anhang aus und vergleichen Sie mit dem Bericht.

8. Geplante ErgänzungenGeplant

Spätere Ebenen der Nachweiskette. Sie sind nicht in v1.4.0, und nichts in diesem Bericht hängt von ihnen ab. Jede nennt, wie ihre Fakten erhoben werden.

  • Festgelegte Produktions-Branches (v1.4.1)

    Branches, die die Organisation als Produktion festlegt, etwa ein Release-Branch, jede Festlegung erklärt und mit jeder späteren Änderung versiegelt. Jeder erhält dieselbe Grundgesamtheit wie der Standard-Branch: jeder Commit direkt aus Git aufgelistet und einem Eintrag zugeordnet oder markiert.

    Erklärt + versiegeltNeu berechnet
  • Kopierte Fixes per Inhalt zugeordnet

    Ein auf main geprüfter und auf einen Release-Branch kopierter Fix erhält eine neue Commit-ID. Toevan ordnet ihn per Inhalt (git patch-id) dem geprüften Original zu und markiert Kopien mit geändertem Inhalt.

    Neu berechnet

Anhang · Befehle für technische Prüfer

Die Befehle, die ein Engineer für Sie ausführt oder die Sie selbst ausführen.

Prüfen, ob ein Eintrag echt und unverändert ist

$ openssl dgst -sha256 -verify toevan.pub \
    -signature sig.der \
    pae.bin
Verified OK

$ toevan audit verify --path evidence-clone --pub-key toevan.pub
✓ chain intact · 4,152 records
✓ signatures verify under the published key

Die beiden Dateien entstehen aus dem DSSE-Envelope des Eintrags mit den sed- und printf-Zeilen auf dem Evidence-Branch: die Signatur und genau die Bytes, die signiert wurden. Erwarten Sie „Verified OK“ bei jedem Eintrag, den Sie prüfen. Jeder Fehlschlag heißt, der Eintrag wurde verändert oder nicht mit dem veröffentlichten Schlüssel signiert.