Лучшее GitHub-приложение для проставления временных меток на ваших коммитах
Ручное проставление временных меток на Git-коммитах — это задача, которая кажется простой ровно до тех пор, пока вам не нужно выполнять её регулярно. Вы делаете коммит, не забываете зафиксировать хеш, сохраняете квитанцию в надёжном месте и повторяете этот процесс для каждого репозитория, каждого клиентского проекта и каждой внутренней вехи. Пропустите один день — и в вашей цепочке доказательств приоритета появится пробел ровно в тот момент, когда патентный тролль или контрактный спор окажется в вашей почте.
Timestamp GIT меняет это уравнение. Вместо того чтобы запускать ручной процесс проставления меток после каждого коммита, вы один раз устанавливаете GitHub-приложение. После этого каждый коммит в отслеживаемом репозитории автоматически собирается, группируется и привязывается к блокчейну Bitcoin каждую ночь. Не нужно запускать CLI, не нужно вести папку с квитанциями, не нужно выполнять ручную проверку.
О том, почему это важно, читайте в нашей статье о криптографическом доказательстве приоритета для программного обеспечения. Здесь же фокус уже: почему Timestamp GIT — лучшее GitHub-приложение для проставления временных меток, когда ваш приоритет — автоматизация.
Одноразовая настройка: установите GitHub-приложение и забудьте о нём
Timestamp GIT доступен как GitHub-приложение. Вы устанавливаете его один раз, выбираете, какие репозитории оно должно отслеживать, и весь остальной конвейер работает без дальнейшего ручного вмешательства.
Процесс настройки намеренно минимален:
- Установите GitHub-приложение Timestamp GIT с сайта продукта.
- Выберите все репозитории или только те, которым нужны временные метки.
- Предоставьте необходимые разрешения для репозитория в зависимости от режима развёртывания.
- Подтвердите целевое расположение для файлов доказательств.
После этого новые коммиты обнаруживаются автоматически. Никакого локального демона, никакого pre-commit хука и никаких команд OpenTimestamps для изучения.
Стандартный режим
В стандартном режиме GitHub-приложение считывает только хеш HEAD-коммита из отслеживаемого репозитория. Оно не читает содержимое файлов, ветки, issues или исходный код. Файлы доказательств отправляются в выделенную ветку timestamps в том же репозитории или в отдельный теневой репозиторий — в зависимости от вашей конфигурации.
Модель разрешений проста:
- Исходному репозиторию нужен доступ только для чтения, поскольку GitHub не предлагает разрешение только на хеш коммита.
- Целевому репозиторию нужен доступ на чтение и запись, чтобы Timestamp GIT мог отправлять файлы доказательств.
Режим Enterprise ZK
Для команд, которым требуется нулевой доступ к исходному коду со стороны SaaS, Timestamp GIT предлагает режим Enterprise ZK. GitHub Action из 12 строк запускается на вашей собственной инфраструктуре и отправляет в API Timestamp GIT только хеш коммита. Исходный код никогда не покидает вашу среду, а Timestamp GIT никогда не получает доступ на чтение к исходному репозиторию.
Режим Enterprise ZK — правильный выбор для проприетарных систем, чувствительных с точки зрения безопасности кодовых баз и команд комплаенса, которым требуется изоляция на уровне on-premises или CI.
Автоматизированный конвейер: от коммита до привязки к Bitcoin
Ключевая ценность Timestamp GIT в том, что весь конвейер доказательств работает на автопилоте. Вам не нужно разбираться в деревьях Меркла, транзакциях Bitcoin или OpenTimestamps, чтобы получить готовые к суду доказательства. Приложение обрабатывает всё это за кулисами.
Что происходит после коммита
Вот ночной процесс:
-
Обнаружение коммита
В стандартном режиме GitHub-приложение обнаруживает новые коммиты через вебхуки. В режиме Enterprise ZK ваш GitHub Action отправляет хеш коммита в API Timestamp GIT. -
Постановка хешей в очередь
Хеши коммитов хранятся в хранилище «ключ-значение» в памяти, ожидая следующего цикла пакетной обработки. -
Полуночная пакетная обработка
Ежедневный cron-воркер группирует все ожидающие хеши, создаёт файл манифеста для каждого репозитория, строит дерево Меркла, создаёт доказательства OpenTimestamps через публичные OTS-календари и привязывает корень Меркла к блоку Bitcoin. -
Доставка доказательств
Манифест и файлы квитанций.otsотправляются обратно в выбранную вами цель: выделенную ветку timestamps или теневой репозиторий.
Подтверждение Bitcoin обычно занимает около трёх часов, поэтому файлы доказательств появляются через несколько часов после ночной привязки. Эта задержка ожидаема и не требует от вас никаких действий.
Zero-Knowledge по замыслу
Timestamp GIT никогда не видит, не копирует и не хранит ваш фактический исходный код. В обоих режимах развёртывания обрабатываются только хеши коммитов. Хеш — это односторонний отпечаток состояния репозитория; его невозможно обратить в исходный код.
Это важно по двум причинам. Во-первых, это защищает коммерческую тайну. Во-вторых, это делает доказательство сильнее: Timestamp GIT нельзя обвинить в том, что он повлиял на созданный вами контент или изменил его.
Использование API для пользовательских интеграций
Если вы хотите автоматизировать мониторинг или получать статус в собственные внутренние инструменты, Timestamp GIT предоставляет публичные REST-эндпоинты.
Например, вы можете проверить последний привязанный блок Bitcoin для публичного репозитория:
curl -s https://timestampgit.dev/api/statusLast/acme/widget-api
Вы также можете получить сводку, объединяющую общее количество коммитов и данные о статусе:
curl -s https://timestampgit.dev/api/statusSummary/acme/widget-api
Приватные репозитории используют подписанные URL с зашифрованным HMAC. Вы получаете эти URL из панели управления, поэтому ваши скрипты автоматизации могут отслеживать приватные репозитории, не раскрывая данные о статусе публично.
Сложный путь против пути Timestamp GIT
Ручной путь включает запуск команд OpenTimestamps, ручное управление квитанциями и необходимость помнить о повторении процесса для каждого коммита. Это может быть приемлемо для разового эксперимента, но не работает как долгосрочная стратегия доказательства приоритета. Timestamp GIT заменяет весь этот рабочий процесс одной установкой GitHub-приложения и ночным пакетным заданием.
Мониторинг и обработка сбоев: оставайтесь в курсе
Автоматизация не означает потерю видимости. Timestamp GIT предоставляет несколько способов убедиться, что проставление меток происходит по расписанию.
Публичная панель статуса
У каждого подключённого репозитория есть публичная панель статуса. Она показывает:
- Долговечность доказательств
- Самую раннюю дату привязки
- Ежедневную регулярность
- Данные о блоке и транзакции Bitcoin
- Календарную тепловую карту дней с привязками
Панель — самый быстрый способ обнаружить пробел. Если вы ожидали привязку и не видите её, проблема обычно в изменении разрешений репозитория или неудачной доставке вебхука.
Бейджи верификации
Timestamp GIT предоставляет встраиваемые бейджи Shields.io для вашего README. Бейдж отображает живой статус верификации и ссылается на публичную страницу верификации. Это полезно для проектов с открытым исходным кодом и для агентств, которые хотят показать клиентам, что временная метка актуальна.
Отдельный эндпоинт бейджей возвращает URL бейджей и фрагменты Markdown после аутентификации, так что вы можете вставить правильный код для встраивания прямо в README без ручного конструирования URL.
Аудиторские файлы и PDF-сертификаты
Для комплаенса вы можете скачать два артефакта:
- Полный аудиторский журнал в формате CSV
- PDF-сертификат за конкретную дату
Аудиторский CSV даёт вам полную, проверяемую историю привязок. PDF-сертификат — это документ, который вы прикладываете к результату по контракту или к файлу интеллектуальной собственности.
Для режима Enterprise ZK стандартные CI-логи показывают выполнение GitHub Action. Если действие завершается с ошибкой, логи указывают на неудавшийся шаг до закрытия ночного окна пакетной обработки.
Лучшие практики автоматизированного проставления временных меток
Автоматизация снимает ручное бремя, но несколько привычек сделают вашу цепочку временных меток сильнее.
1. Включайте проставление меток и для внутренних репозиториев
Многие команды ставят метки только на публичные или клиентские проекты. Это упускает суть. Внутренние инструменты и реализации коммерческой тайны — ровно тот вид доказательств приоритета, на который нацелены патентные тролли. Включайте GitHub-приложение и на внутренних репозиториях.
2. Используйте режим Enterprise ZK для особо чувствительного кода
Если репозиторий содержит невыпущенную логику продукта или регулируемые данные, не предоставляйте доступ на чтение стороннему GitHub-приложению. Используйте режим Enterprise ZK, чтобы за пределы вашей инфраструктуры выходил только хеш коммита.
3. Регулярно проверяйте панель
Ночную автоматизацию не следует воспринимать как «настроил и забыл» без периодической проверки. Проверяйте календарную тепловую карту и представление ежедневной регулярности раз в неделю или раз в месяц. Пропущенный день легче исправить до того, как он станет юридической проблемой.
4. Храните квитанции и аудиторские журналы в надёжном месте
Файлы .ots и аудиторские CSV — это ваше доказательство. Даже если Timestamp GIT хранит их, сохраняйте копии в собственном комплаенс-архиве. Для проектов с высокой ценностью скачивайте PDF-сертификат на ключевых вехах.
5. Рассмотрите самостоятельный хостинг через Docker для изолированных сред
Некоторые организации не могут отправлять какие-либо метаданные за пределы своей сети. Timestamp GIT доступен как Docker-образ для самостоятельного развёртывания. Если вам нужен такой уровень контроля, смотрите наше руководство по самостоятельному проставлению временных меток с Docker.
6. Предоставляйте доказательства клиентам
Агентства и фрилансеры могут включать PDF-сертификаты Timestamp GIT в пакет результатов по вехе или финальной сдаче. Это превращает временную метку из внутренней страховки в доказательство работы, обращённое к клиенту.
FAQ
Как работает GitHub-приложение для проставления временных меток?
GitHub-приложение Timestamp GIT отслеживает ваши репозитории на предмет новых коммитов. Каждую ночь оно собирает хеши коммитов, создаёт дерево Меркла и привязывает корень к блокчейну Bitcoin с помощью протокола OpenTimestamps. Вы получаете неизменяемый файл квитанции .ots в качестве доказательства.
Видит ли GitHub-приложение мой исходный код?
Нет. В стандартном режиме приложение считывает только хеш HEAD-коммита, а не сам код. В режиме Enterprise ZK GitHub Action запускается на вашей инфраструктуре и отправляет в API только хеш коммита, поэтому ваш исходный код никогда не покидает вашу среду.
Что если Timestamp GIT прекратит работу? Смогу ли я по-прежнему проверять свои временные метки?
Да. Доказательства основаны на открытых стандартах: SHA-256 и данных блоков Bitcoin. Вы можете проверить любую квитанцию .ots независимо, используя стандартные инструменты OpenTimestamps против блокчейна Bitcoin, не полагаясь на серверы Timestamp GIT.
Бесплатно ли GitHub-приложение?
Timestamp GIT предлагает бесплатный тариф для публичных репозиториев. Для приватных репозиториев есть план Pro Agency за $49/месяц и план Enterprise ZK за $199/месяц с интеграцией GitHub Actions и нулевым доступом к коду.
Заключение: автоматизируйте защиту доказательств приоритета уже сегодня
Timestamp GIT — лучшее GitHub-приложение для проставления временных меток, потому что оно полностью устраняет ручную работу. Вы устанавливаете приложение один раз, подключаете репозитории и получаете еженочные доказательства, привязанные к Bitcoin, без запуска команд, управления квитанциями и размышлений о деревьях Меркла.
Ценообразование простое:
- Open Source: бесплатно для публичных репозиториев
- Pro Agency: $49/месяц для приватных репозиториев
- Enterprise ZK: $199/месяц за интеграцию GitHub Actions и нулевой доступ к исходному коду
Если вам нужен самостоятельный хостинг или изолированная среда, Docker-образ доступен как альтернативный путь развёртывания.
Готовы начать? Установите GitHub-приложение с timestampgit.dev, и ваш следующий коммит станет частью ночного пакета привязок.
Похожие статьи
- Проставление временных меток Bitcoin для разработчиков: руководство для начинающих
- Самостоятельное проставление временных меток с Docker: Timestamp GIT
- Как доказать авторство программного обеспечения: руководство для разработчиков