Timestamp GIT Secure your prior art without exposing code

← All posts

2026-09-04

Автоматизация отметки времени Git-коммитов с помощью GitHub App

Автоматизация отметки времени Git-коммитов с помощью GitHub App
timestamp git blockchain proof

Автоматизируйте привязку Git-коммитов ко времени с помощью GitHub App

Если вы когда-либо пытались доказать, когда существовал тот или иной Git-коммит, вы уже знакомы с ручной рутиной: извлечь хеши коммитов, собрать манифест, дождаться подтверждений, сохранить файлы-квитанции в надёжном месте и повторить всё заново. Это монотонно, легко забывается и перестаёт работать, как только в процесс вовлекается более одного репозитория или участника команды.

Есть способ лучше — автоматизировать привязку git-коммитов к Bitcoin с помощью GitHub App. Timestamp GIT превращает доказательство существования в фоновый сервис: установите GitHub App один раз, подключите репозиторий — и каждый коммит будет ежедневно закрепляться в блокчейне Bitcoin. Вам не нужно запускать низкоуровневые инструменты протокола, помнить о cron-задачах или становиться экспертом по блокчейну. Рабочий процесс OpenTimestamps в сыром виде существует, но делать это вручную — самый сложный путь.

В этой статье рассматриваются автоматизированный рабочий процесс, одноразовая настройка, что происходит между коммитом и закреплением в Bitcoin, а также как отслеживать и использовать полученные доказательства.

Ручная рутина по привязке коммитов, от которой можно избавиться

Ручной процесс привязки Git-коммитов ко времени обычно выглядит так:

  1. Ждать, пока вы вспомните, что коммит нужно было привязать ко времени.
  2. Извлечь хеш коммита из Git.
  3. Подготовить файл с хешами, существование которых нужно доказать.
  4. Запустить инструмент привязки ко времени для этого файла.
  5. Дождаться создания и подтверждения доказательства.
  6. Сохранить квитанцию в надёжном месте.
  7. Надеяться, что позже никто не попросит объяснить точные шаги.

У такого рабочего процесса есть три серьёзные проблемы.

Во-первых, разработчики забывают привязывать коммиты ко времени. Доказательство существования помогает только в том случае, если привязка была создана до возникновения спора. Если вы вспомнили об этом через три месяца, доказательство может оказаться слабее, чем могло бы быть.

Во-вторых, доказательства теряются. Файл-квитанция, сохранённый на ноутбуке, старом резервном диске или в случайном канале, — это не журнал аудита. В юридическом или комплаенс-контексте отсутствующие квитанции выглядят как отсутствующие доказательства.

В-третьих, ручные шаги не масштабируются. Одиночный разработчик может время от времени привязывать релизный коммит. Стартап с 15 репозиториями, несколькими контрибьюторами и ежедневными слияниями не может полагаться на то, что кто-то вручную будет экспортировать хеши каждый вечер.

Timestamp GIT автоматизирует весь протокол OpenTimestamps за управляемым сервисом. Продукт не читает ваш исходный код. Он собирает только хеши коммитов, объединяет их в пакеты и создаёт криптографические доказательства, встроенные в блокчейн Bitcoin. Вы никогда не касаетесь CLI, не строите дерево Меркла и не следите за процессом подтверждения.

Одноразовая настройка: подключите ваш репозиторий

Путь настройки спроектирован так, чтобы выполнить его один раз и забыть.

Вы начинаете с установки Timestamp GIT GitHub App и выбора репозиториев, которые хотите отслеживать. Публичные репозитории покрываются бесплатным тарифом Open Source. Приватные репозитории доступны на тарифах Pro Agency или Enterprise ZK.

Timestamp GIT предлагает два режима развёртывания.

Стандартный режим

В стандартном режиме GitHub App отслеживает ваш репозиторий через вебхуки GitHub. При появлении нового коммита приложение считывает только хеш HEAD-коммита.

Разрешения GitHub требуют доступа только для чтения к исходному репозиторию, поскольку GitHub не предлагает область доступа, ограниченную только хешами коммитов. Timestamp GIT также требуется доступ на чтение и запись к целевому репозиторию, куда будут записываться доказательства. Ветка с доказательствами может находиться в том же репозитории или в отдельном теневом репозитории.

Важный момент: ваш исходный код никогда не читается, не копируется и не хранится. В конвейер Timestamp GIT попадают только хеши коммитов.

Режим Enterprise ZK

Режим Enterprise ZK предназначен для команд, которые не могут предоставить третьей стороне какой-либо доступ на чтение к репозиторию. Вместо этого 12-строчный GitHub Action запускается в вашей собственной инфраструктуре и отправляет в API Timestamp GIT только хеш коммита.

В этом режиме Timestamp GIT требуется доступ на чтение и запись только к целевому репозиторию, где хранятся доказательства. Доступ на чтение к исходному репозиторию не требуется. Ваш исходный код никогда не покидает вашу среду.

После первоначального подключения ручных шагов нет. Каждый коммит в отслеживаемый репозиторий подхватывается автоматически.

Автоматизированный конвейер: от коммита до закрепления в Bitcoin

После подключения репозитория остальное берёт на себя автоматизированный конвейер.

Конвейер работает так:

  1. Обнаружение коммитов
    GitHub App обнаруживает новые коммиты через вебхуки, либо ваш GitHub Action отправляет хеши коммитов в API.

  2. Очередь хешей
    Хеши коммитов хранятся в хранилище «ключ — значение» в памяти для последующего пакетирования.

  3. Ночной пакет
    Каждую ночь воркер группирует ожидающие хеши и создаёт файл-манифест .txt для каждого репозитория.

  4. Дерево Меркла и OpenTimestamps
    Timestamp GIT нативно строит дерево Меркла, создаёт доказательства OpenTimestamps с использованием публичных календарей и закрепляет корень Меркла в блокчейне Bitcoin.

  5. Доставка доказательств
    Манифест и файлы-квитанции .ots отправляются обратно в выделенную ветку timestamps или теневой репозиторий.

Подтверждение в Bitcoin обычно занимает несколько часов, как правило, около трёх часов. Это означает, что доказательства обычно доступны на следующий день после отправки ночного пакета.

Текущий статус репозитория можно проверить через публичный API:

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

Для приватных репозиториев к этим URL добавляется зашифрованный HMAC, поэтому видеть статус могут только авторизованные пользователи. HMAC привязан к конкретному экземпляру сервера Timestamp GIT.

API также предоставляет конечные точки для проверки и отчётности:

  • GET /api/verify/{user}/{repo}/{date} возвращает полные данные цепочки Меркла для локальной проверки конкретного дня.
  • GET /api/audit/{user}/{repo} скачивает полный журнал аудита в формате CSV.
  • GET /api/report/{user}/{repo}/{date} скачивает PDF-сертификат за конкретную дату.

Конечная точка управления репозиториями GET /api/repos/{user} выводит список отслеживаемых репозиториев после установки GitHub App.

Для режима Enterprise ZK мастер настройки предоставляет подписанный URL. GitHub Action отправляет на этот URL только идентификатор коммита. Рабочий процесс намеренно минимален: извлечение исходного кода не требуется, достаточно полезной нагрузки события, уже доступной в GitHub Actions.

Мониторинг и обработка сбоев

Автоматизация должна быть наблюдаемой. Timestamp GIT предоставляет публичную статусную панель для каждого репозитория.

Панель включает:

  • Долговечность доказательств
  • Самую раннюю дату закрепления
  • Ежедневную регулярность
  • Данные о блоках и транзакциях Bitcoin
  • Календарную тепловую карту
  • Скачиваемый CSV-журнал аудита
  • Скачивание PDF-сертификатов

Вы также можете встроить значок проверки в свой README. Аутентифицированная конечная точка GET /api/badgeLink/{user}/{repo} возвращает URL значков и готовые к использованию Markdown-сниппеты для Shields.io. Значок публично отображает статус проверки и ссылается на страницу проверки.

Если подтверждение в Bitcoin занимает больше времени, чем ожидалось, статусная панель показывает, на каком этапе процесса находится доказательство. Поскольку система пакетирует данные ежедневно, медленное подтверждение обычно означает, что доказательство появится на несколько часов позже обычного, а не исчезнет. Хеши в очереди остаются в конвейере, и вы можете проверить текущее состояние на странице статуса.

Важная гарантия: ваше доказательство не зависит от того, останется ли Timestamp GIT доступным. Файлы .ots хранятся в вашем репозитории, а доказательство опирается только на SHA-256 и данные блоков Bitcoin. Вы можете проверить его локально, даже если компания исчезнет.

Лучшие практики автоматизированной привязки ко времени

Автоматизация снимает ручное бремя, но несколько привычек делают доказательства сильнее.

Привязывайте каждый коммит, а не только релизы.
Релизы — полезные вехи, но непрерывная цепочка хешей коммитов создаёт гораздо более богатую запись. Если спор касается конкретной детали реализации, привязка на уровне релиза может оказаться слишком грубой.

Используйте отдельный теневой репозиторий для доказательств.
Хранение файлов .ots и манифестов в отдельном репозитории доказательств сохраняет ваш основной репозиторий чистым. Это также упрощает сбор аудиторских данных, поскольку все доказательства находятся в одном месте.

Рассмотрите самостоятельный хостинг Docker для изолированных сред.
Timestamp GIT доступен в виде Docker-образа для команд, которым нужен максимальный контроль. Конфигурация быстрого старта:

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

После запуска приложение доступно по адресу http://localhost:8080. Мастер настройки проведёт вас через подключение вашего GitHub App и конфигурацию экземпляра. Демонстрационная лицензия с ограниченным сроком действия доступна на странице лицензий Docker.

Регулярно скачивайте отчёты аудита.
Относитесь к CSV-журналу аудита и PDF-сертификатам как к юридическим документам. Храните их вместе с другими записями о защите интеллектуальной собственности. Не ждите начала спора, чтобы начать собирать доказательства.

Сочетайте привязку ко времени с другими стратегиями защиты ИС.
Привязка ко времени не заменяет патенты, контракты или политики защиты коммерческой тайны. Это криптографическое доказательство, которое делает эти стратегии значительно труднее оспариваемыми.

FAQ

Нужен ли GitHub App доступ к моему исходному коду?

Нет. В стандартном режиме GitHub App считывает только хеш HEAD-коммита, а не сам код. В режиме Enterprise ZK GitHub Action в вашей инфраструктуре отправляет в API только хеш коммита, поэтому исходный код никогда не покидает вашу среду.

Сколько времени занимает привязка коммита ко времени?

Коммиты пакетируются ежедневно. Процесс закрепления в Bitcoin обычно занимает несколько часов после отправки пакета, поэтому доказательства, как правило, доступны на следующий день. Актуальный статус можно проверить на статусной панели.

Могу ли я проверить привязку ко времени, не полагаясь на Timestamp GIT?

Да. Доказательство — это стандартный файл OpenTimestamps .ots, который можно проверить независимо с помощью публичных инструментов и блокчейна Bitcoin. Timestamp GIT также предоставляет страницу проверки в браузере и скачиваемые PDF-сертификаты.

Что произойдёт, если Timestamp GIT прекратит работу?

Ваши доказательства останутся действительными, поскольку они закреплены в блокчейне Bitcoin и используют только открытые стандарты, такие как SHA-256 и OpenTimestamps. Вы можете проверить их офлайн в любое время, а файлы .ots хранятся в вашем репозитории.

Автоматизируйте доказательство, сохраните контроль

Ручную привязку ко времени легко продать внутри компании и трудно поддерживать на практике. Ценность доказательства существования заключается в последовательности: каждый коммит, каждый день, без пропущенных квитанций.

Timestamp GIT превращает это в фоновый процесс. Установите GitHub App один раз, подключите репозитории — и ночной конвейер возьмёт на себя хеши коммитов, деревья Меркла, доказательства OpenTimestamps, закрепление в Bitcoin и доставку доказательств. Вы отслеживаете результаты через панель, значки, CSV-аудиты и PDF-сертификаты.

Публичные репозитории могут начать бесплатно. Приватные репозитории покрываются тарифами Pro Agency и Enterprise ZK. Если вам нужен контроль в изолированной среде, лицензия на самостоятельный хостинг Docker размещает ту же автоматизацию в вашей собственной инфраструктуре.

Начните с Timestamp GIT и сделайте доказательство существования обычной частью вашего рабочего процесса с коммитами.

Связанные публикации

EU label: AI-generated content