一度で消える秘密メモ
Self-Destructing Note
ブラウザ内でメモを暗号化し、一度読まれたら中身が消える使い切りのリンクを渡します。
チャットで送ったパスワードは、両方の端末とサービスのサーバーに、いつまでも履歴として残ります。一度きりのリンクは、その履歴の外へ秘密を移します。メモはブラウザの中で暗号化され、鍵はURLのフラグメントに乗り、サーバー上のコピーは読まれた瞬間に破棄されます。
メモはこのタブの中で AES-256-GCM により暗号化されます。鍵はリンクの # より後ろにしか存在せず、ブラウザは # から後ろをサーバーへ送りません(RFC 3986 §3.5)。サーバーが受け取るのは、開けない暗号文だけです。
暗号文はサーバーのメモリにだけ置かれます。時間が切れるか一度読まれると消え、サーバーが再起動すれば、それ以前に作られたメモはすべて忘れられます。
最大 64 KB。
使い方
メモを書きます
何かが送られる前に、タブの中で暗号化されます。サーバーが受け取るのは暗号文で、不透明なIDのもとにメモリへ置かれます。
フラグメントを含めてリンク全体をコピーします
`#`より後ろが復号の鍵で、ブラウザがそれをサーバーへ送ることはありません。`#`のところで切れたリンクを開いても、誰にも読めないメモが開くだけです。
リンクを送り、一度きりだと伝えます
最初に開いた時点でメモは破棄されます。リンクのプレビューを取りに行くチャットのクライアントも、その最初の1回になりえます。届いた時点ですでに消えているメモは、たいてい受け取った相手ではなくプレビューのボットのしわざです。
よくある質問
サーバーはメモを読めますか。
いいえ。サーバーが持っているのは暗号文で、鍵を目にすることはありません。鍵はフラグメントにとどまります。これは方針ではなく構造上の性質です。サーバーには復号に使えるものが何もありません。
一度も開いていないのに、メモがもうないと出ます。
原因は2つです。リンクのプレビューが先に取得したか、あるいはサーバーが再起動したかです。前者なら、リンクが展開されない形で送ってください。後者については、メモはメモリの中だけにあるので、デプロイのたびに未読のものはすべて忘れられます。
もっと長く残したり、2回読めるようにできますか。
できません。これは意図してそうしています。読んでも残るメモは、見つけられるのを待ちながらサーバーに置かれているメモであり、有効期限こそがその窓を小さく保っています。
ファイルにも使えますか。
テキストしか受け付けません。ファイルなら、ファイルの暗号化・復号で暗号化して、パスフレーズをこのようなメモで送ってください。
ここから渡せます
テキストの暗号化・復号
Text Encrypt & Decrypt
パスフレーズからAES-GCMでメッセージを暗号化し、それだけで完結するBase64の塊にします。
パスワード生成
Password Generator
長さ・使う文字種・紛らわしい文字を除く規則を決めて、必要な本数だけランダムなパスワードを作ります。
ファイルの暗号化・復号
File Encrypt & Decrypt
パスフレーズからAES-256-GCMでどんなファイルでも暗号化し、ここで作ったファイルを復号します。
使い捨てメール(捨てアド)
Disposable Email
一定時間だけメールを受け取れる使い捨ての受信箱を渡し、添付ファイルもその場で開けます。
次の一手
このツールが出したものをそのまま受け取れる道具です。
ファイルの暗号化・復号
File Encrypt & Decrypt
パスフレーズからAES-256-GCMでどんなファイルでも暗号化し、ここで作ったファイルを復号します。
パスワード生成
Password Generator
長さ・使う文字種・紛らわしい文字を除く規則を決めて、必要な本数だけランダムなパスワードを作ります。
使い捨てメール(捨てアド)
Disposable Email
一定時間だけメールを受け取れる使い捨ての受信箱を渡し、添付ファイルもその場で開けます。
テキストの暗号化・復号
Text Encrypt & Decrypt
パスフレーズからAES-GCMでメッセージを暗号化し、それだけで完結するBase64の塊にします。
怪しいURLの確認
Suspicious URL Check
開く前にリンクの形(紛らわしい文字・IPそのままのホスト・@のごまかし・深いサブドメイン・妙なポート・短縮サービス)を調べ、望めばリダイレクトをたどってドメインの登録時期も引きます(評判データベースは使いません)。
CORSテスター
CORS Tester
指定した生成元からブラウザが送るプリフライトとOriginを載せたGETを実際に送り、Fetch標準の規則でどのヘッダーが止めたのかを説明します。