跳到正文

阅后即焚密语

Self-Destructing Note

在浏览器里把一段内容加密,生成一条一次性链接,别人读过之后内容就销毁。

通过聊天发出去的密码会无限期留在聊天记录里——两台设备上,还有服务商的服务器上。一次性链接把秘密从那段记录里挪出来:内容在你的浏览器里加密,密钥放在 URL 的片段里传递,服务器上的那份在被读取的那一刻销毁。

⚡ 本地运行,必要时由服务器搭把手noteshareephemeralsecret

便签在这个标签页里用 AES-256-GCM 加密。密钥只存在于链接 # 之后的那一段,而浏览器从不把 # 后面的内容发给服务器(RFC 3986 §3.5)。服务器拿到的只是它打不开的密文。

密文只放在服务器的内存里。时间到了,或者被读过一次,就抹掉;服务器一重启,之前建的便签全都不记得了。

最多 64 KB。

怎么用

  1. 写下内容

    发送任何东西之前,它先在标签页里加密。服务器收到的是密文,在内存里以一个不透明的 id 存着。

  2. 复制整条链接,包括片段部分

    `#` 后面的部分是解密密钥,浏览器从不把它发给服务器。在 `#` 处被截断的链接打开的是一条谁都读不了的密语。

  3. 发出链接,并告诉对方它只能打开一次

    第一次打开就会销毁密语。会抓取链接预览的聊天客户端可能算作这“第一次打开”,所以一条送达时就已经失效的密语,通常是预览机器人干的,不是收件人。

常见问题

服务器能读到内容吗?

不能。它拿着的是密文,从来看不到密钥,密钥一直留在片段里。这是结构上的性质,不是一条政策——服务器上没有任何东西可以用来解密。

链接说密语已经销毁,可它从来没被打开过。

两种原因。一种是链接预览先抓取了它——换一种不会展开预览的方式发送。另一种是服务器重启了:密语只存在内存里,所以一次部署会忘掉所有未读的内容。

能让它保存更久,或者读两次吗?

不能,这是有意的。读过之后还活着的密语,就是一条躺在服务器上等着被人找到的密语,而过期时间就是把窗口压小的东西。

能用它发文件吗?

它只收文本。文件的话,先用文件加密工具加密,再用这样的一条密语把密码短语发过去。

可以从这些接进来

接下来

这些工具吃得下当前工具的产出,结果可以直接送过去。