多账号并存时的数据隔离边界需要明确
别名: 账号数据隔离 · profile isolation · 多开边界
概念解释
多个账号同时登在一台设备上,人需要知道什么是分开的、什么是故意共享的:内容与草稿分开,是否共用下载目录、搜索历史、支付方式、设备级生物识别。隔离边界明确指这些规则写在切换器或账号说明里,并且实现与说明一致。这条是策略可见性,不是切换那一瞬间清不清前台状态,也不是通知上写不写账号名。
机制
「多账号」被理解成几套完全分开的房子,工程上却常共享下载文件夹、日志、广告 ID、推送证书。未声明的共享会被当成串号漏洞;未声明的隔离会让人以为刚下的发票在另一个号也能看见。支付方式若跨账号可见,家庭共用设备会变成互相扣款。生物识别若按设备解锁而不是按账号,切换后按指纹会解开错误的号。边界必须按对象类型列出,一句「数据已隔离」无法被核验。例外(例如设备级深色模式)应点名为设备设置,以免人以为账号偏好也隔离失败。
怎么研究
列出对象类型(文件、搜索、支付、消息、主题),让人预测切换后还能不能看见,再对照实现。
自变量:说明是否存在、哪些类型实际分桶、设备级设置是否标明。 因变量:预测与实现的吻合、因误以为共享而找文件失败、因误以为隔离而在错误账号里看到支付方式。
不要只测消息是否分开——共享往往出在文件和支付。实验室要用真人的两个号,而不是两个测试前缀,才能暴露通讯录匹配之类的隐式共享。
边界
操作系统强制的共享(同一应用的磁盘配额、同一推送证书)写进说明,不能假装可关。企业账号可能禁止与个人号同机登录,边界变成「不能并存」而不是并存时怎么隔离。浏览器多配置文件与应用内多账号是两套模型,不要用同一段说明。故意的跨账号能力(「用个人号给工作号点赞」)必须是显式动作,不能靠共享 cookie 偷偷发生。
怎么落地
- 在切换器或帮助中用表格列出:消息、文件、搜索、支付、登录会话、设备外观,每一项是「按账号分开」还是「这台设备共用」。
- 实现与表格同源;新增对象类型先分类再上线。
- 设备级生物识别若会解开当前前台账号,要写明;需要按账号分别持有令牌的,不要复用一次设备解锁给所有号。
- 验证:让未参与设计的人在不操作的情况下预测五类对象切换后的可见性,对照表格与实现。下载一张仅 A 可见的发票,切到 B 不应在通用下载列表用 A 的文件名打开。B 不得看见 A 的支付方式,除非表格声明共用并在添加时同意。