使用方式
这份检查表只覆盖工程落点:每项要求由哪个服务执行、校验哪个字段、失败时返回什么、证据留在哪里。具体适用条件、期限与法律责任必须由法务确认,本书不提供法律意见。
建议在两个时点使用:版本评审时逐项标注“已覆盖 / 待办 / 不适用”,上线前复核“待办”是否清零。
一、准入与年龄相关
| 检查项 | 落点 | 检查方法 | 常见缺口 |
|---|---|---|---|
| 版号与运营主体信息可查 | 登录页、商店页 | 配置项是否与备案一致 | 只在客户端写死,服务端无记录 |
| 实名认证前置 | 登录/进入游戏前 | 未实名是否被拦截 | 只在新账号校验,老账号漏检 |
| 实名结果来源可追溯 | 账号服务 | 是否记录渠道/时间/结果码 | 只存“已实名”布尔值 |
| 未成年人识别 | 账号服务 | 年龄段是否随实名结果更新 | 缓存永不过期 |
| 防沉迷时段计算 | 会话/时长服务 | 跨天、跨时区、断线重连 | 按客户端时间计算 |
| 时长累计口径 | 时长服务 | 按账号还是按角色 | 多角色可绕过 |
| 消费限制 | 支付前置 | 年龄段与限额规则 | 只在前端提示 |
| 家长/监护人流程 | 客服与账号服务 | 申诉与解绑链路 | 无工单留痕 |
关键原则:校验必须在服务端,且必须在业务动作之前。客户端提示只是体验,不是合规。
二、支付与退款
| 检查项 | 落点 | 检查方法 | 常见缺口 |
|---|---|---|---|
| 渠道回调验签 | 支付服务 | 是否校验签名与金额 | 只校验订单号 |
| 订单与账号绑定 | 支付服务 | 是否可跨账号发货 | 订单号可猜测 |
| 发货幂等 | 发货服务 | 重复回调是否重复发奖 | 依赖渠道不重试 |
| 退款状态机 | 退款服务 | 已发货退款如何处理 | 只支持未发货退款 |
| 对账与差异处理 | 对账任务 | 日终差异是否有归属 | 差异只记录不处理 |
| 未成年人退款 | 支付与客服 | 是否有专门流程与证据 | 与普通退款混用 |
| 支付数据保留 | 支付库 | 保留期与访问控制 | 与业务库同权限 |
三、隐私与数据出境
| 检查项 | 落点 | 检查方法 | 常见缺口 |
|---|---|---|---|
| 数据分类分级 | 数据目录 | 每类数据是否有标签 | 只按表分类,不按字段 |
| 最小化收集 | 客户端与服务端 | 非必要字段是否可空 | 默认必填 |
| 隐私政策版本 | 账号服务 | 是否记录用户同意的版本 | 只记录“已同意” |
| 数据出境清单 | 架构文档 | 哪些数据流向哪个区域 | 只写“海外服务器” |
| 跨境传输机制 | 数据同步链路 | 是否脱敏/授权/白名单 | 全量复制 |
| 删除请求受理 | 客服/账号服务 | 是否有入口与时限 | 只能人工邮件 |
| 删除级联范围 | 删除服务 | 主数据、缓存、日志、备份、第三方 | 只删主表 |
| 删除完成证明 | 删除服务 | 是否可导出证明 | 无记录 |
| 数据导出 | 账号服务 | 是否覆盖全部类别 | 只导出角色信息 |
删除是最容易“看起来做了、实际没做”的一项。检查时不要看流程文档,要看一条真实删除请求在各存储中的残留检测结果。
四、日志、审计与取证
| 检查项 | 落点 | 检查方法 | 常见缺口 |
|---|---|---|---|
| 留存分级 | 日志平台 | 各类日志保留期是否配置化 | 全部永久保留 |
| 冷热分层 | 存储 | 热数据与归档的边界 | 全放热存储,成本失控 |
| 防篡改 | 审计日志 | 追加写/哈希链/WORM | 普通表可更新 |
| 访问审计 | 日志平台 | 谁查过敏感日志 | 无查询审计 |
| 导出授权 | 取证流程 | 双人审批与脱敏 | 运维可直接导出 |
| 取证清单 | 取证工具 | 玩家/订单/时间范围 | 手工拼 SQL |
| 时钟一致性 | 全链路 | NTP 与时间源 | 各服务本地时间 |
| 日志中的敏感字段 | 日志规范 | 是否脱敏 | 明文手机号/身份证 |
五、跨区与跨境场景
全球运营时,合规检查要额外回答:
- 玩家在 A 区注册、在 B 区游玩时,实名与防沉迷由哪边执行?
- 账号数据、支付数据、行为日志分别允许存放在哪些区域?
- 跨区匹配与跨服结算是否构成数据出境?如果构成,走什么机制?
- 删除请求如何传导到所有区域?备份中的副本如何处理?
- 哪个区域是“主”,冲突时以谁为准?
这五个问题没有统一答案,但必须有书面结论,并且能在架构图上指出对应的服务与数据流。
六、评审时的十个问题
- 未实名用户能在哪一步被拦住?服务端返回什么?
- 防沉迷时长按什么维度累计?跨天和跨时区怎么算?
- 支付回调验签失败时,订单处于什么状态?
- 已发货订单退款,资产如何回收或扣减?
- 用户数据分了哪几类?每类的保留期与存放区域是什么?
- 哪条链路会把数据传到境外?传输前做了什么处理?
- 删除请求覆盖哪些存储?备份里的数据怎么处理?
- 删除完成的证据是什么?谁能导出?
- 审计日志能被谁修改?修改是否留痕?
- 上一次合规变更是什么时候?影响了哪些服务?
七、常见错误
| 错误 | 后果 | 纠正 |
|---|---|---|
| 把合规当成前端弹窗 | 可被绕过 | 服务端强校验 |
| 只记录“已实名” | 无法追溯来源与时间 | 记录渠道、时间、结果码 |
| 防沉迷用客户端时间 | 改时间即可绕过 | 服务端统一时钟 |
| 数据出境只写“海外” | 无法评估与整改 | 列出区域、类别、链路 |
| 删除只删主表 | 残留数据违反要求 | 级联到缓存、日志、备份 |
| 审计日志可更新 | 失去证明力 | 追加写 + 哈希链 |
| 留存期写死 | 无法按法务要求调整 | 配置化并按类别设置 |
| 合规变更不通知研发 | 上线后才发现缺口 | 变更进入发布检查表 |
八、一页纸清单
产品/区域:____ 版本:____ 法务确认日期:____
准入:版号 ____ 实名前置 ____ 年龄识别 ____ 防沉迷时段 ____ 时长口径 ____ 消费限制 ____
支付:验签 ____ 订单绑定 ____ 发货幂等 ____ 退款状态机 ____ 对账 ____ 未成年人退款 ____
隐私:分类分级 ____ 最小化 ____ 同意版本 ____ 出境清单 ____ 跨境机制 ____
删除:受理入口 ____ 级联范围 ____ 完成证明 ____ 时限 ____ 备份处理 ____
日志:留存分级 ____ 冷热分层 ____ 防篡改 ____ 访问审计 ____ 导出授权 ____ 脱敏 ____
跨区:实名归属 ____ 数据区域 ____ 跨区匹配 ____ 删除传导 ____ 主区域 ____
待办项:____(负责人/截止日期)
复核人:____ 下次复核:____
合规检查表的价值不在于填满,而在于让“不适用”和“待办”都有明确理由。所有“待办”都应当有负责人和截止日期,否则它只是一个更委婉的“没做”。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。