← 返回 Chatterbox

隐私政策

最后更新: 2026-09-24

0. 一句话

你发出的消息正文在你的设备上被加密,只有收信人能读。我们读不了,租给我们服务器的 Google 也读不了。

我们能看到的是:一场对话发生过——里面有哪些账号,什么时候活跃。把这部分也去掉比加密内容难得多,我们还没做完。这份政策会说清楚,界线目前划在哪里。

1. 哪些内容是端到端加密的

在你的设备上加密,我们和 Google 都读不了:

大多数一对一和群聊消息还额外使用了棘轮(ratchet):每条消息有自己的密钥,所以即使你的设备被攻破,也读不出更早的消息。如果对方的客户端还没有发布较新的密钥材料,这个会话会回落到一把长期密钥,那种情况下没有上面这个性质。消息下方的标记会告诉你这一条实际走的是哪一种。

只有一件事会越过这条线,而且只在你主动要求时:在维基百科查一个名字,发出去的是那一个名字,而不是它所在的消息。发给谁写在第 6 节;查询只在你点的那一下发生,除此之外不发生,所以没有什么需要关掉。摘要、翻译和转写同样会越过这条线——它们在本次发行中是关闭的,应用里没有任何开关可以打开它们。

2. 哪些没有加密,以及我们能看到什么

加密保护的是内容,不是「有过一场对话」这件事本身。下面这些在我们的服务器上是明文:

「正在输入」和已读回执默认关闭,除非你自己打开;关闭期间不会写入任何东西。

已经不在这里的:你的邮箱地址和你的名字。自 2026 年 9 月起,账号记录里只剩一个账号标识符——而且从那时起,任何地方都不再有邮箱可留。注册不会问你任何关于你的事:你的账号就是 24 个助记词,Firebase Authentication 校验的凭证由它推导而来;它保存的只是一个随机标签,域名根本收不到邮件。

另外要单独说一句:因为这个应用跑在 Google Firebase 上,Google 能看到你的设备每一次连接的 IP 地址和时间。这是托管方式带来的,不是应用本身的问题,我们没法用加密把它消掉。

3. 别人怎么找到你

他们搜不到你。这里没有目录——不能按邮箱、手机号或名字查找——服务器会拒绝任何这样的查询。

你要联系一个人,是通过其他渠道把一条邀请链接发给他,用你本来就在用的任何方式都行。一条链接只能用一次,24 小时后过期,你随时可以撤销。你怎么称呼一个人,是你自己给他的标签,只留给你;如果对方做过自我介绍,那个名字是加密送到你这里的。

4. 我们收集什么

这就是全部。没有分析统计,也没有崩溃上报。这个应用过去会把屏幕浏览发给 Firebase Analytics、把崩溃报告发给 Firebase Crashlytics,两者都带着你的账号标识,所以都不是匿名的;现在它们都被删掉了,连同发送它们的那两个库。错误只在开发阶段打印在开发者自己的机器上,不去任何别的地方。

5. 数据存在哪里

存在 Google Firebase 上——Firestore、Storage 和 Authentication——由安全规则决定谁可以读写每一份文档。

在你的设备上,缓存的消息、设置和应用锁 PIN 用一把「每台设备一把」的密钥加密,这把密钥保存在系统密钥库里(iOS 的 Keychain、Android 的 Keystore),不是放在普通的应用存储里。

解密你消息的私钥永远不会离开你的设备,除非以助记词的形式、由你自己选择抄下来。我们不持有它,也无法替你恢复。一旦丢失,发给那台设备的消息就再也读不出来了——任何人都读不出来,包括我们。

1.2.0 及更早的版本还会在每次登录时,把助记词的一份副本存入 Android 系统自带的备份 Google Block Store。如果你的手机设置了锁屏,这份副本会以端到端加密的形式同步到你的 Google 账号。从 1.2.1 版起,应用不再这样做,并会在每次启动时删除这份副本。

6. 还有谁会拿到数据

我们不出售、不交易、不出租你的个人信息。数据会到达:

后三者在本次发行中是关闭的。应用里没有任何开关可以打开转写、翻译或摘要,所以没有任何内容会到达这三个服务。之所以列出而不是删掉,是因为代码还在、这些功能还打算回来——它们回来的时候,会连同这段披露和首次使用前的询问一起回来。到那时发出去的东西,是为了产出你要的结果,不用于训练任何模型;转写和翻译都不会保存在我们的服务器上。

维基百科查询没有开关,因为没有什么常驻的东西可关:它只在你点的那一下运行,此外不运行。维基百科收到的是那一个名字和你的 IP 地址,跟你自己在它的搜索框里输入一样——没有账号,没有消息,没有对话。返回的内容只是显示出来,不保存,也不会写进对话里。

Cloudflare Realtime 同样没有开关。大多数通话不需要它:两台能够直接互联的设备——同一网络下的大多数通话——不经过它就能连上,不会被中继。当无法直连时——常见于双方处于不同的移动网络——已经加密的通话会被中继,而不是直接连不上。Cloudflare 能看到的是双方的 IP 地址、通话的时间,以及大致的数据量;音视频内容仍然受第2节所述的同一套 DTLS-SRTP 加密保护,中继并不会解密它们。

如果法律要求,我们可能披露我们持有的内容。我们持有的就是第 2 节那份清单。我们拿不出消息内容,因为我们读不了。

7. 推送通知

通知由 Firebase Cloud Messaging 送达。你的设备令牌存放在账号中一块只有你能读的私有区域里。

通知里不带消息正文。是你的设备在本地解密消息、组装出你看到的那句话;Google 送的是信封,不是里面的内容。

8. 你可以做什么

如果你希望我们手动删除某些东西,写信给我们。

9. 保留期限

你的账号存在期间,我们保留你的数据。删除账号就会删除这些数据,上面提到的共同持有的内容除外。按会话设置的过期时间会按你定的节奏删除消息。

10. 你应该知道的局限

这些我们宁可主动告诉你,也不愿你自己发现。

11. 儿童

Chatterbox 不面向 13 岁以下儿童,我们也不会在知情的情况下收集他们的信息。如果你认为有儿童向我们提供了个人信息,请联系我们,我们会删除。

12. 变更

我们可能会更新这份政策。重大变更会在应用内公告,顶部的日期就是它最后一次修改的时间。

13. 联系我们

关于这份政策的问题,请联系:[email protected]

14. 检查新版本

Google Play 并不是这个应用到达你安卓手机的途径,它是从 chatterbox.fans 下载的——而一个不在循环里的应用商店没法替你检查更新,所以这个应用可以自己检查,只要你让它这么做。

点击"立即检查"会向 chatterbox.fans 发送一次请求,询问当前的版本号。这次请求只携带你的 IP 地址,没有别的——没有账号、没有设备标识符、没有消息内容。返回的是一个版本号,在你的手机上与当前运行的版本比对;不会自动下载任何东西,这次检查也不会写入到对话记录里。

这个功能没有开关,因为没有什么可以关闭的:它只在你点击时运行,除此之外不会运行。

如果你安装了更新,它会用同一个签名密钥原地替换应用,和 Google Play 推送更新的方式一样。