TAPP

For all creators

全てのクリエイターのために。

先に作ったのは、あなただ。

作ったものの近くに、自分の 1 行。あとは TAPP が見つけて、その版の指紋だけを公開の台帳 Sigstore Rekor に固定します。本文は送りません。あとから誰が何を出しても、日付はこちらが先です。

SEALED · SIGSTORE REKOR · TIME-FIXED · RECORD R · TAPP

What

公開するたび、日付のハンコが押される。

作る。公開する。 1

作る。公開する。

いつも通りに書いて、いつも通りに公開する。エディタもブログも変えない。最後に自分の 1 行を貼るだけ。

指紋に時刻がつく。 2

指紋に時刻がつく。

TAPP が見つけて、その版の「指紋」(ファイルの中身から作る 64 文字。1 文字違えば別の指紋)だけを公開の帳簿 Sigstore Rekor に置く。Google や GitHub がソフトウェアの署名に使っている帳簿で、書いたものは誰にも消せない。TAPP にも消せない。

作ったものの横にバッジ。 3

作ったものの横にバッジ。

貼った 1 行がそのままバッジになる。読んだ人が押すと「いつ、どの版があったか」の一覧が出て、自分で確かめられる。

原稿でも、絵でも、動画でも、コードでも。ファイルなら何でも同じです。

本文はどこにも送らない。送るのは指紋だけ。

仕組みを、やさしく →

When

あとから何か言われた時のために。そして、何か言いたい時のために。

似た記事が、あとから出た。

似た記事が、あとから出た。

「こっちが先です」を、自分の言葉ではなく公開の帳簿で示せる。相手が誰でも、日付は日付。

「AI でしょ」と言われた。

「AI でしょ」と言われた。

公開前の下書きも、公開後の直しも、押した分だけ版と時刻が並ぶ。読んだ人が判断できる材料が残る。

企画書を、渡す前に。

企画書を、渡す前に。

渡す前に一回押しておく。渡したあとに何が起きても、「渡す前にこれがあった」は消えない。

What stays

残るもの・残らないもの

残る

  • 各版の指紋(64 文字)
  • 版の番号と、直前の版の指紋
  • 固定された時刻
  • 帳簿の記録番号

※ これは「この日に、この版があった」という第三者の記録です。あとから何か言われたら、これを持って弁護士のところへ行けばいい。

残らない

  • 本文
  • ファイル名
  • あなたの名前
  • 何をどう打ったか

※ 本文は残らないので、誰にも読まれません。指紋から本文は戻せません。

Start

3 分。

3 分。

  1. 月 500 円で登録
  2. /me に note のユーザー名か RSS を入れる(一度だけ)
  3. 作ったものの近くに、自分の 1 行を貼る(記事の最後、動画の概要欄、README、キャプション)

見つけるのと押すのは TAPP。

押してみる 実物を見る

開発者向け(コマンド)→ /writing#cli

Why I built this

僕はこれまで、たくさんのものを自分で作って出してきました。どことは言いませんが、大きな会社はすぐにパクります。クリエイターは資本に負けてはいけない。そんな思いから作りました。

これが、世界中のクリエイターのための楔になることを祈っています。

Mori / andQ株式会社

アプリやデータを配る側の方へ

先に作った人の側に、事実を。

作られたものは、見た人の手で作り直せる。それ自体を止める手立てはない。TAPP が変えるのは、その前の一点だけ——「見た」「受け取った」という事実を、本人が後から否定できない形で残すこと。

記録は事実だけを語ります。誰のネットワークから、どのアカウントが、どの規約に同意して、いつ、何を受け取ったか。評価や判断は、記録を読む人に委ねます。

コードを書かずに使うなら → 渡す(事業者プラン)

先に作った人の側に、事実を。

仕組み(くわしく)

三つの工程。本文は預かりません。

01 — 受け取る 01 — 受け取る

アプリが事実を知らせる

提供側のアプリが、「誰に・どの規約で・何を」を TAPP に送ります。送るのは本文のハッシュ値だけで、本文そのものは提供側に残ります。

POST /v1/seal { recipientId, termsVersion, bodyHash }
02 — 封緘する 02 — 封緘する

記録を一つの値に固める

記録 R を正規化し、秘密乱数 s と合わせてハッシュ化します。R と s は TAPP の手元に残り、外には出ません。

h = SHA-256( d ‖ s ‖ JCS(R) )
03 — 固定する 03 — 固定する

公開の記録装置に時刻を刻む

h を署名して Sigstore Rekor(公開の透明性ログ)に登録し、署名付き受領証を検証してから、初めて本文が送られます。順序は逆になりません。

hashedrekord → logIndex · integratedTime

Verify

記録を検証する

提示された deliveryId を入れると、開示情報(記録 R・秘密乱数 s・受領証)と、公開ログ上の実物へのリンクを表示します。h を自分で再計算して、ログの値と突き合わせられます。

Scope

公開されるもの、公開されないもの。

公開の記録装置に出るもの

  • コミットメント h(ハッシュ値、32 バイト)
  • TAPP の署名用公開鍵(/v1/keys と同じもの)
  • 登録時刻(integratedTime)と ログ上の位置(logIndex)

出ないもの

  • 本文 — TAPP はそもそも預からない
  • メールアドレス・IP アドレス・回線の組織名 — 提供側の認証つき管理画面と、提供側が作成する事実の束にのみ
  • 記録 R と秘密乱数 s — 開示情報として、deliveryId を知る人にだけ

どんどんパクってください。内容証明、送るんで。

— Creators, everywhere

TAPP の封緘印