什么是客户端加密
简而言之:
客户端加密,指的是上锁这件事发生在你自己的设备上,用的是你自己的处理器。服务器收到的只有加密后的结果。与之相对的是 服务端加密:你把可读的数据送上云端,由云端替你上锁,钥匙也留在它那里。
✉️ 信封的比方
设想你要把一份机密合同寄存到仓库。
- 服务端加密,也就是常见做法: 你把合同交给管理员。他看过之后放进信封、封好口,摆上货架。他承诺不再打开,可封口是他封的,自然也能拆开。
- 客户端加密,也就是 TaskNote 的做法: 你在自己家里把合同放进钢箱,挂上自己的锁,交出去的是已经锁好的箱子。箱子上架,管理员读不到内容,因为他从没见过它敞开,手里也没有钥匙。
⚠️ “加密”这个词常常盖住的东西
当一个应用宣传“银行级加密”或者“静态加密”时,说的多半是 服务端加密。
它能防住闯进机房的 窃贼,却防不住 保管数据的公司本身。
- 他们的管理员能读到你写的东西。
- 一纸法院命令下来,他们有义务解密后交出。
- 他们的登录系统一旦被攻破,你的内容也跟着出去。
客户端加密 把信任从这道等式里拿掉。服务器被当成一个不需要去信任的储物间。
⚙️ 在浏览器里是怎么发生的
浏览器不只是用来显示网页。现在每一个浏览器都自带一套密码学引擎,也就是 Web Crypto API。

这会花掉一点点电。作为交换,隐私靠的是数学,而不是一句承诺。
🛡️ 我们为什么这样做
隐私不该是一个需要你去翻找的开关。
在设备上加密带来三件事:
- 快。 活儿在你所在的地方干完,不用等服务器处理文字。
- 安全。 有人搭在你我之间的线路上,收到的只是加密后的杂音。
- 踏实。 没有哪个模型在拿你的私人想法做训练,因为我们这边根本没有能读它的东西。
❓ 常见问题
会耗电吗?
察觉不到。手机上有专门的硬件来做这件事,加密一条笔记比加载一张照片还省。
加密之后还能搜索吗?
能,只是搜索换了个地方。加密后的索引下载到你的设备,在内存里解开,就地检索。搜索之所以快,正因为它是本地的。
为什么不是所有应用都这么做?
因为更难做,而且会关上一些门。服务端加密简单,还能让内容继续用于广告和训练模型。客户端加密堵死了这条路,于是不少公司就悄悄绕开了。