# Kylin Report - 法律合规文档

> **版本**: 1.1
> **最后更新**: 2026-06-20
> **适用范围**: 所有使用 kylin/report 扩展包的版号申报系统

---

## 一、适用法律法规

### 1.1 《关于防止未成年人沉迷网络游戏的通知》(国新出发〔2019〕34号)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第一条 | 严格限制向未成年人提供网络游戏服务的时间 | 检测报告含时段限制检查项 |
| 第二条 | 规范向未成年人提供付费服务 | 检测报告含消费限额检查项 |
| 第三条 | 严格落实网络游戏用户账号实名注册和登录 | 系统说明书含 NPPA 实名认证接入说明 |
| 第四条 | 加强行业监管 | 检测报告含举报渠道检查项 |

### 1.2 《网络游戏管理暂行办法》(文化部令第49号)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第十六条 | 网络游戏经营单位应当设置未成年人保护相关功能 | 系统说明书含防沉迷系统说明 |
| 第二十条 | 网络游戏经营单位应当设置举报渠道 | 检测报告含举报渠道检查项 |

### 1.3 《中华人民共和国数据安全法》(2021.9.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第二十一条 | 国家建立数据分类分级保护制度 | 申报材料数据按敏感度分级 |
| 第二十七条 | 数据处理活动应遵循合法、正当、必要原则 | 申报材料仅展示必要业务数据 |

### 1.4 《中华人民共和国网络安全法》(2017.6.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第二十一条 | 采取数据分类、重要数据备份和加密等措施 | 报表数据 `encrypted` cast 加密存储 |
| 第四十二条 | 网络运营者不得泄露个人信息 | 测试账号身份证号脱敏展示 |

### 1.5 《中华人民共和国个人信息保护法》(2021.11.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第六条 | 最小必要原则 | 申报材料仅展示必要数据 |
| 第二十八条 | 敏感个人信息保护 | 身份证号脱敏（`810000201801****1234`） |

### 1.6 《中华人民共和国统计法》(2010.1.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第九条 | 统计机构和统计人员对在统计工作中知悉的国家秘密、商业秘密和个人信息应当予以保密 | 申报材料数据不得泄露商业秘密 |
| 第二十五条 | 统计调查对象应当依法提供统计资料 | 申报材料数据来源需真实准确 |

### 1.7 等保 2.0 (GB/T 22239-2019)

| 控制点 | 要求 | 合规要点 |
|------|------|----------|
| 8.1.4.6 安全审计 | 审计日志保留 ≥ 180 天 | 申报材料生成记录审计日志（`audit()`） |
| 8.1.4.1 访问控制 | 最小权限原则 | 申报材料访问权限按角色控制 |

---

## 二、行业规范

### 2.1 版号申报材料规范

- 防沉迷系统说明书（Markdown 格式）
- 检测报告（含 12 项检查清单）
- 测试账号清单（4 个年龄段各 1 个账号）
- 敏感词库导出

### 2.2 测试账号规范

按版署审核要求，每个年龄段至少提供 1 个测试账号：

| 年龄段 | 标签 | 测试账号示例 |
|--------|------|--------------|
| 0 | 未满 8 周岁 | 测试幼儿 |
| 1 | 8 周岁以上未满 16 周岁 | 测试少年A |
| 2 | 16 周岁以上未满 18 周岁 | 测试少年B |
| 3 | 已满 18 周岁 | 测试成年 |

### 2.3 检测报告检查清单

| 检查项 | 状态 | 说明 |
|------|------|------|
| 实名认证接入 NPPA | pass | 已接入国家新闻出版署防沉迷实名验证系统 |
| 未成年人时段限制 | pass | 仅周五/六/日及法定节假日 20:00-21:00 |
| 未成年人消费限额 | pass | 8-16 岁单次≤50/月≤200；16-18 岁单次≤100/月≤400 |
| 强制下线机制 | pass | 时段结束自动强制下线 |
| 人脸识别验证 | pass | 登录/消费/异常行为触发 |
| 监护人系统 | pass | 支持监护人绑定、查看记录、设置限制 |
| 举报渠道 | pass | 游戏内举报+服务专线+12315 |
| 敏感词过滤 | pass | 6 大类词库+抗绕过检测 |
| CADPA 适龄提示 | pass | 登录时显示适龄提示 |
| 健康游戏忠告 | pass | 登录时显示健康游戏忠告 |
| 数据加密存储 | pass | 身份证号字段级加密+HTTPS 传输 |
| API 签名验证 | pass | HMAC-SHA256 签名验证 |

### 2.4 数据脱敏规范

- 身份证号：`810000201801****1234`（中间 8 位隐藏）
- 测试账号密码：仅展示密码提示，不展示明文

### 2.5 数据加密规范

- 报表数据（filters/data）使用 `encrypted` cast 加密存储
- 传输层 HTTPS 加密
- API 接口 HMAC-SHA256 签名验证

---

## 三、合规检查清单

### 3.1 申报材料安全

- [x] 防沉迷系统说明书生成（`generateSystemManual()`）
- [x] 检测报告生成（`generateTestReport()`）
- [x] 测试账号管理（`getTestAccounts()`）
- [x] 申报材料生成审计日志（`audit()`）

### 3.2 数据合规

- [x] 身份证号脱敏展示
- [x] 报表数据加密存储（`encrypted` cast）
- [x] 申报材料数据分类分级
- [x] 个人信息最小化展示

### 3.3 权限控制

- [x] API 路由需 `auth:sanctum` 鉴权
- [x] 建议集成 RBAC 权限控制（`report.*` 权限）

---

## 四、代码检测报告

### 4.1 检测结果

| 检测项 | 状态 | 说明 |
|------|------|------|
| 防沉迷系统说明书 | ✅ 已通过 | `generateSystemManual()` 生成 Markdown 格式说明书 |
| 检测报告 | ✅ 已通过 | `generateTestReport()` 生成 12 项检查清单 |
| 测试账号管理 | ✅ 已通过 | `getTestAccounts()` 按 4 个年龄段生成测试账号 |
| 身份证号脱敏 | ✅ 已通过 | `id_card_masked` 字段脱敏展示 |
| 报表数据加密 | ✅ 已通过 | `Report` 模型 filters/data 使用 `encrypted` cast |
| 审计日志 | ✅ 已通过 | `ApprovalMaterialService::audit()` 记录申报材料生成日志 |
| Facade | ✅ 已修复 | 新增 `KylinReport` Facade |
| Controller | ✅ 已修复 | 新增 `ReportController`，提供 HTTP 接口 |
| 路由 | ✅ 已修复 | 新增 `routes/api.php`，需 `auth:sanctum` 鉴权 |
| ServiceProvider 路由加载 | ✅ 已修复 | `ReportServiceProvider` 加载路由 |
| composer.json 依赖 | ✅ 已修复 | 添加 `kylin/core` 依赖和 `kylin/audit-log`/`kylin/rbac` 建议 |

### 4.2 审计事件清单

| 事件 | 说明 | 法律依据 |
|------|------|------|
| `system_manual_generated` | 防沉迷系统说明书生成 | 《网络游戏管理暂行办法》第十六条 |
| `test_report_generated` | 检测报告生成 | 《网络游戏管理暂行办法》第十六条 |

### 4.3 审查结论

**本包所有合规功能已实现。** 防沉迷系统说明书、检测报告、测试账号管理核心功能完整。本次新增 Facade、Controller、路由，补全 HTTP 接口能力。申报材料生成记录审计日志，符合等保 2.0 要求。

---

## 五、免责声明

本扩展包在代码层面实现了版号申报材料的合规基础能力，但不构成法律建议。使用方应：

1. 确保申报材料数据来源真实准确，符合《统计法》要求
2. 测试账号身份证号需脱敏展示，不得泄露个人信息
3. 申报材料生成操作需记录审计日志
4. 咨询专业法律顾问，确保系统整体合规
