Automatisieren Sie Git-Commit-Zeitstempel mit einer GitHub-App
Wenn Sie jemals versucht haben zu beweisen, wann ein Git-Commit stattgefunden hat, kennen Sie die manuelle Routine: Erstellen Sie eine kryptografische Quittung für einen Commit-Hash, speichern Sie die .ots-Datei an einem dauerhaften Ort, ordnen Sie diese Quittung dem richtigen Commit zu und wiederholen Sie den Vorgang für jeden Branch und jedes Repository, das zählt. Verpassen Sie einen Commit, haben Sie eine Lücke in Ihrer Prior-Art-Aufzeichnung.
Timestamp GIT ersetzt diese Routine durch eine GitHub-App, die Git-Commits automatisch mit Zeitstempeln versieht. Dieser Artikel befasst sich mit dem Automatisierungspfad, nicht mit den zugrunde liegenden kryptografischen Konzepten. Hintergrundinformationen zum Existenznachweis und warum er wichtig ist, finden Sie unter Proof of Existence for Code: What It Is and Why It Matters.
Die manuelle Zeitstempel-Arbeit, die Sie eliminieren können
Manuelle Zeitstempelung scheitert in der Regel aus langweiligen Gründen, nicht aus Sicherheitsgründen.
- Sie vergessen, einen wichtigen Feature-Branch zu stempeln.
- Quittungen verteilen sich über Laptops, CI-Artefakte und beliebige Ordner.
- Es gibt keine klare Zuordnung zwischen Quittungsdateien und bestimmten Commits.
- Verschiedene Teammitglieder verwenden unterschiedliche Prozesse – oder gar keinen.
- Wenn tatsächlich ein Streitfall eintritt, stellen Sie fest, dass die Quittung nie erstellt wurde.
Der schwierige Weg ist die direkte Arbeit mit OpenTimestamps: Installieren Sie die Tools, stempeln Sie Commit-Hashes manuell und speichern Sie die Quittungsdateien selbst. Dieser Ansatz funktioniert technisch, aber es ist eine lästige Pflicht, die mit der eigentlichen Entwicklungsarbeit konkurriert.
Timestamp GIT nimmt Ihnen diese Last ab. Es ist ein verwaltetes SaaS und eine GitHub-App, die das OpenTimestamps-Protokoll vollständig automatisiert und verbirgt. Nach der Installation überwacht es Ihre Repositories, sammelt Commit-Hashes und verankert sie jede Nacht in der Bitcoin-Blockchain. Keine CLI-Tools, keine manuelle Quittungsverwaltung, kein Erinnern.
Einmalige Einrichtung: Verbinden Sie Ihr Repository mit der GitHub-App
Das Einrichtungsmodell ist bewusst unspektakulär: einmal installieren, Repositories verbinden und weitermachen.
Standardmodus mit der GitHub-App:
- Installieren Sie die Timestamp GIT GitHub-App aus dem GitHub Marketplace.
- Gewähren Sie Zugriff auf die Repositories, die Sie überwachen möchten.
- Wählen Sie, wo die Nachweise gespeichert werden sollen: ein dedizierter Branch im selben Repository oder ein separates Shadow-Repository.
- Fertig.
Nach der Installation beginnt die GitHub-App automatisch, neue Commits über Webhooks zu überwachen. Es sind keine Codeänderungen, keine lokalen Konfigurationsdateien und keine Installationen auf Entwickler-Rechnern erforderlich.
Berechtigungen im Standardmodus:
- Die App benötigt schreibgeschützten Zugriff auf das Quell-Repository, um den HEAD-Commit-Hash lesen zu können.
- Sie benötigt Lese-Schreib-Zugriff auf das Ziel-Repository oder den Branch, in dem die Nachweisdateien gespeichert werden.
- Sie liest oder speichert niemals Ihren tatsächlichen Quellcode.
Enterprise-ZK-Modus für Zero-Knowledge-Umgebungen:
Wenn Ihre Sicherheitsrichtlinie besagt, dass Ihr Quellcode Ihre Infrastruktur niemals verlassen darf, können Sie den Enterprise-ZK-Modus verwenden. Eine 12-zeilige GitHub Action läuft auf Ihrer Seite und überträgt nur den Commit-Hash an die Timestamp GIT API. In diesem Modus benötigt Timestamp GIT überhaupt keinen Lesezugriff auf das Quell-Repository – nur Lese-Schreib-Zugriff auf das Ziel-Repository, in dem die Nachweise gespeichert werden.
Diese Unterscheidung ist für Compliance-Teams wichtig: Der Standardmodus liest Commit-Hashes von GitHub, während der Enterprise-ZK-Modus nur Hashes von Ihrer GitHub Action sendet.
Die automatisierte Pipeline: Vom Commit zum Bitcoin-Anker
Nach der Einrichtung läuft die Pipeline ohne manuelles Eingreifen.
Jede Nacht sammelt ein Worker-Prozess die ausstehenden Commit-Hashes des Tages und verarbeitet sie in einem Batch:
- Commit-Hashes werden von der GitHub-App erkannt oder von Ihrer Enterprise-ZK-Action übertragen.
- Hashes verbleiben in einer In-Memory-Warteschlange bis zum nächtlichen Lauf.
- Ein Mitternachts-Cron-Worker gruppiert ausstehende Hashes nach Repository.
- Der Worker erstellt Manifestdateien für jedes Repository.
- Er baut einen Merkle-Baum aus dem täglichen Batch.
- Er erstellt OpenTimestamps-Nachweise unter Verwendung öffentlicher OTS-Kalender.
- Die Merkle-Wurzel wird in einem Bitcoin-Block verankert.
Die Manifest- und .ots-Quittungsdateien werden dann zurück in Ihren dedizierten Timestamps-Branch oder Ihr Shadow-Repository übertragen.
Ein wichtiger Hinweis zum Timing: Die Bitcoin-Bestätigung dauert mehrere Stunden, normalerweise etwa drei Stunden. Da der Batch um Mitternacht läuft und die Verankerung später abgeschlossen wird, erscheinen die Nachweise in der Regel am nächsten Tag. Diese Verzögerung ist kein Fehler – es ist das Bitcoin-Netzwerk, das die Arbeit leistet, die den Zeitstempel unveränderlich macht.
Sie können den zuletzt verankerten Status mit der REST-API überprüfen:
# Zuletzt verankerter Bitcoin-Block-Info
curl -s https://timestampgit.dev/api/statusLast/acme/webapp
# Gesamtzahl der committeten/gestempelten Commits
curl -s https://timestampgit.dev/api/statusCount/acme/webapp
# Kombinierte Zusammenfassung, die von Shields.io-Badges verwendet wird
curl -s https://timestampgit.dev/api/statusSummary/acme/webapp
Ersetzen Sie acme/webapp durch Ihren GitHub-Benutzer oder Ihre Organisation und den Repository-Namen.
Für eine öffentliche README können Sie ein Verifizierungs-Badge einbetten. Die Seite „Repository Connected" liefert den Markdown-Snippet nach der Installation. Ein typisches Badge sieht so aus:
[](https://timestampgit.dev/status/acme/webapp)
Für private Repositories sind Status-URLs mit einem verschlüsselten HMAC geschützt. Nur autorisierte Benutzer können den Status dieser Repositories einsehen, und der HMAC ist spezifisch für die Serverinstanz.
Überwachung und Fehlerbehandlung: Halten Sie Ihre Nachweise gesund
Automatisierung bedeutet nicht, das System zu ignorieren. Es bedeutet, das Ergebnis zu überwachen, anstatt die Aufgabe manuell auszuführen.
Die Repository-Statusseite ist Ihr zentrales Gesundheits-Dashboard. Sie zeigt:
- Nachweis-Langlebigkeit
- Frühestes Ankerdatum
- Tägliche Regelmäßigkeit
- Bitcoin-Block- und Transaktionsdaten
- Eine Kalender-Heatmap der gestempelten Tage
- Herunterladbare Audit-CSV
- PDF-Zertifikat pro gestempeltem Datum
Für die programmatische Überwachung decken die öffentlichen API-Endpunkte die gängigen Fälle ab:
# Den zuletzt verankerten Block prüfen
curl -s https://timestampgit.dev/api/statusLast/acme/webapp
# Zählen, wie viele Commits gestempelt wurden
curl -s https://timestampgit.dev/api/statusCount/acme/webapp
# Eine kombinierte Zusammenfassung für Skripte oder Shields.io abrufen
curl -s https://timestampgit.dev/api/statusSummary/acme/webapp
Diese Endpunkte können in Ihren bestehenden Uptime-Monitor, Ihr internes Dashboard oder Ihren CI-Check integriert werden. Beispielsweise kann ein geplantes Skript einmal täglich statusLast aufrufen und alarmieren, wenn das erwartete Ankerdatum fehlt.
Häufige Fehlerszenarien sind:
- Repository-Zugriff in GitHub widerrufen.
- GitHub-App deinstalliert.
- Netzwerkprobleme zwischen GitHub und dem Timestamp GIT-Dienst.
Diese Fehler erscheinen auf der Repository-Statusseite, anstatt still zu scheitern. Da Commit-Hashes nach Datum gebündelt werden, kann ein verpasster nächtlicher Lauf ausstehende Hashes im nächsten erfolgreichen Batch aufnehmen.
Für Compliance und Aufbewahrung laden Sie die Audit-CSV und das PDF-Zertifikat regelmäßig herunter. Speichern Sie sie in Ihrem Rechtsarchiv zusammen mit anderer IP-Dokumentation.
Best Practices für automatisierte Git-Zeitstempelung
Sobald die Automatisierung eingerichtet ist, machen einige Gewohnheiten Ihre Prior-Art-Aufzeichnung stärker.
Stempeln Sie alle Repositories, einschließlich privater. Viele Teams stempeln nur öffentlich zugängliche Projekte. Aber Patent-Trolle und Beschäftigungsstreitigkeiten zielen oft auf interne Systeme und Geschäftsgeheimnisse ab. Private Repositories sind genauso wichtig, wenn nicht sogar wichtiger.
Halten Sie Nachweisdateien aus dem Hauptquell-Branch heraus. Verwenden Sie einen dedizierten Timestamps-Branch oder ein separates Shadow-Repository. Dies hält Ihren main-Branch sauber und gibt Prüfern dennoch einen einzigen Ort, um .ots-Quittungen und Manifestdateien zu finden.
Binden Sie das Verifizierungs-Badge in Ihre README ein. Ein sichtbares Badge signalisiert potenziellen Rechtsverletzern, dass Ihre Commit-Historie in Bitcoin verankert ist. Es ist nicht nur Dekoration; es ist eine kostengünstige Abschreckung.
Verwenden Sie den Enterprise-ZK-Modus, wenn Quellcode intern bleiben muss. Wenn Ihr Compliance-Team Drittanbieter-Lesezugriff auf Quell-Repositories verbietet, sendet der GitHub-Action-Ansatz nur Commit-Hashes an die Timestamp GIT API.
Für Air-Gap- oder selbst gehostete Umgebungen verwenden Sie das Docker-Image. Timestamp GIT ist als Docker-Image für volle Kontrolle verfügbar:
services:
timestampgit:
image: rue1401/timestampgit:prod
ports:
- "8080:8080"
volumes:
- ./data:/app/data
restart: unless-stopped
valkey:
image: valkey/valkey:8
restart: unless-stopped
Starten Sie es mit:
docker compose pull
docker compose up -d
docker compose logs -f timestampgit
Die Anwendung ist unter http://localhost:8080 verfügbar. Beim ersten Start führt Sie ein Einrichtungsassistent durch die Verbindung Ihrer GitHub-App und die Konfiguration der Instanz. Eine zeitlich begrenzte Demo-Lizenz ist auf der Docker-Lizenzseite erhältlich.
Laden Sie Audit-Berichte regelmäßig herunter. Warten Sie nicht auf einen Rechtsstreit, um mit der Beweissammlung zu beginnen. Ein vierteljährlicher oder monatlicher Export dauert wenige Minuten und gibt Ihnen ein Offline-Archiv.
FAQ
Wie stempelt die GitHub-App meine Commits automatisch?
Nach der Installation überwacht die Timestamp GIT GitHub-App Ihr Repository über Webhooks auf neue Commits. Jede Nacht sammelt sie alle Commit-Hashes des Tages, erstellt einen Merkle-Baum und verankert die Wurzel mithilfe des OpenTimestamps-Protokolls in der Bitcoin-Blockchain. Die Nachweise werden dann automatisch zurück in Ihr Repository übertragen. Keine manuellen Schritte erforderlich.
Hat die GitHub-App Zugriff auf meinen Quellcode?
Im Standardmodus benötigt die App schreibgeschützten Zugriff auf das Quell-Repository, um Commit-Hashes zu lesen, aber sie liest oder speichert niemals Ihren tatsächlichen Quellcode. Für maximale Privatsphäre verwendet der Enterprise-ZK-Modus eine GitHub Action, die nur den Commit-Hash an die Timestamp GIT API überträgt, sodass Ihr Quellcode Ihre Umgebung niemals verlässt.
Kann ich Timestamp GIT mit privaten Repositories verwenden?
Ja. Die Pro- und Enterprise-Tarife unterstützen private Repositories. Die App kann Nachweise in einem Shadow-Repository oder einem dedizierten Branch speichern, und der Zugriff auf Status-Endpunkte ist für private Repos mit HMAC geschützt.
Wie kann ich überprüfen, ob mein Commit gestempelt wurde?
Sie können dies über das öffentliche Status-Dashboard, die API-Endpunkte wie /api/statusLast oder durch Herunterladen der .ots-Quittung und Ausführen standardmäßiger OpenTimestamps-Verifizierungstools gegen die Bitcoin-Blockchain überprüfen. Die Verifizierung ist unabhängig und verlässt sich nicht auf die Server von Timestamp GIT.
Fazit: Einrichten und vergessen
Automatisierte Git-Zeitstempelung verändert die Frage von „Habe ich daran gedacht, diesen Commit zu stempeln?" zu „Erscheint der nächtliche Anker in meinem Dashboard?"
Timestamp GIT übernimmt das gesamte OpenTimestamps-Protokoll im Hintergrund. Sie installieren die GitHub-App einmal, verbinden Ihre Repositories und lassen die nächtliche Pipeline Commit-Hashes in Bitcoin verankern. Das Ergebnis ist ein unveränderlicher, gerichtsfester Nachweis von Prior Art – ohne eine neue manuelle Gewohnheit.
Beginnen Sie mit dem kostenlosen Tarif für öffentliche Repositories, wechseln Sie zu Pro Agency für private Repositories oder verwenden Sie Enterprise ZK, wenn Quellcode in Ihrer Infrastruktur bleiben muss. Selbst-Hoster können das Docker-Image für volle Kontrolle bereitstellen.
Installieren Sie die GitHub-App noch heute unter Timestamp GIT und machen Sie Zeitstempelung zu etwas, das Ihre Repositories automatisch erledigen.
Verwandte Beiträge
- How to Prove Your Code Existed on a Specific Date (Without Revealing It)
- Protect Your Startup from Patent Trolls with Git Timestamping
- How Dev Shops Can Prove Work Delivery with Timestamp GIT