为什么连我自己也看不到你在 Yipa 里写了什么 | Will.OPC

为什么连我自己也看不到你在 Yipa 里写了什么

“你为什么要主动帮用户加密呢?”

听到这句话的时候,我愣了一下。因为在我看来,这恰恰是 Yipa 必须做的事情。

Yipa 是一个用来记录情绪、想法和生活状态的 App。它没有社区,没有点赞,没有评论,也没有私信,用户之间彼此隔离,你写下来的东西,本来只该给自己看。从一开始我就希望它尽可能接近一件真正私人的东西,所以后来做云端同步时,我选了端到端加密:记录在上传之前就完成了加密,服务器保存的只是密文。正常情况下,我也没办法知道里面写了什么。

这不是为了宣传加上的“隐私功能”,对我来说它更像一条产品边界。一个 App 如果保存的是一个人最私人的情绪、关系、焦虑和生活细节,开发者本来就不应该有随时查看这些内容的能力。至少,我不希望自己有。

这件事真正变复杂,是在 Yipa 做网安备案的时候。

最开始,我以为备案主要会围绕服务器安全、数据安全和产品功能展开。Yipa 不是一个内容平台,用户没法公开发布内容,也没法把自己的记录展示给别人,理论上它甚至很难被当成一个普通意义上的通信工具来用。所以当被告知用户输入的内容也需要具备审核能力时,我有些意外。

我解释过很多次:这是个人记录 App,没有社区功能,用户写的是自己的情绪和生活;服务端收到的都是密文,连我自己也看不了。然后对方问了我一句:

“你为什么要主动帮用户加密呢?”

那一刻我才意识到,我们看这个问题的出发点可能完全不同。

我一直觉得,隐私产品最好的状态不是“请相信我,我不会看你的数据”,而是“就算你不信我,我也看不到你的数据”。这两句话差别很大。前一种靠的是承诺。公司不会看、不会滥用、不会卖你的数据——这些承诺当然重要,但只要服务器上存着能直接读取的内容,用户最终信的还是人:信开发者,信管理员,信权限系统,信账号不会被盗、配置不会被弄错,也信未来接手产品的人还认今天说过的这些话。

端到端加密要解决的是另一件事:不证明开发者值得信,只是让用户不用信那么多。系统里既然没有明文,很多问题就轮不到道德出场。开发者不会哪天突然好奇,打开后台看某个用户写了什么;一个权限配错,也不会让成堆的私人记录暴露在内部系统里。不是因为每个人都足够克制,是产品根本没给这个机会。我一直喜欢这种设计:不指望里面的人永远不出错,而是干脆让一些错误没法发生。

后来,又有人和我聊了很久,试图从另一个角度解释这件事。他的一个说法大意是:在公共场所,人也会因为现实环境让渡一部分隐私;互联网也一样,信息一旦通过互联网传递,就很难再看成完全脱离公共治理的东西。

一开始我并不接受这个类比。对我来说,一个人写在私人记录 App 里的东西,和公开发布到平台上的内容,根本是两回事。

后来他又举了网盘的例子。网盘里存着大量照片、视频和文件,很多同样非常私人。接着他问了一个更具体的问题:Yipa 支持多设备同步,那如果不是一个人在几个设备上用同一个账号,而是几个人共用一个账号呢?理论上,他们确实可以靠不断写入、同步记录来传信息,而这些内容是端到端加密的,服务端读不到。

听到这里,我才真正明白冲突在哪里。至少在这次备案沟通里,对方想的是:一种互联网服务如果具备传递信息的能力,服务提供者是否应该保留一定的内容治理能力。而我想的是:一种产品如果承载的是一个人最私人的记录,服务提供者是否应该从架构上就失去读取它的能力。这两个目标,并不在同一个方向上。

明白这一点之后,我反而不太想继续争论了。这已经不是“再改一点产品”能解决的事。

如果我为了让备案通过,让 Yipa 的服务器重新拥有读取用户记录的能力,技术上当然做得到:取消端到端加密,或者在系统里留一套服务端可解密的机制,再或者设计一个能介入用户内容的审核流程。从工程角度看,这些都不难。

真正的问题是,做完这些之后,它还是不是我想做的那个 Yipa。

如果我做的是公开社区,内容审核本来就是产品的一部分;如果做的是即时通信工具,也自有一套要面对的安全问题。但 Yipa 从第一天起想做的,就是一个尽可能私人的记录空间。有人在这里写今天吃了什么,有人记录工作,也有人写下从没告诉过任何人的事。如果用户在写下这些的时候,得默认开发者随时能看,那这个产品在我这里已经变味了。

所以最后,我不再尝试让这次备案通过。不是因为我觉得谁一定错了,而是我终于确认这个冲突绕不过去,于是选择退出。

这件事让我重新想了很久,什么才算真正的隐私。

以前讨论一个服务保不保护隐私,我们问的是:会不会偷看我的数据?会不会拿去训练模型?会不会卖给广告商?会不会泄露?这些都重要。但现在我会先问一个更前面的:它到底有没有能力看到?“我们不会看”是规则,“我们看不到”是架构。对于特别私人的信息,我越来越偏向后者。我不需要一个服务反复向我保证“我们的人不会打开看”,我更希望它从第一天起就可以说:“就算我们想看,也看不到。”

备案那件事之后,我自己用别的产品时也开始留意这个。云同步我照用,它确实方便。我在意的不再只是“数据有没有上服务器”,而是上去之后,服务器拿到的是什么:能直接读的内容,还是只有我自己的设备能解密的数据;服务提供者有多大的权限;这些限制靠的是公司制度,还是技术本身。普通数据也许无所谓。但如果里面存的是多年的日记、私人的情绪、关系的记录,是一些你永远不想让陌生人看到的东西,这个区别就变得很大。因为你真正要赌的,不是今天运营这个产品的人靠谱,而是未来很多年里,整个系统不出现任何一个失控的环节。

相比押注每个环节永远不出错,我更喜欢直接删掉一部分不必要的能力。

Yipa 之后仍然会用端到端加密。服务器帮你同步数据,但它不知道你写了什么,我也不知道。不是我想证明自己是个值得信任的开发者,而是我越来越觉得,好的隐私设计本来就不该要求用户先去信任谁。信任这东西,能省一点是一点。