Timestamp GIT Secure your prior art without exposing code

← All posts

2026-09-25

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

Автоматизируйте отметку времени для кода с помощью GitHub App
timestamp git blockchain proof

Автоматизируйте простановку временных меток кода с помощью GitHub App

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

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

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

Одноразовая настройка: установка GitHub App

Весь процесс настройки происходит в интерфейсе GitHub.

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

Требования к разрешениям зависят от режима развёртывания:

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

Не нужно устанавливать CLI-инструменты или поддерживать файлы конфигурации. После установки приложение готово к работе.

Для изолированных или полностью автономных сред Timestamp GIT также доступен в виде Docker-образа. Если вам нужен контроль на собственной инфраструктуре, обратитесь к отдельной статье о самостоятельном хостинге простановки временных меток с помощью Docker. Для большинства команд размещённое GitHub-приложение — самый быстрый путь.

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

Ядро Timestamp GIT — это ночной автоматизированный конвейер, который не требует от разработчиков никаких ежедневных действий.

Что происходит после каждого коммита

  1. Обнаружение коммита
    В стандартном режиме GitHub App получает вебхук при каждом пуше нового коммита в отслеживаемый репозиторий. В режиме Enterprise ZK ваш GitHub Action отправляет хеш коммита в API.

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

  3. Полуночный cron-воркер
    Каждую ночь воркер группирует все ожидающие хеши, создаёт файл манифеста для каждого репозитория, нативно строит дерево Меркла и создаёт доказательства OpenTimestamps. Корень Меркла для дневного пакета закрепляется в блокчейне Bitcoin.

  4. Доставка доказательств
    Манифест и файлы квитанций .ots отправляются обратно в выделенную ветку timestamps или теневой репозиторий. Подтверждение в Bitcoin обычно занимает около трёх часов, поэтому файлы доказательств появляются через несколько часов после ночного закрепления.

Процесс является zero-knowledge по своей архитектуре. Timestamp GIT видит только хеш коммита — односторонний отпечаток — и никогда не видит ваш исходный код. В стандартном режиме приложение читает только хеш HEAD-коммита. В режиме Enterprise ZK исходный код никогда не покидает вашу среду, поскольку хеш коммита отправляется с вашего собственного раннера GitHub Action.

Режим Enterprise ZK с GitHub Action

Если вам нужна строгая изоляция исходного кода, режим Enterprise ZK — более надёжный вариант. Короткий GitHub Action выполняется в вашей инфраструктуре и отправляет в API Timestamp GIT только хеш коммита.

Типичный workflow выглядит так:

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 }}\"}"

Подписанный URL выдаётся мастером настройки Enterprise и сохраняется как секрет GitHub. В действии нет шага проверки исходного кода и нет загрузки файлов.

Два режима развёртывания вкратце

Режим Доступ к исходному коду Хранение доказательств Лучше всего подходит для
Стандартный GitHub App Исходный репозиторий только для чтения Выделенная ветка или теневой репозиторий Быстрая автоматизация без настройки
Enterprise ZK Без доступа к исходному коду Целевой репозиторий под вашим контролем Коммерческая тайна, соответствие требованиям, строгая безопасность

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

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

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

Публичная панель статуса

У каждого репозитория есть страница статуса, на которой отображаются:

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

Вы можете проверить последний закреплённый блок Bitcoin через публичный API статуса:

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

Пример ответа выглядит так:

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

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

Что происходит при сбое

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

Для соответствия требованиям и ведения записей вы можете загрузить полный аудиторский журнал в формате CSV и PDF-сертификат за конкретную дату:

  • GET /api/audit/{user}/{repo} — полный аудиторский CSV
  • GET /api/report/{user}/{repo}/{date} — PDF-сертификат за один день

Независимая верификация

Любой может проверить временную метку, не доверяя панели Timestamp GIT. Страница верификации пошагово проводит многоуровневую проверку цепочки Меркла локально в браузере. Для публичного репозитория файл квитанции .ots также можно проверить по блокчейну Bitcoin с помощью стандартных инструментов верификации OpenTimestamps. Поскольку доказательство встроено в Bitcoin, оно остаётся проверяемым даже в случае исчезновения сервиса Timestamp GIT.

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

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

  • Включайте его для всех активных репозиториев, а не только для критически важных. Широкий след приоритетного искусства сильнее, чем редкий. Предельные издержки простановки метки для каждого коммита при автоматизации низки.
  • Используйте режим Enterprise ZK для проприетарного кода или кода, содержащего коммерческую тайну. Если вы хотите, чтобы провайдер простановки временных меток не имел доступа к исходному коду, отправляйте только хеши коммитов из вашего собственного GitHub Action.
  • Регулярно загружайте аудиторские CSV и храните их отдельно. Храните резервные копии вне GitHub. Ваши файлы .ots уже находятся в вашем репозитории, но дополнительная офлайн-копия — это дешёвая страховка для юридических аудитов.
  • Встраивайте бейджи верификации в README. Публичные бейджи дают коллабораторам, клиентам и конкурентам чёткий сигнал о том, что история ваших коммитов закреплена. Они ссылаются на публичный просмотрщик верификации и PDF-отчёт.
  • Отправляйте PDF-сертификаты клиентам. Для агентств и фрилансеров ежедневный PDF-сертификат можно прикладывать к счетам или поставкам этапов работ, чтобы подтвердить даты завершения работы.
  • Рассмотрите самостоятельный хостинг на Docker для изолированных сред. Если вы не можете использовать размещённый SaaS, лицензия на самостоятельный хостинг Docker даёт вам ту же автоматизацию на вашей собственной инфраструктуре.

Часто задаваемые вопросы

Что именно такое автоматизированная простановка временных меток кода с помощью GitHub App?

Автоматизированная простановка временных меток кода с помощью GitHub App означает, что каждый коммит, который вы делаете в отслеживаемый репозиторий, автоматически криптографически закрепляется в блокчейне Bitcoin без ручного вмешательства. Приложение обнаруживает новые коммиты, пакетно обрабатывает их каждую ночь и создаёт неизменяемые квитанции-доказательства. Никакие CLI-инструменты или ручные шаги не требуются.

Как Timestamp GIT гарантирует, что мой исходный код никогда не будет раскрыт?

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

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

Да. Timestamp GIT поддерживает приватные репозитории на тарифах Pro Agency и Enterprise ZK. Для приватных репозиториев бейджи статуса и URL-адреса верификации содержат зашифрованный HMAC, чтобы только авторизованные пользователи могли просматривать статус временной метки.

Что произойдёт, если сервис Timestamp GIT перестанет работать? Смогу ли я по-прежнему проверять свои временные метки?

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

Заключение: настройте и забудьте

Ручная простановка временных меток — это бремя, которое автоматизация устраняет полностью. Timestamp GIT превращает каждый коммит в закреплённое в Bitcoin доказательство существования без CLI, без ночных скриптов и без ручного управления квитанциями. Вы устанавливаете GitHub App один раз, а система берёт на себя всё остальное: обнаружение коммитов, построение дерева Меркла, закрепление в Bitcoin и доставку доказательств.

Если вы готовы защитить своё приоритетное искусство, не добавляя ещё один ручной процесс в свой рабочий процесс, установите Timestamp GIT из GitHub Marketplace. Цены начинаются с бесплатного тарифа Open Source для публичных репозиториев, Pro Agency за $49/месяц для приватных репозиториев и Enterprise ZK за $199/месяц для полного отсутствия доступа к исходному коду. Лицензия на самостоятельный хостинг Docker также доступна для изолированных или локальных развёртываний.

Похожие статьи

EU label: AI-generated content