前几天封号潮,我的号被封掉后火速开了第二个。当时把登录过被封账号的 Claude iOS 删了重装,打开后发现旧账号仍然是登录状态(我的账号被封禁后还能登录浏览内容,只是不能发消息)。这至少说明 App 卸载后有数据残留,重装时还会被重新读取。我没有做严格的对照实验,以下信息仅供参考:第二个账号存活两天就死了。后来开了第三个,没有登录 iOS 和 Claude Desktop,只用 Web 和 CC,存活一周至今。 去站里搜了一下,类似的现象已经有佬友说过。nametoa 在 这帖 里抓包发现,重装后的 App 请求里还带着旧账号的 cookie(routingHint、sessionKey),服务器直接返回 account_banned。在讨论「Claude 能拿到哪些信息」的帖子里,Totoria 提过 钥匙串不随删除清掉、配合 DeviceCheck 换了 Apple ID 也能关联的猜测。更早还有 cwxiaos 报告过 B 站国际版在清理钥匙串、换 IP 后重装,仍然出现了关联的搜索记录。 钥匙串的残留机制 iOS 上的 App 可以把数据写进钥匙串(Keychain)。删 App 的时候沙盒里的文件会一起清掉,钥匙串条目却会留下来。十年前就有人反馈到 Apple 开发者论坛: iOS autodelete Keychain items after uninstall? 帖子里 Apple DTS 的工程师说得挺直白,卸载后保留钥匙串只是早期实现留下的行为,并非文档承诺过的;他自己也承认这是个 明显的隐私问题 (“preserving keychain items on delete is an obvious privacy concern”)。iOS 10.3 beta 曾经一度改成卸载时一起删除,但正式版没有保留这个改动。到 2024 年有开发者确认 iOS 17.5 上依旧如此。从我这次的情况看,到 iOS 27.0.1 这个行为应该还在。 真正的问题是用户没有管理的方式。设置里不提供清除某个 App 钥匙串的功能,「密码」App 里也看不到这些 App 私有的条目。使用 Mac / Xcode 也碰不到,因为钥匙串按 访问组 隔离,只有签名带着对应权限的 App 才能读写。结果就是我们的手机上存着一些开发者能写、能读、能删,我们自己却管不了的数据。 为什么这是隐私问题 叠个甲:目前没有实证证明开发者利用这个追踪用户,以下只分析技术上的可能性。 最简单的做法就是 App 第一次启动时生成一个随机 UUID 存进钥匙串。之后用户删掉 App 再装回来,App 读回同一个 UUID 传给服务器,服务器就能把删除前和重装后的用户对上号,中间换新账号登录也能对上。 这种做法已经存在许久,搜索 iOS 设备唯一标识 keychain 就能看到不少教程和插件,有的直接把「卸载重装不变」写在介绍里。 讽刺的是 Apple 自己提供的 IDFV(identifierForVendor),这是开发者本该拿到的设备标识:用户删光同一个开发者的所有 App 再重装,这个值就会变。可见 Apple 设计 IDFV 的时候,默认的想法就是用户都删光了,就该算重新开始。然而借助钥匙串,开发者可以拿到比 IDFV 更持久的标识。 Apple 的隐私保护 iOS 总在营销中提及隐私,在这方面也确实管住了两条路径:1) 其他 App 或外部攻击者想拿你的数据,这块有沙盒和钥匙串访问组隔离,管得很严;2) 跨公司的广告追踪,也就是 ATT,那个「是否允许 XX 跟踪你在其他公司的 App 和网站上的活动」的弹窗。 ATT 里的「跟踪」有明确的定义:把这个 App 收集的数据和其他公司的 App、网站或线下数据关联起来,用于定向广告或广告效果衡量。按这个定义,同一个开发者在自己的 App 里把你前后两次安装、两个账号关联起来,不算跟踪,也就不用弹窗。 开发者直接对用户的这条线,目前基本靠开发者自觉和隐私标签兜着,而隐私标签是开发者自己填的。拿 Claude 来说,App Store 隐私标签「与你关联的数据」里有 User ID 和 Device ID,用途除了分析和 App 功能,还写了开发者自己的广告或营销,页面上也注明了这些信息 Apple 没有验证过。当然,标签里的 Device ID 可以指很多东西,重装后残留的也可能只是登录凭证。这些从外界也都无法验证,只能通过现象反推大概机制。 顺带一提,Apple 自己也有个按设备记状态的官方接口 DeviceCheck ,开发者可以在 Apple 服务器上给每台设备 存两个比特 。上面 B 站那帖就有人 建议往这个方向查 ,不过 B 站实际用了什么也没人验证过,这里不展开。 机制的合理性 卸载后保留钥匙串也有它的用处,重装免登录、风控、防薅羊毛、防滥用,这些需求都真实存在。 虽然开发者有正当需求,但用户也应该有控制权。况且如果不主动去了解,可能很多人都以为 iOS 上卸载重装一个应用就能一身轻了。 现在能做什么 关于 Claude,我暂时也不敢在 iOS 上再登录新账号了,虽然应用端体验很好。抹掉所有内容和设置、设置成新 iPhone、不从 iCloud 备份恢复,或许能清掉钥匙串。但不能“从备份恢复”,Apple 的 平台安全文档 写明 iCloud 备份里包含本机钥匙串,恢复会把它一起带回来。但为了一个应用抹掉整台设备重新来过也不太现实。不知道有没有佬这样操作后再登录过,之后有被封号吗? 剩下的就是官方反馈。若大家觉得诉求合理且愿意,可以通过 Feedback Assistant 建议在设置里每个 App 下提供「重置 App 数据(含钥匙串)」,或者删除 App 时多给一个「删除 App 及其所有持久数据」的选项。 希望这篇能给各位佬一个新思路,以后遇到 iOS 重装应用后旧数据还在的情况,可以往钥匙串这个方向想。 3 个帖子 - 2 位参与者 阅读完整话题


  • 情报分类:服务器与云资源
  • 分类依据:内容涉及服务器、云资源或网络线路
  • 信息来源:服务器 / LINUX DO - 最新话题
  • 发布时间:2026/10/8 12:22:52