外观
Day 12:不可恢复账号删除与安全治理
当日成果
完成 capability-driven、单方法 reauth、正式受理、可恢复 worker、外部撤权、全域清理、历史补偿和两端 terminal-session purge。
能力边界
这是 L3 关键变更。课程只在隔离测试环境和临时账号上验收,不操作生产用户或真实生产资产。
能力合同
| Capability ID | API | Admin | iOS | Android | 关键证据 |
|---|---|---|---|---|---|
| DELETE-001 Capability/reauth | ✓ | ✓ | ✓ | ✓ | single method |
| DELETE-002 Request/ledger | ✓ | ✓ | ✓ | ✓ | acceptance boundary |
| DELETE-003 Worker steps | ✓ | ✓ | ✓ | ✓ | crash recovery |
| DELETE-004 Provider revoke | ✓ | ✓ | ✓ | ✓ | per identity |
| DELETE-005 Local purge | ✓ | ✓ | ✓ | ✓ | terminal session |
| SECURITY-001 Full-domain scan | ✓ | ✓ | ✓ | ✓ | no resurrection |
调查提示
text
进入 ACCOUNT-DELETION-SECURITY,按 L3 协议只读调查。机械盘点所有 Prisma 用户引用、
R2/StoredAsset、AI、realtime、push、官方/客服、OAuth identity 和两端本地数据。
区分立即失效、异步删除、外部撤权、法定保留和不可恢复终态。没有全域 inventory
和恢复模型前不得实现。1
2
3
4
2
3
4
学员决策
- 正式
202的受理边界。 - 可用 reauth 方法选择。
- retention category 和公开说明。
- provider identity 是逐条撤权还是合并。
- worker crash/retry 和 final rescan 策略。
Feature Goal
text
/goal 完成 ACCOUNT-DELETION-SECURITY 测试基线,以机械全域 inventory、单次 reauth、
私有不可覆盖受理账本、worker 每步 crash/retry、逐 provider identity 撤权、final rescan、
历史引用补偿和 iOS/Android terminal purge 为完成证据。仅使用隔离临时账号,禁止生产操作。1
2
3
2
3
Mandatory gates
- [ ] 所有 schema user reference 和 asset purpose 被盘点。
- [ ] capability 关闭时拒绝新申请但不中断已受理任务。
- [ ] challenge 单次、绑定 user/session/method。
- [ ] 正式受理后账号立即不可继续使用。
- [ ] worker 每一步幂等且中断可恢复。
- [ ] 多个旧 OAuth identity 不被错误合并。
- [ ] retention 明确,不伪称全部立即物理删除。
- [ ] final rescan 防止后到数据复活。
- [ ] 两端清理 token、数据库、草稿、pending media 和缓存。
- [ ] Admin 可观测但不能任意改变法律终态。
常见假完成
DELETE FROM User被当作完整账号删除。- 先返回
202,受理账本却可能失败。 - provider revoke 失败后仍把任务记成功。
- fake Prisma 添加生产 schema 没有的 relation。
- 客户端只 logout,没有清本地 pending 数据。
Checkpoint
冻结全域 registry、retention matrix、crash/retry 证据、公开说明草案和 account-deletion-security-green。