跳转到内容

安全与隐私

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

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

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

Snow Cues 不会保存:

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

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

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

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

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

  • 核心密码输出。
  • 可选的关键密钥记忆提示。

密码输出先用加密保存,再进入 storageData

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

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

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

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

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

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

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

推荐作为正式环境:

  • Cloudflare Pages HTTPS 正式地址。
  • 由 HTTPS 正式地址安装的 PWA。
  • 本地开发中的 localhost127.0.0.1

Cloudflare Pages 只用于分发静态前端代码。它:

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

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

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

Snow Cues 不提供:

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