Timestamp GIT Secure your prior art without exposing code

← Tous les articles

2026-09-25

Automatisez l'horodatage du code avec une application GitHub

Automatisez l'horodatage du code avec une application GitHub
timestamp git blockchain proof

Automatisez l’horodatage du code avec une GitHub App

Si vous avez déjà horodaté manuellement du code, vous connaissez la routine : générer un hash, le copier dans un endroit sûr, conserver un reçu, et répéter l’opération pour chaque commit significatif. C’est répétitif, facile à oublier et fragile au moment où vous en avez le plus besoin. L’horodatage automatique du code avec une GitHub App supprime entièrement cette charge manuelle.

Timestamp GIT est une GitHub App gérée qui ancre automatiquement chaque hash de commit de vos dépôts surveillés dans la blockchain Bitcoin. Aucun outil CLI à exécuter, aucun reçu à archiver à la main, aucune tâche batch nocturne à mémoriser. Vous installez l’application une seule fois, et le système gère la détection des commits, l’ancrage cryptographique et la livraison des preuves en arrière-plan.

Cet article présente la configuration unique, le pipeline automatisé nocturne, la surveillance et la gestion des échecs, ainsi que les bonnes pratiques pour construire une piste d’antériorité durable.

Configuration unique : installer la GitHub App

L’ensemble du processus de configuration se déroule dans l’interface GitHub.

  1. Installez la GitHub App Timestamp GIT depuis le GitHub Marketplace.
  2. Sélectionnez les dépôts que vous souhaitez surveiller. Les dépôts publics sont pris en charge par le plan gratuit Open Source ; les dépôts privés sont disponibles sur les plans Pro Agency et Enterprise ZK.
  3. Accordez les autorisations requises.

Les exigences en matière d’autorisations dépendent du mode de déploiement :

  • Mode Standard : l’application a besoin d’un accès en lecture seule au dépôt source. GitHub ne propose pas d’autorisation « hash de commit uniquement », donc un accès en lecture est nécessaire pour que l’application puisse voir le hash du commit HEAD. L’application a également besoin d’un accès en lecture-écriture au dépôt cible où les preuves seront stockées.
  • Mode Enterprise ZK : l’application n’a besoin d’aucun accès en lecture au dépôt source. Une GitHub Action sur votre infrastructure envoie uniquement le hash du commit à l’API Timestamp GIT. Vous n’accordez qu’un accès en lecture-écriture au dépôt de preuves cible.

Il n’y a aucun outil CLI à installer et aucun fichier de configuration à maintenir. Après l’installation, l’application est prête.

Pour les environnements isolés ou entièrement auto-hébergés, Timestamp GIT est également disponible sous forme d’image Docker. Si vous avez besoin d’un contrôle sur site, consultez l’article dédié sur l’horodatage auto-hébergé avec Docker. Pour la plupart des équipes, la GitHub App hébergée est la voie la plus rapide.

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

Le cœur de Timestamp GIT est un pipeline d’automatisation nocturne qui ne nécessite aucune intervention quotidienne de la part des développeurs.

Ce qui se passe après chaque commit

  1. Détection des commits
    En mode Standard, la GitHub App reçoit un webhook chaque fois que vous poussez un nouveau commit vers un dépôt surveillé. En mode Enterprise ZK, votre GitHub Action envoie le hash du commit à l’API.

  2. File d’attente des hashes
    Les hashes de commit sont stockés dans un stockage clé-valeur en mémoire et attendent d’être regroupés.

  3. Worker cron de minuit
    Chaque nuit, un worker regroupe tous les hashes en attente, crée un fichier manifeste pour chaque dépôt, construit un arbre de Merkle nativement et crée des preuves OpenTimestamps. La racine de Merkle du lot quotidien est ancrée dans la blockchain Bitcoin.

  4. Livraison des preuves
    Le manifeste et les fichiers de reçu .ots sont renvoyés vers une branche dédiée aux horodatages ou un dépôt miroir. La confirmation Bitcoin prend normalement environ trois heures, donc les fichiers de preuve apparaissent quelques heures après l’ancrage nocturne.

Le processus est à connaissance nulle par architecture. Timestamp GIT ne voit que le hash du commit — une empreinte à sens unique — jamais votre code source. En mode Standard, l’application ne lit que le hash du commit HEAD. En mode Enterprise ZK, le code source ne quitte jamais votre environnement car le hash du commit est envoyé depuis votre propre runner GitHub Action.

Mode Enterprise ZK avec une GitHub Action

Si vous avez besoin d’un isolement strict du code source, le mode Enterprise ZK est l’option la plus robuste. Une courte GitHub Action s’exécute sur votre infrastructure et envoie uniquement le hash du commit à l’API Timestamp GIT.

Un workflow typique ressemble à ceci :

name: Push commit hash to Timestamp GIT

on:
  push:
    branches:
      - main

jobs:
  timestamp:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Send commit hash
        run: |
          curl -X POST "${{ secrets.TIMESTAMPGIT_SIGNED_URL }}" \
            -H "Content-Type: application/json" \
            -d "{\"commitId\":\"${{ github.sha }}\"}"

L’URL signée provient de l’assistant de configuration Enterprise et est stockée comme secret GitHub. L’action ne comporte aucune étape d’inspection du code source ni aucun téléchargement de fichiers.

Les deux modes de déploiement en un coup d’œil

Mode Accès source Stockage des preuves Idéal pour
GitHub App Standard Dépôt source en lecture seule Branche dédiée ou dépôt miroir Automatisation rapide, sans configuration
Enterprise ZK Aucun accès source Dépôt cible que vous contrôlez Secrets commerciaux, conformité, sécurité stricte

Dans les deux modes, l’ancrage Bitcoin sous-jacent est identique : la racine de Merkle quotidienne est intégrée dans une transaction Bitcoin à l’aide du protocole OpenTimestamps. Une fois la transaction confirmée dans un bloc, l’horodatage ne peut être modifié par personne, y compris Timestamp GIT.

Surveillance et gestion des échecs

L’automatisation n’a de valeur que si vous pouvez avoir confiance qu’elle fonctionne toujours. Timestamp GIT fournit plusieurs surfaces de surveillance.

Tableau de bord public de statut

Chaque dépôt dispose d’une page de statut qui affiche :

  • La date d’ancrage la plus ancienne
  • La régularité de l’ancrage quotidien
  • Les données de bloc et de transaction Bitcoin
  • Une carte thermique calendaire des jours horodatés
  • Un CSV d’audit téléchargeable et un certificat PDF

Vous pouvez vérifier le dernier bloc Bitcoin ancré via l’API publique de statut :

curl https://timestampgit.dev/api/statusLast/your-org/your-repo

Un exemple de réponse ressemble à ceci :

{
  "blockHeight": 862400,
  "timestamp": "2026-09-25T00:37:00Z",
  "status": "confirmed"
}

Pour les dépôts privés, les URL de statut incluent un HMAC chiffré afin que seuls les utilisateurs autorisés puissent consulter le statut de l’horodatage. Le HMAC est spécifique à l’instance du serveur.

Ce qui se passe en cas d’échec

Comme le lot nocturne s’exécute selon un calendrier, un travail échoué ne fait pas disparaître silencieusement votre piste de preuves. Le système réessaie automatiquement le processus d’ancrage. La page de statut vous permet de repérer les lacunes dans la régularité quotidienne et de vérifier si un dépôt a cessé d’envoyer de nouveaux hashes de commit.

Pour la conformité et la tenue des registres, vous pouvez télécharger le registre d’audit complet au format CSV et un certificat PDF pour une date spécifique :

  • GET /api/audit/{user}/{repo} — CSV d’audit complet
  • GET /api/report/{user}/{repo}/{date} — certificat PDF pour un jour donné

Vérification indépendante

N’importe qui peut vérifier un horodatage sans faire confiance au tableau de bord Timestamp GIT. La page de vérification guide à travers la vérification multi-niveaux de la chaîne de Merkle localement dans le navigateur. Pour un dépôt public, le fichier de reçu .ots peut également être vérifié contre la blockchain Bitcoin à l’aide des outils de vérification OpenTimestamps standard. Comme la preuve est intégrée dans Bitcoin, elle reste vérifiable même si le service Timestamp GIT disparaît.

Bonnes pratiques pour l’horodatage automatisé

L’ancrage automatisé fonctionne mieux lorsqu’il devient une partie intégrante du cycle de vie de votre dépôt.

  • Activez-le pour tous les dépôts actifs, pas seulement les plus critiques. Une piste d’antériorité large est plus solide qu’une piste éparse. Le coût marginal de l’horodatage de chaque commit est faible avec l’automatisation.
  • Utilisez le mode Enterprise ZK pour le code propriétaire ou les secrets commerciaux. Si vous souhaitez un accès source nul de la part du fournisseur d’horodatage, envoyez uniquement les hashes de commit depuis votre propre GitHub Action.
  • Téléchargez régulièrement les CSV d’audit et stockez-les séparément. Conservez des copies redondantes en dehors de GitHub. Vos fichiers .ots sont déjà dans votre dépôt, mais une copie hors ligne supplémentaire est une assurance bon marché pour les audits juridiques.
  • Intégrez des badges de vérification dans votre README. Les badges publics donnent aux collaborateurs, aux clients et aux concurrents un signal clair que votre historique de commits est ancré. Ils renvoient vers la visionneuse de vérification publique et le rapport PDF.
  • Envoyez des certificats PDF aux clients. Pour les agences et les freelances, un certificat PDF quotidien peut être joint aux factures ou aux livraisons de jalons pour prouver les dates d’achèvement des travaux.
  • Envisagez l’auto-hébergement Docker pour les environnements isolés. Si vous ne pouvez pas utiliser un SaaS hébergé, la licence Docker auto-hébergée vous offre la même automatisation sur votre propre infrastructure.

FAQ

Qu’est-ce que l’horodatage automatique du code avec une GitHub App exactement ?

L’horodatage automatique du code avec une GitHub App signifie que chaque commit que vous effectuez vers un dépôt surveillé est automatiquement ancré cryptographiquement à la blockchain Bitcoin sans intervention manuelle. L’application détecte les nouveaux commits, les regroupe chaque nuit et crée des reçus de preuve immuables. Aucun outil CLI ni étape manuelle n’est requis.

Comment Timestamp GIT garantit-il que mon code source n’est jamais exposé ?

Timestamp GIT utilise une architecture à connaissance nulle. En mode Standard, l’application ne lit que le hash du commit — une empreinte à sens unique — depuis votre dépôt. En mode Enterprise ZK, une GitHub Action sur votre infrastructure envoie uniquement le hash du commit à l’API, donc l’application n’a jamais aucun accès à votre code source.

Puis-je utiliser Timestamp GIT avec des dépôts privés ?

Oui. Timestamp GIT prend en charge les dépôts privés sur les plans Pro Agency et Enterprise ZK. Pour les dépôts privés, les badges de statut et les URL de vérification incluent un HMAC chiffré afin que seuls les utilisateurs autorisés puissent consulter le statut de l’horodatage.

Que se passe-t-il si le service Timestamp GIT tombe en panne ? Puis-je toujours vérifier mes horodatages ?

Vos horodatages restent entièrement vérifiables même si Timestamp GIT disparaît. Les preuves sont intégrées dans la blockchain Bitcoin à l’aide du protocole OpenTimestamps, et vous pouvez les vérifier localement avec des outils standard. Les fichiers de reçu .ots sont stockés dans votre dépôt, donc vous conservez toujours les preuves.

Conclusion : configurez et oubliez

L’horodatage manuel est une charge que l’automatisation élimine complètement. Timestamp GIT transforme chaque commit en une preuve d’existence ancrée dans Bitcoin, sans CLI, sans scripts nocturnes et sans gestion manuelle des reçus. Vous installez la GitHub App une seule fois, et le système gère le reste : détection des commits, construction de l’arbre de Merkle, ancrage Bitcoin et livraison des preuves.

Si vous êtes prêt à protéger votre antériorité sans ajouter un autre processus manuel à votre flux de travail, installez Timestamp GIT depuis le GitHub Marketplace. La tarification commence par un plan gratuit Open Source pour les dépôts publics, Pro Agency à 49 $/mois pour les dépôts privés, et Enterprise ZK à 199 $/mois pour un accès source nul. Une licence Docker auto-hébergée est également disponible pour les déploiements isolés ou sur site.

Articles associés

EU label: AI-generated content