So kryptografisch Zeitstempel für Git-Commits setzen (ohne CLI-Tools)
Die meisten Entwickler behandeln git log als verlässliche Aufzeichnung darüber, wann Arbeit stattgefunden hat. Doch die standardmäßige Git-Historie ist kryptografisch nicht vertrauenswürdig: Commit-Daten können auf beliebige Werte gesetzt werden, die Historie kann mit Force-Push umgeschrieben werden, und ein auf GitHub gehostetes Repository kann von Personen mit Admin-Zugriff verändert werden. Wenn ein Patent-Troll, ein ehemaliger Auftragnehmer oder ein Wettbewerber von Ihnen verlangt zu beweisen, wann eine bestimmte Implementierung existierte, wird Ihr lokales git log oft als eigennützig abgetan.
Dieser Leitfaden zeigt Ihnen, wie Sie Git-Commits kryptografisch mit Zeitstempeln versehen, ohne OpenTimestamps zu installieren, einen Bitcoin-Node zu betreiben oder rohe Kommandozeilen-Tools zu erlernen. Sie verwenden Timestamp GIT, eine verwaltete GitHub-App, die nur Ihre Commit-Hashes liest, sie nächtlich stapelt, in Bitcoin verankert und .ots-Beweisbelege zurückschreibt. Am Ende ist jeder Commit in einem überwachten Repository gegen die Bitcoin-Blockchain verifizierbar.
Wenn Sie mit dem zugrunde liegenden Konzept noch nicht vertraut sind, lesen Sie Proof of Existence in Software: A Beginner’s Guide. Dieser Artikel konzentriert sich auf die Einrichtungsaufgabe.
Voraussetzungen
Sie benötigen keine kryptografische Expertise, aber Sie brauchen:
- Ein GitHub-Konto mit mindestens einem Repository, das Sie schützen möchten.
- Zugriff auf die Timestamp-GIT-GitHub-App, verfügbar über die Timestamp-GIT-Website.
- Grundlegende Vertrautheit mit normalen Git-Workflows wie Committen und Pushen.
- Ein öffentliches Repository, wenn Sie kostenlos starten möchten. Private Repositories sind in kostenpflichtigen Tarifen verfügbar.
Für das Standardsetup sind keine lokale Installation, kein OpenTimestamps-Client und keine Bitcoin-Wallet erforderlich.
Schritt für Schritt: Automatische Zeitstempelung einrichten
Schritt 1: Die Timestamp-GIT-GitHub-App installieren
Beginnen Sie auf der Timestamp-GIT-Website oder im GitHub Marketplace. Klicken Sie auf GitHub-App installieren, wählen Sie, ob die App auf Ihrem persönlichen Konto oder einer Organisation installiert werden soll, und schließen Sie den GitHub-Autorisierungsablauf ab.
Die App wird zu einem verwalteten Dienst: Nach der Installation überwacht sie ausgewählte Repositories und verankert Commits automatisch. Sie müssen keine Post-Commit-Hooks hinzufügen oder Ihren Entwickler-Workflow ändern.
Schritt 2: Die erforderlichen Berechtigungen erteilen
Timestamp GIT arbeitet in zwei Modi:
- Standardmodus: Die GitHub-App liest nur den neuesten Commit-Hash aus Ihrem Quell-Repository. Da das Berechtigungssystem von GitHub keinen Zugriff „nur auf Commit-Hashes" kennt, benötigt die App Lesezugriff auf das Quell-Repository. Sie benötigt außerdem Lese-/Schreibzugriff auf das Ziel-Repository, in das die Beweisdateien geschrieben werden.
- Enterprise-ZK-Modus: Eine kurze GitHub Action läuft auf Ihrer Infrastruktur und überträgt nur den Commit-Hash an die Timestamp-GIT-API. In diesem Modus ist kein Lesezugriff auf das Quell-Repository erforderlich. Sie benötigen lediglich Lese-/Schreibzugriff auf das Ziel-Repository, in dem die Beweise gespeichert werden.
Für die meisten Benutzer ist der Standardmodus der richtige Einstiegspunkt. Der wichtige Punkt ist, dass Timestamp GIT in keinem der beiden Modi Ihren Quellcode liest.
Schritt 3: Die zu überwachenden Repositories auswählen
Wählen Sie während der Installation, ob die App alle aktuellen und zukünftigen Repositories oder nur ausgewählte Repositories überwachen soll. Wenn Sie mit einem öffentlichen Repository testen, wählen Sie dieses Repository jetzt aus.
Die Beweisdateien können in dasselbe Repository auf einem dedizierten Branch oder in ein separates Schatten-Repository geschrieben werden. Die Verwendung desselben Repositories ist bei kleinen Projekten üblich. Ein separates Schatten-Repository ist nützlich, wenn Sie Beweisdateien vollständig aus dem Haupt-Repository heraushalten möchten.
Schritt 4: Das Setup im Dashboard bestätigen
Öffnen Sie nach der Installation https://timestampgit.dev/repos. Dort sollten Ihre überwachten Repositories aufgelistet sein.
Prüfen Sie, dass:
- Das Quell-Repository in der Liste erscheint.
- Das Beweisziel wie erwartet konfiguriert ist.
- Das Repository als aktiv markiert ist.
Wenn das Repository nicht erscheint, überprüfen Sie die Installations-Einstellungen der GitHub-App und bestätigen Sie, dass die richtigen Repositories ausgewählt sind.
Schritt 5: Einen neuen Commit erstellen
Timestamp GIT verarbeitet nur Commits, die nach dem Verbinden des Repositories erstellt wurden. Erstellen Sie einen normalen Commit und pushen Sie ihn:
git add src/validation.js
git commit -m "Add payment validation logic"
git push origin main
Sie führen nichts weiter aus. Die GitHub-App erkennt den neuen Commit automatisch über Webhooks.
Schritt 6: Auf den nächtlichen Stapelprozess warten
Timestamp GIT verankert nicht jeden Commit sofort. Commits werden in einer Warteschlange gesammelt, und ein nächtlicher Worker gruppiert sie kurz nach Mitternacht UTC.
Der Worker:
- Erstellt eine Manifestdatei für jedes Repository.
- Baut einen Merkle-Baum aus den ausstehenden Commit-Hashes.
- Erstellt OpenTimestamps-Beweise.
- Verankert die Merkle-Wurzel in der Bitcoin-Blockchain.
Die Bitcoin-Bestätigung dauert normalerweise mehrere Stunden. Der gesamte Beweiserstellungsprozess kann insgesamt einige Stunden dauern – erwarten Sie also nicht, dass ein Badge oder eine Statusseite innerhalb von Minuten nach dem Pushen Ihres Commits aktualisiert wird.
Schritt 7: Die Beweisauslieferung prüfen
Sobald der Stapel bestätigt ist, pusht Timestamp GIT die Beweisdateien zurück an Ihr gewähltes Ziel. Sie sehen einen dedizierten timestamps-Branch oder ein Schatten-Repository mit:
manifests/2026-08-25.txt
proofs/2026-08-25.ots
Die .ots-Datei ist Ihr kryptografischer Beleg. Sie können sie aufbewahren, veröffentlichen oder einem Prüfer übergeben. Der Beweis ist unabhängig von der Infrastruktur von Timestamp GIT.
So bestätigen Sie, dass es funktioniert hat (Verifizierung)
Der schnellste Weg, um zu bestätigen, dass die Zeitstempelung aktiv ist, besteht darin, die Repository-Statusseite zu öffnen:
https://timestampgit.dev/status/{user}/{repo}
Ersetzen Sie {user} und {repo} durch Ihren GitHub-Benutzernamen oder Ihre Organisation und den Repository-Namen. Die Statusseite zeigt das früheste Verankerungsdatum, die tägliche Regelmäßigkeit, Bitcoin-Block- und Transaktionsdaten sowie eine Kalender-Heatmap.
Für eine maschinenlesbare Prüfung können Sie die öffentliche Status-API aufrufen:
curl -s https://timestampgit.dev/api/statusLast/octocat/hello-world
Die Antwort enthält die Informationen zum zuletzt verankerten Bitcoin-Block. Bei privaten Repositories enthält die URL einen verschlüsselten HMAC, sodass nur autorisierte Benutzer auf den Status zugreifen können.
Um den Beweisstatus direkt in Ihrer README anzuzeigen, öffnen Sie das Repository-Dashboard und kopieren Sie das einbettbare Badge-Markdown. Es sieht ungefähr so aus:
[](https://timestampgit.dev/status/YOUR_USER/YOUR_REPO)
Das Dashboard stellt das vollständige Snippet bereit, einschließlich der korrekten Shields.io-Badge-URL für Ihr Repository.
Für eine tiefergehende Beweisprüfung besuchen Sie:
https://timestampgit.dev/verification/{user}/{repo}/{date}
Diese Seite führt die Merkle-Ketten-Verifizierung lokal in Ihrem Browser durch. Sie können außerdem ein PDF-Zertifikat für ein bestimmtes Datum herunterladen oder das vollständige Audit-Ledger als CSV aus dem Status-Dashboard exportieren.
Wenn Sie die .ots-Datei vollständig unabhängig verifizieren möchten, können Sie sie herunterladen und mithilfe von Open-Source-OpenTimestamps-Tools gegen die Bitcoin-Blockchain prüfen. Timestamp GIT verlangt nicht, dass Sie dies manuell tun, aber die Option existiert, weil der Beweis anbieterunabhängig ist. Für eine ausführliche Anleitung siehe How to Verify Your Git Commit Timestamps.
Fehlerbehebung bei häufigen Problemen
Problem: Nach einem Commit erscheint kein Beweis.
Lösung: Bestätigen Sie, dass das Repository in den Installations-Einstellungen der GitHub-App weiterhin ausgewählt ist. Bestätigen Sie außerdem, dass der Commit nach der Installation erstellt wurde. Commits, die vor dem Verbinden der App erstellt wurden, werden nicht rückwirkend verarbeitet.
Problem: Der Beweis-Branch wurde nicht erstellt.
Lösung: Prüfen Sie, ob die App Schreibzugriff auf das Ziel-Repository hat. Wenn Sie Beweise in ein anderes Repository schreiben, muss dieses Ziel über Lese-/Schreibzugriff verfügen. Die Verwendung eines Schatten-Repositories löst dies oft sauber.
Problem: Das Verifizierungs-Badge zeigt einen unbekannten oder veralteten Status.
Lösung: Warten Sie, bis der nächtliche Stapel abgeschlossen ist und die Bitcoin-Bestätigung erfolgt ist. Dies dauert normalerweise mehrere Stunden nach Mitternacht UTC. Aktualisieren Sie das Badge, nachdem die Beweisdateien zurückgeschrieben wurden.
Problem: Der Status eines privaten Repositories ist für andere nicht sichtbar.
Lösung: Status-URLs privater Repositories enthalten einen verschlüsselten HMAC. Verwenden Sie den authentifizierten Badge-Link aus dem Timestamp-GIT-Dashboard anstelle des öffentlichen Status-Endpunkts.
Problem: Sie benötigen eine luftisolierte oder selbst gehostete Bereitstellung.
Lösung: Timestamp GIT ist als selbst gehostete Docker-Lizenz verfügbar. Ein minimales Docker-Compose-Setup sieht so aus:
services:
timestampgit:
image: rue1401/timestampgit:prod
ports:
- "8080:8080"
volumes:
- ./data:/app/data
- ./license.lic:/app/license.lic:ro
restart: unless-stopped
valkey:
image: valkey/valkey:8
restart: unless-stopped
Nach dem Start ist die Anwendung unter http://localhost:8080 verfügbar, und ein Einrichtungsassistent führt Sie durch die Verbindung Ihrer GitHub-App. Eine zeitlich begrenzte Demo-Lizenz ist auf der Docker-Lizenzseite verfügbar.
FAQ
Wie setzt Timestamp GIT kryptografische Zeitstempel auf meine Git-Commits?
Timestamp GIT extrahiert den SHA-1- oder SHA-256-Hash jedes Commits, stapelt diese Hashes täglich, baut einen Merkle-Baum und verankert die Merkle-Wurzel mithilfe des OpenTimestamps-Protokolls in der Bitcoin-Blockchain. Dadurch entsteht ein unveränderlicher Beweis, dass der Commit zu diesem Zeitpunkt existierte.
Muss ich CLI-Tools ausführen oder OpenTimestamps verstehen?
Nein. Timestamp GIT ist eine verwaltete GitHub-App. Nach der Installation überwacht sie automatisch Ihre Repositories und verankert Commits jede Nacht. Sie müssen keine Befehle ausführen oder das zugrunde liegende Protokoll verwalten.
Wird mein Quellcode während der Zeitstempelung offengelegt?
Nein. Timestamp GIT liest nur den Commit-Hash, der ein kryptografischer Fingerabdruck ist, nicht der eigentliche Code. Im Enterprise-ZK-Modus wird sogar der Commit-Hash über eine GitHub Action aus Ihrer Infrastruktur übertragen, sodass Ihr Quellcode Ihre Umgebung nie verlässt.
Kann ich den Zeitstempel unabhängig verifizieren, ohne mich auf Timestamp GIT zu verlassen?
Ja. Der Beweis wird als standardmäßige .ots-Belegdatei gespeichert. Jeder kann sie herunterladen und mithilfe von Open-Source-OpenTimestamps-Tools gegen die Bitcoin-Blockchain verifizieren. Der Beweis bleibt auch dann gültig, wenn Timestamp GIT verschwindet.
Fazit
Sie verfügen jetzt über automatische kryptografische Zeitstempelung für Ihre Git-Commits. Nach einer einmaligen GitHub-App-Installation wird jeder Commit in einem überwachten Repository nächtlich gestapelt, in Bitcoin verankert und in einen verifizierbaren .ots-Beweisbeleg umgewandelt. Der Prozess erfordert keine lokalen CLI-Tools, keine manuellen OpenTimestamps-Befehle und keine Bitcoin-Expertise.
Öffentliche Repositories können kostenlos starten. Private Repositories sind in kostenpflichtigen Tarifen verfügbar. Installieren Sie die GitHub-App noch heute und machen Sie Ihre Commit-Historie rechtlich belastbar.
Verwandte Beiträge
- Timestamp GIT Pricing: Plans for Every Developer
- Proof of Existence in Software: A Beginner’s Guide
- How to Verify Your Git Commit Timestamps
- Defend Your Software Against Patent Trolls with Timestamps
- OpenTimestamps vs Timestamp GIT: Which Is Right for Your Code?
- Set Up Automatic Git Commit Timestamping in Minutes