2.0 KiB
2.0 KiB
全项目重要数据落库治理基线
状态: active
适用范围: storage-persistence
最后更新: 2026-02-27
1. 口径
- 纳入范围:业务主数据 + 审计数据
- 排除范围:纯 UI 偏好、登录态会话、跨标签广播等非业务主数据
2. 自动核查入口
backend/scripts/storage_persistence_audit.py --format markdown --output docs/audits/storage-persistence-audit.md
backend/scripts/storage_persistence_audit.py --fail-on-banned
docs/audits/storage-persistence-audit.md:当前扫描快照--fail-on-banned:用于阻断禁止项(当前默认禁止audit_local_*)
3. 当前结论(基于 2026-02-27 扫描)
- 高风险:4 条(均为
ProjectDetail本地草稿兜底读写) - 中风险:0 条
- 低风险:42 条(会话、偏好、工作台本地待办等)
4. 已完成整改
4.1 审计链路
- 关键管理动作改为后端落库(站点、项目成员)
- 审计页改为服务端唯一数据源
- 前端本地审计日志通道已下线(不再写
audit_local_*) - 审计导出事件改为后端写入审计表
4.2 业务链路
- 设备管理已接入后端并落库
- 项目里程碑编辑保存已改为调用后端接口并落库
- 立项配置草稿保留本地兜底,但已增加:
SYNCED / LOCAL_ONLY / DIRTY_UNSAVED状态识别- 本地草稿恢复确认(含过期/冲突提示)
- 发布前
LOCAL_ONLY阻断 - 保存失败重试与成功后自动清理本地草稿
- 发布比对签名已改为后端返回的
published_project_snapshot,不再依赖 localStorage
4.3 门禁与流程
- 已新增 CI 工作流:
.github/workflows/storage-persistence-guard.yml - PR / push 到主干时会执行
storage_persistence_audit.py --fail-on-banned
5. 剩余优化项(可选)
- 将“高风险清单”阈值从固定 key 规则升级为白名单机制(白名单外一律告警)。
- 评估是否把
ProjectDetail本地草稿从 localStorage 迁移为后端草稿(可选能力,非当前口径强制项)。