Timestamp GIT Secure your prior art without exposing code

← Tous les articles

2026-09-04

Automatisez l'horodatage des commits Git avec une application GitHub

Automatisez l'horodatage des commits Git avec une application GitHub
timestamp git blockchain proof

Automatisez l’horodatage des commits Git avec une application GitHub

Si vous avez déjà essayé de prouver quand un commit Git existait, vous connaissez déjà la routine manuelle : extraire les hachages de commit, construire un manifeste, attendre les confirmations, stocker les fichiers de reçu dans un endroit sûr, et recommencer. C’est répétitif, facile à oublier, et cela s’effondre dès que plus d’un dépôt ou d’un membre d’équipe est impliqué.

Il existe une meilleure façon d’automatiser l’horodatage Bitcoin pour les commits Git avec une application GitHub. Timestamp GIT transforme la preuve d’existence en service d’arrière-plan : installez l’application GitHub une fois, connectez un dépôt, et chaque commit est ancré à la blockchain Bitcoin chaque nuit. Vous n’avez pas besoin d’exécuter des outils de protocole bruts, de vous souvenir de tâches cron, ni de devenir un expert en blockchain. Le flux de travail OpenTimestamps brut existe, mais le faire à la main est la voie difficile.

Cet article passe en revue le flux de travail d’automatisation, la configuration unique, ce qui se passe entre le commit et l’ancrage Bitcoin, et comment surveiller et utiliser les preuves résultantes.

La corvée d’horodatage manuel que vous pouvez éliminer

Le processus manuel d’horodatage des commits Git ressemble généralement à ceci :

  1. Attendre de vous souvenir qu’un commit aurait dû être horodaté.
  2. Extraire le hachage du commit depuis Git.
  3. Préparer un fichier contenant les hachages dont vous voulez prouver l’existence.
  4. Exécuter un outil d’horodatage sur ce fichier.
  5. Attendre que la preuve soit créée et confirmée.
  6. Stocker le reçu dans un endroit durable.
  7. Espérer que personne ne vous demande d’expliquer les étapes exactes plus tard.

Ce flux de travail présente trois problèmes sérieux.

Premièrement, les développeurs oublient d’horodater. La preuve d’existence n’aide que si l’horodatage a été créé avant le litige. Si vous vous en souvenez trois mois après les faits, la preuve peut être plus faible qu’elle n’aurait pu l’être.

Deuxièmement, les preuves se perdent. Un fichier de reçu enregistré sur un ordinateur portable, un ancien disque de sauvegarde ou un canal aléatoire n’est pas une piste d’audit. Dans un contexte juridique ou de conformité, des reçus manquants ressemblent à des preuves manquantes.

Troisièmement, les étapes manuelles ne passent pas à l’échelle. Un développeur solo peut occasionnellement horodater un commit de version. Une startup avec 15 dépôts, plusieurs contributeurs et des fusions quotidiennes ne peut pas compter sur quelqu’un qui exporte manuellement des hachages chaque soir.

Timestamp GIT automatise l’intégralité du protocole OpenTimestamps derrière un service géré. Le produit ne lit pas votre code source. Il collecte uniquement les hachages de commit, les regroupe par lots et crée des preuves cryptographiques intégrées à la blockchain Bitcoin. Vous ne touchez jamais à une CLI, vous ne construisez jamais d’arbre de Merkle, et vous ne surveillez jamais un processus de confirmation.

Configuration unique : connectez votre dépôt

Le parcours de configuration est conçu pour être fait une fois puis oublié.

Vous commencez par installer l’application GitHub Timestamp GIT et par sélectionner les dépôts que vous souhaitez surveiller. Les dépôts publics peuvent être couverts par le plan Open Source gratuit. Les dépôts privés sont disponibles sur les plans Pro Agency ou Enterprise ZK.

Timestamp GIT propose deux modes de déploiement.

Mode Standard

En Mode Standard, l’application GitHub surveille votre dépôt via les webhooks GitHub. Lorsqu’un nouveau commit apparaît, l’application lit uniquement le hachage du commit HEAD.

Les autorisations GitHub exigent un accès en lecture seule au dépôt source, car GitHub ne propose pas de portée d’accès limitée aux hachages de commit. Timestamp GIT a également besoin d’un accès en lecture-écriture au dépôt cible où les preuves seront écrites. La branche de preuve peut vivre dans le même dépôt ou dans un dépôt fantôme séparé.

Le point important : votre code source n’est jamais lu, copié ni stocké. Seuls les hachages de commit entrent dans le pipeline Timestamp GIT.

Mode Enterprise ZK

Le Mode Enterprise ZK est destiné aux équipes qui ne peuvent accorder aucun accès en lecture au dépôt à un tiers. À la place, une GitHub Action de 12 lignes s’exécute sur votre propre infrastructure et envoie uniquement le hachage du commit à l’API Timestamp GIT.

Dans ce mode, Timestamp GIT n’a besoin d’un accès en lecture-écriture qu’au dépôt cible où les preuves sont stockées. Il n’a pas besoin d’accès en lecture au dépôt source. Votre code source ne quitte jamais votre environnement.

Après la connexion initiale, il n’y a aucune étape manuelle. Chaque commit sur un dépôt surveillé est détecté automatiquement.

Le pipeline automatisé : du commit à l’ancrage Bitcoin

Une fois qu’un dépôt est connecté, le pipeline d’automatisation s’occupe du reste.

Le pipeline fonctionne ainsi :

  1. Détection des commits
    L’application GitHub détecte les nouveaux commits via les webhooks, ou votre GitHub Action envoie les hachages de commit à l’API.

  2. File d’attente des hachages
    Les hachages de commit sont stockés dans un magasin clé-valeur en mémoire pour le traitement par lots.

  3. Lot nocturne
    Chaque nuit, un worker regroupe les hachages en attente et crée un fichier manifeste .txt pour chaque dépôt.

  4. Arbre de Merkle et OpenTimestamps
    Timestamp GIT construit un arbre de Merkle nativement, crée des preuves OpenTimestamps à l’aide de calendriers publics, et ancre la racine de Merkle dans la blockchain Bitcoin.

  5. Livraison des preuves
    Le manifeste et les fichiers de reçu .ots sont renvoyés vers une branche d’horodatages dédiée ou un dépôt fantôme.

La confirmation Bitcoin prend généralement quelques heures, normalement environ trois heures. Cela signifie que les preuves sont généralement disponibles le lendemain après la soumission du lot nocturne.

Vous pouvez vérifier l’état actuel d’un dépôt via l’API publique :

curl -s https://timestampgit.dev/api/statusLast/acme/widget-api
curl -s https://timestampgit.dev/api/statusCount/acme/widget-api
curl -s https://timestampgit.dev/api/statusSummary/acme/widget-api

Les dépôts privés ajoutent un HMAC chiffré à ces URL, de sorte que seuls les utilisateurs autorisés peuvent voir l’état. Le HMAC est spécifique à l’instance du serveur Timestamp GIT.

L’API expose également des points de terminaison de vérification et de reporting :

  • GET /api/verify/{user}/{repo}/{date} renvoie les données complètes de la chaîne de Merkle pour la vérification locale d’un jour spécifique.
  • GET /api/audit/{user}/{repo} télécharge le registre d’audit complet au format CSV.
  • GET /api/report/{user}/{repo}/{date} télécharge un certificat PDF pour une date spécifique.

Le point de terminaison de gestion des dépôts, GET /api/repos/{user}, liste les dépôts surveillés après l’installation de l’application GitHub.

Pour le Mode Enterprise ZK, l’assistant de configuration fournit une URL signée. La GitHub Action envoie uniquement l’identifiant du commit à cette URL. Le flux de travail est volontairement petit, sans extraction du code source requise au-delà de la charge utile d’événement déjà disponible dans GitHub Actions.

Surveillance et gestion des échecs

L’automatisation doit être observable. Timestamp GIT fournit un tableau de bord d’état public pour chaque dépôt.

Le tableau de bord comprend :

  • La longévité des preuves
  • La date d’ancrage la plus ancienne
  • La régularité quotidienne
  • Les données de bloc et de transaction Bitcoin
  • Une carte thermique calendaire
  • Un CSV d’audit téléchargeable
  • Des téléchargements de certificats PDF

Vous pouvez également intégrer un badge de vérification dans votre README. Le point de terminaison authentifié GET /api/badgeLink/{user}/{repo} renvoie les URL de badge et des extraits Markdown prêts à l’emploi pour Shields.io. Le badge affiche publiquement l’état de vérification et renvoie vers la page de vérification.

Si la confirmation Bitcoin prend plus de temps que prévu, le tableau de bord d’état montre où se trouve la preuve dans le processus. Comme le système traite par lots nocturnes, une confirmation lente signifie généralement que la preuve apparaît quelques heures plus tard que la normale plutôt que de disparaître. Les hachages en file d’attente restent dans le pipeline, et vous pouvez consulter la page d’état pour connaître l’état actuel.

La garantie importante : votre preuve ne dépend pas de la disponibilité continue de Timestamp GIT. Les fichiers .ots sont stockés dans votre dépôt, et la preuve repose uniquement sur SHA-256 et les données de bloc Bitcoin. Vous pouvez la vérifier localement même si l’entreprise disparaît.

Bonnes pratiques pour l’horodatage automatisé

L’automatisation supprime le fardeau manuel, mais quelques habitudes rendent la preuve plus solide.

Horodatez chaque commit, pas seulement les versions.
Les versions sont des jalons utiles, mais une chaîne continue de hachages de commit crée un enregistrement beaucoup plus riche. Si un litige porte sur un détail d’implémentation spécifique, un horodatage au niveau de la version peut être trop grossier.

Utilisez un dépôt fantôme dédié pour les preuves.
Conserver les fichiers .ots et les fichiers manifeste dans un dépôt de preuves séparé garde votre dépôt principal propre. Cela facilite également la collecte d’audit, car toutes les données de preuve vivent au même endroit.

Envisagez l’auto-hébergement Docker pour les environnements isolés.
Timestamp GIT est disponible sous forme d’image Docker pour les équipes qui ont besoin d’un contrôle maximal. La configuration de démarrage rapide est :

services:
  timestampgit:
    image: rue1401/timestampgit:prod
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
    restart: unless-stopped
  valkey:
    image: valkey/valkey:8
    restart: unless-stopped
docker compose pull
docker compose up -d
docker compose logs -f timestampgit

L’application est disponible à l’adresse http://localhost:8080 après le démarrage. Un assistant de configuration vous guide pour connecter votre application GitHub et configurer l’instance. Une licence de démonstration à durée limitée est disponible sur la page de licence Docker.

Téléchargez régulièrement les rapports d’audit.
Traitez le registre d’audit CSV et les certificats PDF comme des documents juridiques. Stockez-les avec vos autres dossiers de protection de la propriété intellectuelle. N’attendez pas qu’un litige survienne pour commencer à collecter des preuves.

Combinez l’horodatage avec d’autres stratégies de protection de la propriété intellectuelle.
L’horodatage ne remplace pas les brevets, les contrats ou les politiques de secret commercial. C’est la preuve cryptographique qui rend ces autres stratégies beaucoup plus difficiles à contester.

FAQ

L’application GitHub a-t-elle besoin d’accéder à mon code source ?

Non. En Mode Standard, l’application GitHub lit uniquement le hachage du commit HEAD, pas le code lui-même. En Mode Enterprise ZK, une GitHub Action sur votre infrastructure envoie uniquement le hachage du commit à l’API, de sorte que le code source ne quitte jamais votre environnement.

Combien de temps faut-il pour qu’un commit soit horodaté ?

Les commits sont traités par lots chaque nuit. Le processus d’ancrage Bitcoin prend généralement quelques heures après la soumission du lot, donc les preuves sont généralement disponibles le lendemain. Vous pouvez consulter le tableau de bord d’état pour des mises à jour en temps réel.

Puis-je vérifier l’horodatage sans dépendre de Timestamp GIT ?

Oui. La preuve est un fichier OpenTimestamps .ots standard qui peut être vérifié indépendamment à l’aide d’outils publics et de la blockchain Bitcoin. Timestamp GIT fournit également une page de vérification basée sur navigateur et des certificats PDF téléchargeables.

Que se passe-t-il si Timestamp GIT fait faillite ?

Vos preuves restent valides car elles sont ancrées dans la blockchain Bitcoin et n’utilisent que des normes ouvertes telles que SHA-256 et OpenTimestamps. Vous pouvez les vérifier hors ligne à tout moment, et les fichiers .ots sont stockés dans votre dépôt.

Automatisez la preuve, gardez le contrôle

L’horodatage manuel est facile à vendre en interne et difficile à maintenir en pratique. La valeur de la preuve d’existence vient de la cohérence : chaque commit, chaque jour, sans reçu manquant.

Timestamp GIT transforme cela en processus d’arrière-plan. Installez l’application GitHub une fois, connectez vos dépôts, et le pipeline nocturne gère les hachages de commit, les arbres de Merkle, les preuves OpenTimestamps, l’ancrage Bitcoin et la livraison des preuves. Vous surveillez les résultats via un tableau de bord, des badges, des audits CSV et des certificats PDF.

Les dépôts publics peuvent commencer gratuitement. Les dépôts privés sont couverts par Pro Agency et Enterprise ZK. Si vous avez besoin d’un contrôle en environnement isolé, la licence Docker auto-hébergée place la même automatisation dans votre propre infrastructure.

Commencez avec Timestamp GIT et faites de la preuve d’existence une partie normale de votre flux de travail de commit.

Articles connexes

EU label: AI-generated content