コミットにタイムスタンプを付けるための最高のGitHubアプリ
Gitコミットに手動でタイムスタンプを付ける作業は、一貫して行う必要が出るまでは簡単に思える類のタスクです。コードをコミットし、ハッシュをスタンプすることを忘れずに、レシートを安全な場所に保管し、すべてのリポジトリ、すべてのクライアントプロジェクト、すべての内部マイルストーンに対してそのプロセスを繰り返します。1日でも欠かせば、特許トロールや契約紛争が受信箱に届いたまさにその時に、先行技術の証跡にギャップが生まれます。
Timestamp GITはその方程式を変えます。各コミット後に手動のタイムスタンププロセスを実行する代わりに、GitHubアプリを一度インストールするだけです。その後は、監視対象リポジトリへのすべてのコミットが収集され、バッチ処理され、毎晩自動的にBitcoinブロックチェーンにアンカーされます。実行するCLIも、維持するレシートフォルダも、手動の検証ステップもありません。
これが重要な理由の背景については、ソフトウェアの暗号学的先行技術に関する記事をご覧ください。ここでは、より狭い焦点に絞ります:自動化を優先する場合に、Timestamp GITがタイムスタンプ付与に最適なGitHubアプリである理由です。
一度きりのセットアップ:GitHubアプリをインストールして忘れるだけ
Timestamp GITはGitHubアプリとして利用できます。一度インストールし、監視するリポジトリを選択すれば、残りのパイプラインはそれ以上の手動作業なしで実行されます。
セットアップフローは意図的に最小限に抑えられています:
- 製品サイトからTimestamp GIT GitHubアプリをインストールします。
- すべてのリポジトリを選択するか、タイムスタンプが必要なものだけを選択します。
- デプロイメントモードに応じて必要なリポジトリ権限を付与します。
- 証明ファイルの保存先を確認します。
その後、新しいコミットは自動的に検出されます。ローカルデーモンも、pre-commitフックも、学ぶべきOpenTimestampsコマンドもありません。
スタンダードモード
スタンダードモードでは、GitHubアプリは監視対象リポジトリからHEADコミットハッシュのみを読み取ります。ファイルの内容、ブランチ、Issue、ソースコードは読み取りません。証明ファイルは、設定に応じて、同じリポジトリの専用timestampsブランチ、または別のシャドウリポジトリにプッシュされます。
権限モデルはシンプルです:
- ソースリポジトリには読み取り専用アクセスが必要です。GitHubがコミットハッシュのみの権限を提供していないためです。
- ターゲットリポジトリには、Timestamp GITが証明ファイルをプッシュできるように読み書きアクセスが必要です。
エンタープライズZKモード
SaaS側からのソースコードアクセスを一切必要としないチーム向けに、Timestamp GITはエンタープライズZKモードを提供しています。12行のGitHub Actionが独自のインフラストラクチャ上で実行され、コミットハッシュのみをTimestamp GIT APIにプッシュします。ソースコードが環境から出ることはなく、Timestamp GITがソースリポジトリへの読み取りアクセスを受け取ることもありません。
エンタープライズZKモードは、独自システム、セキュリティ上機密性の高いコードベース、オンプレミスまたはCIレベルの分離を必要とするコンプライアンスチームにとって正しい選択です。
自動化パイプライン:コミットからBitcoinアンカーまで
Timestamp GITの核となる価値は、証明パイプライン全体が自動操縦で実行されることです。裁判で使用できる証拠を得るために、Merkleツリー、Bitcoinトランザクション、OpenTimestampsを理解する必要はありません。アプリケーションがこれらすべてを舞台裏で処理します。
コミット後に何が起こるか
毎晩のフローは次のとおりです:
-
コミット検出
スタンダードモードでは、GitHubアプリがWebhookを通じて新しいコミットを検出します。エンタープライズZKモードでは、GitHub ActionがコミットハッシュをTimestamp GIT APIにプッシュします。 -
ハッシュのキューイング
コミットハッシュはインメモリのキーバリューストアに保存され、次のバッチ処理サイクルを待ちます。 -
深夜のバッチ処理
毎日のcronワーカーが保留中のすべてのハッシュをグループ化し、各リポジトリのマニフェストファイルを作成し、Merkleツリーを構築し、公開OTSカレンダーを通じてOpenTimestamps証明を作成し、MerkleルートをBitcoinブロックにアンカーします。 -
証明の配信
マニフェストと.otsレシートファイルが、選択したターゲット(専用のtimestampsブランチまたはシャドウリポジトリ)にプッシュバックされます。
Bitcoinの確認には通常約3時間かかるため、証明ファイルは毎晩のアンカーから数時間後に表示されます。この遅延は想定内であり、ユーザー側での対応は必要ありません。
設計によるゼロ知識
Timestamp GITは実際のソースコードを見ることも、コピーすることも、保存することもありません。どちらのデプロイメントモードでも、処理されるのはコミットハッシュのみです。ハッシュはリポジトリ状態の一方向フィンガープリントであり、ソースコードに逆変換することはできません。
これが重要な理由は2つあります。第一に、企業秘密を保護します。第二に、証明がより強力になります: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
プライベートリポジトリは、暗号化されたHMAC付きの署名付きURLを使用します。これらのURLはダッシュボードから取得できるため、自動化スクリプトはステータスデータを公開することなくプライベートリポジトリを監視できます。
手動の方法 vs. Timestamp GITの方法
手動のパスでは、OpenTimestampsコマンドを実行し、レシートを手で管理し、すべてのコミットに対してプロセスを繰り返すことを忘れないようにする必要があります。一回限りの実験には許容できるかもしれませんが、長期的な先行技術戦略としては失敗します。Timestamp GITはそのワークフロー全体を、1回のGitHubアプリのインストールと毎晩のバッチジョブに置き換えます。
監視と障害処理:制御を維持する
自動化は可視性を放棄することを意味しません。Timestamp GITは、タイムスタンプがスケジュールどおりに行われていることを確認するためのいくつかの方法を提供します。
公開ステータスダッシュボード
接続された各リポジトリには公開ステータスダッシュボードがあります。以下が表示されます:
- 証明の持続期間
- 最古のアンカー日
- 毎日の規則性
- Bitcoinブロックとトランザクションデータ
- アンカーされた日のカレンダーヒートマップ
ダッシュボードはギャップを見つける最速の方法です。アンカーを期待していたのに表示されない場合、問題は通常、リポジトリの権限変更かWebhook配信の失敗です。
検証バッジ
Timestamp GITはREADME用に埋め込み可能なShields.ioバッジを提供します。バッジはライブ検証ステータスを表示し、公開検証ページにリンクします。これはオープンソースプロジェクトや、クライアントにタイムスタンプが最新であることを示したいエージェンシーにとって有用です。
別のバッジエンドポイントは、認証後にバッジURLとMarkdownスニペットを返すため、手動でURLを構築することなく、正しい埋め込みコードをREADMEに直接貼り付けることができます。
監査ファイルとPDF証明書
コンプライアンスのために、2つの成果物をダウンロードできます:
- 完全な監査台帳(CSV形式)
- 特定の日付のPDF証明書
監査CSVは、アンカーの完全でレビュー可能な履歴を提供します。PDF証明書は、契約の成果物やIPファイルに添付する文書です。
エンタープライズZKモードでは、標準のCIログにGitHub Actionの実行が表示されます。アクションが失敗した場合、ログは毎晩のバッチウィンドウが閉じる前に失敗したステップを特定します。
自動タイムスタンプのベストプラクティス
自動化は手動の負担を取り除きますが、いくつかの習慣がタイムスタンプの証跡をより強力にします。
1. 内部リポジトリでもタイムスタンプを有効にする
多くのチームは公開プロジェクトやクライアント向けプロジェクトにのみタイムスタンプを付けています。それは要点を見逃しています。内部ツールや企業秘密の実装こそ、特許トロールが標的にする種類の先行技術です。内部リポジトリでもGitHubアプリを有効にしてください。
2. 機密性の高いコードにはエンタープライズZKモードを使用する
リポジトリに未リリースの製品ロジックや規制対象データが含まれている場合、サードパーティのGitHubアプリに読み取りアクセスを付与しないでください。コミットハッシュのみがインフラストラクチャから出るように、エンタープライズZKモードを使用してください。
3. ダッシュボードを定期的に確認する
毎晩の自動化は、定期的なレビューなしのセットアンドフォーゲットとして扱うべきではありません。カレンダーヒートマップと毎日の規則性ビューを週に1回または月に1回確認してください。欠落した日は、法的問題になる前に修正する方が簡単です。
4. レシートと監査ログを安全な場所に保管する
.otsファイルと監査CSVが証明です。Timestamp GITがそれらを保存していても、独自のコンプライアンスアーカイブにコピーを保管してください。価値の高いプロジェクトでは、主要なマイルストーンでPDF証明書をダウンロードしてください。
5. エアギャップ環境にはDockerセルフホスティングを検討する
一部の組織は、ネットワーク外にメタデータを一切送信できません。Timestamp GITはセルフホストデプロイメント用のDockerイメージとして利用可能です。そのレベルの制御が必要な場合は、Dockerを使用したセルフホストタイムスタンプのガイドをご覧ください。
6. クライアントに証明を提供する
エージェンシーやフリーランサーは、マイルストーンや最終納品パッケージの一部としてTimestamp GITのPDF証明書を含めることができます。タイムスタンプを内部のセーフティネットから、クライアント向けの作業証明に変えることができます。
FAQ
タイムスタンプ用のGitHubアプリはどのように機能しますか?
Timestamp GIT GitHubアプリは、リポジトリの新しいコミットを監視します。毎晩、コミットハッシュを収集し、Merkleツリーを作成し、OpenTimestampsプロトコルを使用してルートをBitcoinブロックチェーンにアンカーします。証明として不変の.otsレシートファイルを受け取ります。
GitHubアプリはソースコードを見ることができますか?
いいえ。スタンダードモードでは、アプリはHEADコミットハッシュのみを読み取り、コード自体は読み取りません。エンタープライズZKモードでは、GitHub Actionがインフラストラクチャ上で実行され、コミットハッシュのみをAPIにプッシュするため、ソースコードが環境から出ることはありません。
Timestamp GITが廃業したらどうなりますか?タイムスタンプを検証できますか?
はい。証明はオープンスタンダード(SHA-256とBitcoinブロックデータ)に基づいています。Timestamp GITのサーバーに依存することなく、標準のOpenTimestampsツールを使用してBitcoinブロックチェーンに対して任意の.otsレシートを独立して検証できます。
GitHubアプリは無料ですか?
Timestamp GITは公開リポジトリ向けに無料ティアを提供しています。プライベートリポジトリ向けには、月額$49のPro Agencyプランと、GitHub Actions統合とゼロコードアクセスを備えた月額$199のEnterprise ZKプランがあります。
結論:今日から先行技術保護を自動化する
Timestamp GITは、手動作業を完全に排除するため、タイムスタンプ付与に最適なGitHubアプリです。アプリを一度インストールし、リポジトリを接続すれば、コマンドを実行したり、レシートを管理したり、Merkleツリーについて考えたりすることなく、毎晩Bitcoinアンカーされた証明を受け取ることができます。
価格は明確です:
- オープンソース:公開リポジトリは無料
- Pro Agency:プライベートリポジトリ向けに月額$49
- Enterprise ZK:GitHub Actions統合とゼロソースコードアクセスで月額$199
セルフホスティングやエアギャップ設定が必要な場合は、代替デプロイメントパスとしてDockerイメージが利用可能です。
始める準備はできましたか?timestampgit.devからGitHubアプリをインストールすれば、次のコミットが毎晩のアンカーバッチの一部になります。