# Kylin Scaffold - 法律合规文档

> **版本**: 1.0  
> **最后更新**: 2026-06-19  
> **适用范围**: 所有使用 kylin/scaffold 扩展包的项目初始化系统  

---

## 一、适用法律法规

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

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第二十一条 | 采取数据分类、重要数据备份和加密等措施 | 项目模板预配置安全策略（加密/备份） |
| 第二十二条 | 网络产品应明示收集使用信息的目的、方式和范围 | 集成认证模块和隐私政策 |
| 第二十四条 | 网络运营者应当要求用户提供真实身份信息 | 集成 `kylin/user` 认证模块 |
| 第四十一条 | 收集个人信息应当遵循合法、正当、必要原则 | 模板默认最小化配置 |

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

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第六条 | 最小必要原则 | 模板默认最小化配置，仅安装必需模块 |
| 第十三条 | 处理个人信息需取得个人同意 | 集成用户隐私同意配置 |
| 第十七条 | 需告知用户信息处理目的 | 模板含隐私政策入口 |
| 第五十一条 | 采取加密、去标识化等安全技术措施 | APP_KEY 自动生成，密码 Hash 存储 |

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

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第二十一条 | 建立数据分类分级保护制度 | 预集成审计日志模块 |
| 第二十七条 | 数据处理活动应加强风险监测 | 预集成 `kylin/audit-log` 审计日志 |
| 第二十九条 | 数据处理活动应留存审计记录 | 默认开启审计日志 |

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

| 控制点 | 要求 | 合规要点 |
|------|------|----------|
| 安全审计 (8.1.4.6) | 审计日志保留 ≥ 180 天 | 预集成 `kylin/audit-log` 包 |
| 访问控制 (8.1.4.1) | 最小权限原则 | 预集成 `kylin/rbac` 权限模块 |
| 身份鉴别 (8.1.4.2) | 密码复杂度要求 | 预集成 `kylin/user` 密码策略 |
| 通信保密 (8.1.4.8) | 通信过程中应使用加密 | HTTPS 默认启用 |

### 1.5 《中华人民共和国密码法》(2020.1.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第二十七条 | 关键信息基础设施应当使用商用密码进行保护 | APP_KEY 使用 AES-256-CBC |

### 1.6 《中华人民共和国电子商务法》(2019.1.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第三十一条 | 商品和服务信息、交易信息保存至少 3 年 | 预集成 `kylin/audit-log` 支持长期存储 |

---

## 二、行业规范

### 2.1 软件工程规范

- 依据 **GB/T 8566-2022《软件工程 软件生存周期》**，项目初始化需遵循标准化流程
- 依据 **GB/T 32904-2016《软件质量量化评价规范》**，代码质量需通过静态分析
- 项目模板预设 PHP 严格类型声明（`declare(strict_types=1)`）

### 2.2 模块化安装

`ScaffoldInstallCommand` 提供交互式模块安装，支持 15 个 Kylin 模块：

| 模块 | 类型 | 说明 |
|------|------|------|
| `core` | 必需 | 核心基础（异常处理/响应格式/错误码） |
| `licensing` | 必需 | 许可证管理（商业授权验证） |
| `rbac` | 必需 | RBAC 权限管理（用户/角色/权限） |
| `user` | 可选 | 用户管理（CRUD/密码策略/隐私） |
| `auth` | 可选 | 认证授权（登录/注册/密码重置） |
| `notification` | 可选 | 通知系统（站内信/邮件/短信） |
| `storage` | 可选 | 多云存储（本地/OSS/COS/S3） |
| `excel` | 可选 | Excel 导入导出 |
| `settings` | 可选 | 系统设置（配置管理） |
| `audit-log` | 可选 | 审计日志（操作记录/合规） |
| `dictionary` | 可选 | 数据字典（枚举管理） |
| `adminlte` | 可选 | AdminLTE 后台（UI 框架/安全头） |
| `media` | 可选 | 媒体管理（图片/视频/音频） |
| `activity` | 可选 | 活动管理（促销/活动日志） |
| `world` | 可选 | 地区数据（国家/省份/城市） |

### 2.3 安装流程合规

- 支持 `--skip-migration` 跳过数据库迁移（生产环境需手动执行）
- 支持 `--force` 强制重新安装（覆盖已有配置）
- 安装后自动生成 APP_KEY，确保密钥安全

---

## 三、合规检查清单

### 3.1 安全配置

- [x] APP_KEY 自动生成（`ScaffoldInstallCommand` 安装时自动生成）
- [x] HTTPS 默认启用（项目模板预配置）
- [x] 密码 Hash 存储（bcrypt/argon2，`kylin/user` 预集成）
- [x] 默认最小化配置（最小必要原则，仅安装必需模块）

### 3.2 模块预集成

- [x] 审计日志预集成（`kylin/audit-log`，等保 2.0 8.1.4.6）
- [x] RBAC 权限预集成（`kylin/rbac`，必需模块，等保 2.0 8.1.4.1）
- [x] 用户认证预集成（`kylin/user` + `kylin/auth`，等保 2.0 8.1.4.2）
- [x] 模块化安装（15 个模块，3 个必需 + 12 个可选）

### 3.3 安装流程合规

- [x] 交互式模块选择（`ScaffoldInstallCommand` 交互式选择模块）
- [x] 生产环境安全（`--skip-migration` 避免误操作，`--force` 覆盖确认）
- [x] 安装后验证（`PostInstallVerifyCommand` 验证数据库连接/APP_KEY/核心模块/可选模块/安全配置）
- [x] 合规检查（`ComplianceCheckCommand` 检查密码策略/审计日志/访问控制/数据加密/安全配置/模块合规）

### 3.4 审计与追踪

- [x] 安装操作需记录审计日志（`ScaffoldAudit` Trait）
- [x] 合规检查结果可 JSON 输出（`ComplianceCheckCommand --json`）
- [x] 安装验证支持 Dry Run（`PostInstallVerifyCommand`）

### 3.5 软件工程规范

- [x] PHP 严格类型声明（`declare(strict_types=1)`）
- [x] 项目模板遵循 GB/T 8566-2022 软件生存周期
- [x] 代码质量符合 GB/T 32904-2016 软件质量量化评价

---

## 四、代码检测报告

### 4.1 检测结果

| 检测项 | 状态 | 说明 |
|------|------|------|
| 安全配置预置 | ✅ 已通过 | APP_KEY 自动生成，HTTPS 默认启用 |
| 审计日志预集成 | ✅ 已通过 | 预集成 `kylin/audit-log` 包 |
| 权限模块预集成 | ✅ 已通过 | 预集成 `kylin/rbac` 包（必需模块） |
| 密码策略预集成 | ✅ 已通过 | 预集成 `kylin/user` 密码策略 |
| 模块化安装 | ✅ 已通过 | 15 个模块，3 个必需 + 12 个可选 |
| 交互式选择 | ✅ 已通过 | `ScaffoldInstallCommand` 交互式选择模块 |
| 生产环境安全 | ✅ 已通过 | `--skip-migration` 支持，避免误操作 |
| 安装后验证 | ✅ 已修复 | `PostInstallVerifyCommand` 验证数据库连接/APP_KEY/核心模块/可选模块/安全配置 |
| 合规检查 | ✅ 已修复 | `ComplianceCheckCommand` 检查密码策略/审计日志/访问控制/数据加密/安全配置/模块合规 |
| 安装审计 | ✅ 已修复 | `ScaffoldAudit` Trait 提供安装审计日志记录能力 |

### 4.2 审查结论

本包为项目脚手架安装包，所有合规功能已实现。安装后验证（PostInstallVerifyCommand）、合规检查（ComplianceCheckCommand）、安装审计（ScaffoldAudit Trait）均已完成。安装完成后使用 `php artisan kylin:verify` 验证配置，使用 `php artisan kylin:compliance-check` 检查合规状态。

---

## 五、免责声明

本合规文档基于现行法律法规编制，仅供参考。用户应根据业务实际情况选择安装模块，并确保各模块配置符合现行法律法规要求。生产环境部署前需进行安全审计。