数据安全与隐私
概述
Whisperer 会聆听你的通话,因此我们对你的数据采取保守的处理方式:仅存储历史记录和搜索所必需的内容,提供不保存任何内容的模式,并以 fail-closed(默认拒绝)的方式保护访问。本页介绍存储的内容及位置、私人无日志模式的工作方式、保护数据的机制以及如何删除数据。
核心原则:悬浮窗在屏幕共享时不可见,文件存储在你的 Mac 本地,访问其他用户数据的请求通过所有权检查进行锁定。我们不声称产品未具备的认证——仅介绍实际实施的措施。
使用场景
- 在工作通话中使用 Whisperer 前,从隐私角度进行评估。
- 想了解会话结束后哪些内容会被保存,哪些不会。
- 需要进行敏感对话且不留下任何痕迹(无日志模式)。
- 想要删除数据或了解你的数据权利(GDPR)。
存储内容及位置
- 转录内容和模型回答保存用于历史记录和跨会话搜索——除无日志模式下的会话(见下文)。
- **知识库(笔记)**保留至你自行删除为止。
- 文件(例如资料)存储在本地:不存在外部对象存储(S3)。
- macOS 上的客户端访问令牌存储在 Keychain 中并加密。
无日志模式(私密)
无日志(临时)是针对敏感对话的会话模式:
- 转录内容和模型回答不写入数据库。
- 会话结束后,相关数据被删除。
- 分钟数仍从配额中扣除(单独计数器
no_logs_minutes_used)——你节省的是存储空间,而非时间。
当对话内容比历史记录更重要时,使用无日志模式:受保密协议约束的谈判、个人或医疗话题、机密面试。
数据如何受保护
Whisperer 基于默认安全原则构建:
- Fail-closed。 如果访问权限未明确确认,则拒绝访问——而非"以防万一"地授予。
- 所有权检查。 你只能看到自己的会话、笔记和设置;对其他用户标识符的请求会被拒绝。
- 输入验证。 外部数据在处理前经过验证。
- 用户上下文隔离。 你提供给助手的数据被视为参考材料,无法覆盖系统级指令。
- Keychain 中的令牌。 在 macOS 上,客户端令牌经过加密并存储在系统 Keychain 中,而非明文文件。
- WebSocket 令牌在请求头中。 令牌在
Authorization头中传递,而非在 URL/查询参数中——因此不会泄露到服务器和代理日志中。 - 令牌会话管理。 令牌版本(
token_version)在密码更改或从所有设备登出时使旧令牌失效;刷新 cookie 为 httpOnly,带 CSRF 保护(双重提交)。 .env中的密钥。 密钥和密码不存储在代码中。
数据删除与 GDPR
- 删除会话。 会话及其历史记录可在网页控制台中删除——这将移除相关的转录内容和回答。
- 删除笔记。 知识库保留至你删除为止;删除笔记同时将其从 RAG 索引中移除。
- 提前不留痕迹。 若要使特定对话的数据完全不进入存储,请以无日志模式运行会话。
- 完整账户删除和数据主体权利请求通过客服处理:发送邮件给客服,请求删除或导出你的数据。
截图
📸 [截图:会话设置中的无日志模式开关]
📸 [截图:控制台会话历史记录,带有"删除"操作]
📸 [截图:屏幕共享窗口中悬浮窗不可见]
常见错误
- 认为无日志模式可以节省分钟数。 分钟数正常消耗;只是数据不会被保存。
- 期望普通会话不被保存。 在无日志模式之外,转录内容和回答会保存用于历史记录和搜索。
- 认为删除笔记后它仍会出现在建议中。 删除笔记会同时将其从知识库和 RAG 索引中移除。
- 在控制台中寻找"删除账户"按钮。 完整账户删除通过客服处理。
最佳实践
- 对于敏感对话,提前开启无日志模式——事后"抹去"已保存的内容比根本不记录更难。
- 定期清理不再需要的会话历史记录。
- 不要将密钥(密码、令牌)放入用户上下文和笔记——它们会作为提示词的一部分发送给模型。
- 使用强密码,并在怀疑账户被入侵时从所有设备登出:这将使已颁发的令牌失效。
- 记住悬浮窗在屏幕共享时不可见,但对方的可听音频仍会被识别——在群组通话中请注意这一点。