跳转到内容

安全与隐私

Snow Cues 的安全设计不依赖「我们替你保管秘密」。相反,它尽量少保存、明确保存什么,并把关键材料留在你的输入和当前浏览器内存中。

Snow Cues 的安全边界建立在三点上:

  1. 少保存:只保存必要的条目数据和管理元数据。
  2. 显式保存:保存必须由用户触发,并在保存前确认摘要 diff。
  3. 浏览器原生 WebCrypto:核心密码学链路依赖浏览器原生能力,不退回到纯 JavaScript 实现。

Snow Cues 不会保存:

  • 空间主密码。
  • 单条密码的关键密钥。
  • 关键密钥的可逆副本。
  • 可被系统自动拼接成关键密钥的结构化字段。
  • 密码校验材料。
  • 外部平台的明文密码。
  • 游离密码的派生输入、预览结果或历史。
  • 单条密码的规则 ID、scene/context 等可重建派生输入的元数据。

这些内容不会被写入 storageData、IndexedDB、localStorage、sessionStorage、URL 或其他文件。

当前浏览器会话中可能短暂存在:

  • 由空间主密码派生出的 non-extractable 加密密钥。
  • 当前输入的关键密钥。
  • 临时解密出的密码。
  • 临时查看的记忆提示明文。
  • 迁移期间的来源空间会话。

这些内容会在离开空间、会话过期或用户执行对应隐藏 / 取消动作后清除。

Snow Cues 不把外部平台的明文密码当作托管密码库保存,也不知道你最终在外部平台使用的密码是什么。

条目创建和查看时,空间主密码会建立当前浏览器内存会话,单条关键密钥由你输入。应用会在本地用这些材料完成派生、加密处理和查看,不会把空间主密码、关键密钥或明文密码上传到官网。

会进入 storageData 的敏感辅助数据包括:

  • 与单条关键密钥相关的加密条目材料。
  • 可选的关键密钥记忆提示。

这些数据不是外部平台明文密码,也不能替代你的空间主密码或关键密钥。忘记它们后,Snow Cues 没有可用于恢复的后门材料。

正式密码条目的以下字段是明文管理元数据:

  • 条目 ID。
  • 空间 ID。
  • 密码组 ID。
  • 平台。
  • 普通备注。
  • 废弃时间。
  • 创建和更新时间。

密码组会保存组名、普通说明和声明式输出适配策略。空间 profile 会保存规则链和声明式导入规则 manifest。

平台、密码组名称和普通备注是明文管理元数据。不要在这些字段中填写账号、关键密钥、密码或其他敏感秘密。

Snow Cues 使用浏览器原生 WebCrypto,包括:

  • PBKDF2-SHA256
  • HMAC-SHA256
  • AES-GCM
  • SHA-256
  • non-extractable CryptoKey

核心链路不会退回到纯 JavaScript 密码学库。若环境缺少 crypto.subtle 等能力,应用会阻断敏感操作并提示更换运行环境。

推荐作为正式环境:

  • 官方 HTTPS 正式地址。
  • 由 HTTPS 正式地址安装的 PWA。
  • 你自行部署到可信 HTTPS 环境的静态产物。
  • 本地开发中的 localhost127.0.0.1

正式使用建议选择 Chrome、Edge 等 Chromium 系浏览器。其他浏览器可能因为 WebCrypto、File System Access API 或安全上下文差异,导致加密、保存或文件夹访问能力不可用。

官方部署只用于分发静态前端代码。它:

  • 不保存用户账号。
  • 不保存 storageData
  • 不接收主密码、关键密钥或密码内容。

自部署时也应保持这个模型:只部署静态产物,不增加会接收 storageData、空间主密码、关键密钥或密码内容的服务端逻辑。

官方构建只包含项目维护者审计过的规则算法模板。自部署版本可以在源码层扩展算法注册表并自行构建,但 Snow Cues 不支持通过运行时导入、URL 参数、storageData 或远程配置动态加载任意算法代码。

规则扩展遵循「源码 / 构建期注册,运行时声明式选择」:

  • 算法实现必须写入源码,并随自部署静态产物一起发布。
  • 导入规则 JSON 只能声明 algorithmnamespace 和公开非秘密 params
  • algorithm 必须存在于自部署构建的算法注册表中。
  • params 必须由对应算法模板执行白名单校验、归一化和限幅。
  • 算法配置不得包含主密码、关键密钥、平台账号、scene/context、代码片段、远程 URL 或任何单条密码可重建派生输入。

自部署构建和官方构建可能使用不同算法注册表。使用自部署专有算法创建的空间,必须继续使用包含该算法的构建打开;官方构建无法使用未注册算法维护该空间。

记忆提示会加密保存,但它仍是敏感辅助信息。建议只写自己能理解、别人难以利用的提醒,不要写出完整关键密钥。

查看记忆提示不需要再次输入关键密钥,但需要当前空间会话能力。

如果你希望通过复用相同或相似关键密钥、写更直接的记忆提示来降低记忆负担,请先理解 安全性与便利性的取舍

Snow Cues 不提供:

  • 主密码找回。
  • 关键密钥找回。
  • 明文密码托管备份。
  • 云端账号恢复。
  • 自动合并冲突。