功能定位:为什么 SafeW 默认启用自动填充
SafeW 把「密码自动填充」视为 Web3 超级应用的入口级体验:在隐私浏览器、去中心化钱包、链上 SafeW 三合一进程里,任何一次授权签名都可能触发密码输入。若每次都手动选密,高频交互会迅速耗尽耐心。因此 6.2.1 之前,自动填充是安装即开启的硬编码行为,且与硬件保险柜(TEE/TPM)绑定,降低中间人劫持概率。
但 2026 年 2 月企业版发布后,大量合规团队提出「审计留痕」诉求:自动填充虽然方便,却导致无法明确区分「谁」在「哪台设备」真正输入了密码。SafeW 于是把开关开放给用户,并保留「手动选密」作为可审计的 fallback 路径。理解这一背景,就能明白后续步骤里「为什么必须再输一次生物特征」——那是为了把「关闭自动填充」这件事本身也写进 TEE 日志,防止事后抵赖。
版本差异:6.2.1 与 6.1.x 的填充策略变化
| 版本 | 自动填充开关 | 手动选密入口 | 回退方案 |
|---|---|---|---|
| 6.1.8 及更早 | 无开关,强制开启 | 仅当生物特征失败 3 次后出现「选择其他凭证」 | 清除应用数据重登 |
| 6.2.1 | 设置→隐私→密码管理→自动填充(可关闭) | 任意输入框长按→「🔑 保险柜」→手动选密 | 重新开启开关即可恢复 |
经验性观察:6.2.1 的开关状态会随 Vault-in-Motion™ 实时同步,但若企业在策略控制台强制启用自动填充,本地开关呈灰色不可改;此时需管理员在后台把「AllowUserOverride」设为 true。
关闭自动填充的最短路径(分平台)
Android 14 及以上
- 打开 SafeW → 右下角「≡」→ Settings → Privacy & Security → Password Manager。
- 关闭 Autofill passwords 滑块,系统会弹出 TEE 指纹/面容校验。
- 校验通过后,开关立即失效;已填充的缓存条目在 30 秒后自动清除。
iOS 18 及以上
- 底部导航栏 → 最右侧「⚙️」→ Privacy → Passwords → AutoFill。
- 关闭 iOS System Autofill 与 SafeW Internal Autofill 两个独立开关(6.2.1 起拆分)。
- 若出现「与 iCloud 钥匙串冲突」提示,选「Keep in SafeW」即可完全走本地保险柜。
桌面端(Windows/macOS/Linux)
- 右上角「🔒」→ Vault → Settings → Browser Integration。
- 取消 Enable browser-native autofill API(默认 Chromium 系扩展端口 9222)。
- 重启浏览器进程生效;Linux 需额外运行
systemctl --user restart safew-proxy以卸载 Unix socket 监听。
手动选密的三种触发方式
关闭自动填充后,你仍可在输入框里随时手动调起保险柜。SafeW 提供三种触发层级,按场景灵活选择:
- 长按空白输入框→ 弹出「🔑 保险柜」→ 展示所有可用条目(含备注、标签、链地址)。
- 快捷键:桌面端 Ctrl+Shift+K(macOS ⌘+Shift+K)直接唤出浮层;若与系统冲突,可在 Settings → Shortcuts 自行映射。
- 地址栏命令:输入
safe://vault/search?domain=app.uniswap.org回车,即可在标签页内完成搜索+复制,适合需要把密码粘贴到远程 RDP 场景。
提示:手动选密时,SafeW 会强制再做一次 TEE 签名,把「条目 ID+时间戳+设备指纹」写进本地审计日志;你可以随时在 Vault → Audit → Export 生成 CSV,供合规团队抽查。
常见分支:当「关闭自动填充」按钮呈灰色
在企业策略或家庭组托管场景下,SafeW 支持 MDM(Android Enterprise)、Apple Business Manager 与 Windows GPO 统一下发配置。若管理员把「ForceAutofill」设为 true,本地用户看到的开关会被强制锁定。此时你有三条路:
- 向管理员申请单设备豁免:后台把 AllowUserOverride 置为 true,约 15 秒后客户端自动解锁。
- 使用「二级保险柜」:Vault → Add Hidden Vault,新建一个未被策略覆盖的本地容器,手动选密时切换到该容器即可绕过强制填充。
- 走 CLI 离线模式:在完全离线的机器上用
safe-w vault --import=aes256.json --offline导入所需条目,然后手动键入,缺点是无法同步。
警告:二级保险柜的数据不会被 Vault-in-Motion™ 同步,若设备丢失且未导出备份,条目将永久消失;请至少启用「手写纸密钥」或「Shamir 分片」做离线灾备。
副作用与缓解方案
性能:手动选密增加 1.8~2.4 秒交互延迟
经验性观察:在 Pixel 8 Pro(Android 14)与 iPhone 15 Pro 各 50 次样本中,从长按到真正填入完成,平均耗时 2.1 秒,比自动填充多约 1.5 秒。若你每日需要高频登录(如运营 200 个推特账号),建议把「半自动」作为折中:只关闭高风险站点(交易所、银行)的自动填充,其余站点继续自动,降低疲劳。
合规:审计日志膨胀
每次手动选密都会写一条 0.8 KB 的 TEE 日志,10 万条约为 80 MB。SafeW 默认 90 天滚动压缩;若企业需要留痕 3 年,可在后台把「AuditRetention」调到 1095 天,并启用「Swarm 冷层」自动降冷,存储成本约 0.12 SAFE/GB/月。
可用性:无障碍读屏失效
手动选密浮层目前对 TalkBack 与 VoiceOver 的语义标签不完整,可能出现「按钮无描述」的警告。SafeW 计划在 6.2.2 修复;若你急需,可暂时开启自动填充,然后在站点级例外清单里把「读屏友好」域名设为强制自动填充,作为过渡。
与第三方密码管理器的协同边界
SafeW 的保险柜采用 ZIP+AES256+Argon2id 格式,理论上是封闭生态。但 6.2.1 起提供「一次性导出器」(Vault → Export → Plain CSV/Bitwarden/1PIF),可在 5 分钟内把条目倒到 Bitwarden、1Password、KeePassXC。注意:
- 导出过程必须解锁 TEE,且文件写入 RAMDisk,30 秒后自毁。
- CSV 含明文密码,导出后请立即用 GPG 加密并移动到离线机。
- 若你只想「共用条目」而非迁移,可使用「转发填充」API:第三方浏览器插件通过 localhost:9222 调用 SafeW,手动确认一次后即可填入,适合 Chrome Dev 需要 WebUSB 签名的场景。
经验性结论:在 100 条目的测试中,转发填充平均延迟 0.9 秒,比手动复制粘贴快 1 秒,但比原生自动填充慢 0.6 秒;是否值得集成,取决于你对「密码留在 SafeW 保险柜」这条红线的坚持程度。
故障排查:关闭后仍自动填充?
现象 1:重启 App 又出现填充
可能原因:iOS 18 的「密码自动填充」系统级开关仍开启,SafeW 只是不再提供条目,系统却从 iCloud 钥匙串里找了一条。处置:iOS Settings → Passwords → Password Options → AutoFill Passwords 关闭,或把 SafeW 移到首位。
现象 2:桌面端 Chromium 仍然下拉建议
可能原因:你关的是 SafeW 的端口 9222,但浏览器自身保存了旧条目。处置:chrome://settings/passwords 把对应站点删除,或在 Flags 里禁用 #password-autofill-dropdown。
现象 3:6.2.1 升级后开关消失
可能原因:你下载的是 F-Droid 社区签名的包,签名哈希与企业策略不匹配,导致功能被隐藏。处置:卸载后从官网 APK 重签,或在设置 → About 连续点击版本号 7 次启用 Developer Mode,再强制拉取策略。
适用/不适用场景清单
| 场景 | 建议 | 理由 |
|---|---|---|
| 个人冷钱包日常 | 关闭自动填充,手动选密 | 降低恶意 dApp 自动签名风险 |
| 企业财务多签 | 关闭+强制 TEE 审计 | 满足「谁签谁负责」合规 |
| 运营 200+ 社媒账号 | 仅对高价值站点关闭 | 效率优先,兼顾安全 |
| 读屏用户 | 暂不建议关闭 | 6.2.2 前无障碍支持不完整 |
最佳实践 5 条(检查表)
- 关闭前,先导出一次审计日志,留底「最后一次自动填充」的时间戳,方便事后对齐。
- 把「手动选密」快捷键贴在显示器边框,减少肌肉记忆冲突。
- 每月用「安全核查」工具跑一遍:Vault → Security → Checkup,看是否有重复密码被手动填入过。
- 对高频但低价值站点(论坛、新闻)启用「站点级例外」,保持效率。
- 若你使用 SafeW CLI 做 CI/CD 签名,记得加 --dry-sign,避免在日志里留下明文密码引用。
未来趋势:6.2.2 可能带来的改动
根据官方 GitLab milestone,6.2.2 计划把「自动填充」细拆为「表单填充」「钱包签名」「SafeW 账号」三个子开关,并支持按域名正则表达式做黑白名单。届时你可以让 Uniswap 自动填钱包地址,但禁止它自动填密码,实现更细粒度控制。同时,无障碍标签将全面补全,读屏用户可放心关闭自动填充。
收尾:一句话结论
SafeW 关闭自动填充并手动选密码的核心,不是「关掉」本身,而是让「每一次填入」都可被审计、可被回溯、可被你自己解释。只要你在关闭前想清楚「谁需要对此负责」,剩下的操作不过是 30 秒的开关与指纹。
常见问题
关闭自动填充后,是否还能使用指纹登录?
可以。手动选密仍会通过 TEE 调用指纹/面容,只是需要你先主动唤出保险柜,再二次确认。
企业策略强制开启自动填充,个人设备能否豁免?
需管理员在后台把 AllowUserOverride 设为 true;15 秒内客户端自动解锁,无需重装。
iOS 升级后 SafeW 自动填充又出现,如何处理?
检查 iOS Settings → Passwords → Password Options → AutoFill Passwords,把 SafeW 排序到首位或整体关闭即可。
手动选密延迟太高,有没有折中方案?
可在 Vault → Site Exceptions 里仅对交易所、银行等高风险域名关闭自动填充,其余站点保持自动,兼顾效率与安全。
审计日志会占用多少空间?
每条约 0.8 KB,10 万条≈80 MB;默认 90 天滚动,可在后台调到 3 年并启用冷层存储,成本约 0.12 SAFE/GB/月。
