Timestamp GIT Secure your prior art without exposing code

← Alle Beiträge

2026-09-17

Wie man beweist, dass Code zu einem bestimmten Zeitpunkt existierte (ohne ihn preiszugeben)

Wie man beweist, dass Code zu einem bestimmten Zeitpunkt existierte (ohne ihn preiszugeben)
timestamp git blockchain proof

So beweisen Sie, dass Code zu einem bestimmten Zeitpunkt existierte (ohne ihn preiszugeben)

Wenn Sie nachweisen müssen, dass ein bestimmter Codeabschnitt vor einem bestimmten Datum existierte – etwa bei einem Patentstreit, einer Auseinandersetzung mit einem Mitarbeiter oder der Behauptung eines Wettbewerbers, er habe „unabhängig entwickelt“ –, reicht die standardmäßige Git-Historie nicht aus. Interne Protokolle liegen auf Servern, die Ihnen nicht gehören, können bearbeitet werden und werden bei rechtlichen Prüfungen oft als eigennützig verworfen. Dieser Artikel führt durch die konkrete Aufgabe: zu beweisen, dass Code zu einem bestimmten Zeitpunkt existierte, ohne den Code selbst preiszugeben.

Sie erreichen dies, indem Sie Git-Commit-Hashes – nicht den Quellcode – mithilfe der verwalteten Timestamp-GIT-GitHub-App an der Bitcoin-Blockchain verankern. Am Ende verfügen Sie über einen unveränderlichen, gerichtstauglichen Nachweis, den jeder unabhängig überprüfen kann – ohne manuelle Kryptografie-Arbeit und ohne dass Ihr Quellcode jemals Ihr Repository verlässt.

Wenn Sie mit dem zugrunde liegenden Konzept noch nicht vertraut sind, lesen Sie Was ist ein kryptografischer Nachweis der Urheberschaft von Code?.

Voraussetzungen

  • Ein GitHub-Konto und ein Repository, das Sie mit einem Zeitstempel versehen möchten. Öffentliche Repositories funktionieren mit dem kostenlosen Open-Source-Plan. Private Repositories erfordern einen kostenpflichtigen Pro-Agency- oder Enterprise-ZK-Plan.
  • Zugriff auf die Timestamp-GIT-GitHub-App und ein Timestamp-GIT-Konto. Sie installieren die App einmalig über die Produktseite unter Timestamp GIT.
  • Grundlegende Vertrautheit mit Git-Commits und der Repository-Struktur. Fortgeschrittene Kryptografie-Kenntnisse sind nicht erforderlich.
  • Stellen Sie bei privaten Repositories sicher, dass Ihr Konto über einen kostenpflichtigen Plantarif verfügt, der private Repos umfasst.

Schritt für Schritt: Automatische Zeitstempelung einrichten

Schritt 1: Installieren Sie die Timestamp-GIT-GitHub-App

Gehen Sie zum Timestamp-GIT-Dashboard und starten Sie die Installation der GitHub-App. Wählen Sie Ihr persönliches Konto oder Ihre Organisation aus und erteilen Sie die angeforderten Berechtigungen:

  • Lesezugriff auf das Quell-Repository. Das Berechtigungssystem von GitHub erfordert mindestens Lesezugriff, da Commit-Hashes ohne diesen nicht zugänglich sind.
  • Lese-/Schreibzugriff auf das Ziel-Repository, in das die Nachweisdateien geschrieben werden.

Die wichtige Garantie: Timestamp GIT liest, kopiert oder speichert Ihren Quellcode niemals. Es extrahiert ausschließlich Commit-Hashes.

Schritt 2: Verbinden Sie Ihr Repository

Öffnen Sie nach der Installation der App das Timestamp-GIT-Dashboard und wählen Sie das Repository aus, das Sie überwachen möchten. Legen Sie fest, wohin die Nachweise geliefert werden sollen:

  • Ein dedizierter timestamps-Branch im selben Repository oder
  • ein separates Schatten-Repository.

Dieser Zielort ist der Ort, an den später die Manifest- und .ots-Belegdateien gepusht werden.

Schritt 3: Konfigurieren Sie die Zeitstempel-Einstellungen

Das Standardverhalten ist die automatische nächtliche Stapelverarbeitung. Ausstehende Commit-Hashes werden täglich gruppiert, ein Merkle-Baum wird erstellt, OpenTimestamps-Nachweise werden erzeugt und die Merkle-Wurzel wird an Bitcoin verankert. In den meisten Fällen müssen Sie nichts ändern.

Wenn Sie den Enterprise-ZK-Modus verwenden, führen Sie stattdessen eine kurze GitHub-Action auf Ihrer eigenen Infrastruktur aus, anstatt Lesezugriff auf das Quell-Repository zu gewähren. Diese Action überträgt ausschließlich Commit-Hashes an die Timestamp-GIT-API, sodass Ihr Quellcode Ihre Umgebung niemals verlässt.

Schritt 4: Erstellen Sie einen neuen Commit

Committen Sie wie gewohnt in Ihr Repository. Die GitHub-App erkennt den neuen Commit automatisch über Webhooks.

git add .
git commit -m "Add new feature logic"
git push origin main

Es ist kein zusätzlicher Zeitstempel-Befehl erforderlich. Der Commit-Hash gelangt automatisch in die Warteschlange von Timestamp GIT.

Schritt 5: Warten Sie auf den nächtlichen Cron-Job

Jede Nacht verarbeitet Timestamp GIT die ausstehenden Hashes:

  1. Gruppiert alle ausstehenden Commit-Hashes des Tages.
  2. Erstellt Manifest-Textdateien für jedes Repository.
  3. Erstellt nativ einen Merkle-Baum.
  4. Erstellt OpenTimestamps-Nachweise mithilfe öffentlicher OTS-Kalender.
  5. Verankert die Merkle-Wurzel in der Bitcoin-Blockchain.

Die Bitcoin-Bestätigung dauert nach der nächtlichen Stapelverarbeitung in der Regel einige Stunden.

Schritt 6: Erhalten Sie Ihren Nachweis

Sobald die Bitcoin-Transaktion bestätigt ist, pusht Timestamp GIT die Nachweisdateien in den vorgesehenen Branch. Sie sehen:

  • Eine Manifestdatei mit den Commit-Hashes.
  • .ots-Belegdateien für den täglichen Stapel.

Diese Nachweisdateien sind anbieterunabhängig. Sie können sie später auch dann überprüfen, wenn der Timestamp-GIT-Dienst nicht mehr existiert.

Schritt 7: Fügen Sie Ihrer README ein Verifikations-Badge hinzu

Kopieren Sie auf der Repository-Statusseite den bereitgestellten Shields.io-Badge-Markdown und fügen Sie ihn in Ihre README.md ein. Bei öffentlichen Repositories verlinkt das Badge auf eine öffentliche Verifikationsseite. Bei privaten Repositories enthält die Badge-URL einen verschlüsselten HMAC, sodass nur autorisierte Benutzer den Status einsehen können.

Das Dashboard stellt den exakten Markdown-Schnipsel bereit, der etwa so aussieht:

[![Timestamped](https://timestampgit.dev/api/badgeLink/your-user/your-repo/shields)](https://timestampgit.dev/status/your-user/your-repo)

Ersetzen Sie your-user und your-repo durch die tatsächlichen Werte aus dem Dashboard.

So bestätigen Sie, dass es funktioniert hat (Verifikation)

Prüfen Sie das Repository-Status-Dashboard

Öffnen Sie die öffentliche Statusseite für Ihr Repository. Sie zeigt:

  • Nachweis-Langlebigkeit und frühestes Ankerdatum.
  • Tägliche Anker-Regelmäßigkeit und eine Kalender-Heatmap.
  • Bitcoin-Blockhöhe und Transaktionsdaten.
  • Herunterladbare Audit-CSV und PDF-Zertifikat für ein bestimmtes Datum.

Führen Sie die Verifikation im Browser aus

Verwenden Sie die Verifikationsseite für ein bestimmtes Repository und Datum. Sie führt Schritt für Schritt durch die Merkle-Chain-Verifikation, und die gesamte Berechnung erfolgt lokal in Ihrem Browser. Niemand sieht, was Sie überprüfen.

Laden Sie ein PDF-Zertifikat herunter

Für ein gerichtstaugliches Dokument laden Sie das PDF-Zertifikat für das benötigte Datum herunter. Damit erhalten Sie einen sauberen, teilbaren Nachweis, ohne Code preiszugeben.

Prüfen Sie die API programmatisch

Sie können die öffentlichen Status-Endpunkte mit curl abfragen:

curl https://timestampgit.dev/api/statusLast/your-user/your-repo
curl https://timestampgit.dev/api/statusCount/your-user/your-repo
curl https://timestampgit.dev/api/statusSummary/your-user/your-repo

Der letzte Endpunkt liefert eine kombinierte Zusammenfassung, die sich für Shields.io-Badges eignet.

Unabhängige Verifikation für fortgeschrittene Benutzer

Da der Nachweis ausschließlich auf SHA-256 und Bitcoin-Blockdaten beruht, können Sie den .ots-Beleg herunterladen und mit standardmäßigen OpenTimestamps-Verifikationswerkzeugen gegen die Bitcoin-Blockchain prüfen. Dafür ist kein Vertrauen in Timestamp GIT oder einen anderen Anbieter erforderlich. Die verwaltete App automatisiert lediglich den Prozess, der sonst manuelle Protokollarbeit erfordern würde.

Fehlerbehebung bei häufigen Problemen

Nach einem Commit erscheint kein Zeitstempel

Prüfen Sie, ob die GitHub-App auf dem Konto oder der Organisation installiert ist und ob das Repository im Timestamp-GIT-Dashboard verbunden ist. Nur Commits, die nach der Einrichtung erstellt wurden, werden mit einem Zeitstempel versehen.

Nachweis nicht innerhalb von 24 Stunden zugestellt

Die Bitcoin-Bestätigung kann nach der nächtlichen Stapelverarbeitung mehrere Stunden dauern. Prüfen Sie das Repository-Status-Dashboard auf einen ausstehenden Zustand. Wenn Sie ein privates Repository verwenden, bestätigen Sie, dass Ihr Plan private Repos umfasst.

Badge zeigt „unverified“ oder einen defekten Link

Überprüfen Sie die Badge-URL aus dem Dashboard und stellen Sie sicher, dass das Repository öffentlich ist oder der verschlüsselte HMAC für private Repos enthalten ist. Ein defekter Link bedeutet oft, dass Repository- oder Benutzername falsch geschrieben sind.

Sie müssen die Existenz von Code nachweisen, der nicht auf GitHub gehostet wird

Verwenden Sie den Enterprise-ZK-Modus. Eine GitHub-Action läuft auf Ihrer Infrastruktur und überträgt ausschließlich Commit-Hashes an die API. Dies funktioniert mit jedem Git-Repository, und Timestamp GIT benötigt keinen Lesezugriff auf das Quell-Repository.

Sie möchten in einer isolierten Umgebung selbst hosten

Timestamp GIT ist als Docker-Image mit einer Self-Hosted-Lizenz verfügbar. Sie können denselben verwalteten Workflow auf Ihrer eigenen Infrastruktur mit dem bereitgestellten Docker-Compose-Setup ausführen:

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 anschließend mit:

docker compose pull
docker compose up -d
docker compose logs -f timestampgit

Die Anwendung ist nach dem Start unter http://localhost:8080 verfügbar. Eine zeitlich begrenzte Demo-Lizenz steht zur Evaluierung bereit.

FAQ

Gibt die Zeitstempelung meines Codes dessen Inhalt für irgendjemanden preis?

Nein. Timestamp GIT extrahiert ausschließlich den Git-Commit-Hash – einen kryptografischen Fingerabdruck – und verankert diesen Hash in der Bitcoin-Blockchain. Ihr tatsächlicher Quellcode wird vom Dienst niemals gelesen, kopiert oder gespeichert.

Wie lange dauert es, bis ich einen Zeitstempel-Nachweis erhalte?

Der Prozess läuft automatisch ab. Nach Ihrem Commit wird der Hash in die Warteschlange aufgenommen und in der nächsten nächtlichen Stapelverarbeitung verankert. Die Bitcoin-Bestätigung dauert in der Regel einige Stunden; danach werden die Nachweisdateien in Ihr Repository gepusht.

Kann ich den Zeitstempel überprüfen, ohne mich auf Timestamp GIT zu verlassen?

Ja. Der Nachweis basiert auf dem OpenTimestamps-Protokoll und Bitcoin-Blockchain-Daten. Sie können den .ots-Beleg herunterladen und unabhängig mit standardmäßigen OpenTimestamps-Werkzeugen überprüfen, selbst wenn Timestamp GIT nicht mehr existiert.

Was ist, wenn ich die Existenz von Code nachweisen muss, der nicht auf GitHub gehostet wird?

Timestamp GIT bietet einen Enterprise-ZK-Modus, bei dem eine GitHub-Action auf Ihrer Infrastruktur läuft und ausschließlich Commit-Hashes an die API überträgt. Dies funktioniert mit jedem Git-Repository, und Ihr Code verlässt niemals Ihre Umgebung.

Fazit

Sie wissen nun, wie Sie beweisen können, dass Code zu einem bestimmten Zeitpunkt existierte, ohne ihn preiszugeben: Installieren Sie die Timestamp-GIT-GitHub-App einmalig, verbinden Sie ein Repository und lassen Sie den Dienst jeden Commit-Hash automatisch an Bitcoin verankern. Ihr Quellcode verlässt niemals Ihr Repository – es werden ausschließlich kryptografische Fingerabdrücke mit Zeitstempeln versehen.

Die Nachweise sind unabhängig von einem einzelnen Anbieter, beruhen auf Bitcoin-Mathematik und können im Browser, per API oder mit standardmäßigen OpenTimestamps-Werkzeugen überprüft werden. Für öffentliche Repositories ist der kostenlose Open-Source-Plan ein praktischer Einstiegspunkt. Für private Repos oder isolierte Umgebungen decken die Optionen Pro Agency, Enterprise ZK und die Docker-Self-Hosted-Lizenz den Rest ab.

Wenn Sie die zugrunde liegenden Konzepte verstehen oder den verwalteten Ansatz mit dem rohen Protokoll vergleichen möchten, lesen Sie die folgenden Artikel.

Verwandte Beiträge

EU label: AI-generated content