Skip to content

19 · 泽湖成长平台数据本地化方案 v1(车道 D 异步 · 备案材料)

作者:👤 Claude(执行副董事 · 车道 D 备案 + 法务) 日期:2026-08-16 读者:👥 长沙市一中大泽湖学校 校长 + 信息办 + 👤 董事长 + 法务 用途:①支撑备案材料(隐私政策 / 用户协议 / 等保 2.0)②指导开发(数据存储/加密/备份)③应急预案 关联:15-M0D2+任务书.md §1 全局约束 / 16-教联体协议模板-v1.md §4 / 17-隐私政策-v1.md / 18-用户协议-v1.md


0. 三句话说明(校长 + 董事长看这里)

  1. 数据放哪:全部存境内(微信云托管华南节点 + 阿里云华南 OSS),不出境;学生敏感个人信息额外加密存本地,不上传云端数据库
  2. 谁能看:按"最小必要"原则,默认教师只看本班、学生/家长只看自己,详见 §4 权限矩阵
  3. 出事怎么办:详见 §6 应急预案,24 小时内通报+ 启动备份恢复 + 配合监管

1. 数据分类与分级

1.1 三级分类

级别 类别 示例 加密要求
L1 公开数据 学校基本信息 / 班级名 / 学生活动标题 不加密,公开可查
L2 业务数据 学生姓名 / 学号 / 班级 / 5 维评价分数 / 教联体活动记录 TLS 传输 + 数据库加密(云托管默认)
L3 敏感个人信息 学生身份证号 / 监护人手机号 / 家庭住址 / 学生照片 单独加密存储(AES-256)+ 访问审计 + 严格权限

1.2 L3 敏感个人信息专项

字段 是否必存 处理方式
学生身份证号 ⚠️ 避免 仅学籍异动时临时采集,不入数据库;用学号代
监护人手机号 ✅ 必存 AES-256 加密 + 短信验证码二次校验
家庭住址 ⚠️ 尽量不存 仅紧急联系人填居住街道即可,不存详细地址
学生照片 ✅ 必存(活动) 缩略图入云(OSS 私有 bucket),原图存学校 NAS

1.3 法律依据

  • 《个人信息保护法》(2021)第 19 条:敏感个人信息需单独同意
  • 《数据安全法》(2021)第 21 条:数据分类分级保护
  • 《未成年人保护法》(2020 修订)第 72/73 条:未成年人个人信息特殊保护
  • 《等保 2.0》(GB/T 22239-2019):三级等保(教育行业)

2. 存储位置

2.1 存储分层

┌─────────────────────────────────────────────────────────┐
│                    微信云托管(华南节点)                │
│  ┌─────────────────────────────────────────────────┐    │
│  │  MySQL 数据库(云托管自带)                       │    │
│  │  ├─ L1 公开数据(明文)                          │    │
│  │  └─ L2 业务数据(数据库加密)                    │    │
│  └─────────────────────────────────────────────────┘    │
│  ┌─────────────────────────────────────────────────┐    │
│  │  Redis(缓存)                                   │    │
│  │  └─ Session / Token(TTL 24h)                   │    │
│  └─────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────┐
│              阿里云 OSS(华南私有 bucket)               │
│  └─ 学生照片 / 活动照片 / 导出 PDF(私有读)            │
└─────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────┐
│                学校本地 NAS(备份 + L3)                 │
│  ├─ 全量备份(每日凌晨 3:00)                          │
│  ├─ 增量备份(每 6 小时)                              │
│  └─ L3 敏感字段加密副本(AES-256)                      │
└─────────────────────────────────────────────────────────┘

2.2 出境控制

❌ 所有数据不出境 - 微信云托管华南节点(广州) - 阿里云 OSS 华南(深圳) - 备份 NAS 校内机房

❌ 不接入境外 SaaS - 不接 Cloudflare Workers Paid / Vercel / OpenAI API(除非数据已脱敏) - AI 智能诊断(M3 二期)如使用 LLM API,必须本地化推理或脱敏后调用,且数据不出境


3. 加密策略

3.1 传输加密

场景 协议 配置
微信小程序 ↔ API HTTPS 微信云托管默认 TLS 1.3
Web 后台 ↔ API HTTPS 同上
API ↔ MySQL TLS ssl-mode=REQUIRED
API ↔ OSS HTTPS + Signature OSS SDK V4 签名

3.2 存储加密

级别 算法 密钥管理
数据库字段 AES-256-GCM 密钥存微信云托管 KMS(密钥不落代码)
L3 敏感字段 AES-256-GCM(双重加密) 密钥独立保管在学校机房硬件密码机
备份文件 AES-256 + gzip 密钥存学校机房
OSS 对象 SSE-OSS(阿里云默认) RAM 角色控制访问

3.3 密钥轮换

密钥类型 轮换周期 流程
数据库字段密钥 90 天 KMS 自动轮换 + 双人复核
L3 密钥 180 天 信息办主任 + 法务双人复核 + 纸质登记
API 访问密钥 30 天 自动轮换 + 旧密钥 24h 灰度

4. 访问控制

4.1 权限矩阵(与 15 任务书 §2.1 一致)

角色 L1 L2 自己 L2 本班 L2 全部 L3 自己 L3 本班 L3 全部
学生 ✅ ✅ — — ✅(自己) — ❌
家长 ✅ ✅(孩子) — — ✅(孩子) — ❌
教师 ✅ ✅(自己) ✅ — ✅(本班学生) ⚠️ 仅紧急 ❌
教务 ✅ — ✅ ✅ — ⚠️ 仅紧急 ⚠️ 仅审计
校长 ✅ ✅(自己) ✅ ✅ ✅(全校) ⚠️ 仅审计 ⚠️ 仅审计
教联体 ✅ ⚠️ 仅参与学生 — ❌ ❌ ❌ ❌
管理员 ✅ — — ⚠️ 仅审计 — — ⚠️ 仅审计

⚠️ = 需二次审批 + 审计日志

4.2 二次审批流程

L3 访问走两步: 1. 教师/教务发起申请 → 填写用途 + 预计范围 2. 校长审批 → 自动生成一次性访问 Token(24h 过期) 3. 访问日志全留痕(操作人 + 时间 + 字段 + 用途)

4.3 操作审计

所有 L2/L3 读写操作记录审计日志,保留 ≥ 180 天:

字段 内容
userId 操作人
timestamp UTC 时间
action READ / WRITE / EXPORT / DELETE
targetType Student / Evaluation / etc.
targetId 目标对象 ID
fields 涉及字段列表
reason 访问理由(教师填)
ip 来源 IP

5. 备份与恢复

5.1 备份策略(3-2-1 原则)

3 份副本
  ├─ 1 份生产数据(云托管主库)
  ├─ 1 份本地备份(学校 NAS 每日)
  └─ 1 份异地备份(学校另一个校区机房)
2 种介质
  ├─ NAS(机械硬盘)
  └─ 云备份(阿里云归档存储,华南节点)
1 份离线(每季度)
  └─ 加密硬盘,校长办公室保险柜

5.2 备份窗口

类型 频率 时间 保留期
全量备份 每日 凌晨 3:00 30 天滚动
增量备份 每 6 小时 0/6/12/18 点 7 天滚动
差异备份 每周日 凌晨 4:00 90 天滚动
归档备份 每季度 学期末 永久

5.3 恢复演练

每学期演练 1 次(不迟于第 8 周): 1. 模拟数据库损坏 2. 从 NAS 全量 + 增量恢复 3. 核对数据完整性(5 维评价数 / 学生数 / 教联体活动数) 4. 恢复时间目标(RTO)< 4 小时 5. 数据损失目标(RPO)< 6 小时


6. 应急预案

6.1 事件分级

级别 触发 响应时间
🔴 重大 个人信息大规模泄露(>100 人)/ 数据被勒索 1 小时
🟠 较大 单条数据泄露 / 系统被入侵但数据未外泄 4 小时
🟡 一般 系统故障 / 数据损坏但可恢复 24 小时

6.2 应急流程(重大事件)

T+0   发现事件 → 立即冻结相关账号 + 切断外网
T+1h  通报校长 + 信息办主任 + 董事长 + 法务
T+2h  启动应急技术组排查 + 评估影响范围
T+4h  通报监管(教育主管部门 + 网信办)
T+24h 通知受影响用户(监护人) + 提供临时保护方案
T+72h 出具初步调查报告
T+30d 出具最终报告 + 整改方案 + 提交监管

6.3 数据泄露处置

  1. 立即冻结:涉事账号 + API 访问 + 数据库查询权限
  2. 影响评估:通过审计日志回溯泄露范围(学生数 + 字段)
  3. 阻断扩散:更换相关密钥 + 强制重置弱密码 + 推送二次验证
  4. 追溯定责:根据审计日志追责到人
  5. 补救措施:通知监护人 + 提供免费 1 年身份保护监控(如适用)
  6. 整改落地:30 天内提交整改报告并通过监管审核

6.4 灾难恢复

场景 恢复路径 RTO RPO
数据库损坏 从最近全量备份恢复 + 增量回放 < 4h < 6h
云托管不可用 切换到备用云(阿里云华南) < 8h < 6h
学校 NAS 损坏 从异地备份恢复 + 新 NAS 重建 < 24h < 24h
全站灾难(地震等) 异地灾备中心接管 + 应急手工 < 72h < 48h

7. 合规对账

7.1 与法规对应

法规 对应条款
《个人信息保护法》§19 敏感信息 §1.2 L3 字段清单 + 单独同意
《个人信息保护法》§24 自动化决策 5 维评价归集规则(07-5维评价详细设计.md §6)
《数据安全法》§21 分类分级 §1 三级分类
《未成年人保护法》§72/73 §1.2 L3 最小化 + §4 二次审批
《等保 2.0》三级 §3 加密 + §4 权限 + §5 备份 + §6 应急

7.2 与泽湖文档对应

文档 对应关系
15-M0D2+任务书.md §1.3 禁区 login 鉴权区不动 + ADMIN_OPENIDS 部署前填
16-教联体协议模板-v1.md §4 数据共享 §1 L1/L2/L3 + §4 权限矩阵
17-隐私政策-v1.md §1~7 全部
18-用户协议-v1.md §3 加密 + §5 备份 + §6 应急

8. 备案与送审

8.1 备案时间线

时间 事项
M0 W1(08-15~21) 隐私政策 v1 + 数据本地化方案 v1(本文)+ 用户协议 v1 启动
M0 W2(08-22~28) 内部法务审 + 信息办主任签字
M3 W8(10-03~09) 备案材料汇总提交
上线后 1~3 月 等待审批 / 补充材料

8.2 备案材料清单

□ 隐私政策 v1([17-隐私政策-v1.md](17-隐私政策-v1.md))
□ 用户协议 v1([18-用户协议-v1.md](18-用户协议-v1.md))
□ 数据本地化方案 v1(本文)
□ 学校主体资质(办学许可证 + 法人证书)
□ 第三方安全评估报告(如需,等保 2.0 三级)
□ 法务意见书
□ 应急预案演练记录(首年)

9. 待办与待补

  • [ ] 等保 2.0 三级测评(首年需 ¥30k~80k,上线后启动)
  • [ ] 法务咨询协议签订(独立律所)
  • [ ] 应急演练脚本(每学期)
  • [ ] 异地灾备中心选址(如需)

变更日志

日期 版本 变更 作者
2026-08-16 v1.0 初稿(基于 04 计划书 §7 + PRD §6 + 16 协议模板 §4) 👤 Claude