# 规范-安全与数据保护

> **位置**: `docs/开发规范/规范-安全与数据保护.md`
> **版本**: v1.0
> **日期**: 2026-07-08
> **关联**: AGENTS.md、GDD-02（死亡惩罚/充值）、GDD-06（经济系统）、TDD-07（反作弊）

---

## 1. 数据安全铁律

### 1.1 玩家数据保护

| 规则 | 优先级 | 说明 |
|------|--------|------|
| 所有玩家数据变更必须写 WAL | P0 | Write-Ahead Log，支持按时间点恢复 |
| 每日自动全量备份 + 每小时增量备份 | P0 | 保留 30 天，异地存储 |
| 敏感操作必须双人确认 + 审计日志 | P0 | 删除角色/转移货币/修改境界等 |
| 生产数据库禁止直连修改 | P0 | 必须通过审批工单 + 临时只读账号 |
| 玩家隐私数据加密存储 | P0 | 手机号/邮箱/身份证号 AES-256 加密 |
| GDPR/个人信息合规 | P1 | 支持账号注销、数据导出、删除请求 |

### 1.2 反作弊与安全红线

| 规则 | 优先级 | 说明 |
|------|--------|------|
| **服务端权威**：所有数值计算在服务端完成 | P0 | 客户端只负责展示，禁止本地计算战斗结果/掉落 |
| **校验链**：每次操作必须有服务端签名 | P0 | 战斗/交易/突破等关键操作防篡改 |
| **异常检测**：高频操作自动冻结 | P0 | 同一账号 100 次/秒以上自动冻结并告警 |
| **经济审计**：每日扫描异常交易 | P0 | 价格偏离均值 10 倍/同一物品异常流转 |
| **反编译保护**：客户端代码混淆 | P1 | TypeScript 编译后做代码混淆 + 签名验证 |
| **通信加密**：TLS + 自定义协议加密 | P0 | 防止中间人攻击/数据包嗅探 |
| **防脚本**：行为模式检测 | P1 | 挂机行为 vs 脚本行为的模式差异识别 |

### 1.3 安全禁止行为

- ❌ 客户端本地计算战斗伤害/掉落结果
- ❌ 通信协议明文传输敏感数据
- ❌ 生产环境使用 root/管理员账号直连数据库
- ❌ 将玩家隐私数据写入日志
- ❌ 在代码中硬编码密钥/密码（必须走环境变量/密钥管理服务）
- ❌ 未经审计直接修改玩家数据（GM 操作必须留痕）

---

## 2. 审计与合规

| 审计项 | 频率 | 保留时长 |
|--------|------|----------|
| 登录/登出日志 | 实时 | 90 天 |
| 交易流水 | 实时 | 永久 |
| GM 操作日志 | 实时 | 永久 |
| 战斗结果日志 | 实时 | 7 天（压缩） |
| 异常行为告警 | 实时 | 90 天 |

---

## 3. 版本记录

- **v1.0**（2026-07-08）: 初始版本，覆盖数据保护、反作弊、审计合规
