chore: initial public snapshot for github upload

This commit is contained in:
Your Name
2026-03-26 20:06:14 +08:00
commit 0e5ecd930e
3497 changed files with 1586236 additions and 0 deletions

View File

@@ -0,0 +1,401 @@
# ToS 合规引擎设计章节
> 本章节为 `llm_gateway_subapi_evolution_plan_v2_2026-03-17.md` 中 S4 阶段的补充设计专门针对供应商服务条款Terms of Service, ToS合规风险进行系统化设计。
---
## 1. 合规背景与目标
### 1.1 合规必要性
LLM 供应商对其 API 服务有严格的使用条款限制,违规使用可能导致:
| 风险类型 | 后果 | 严重程度 |
|----------|------|----------|
| 账户封禁 | 供应方账号被封,平台服务中断 | 严重 |
| API 限流 | 关键供应商降低可用配额 | 高 |
| 法律风险 | 违反 ToS 可能涉及法律纠纷 | 高 |
| 财务损失 | 供应商罚款或追偿 | 中 |
| 声誉损害 | 合规问题被公开影响品牌 | 中 |
### 1.2 合规目标
1. **ToS 规则覆盖率**:已接入供应商 = 100%
2. **高风险策略误放行率**:接近 0以红线规则为硬约束
3. **合规审计覆盖率**:关键管理操作 = 100%
4. **合规事件响应时间**<= 1 小时
---
## 2. ToS 合规引擎架构
### 2.1 整体架构
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ ToS 合规引擎 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 请求入口 │───▶│ 规则匹配 │───▶│ 策略执行 │───▶│ 审计记录 │ │
│ │ (Ingress) │ │ (Matcher) │ │ (Executor) │ │ (Audit) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 规则配置中心 │ │
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │
│ │ │ 供应商 │ │ 使用场景 │ │ 地区 │ │ 模型 │ │ │
│ │ │ 规则库 │ │ 规则库 │ │ 规则库 │ │ 规则库 │ │ │
│ │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
### 2.2 核心组件
| 组件 | 职责 | 性能要求 |
|------|------|----------|
| **规则匹配器** | 根据请求上下文匹配适用的 ToS 规则 | P95 <= 5ms |
| **策略执行器** | 执行拦截/告警/放行动作 | P95 <= 2ms |
| **审计记录器** | 记录所有合规决策和操作 | 异步,不阻塞主流程 |
| **规则配置中心** | 管理 ToS 规则生命周期 | 支持热更新 |
### 2.3 执行位置
| 阶段 | 位置 | 动作 |
|------|------|------|
| **前置拦截** | API Gateway 入口 | 硬性规则拦截(不调用上游) |
| **请求转发** | Provider Adapter 层 | 软性规则告警 |
| **响应处理** | Billing Engine | 异常检测与追溯 |
| **后置审计** | 异步任务 | 合规审计与报告 |
---
## 3. 合规规则体系
### 3.1 规则分类
```
ToS 规则体系
├── 🔴 红线规则Red Line- 严格拦截
│ ├── 账号共享禁令
│ ├── 转售禁令
│ ├── 商业用途限制
│ └── 地区访问限制
├── 🟡 黄线规则Yellow Line- 告警+人工复核
│ ├── 使用量异常
│ ├── 调用模式异常
│ ├── 新型使用场景
│ └── 未明确允许的用途
└── 🟢 绿线规则Green Line- 通过
├── 合规使用场景
├── 标准 API 调用
└── 已在白名单的场景
```
### 3.2 红线规则(严格拦截)
以下规则为硬性约束,任何匹配立即拦截:
| 规则ID | 规则名称 | 描述 | 供应商 |
|--------|----------|------|--------|
| R001 | 账号共享禁令 | 禁止将同一账号分享给多个用户 | 全部 |
| R002 | 转售禁令 | 禁止将 API 服务转售给第三方 | 全部 |
| R003 | 服务条款禁止地区 | 禁止从制裁/限制地区访问 | 全部 |
| R004 | 账户类型限制 | 禁止使用个人账户进行商业用途 | OpenAI |
| R005 | 并发限制 | 超过账户允许的并发数 | 全部 |
| R006 | 代理/转发禁令 | 禁止作为代理或转发服务 | Anthropic |
| R007 | 竞争对手禁止 | 禁止用于竞品服务 | 部分供应商 |
### 3.3 黄线规则(告警+人工复核)
以下规则触发告警,由合规团队人工复核:
| 规则ID | 规则名称 | 描述 | 默认动作 |
|--------|----------|------|----------|
| Y001 | 使用量突增 | 日环比增长 > 200% | 告警+复核 |
| Y002 | 调用模式异常 | 偏离正常使用模式 | 告警+复核 |
| Y003 | 新型使用场景 | 首次出现的使用场景 | 告警+复核 |
| Y004 | 大额账户 | 单账户配额 > $10,000 | 告警+复核 |
| Y005 | 跨地区访问 | IP 地理位置变更异常 | 告警+复核 |
### 3.4 规则配置示例
```yaml
# ToS 规则配置示例
rules:
- id: "R001"
name: "账号共享禁令"
severity: "red"
matchers:
- type: "tenant_share"
operator: "gt"
threshold: 1
action: "block"
message: "检测到账号共享行为,违反供应商 ToS"
- id: "Y001"
name: "使用量突增"
severity: "yellow"
matchers:
- type: "daily_usage_delta"
operator: "gt"
threshold: 2.0 # 200%
action: "alert"
message: "检测到使用量异常增长,请复核"
```
---
## 4. 供应商 ToS 清单
### 4.1 主要供应商 ToS 要点
| 供应商 | 关键限制 | 红线规则 | 合规策略 |
|--------|----------|----------|----------|
| **OpenAI** | 禁止转售、账户共享、商业用途需企业账户 | R001,R002,R004 | 严格拦截 + 账户分类 |
| **Anthropic** | 禁止代理转发、地区限制 | R001,R006 | 严格拦截 + 地区检测 |
| **Google Gemini** | 禁止竞争对手使用、需同意服务条款 | R001,R007 | 严格拦截 + 场景识别 |
| **Azure OpenAI** | 需企业协议、有限制使用条款 | R001,R004 | 企业账户验证 |
| **国内供应商** | 各家不同,需逐一审查 | 视具体条款 | 个性化配置 |
### 4.2 供应商合规矩阵
```
供应商 │ 账号共享 │ 转售 │ 代理 │ 地区限制 │ 商业用途
────────────────┼──────────┼──────┼──────┼─────────┼─────────
OpenAI │ 🔴 │ 🔴 │ 🟡 │ 🔴 │ 🟡
Anthropic │ 🔴 │ 🔴 │ 🔴 │ 🔴 │ 🟢
Gemini │ 🔴 │ 🔴 │ 🟡 │ 🔴 │ 🟡
Azure OpenAI │ 🔴 │ 🟢 │ 🟢 │ 🟢 │ 🟢
国内-通义 │ 🟡 │ 🟡 │ 🟡 │ 🔴 │ 🟢
国内-文心 │ 🟡 │ 🟡 │ 🟡 │ 🔴 │ 🟢
国内-智谱 │ 🟡 │ 🟡 │ 🟡 │ 🔴 │ 🟢
🔴 = 严格禁止 🟡 = 需审核 🟢 = 允许
```
### 4.3 供应商规则更新机制
1. **定期扫描**:每周扫描供应商 ToS 更新
2. **版本追踪**:维护各供应商 ToS 版本历史
3. **变更影响评估**ToS 变更后 24 小时内完成影响评估
4. **规则同步**:影响评估后 48 小时内完成规则更新
---
## 5. 合规策略执行模式
### 5.1 两种执行模式
| 模式 | 描述 | 适用场景 | 优缺点 |
|------|------|----------|--------|
| **严格拦截** | 红线规则立即拦截,不调用上游 | S4 初期、高风险场景 | 安全但可能误伤 |
| **告警+人工复核** | 触发规则仅告警,人工确认后拦截 | 成熟期、低风险场景 | 灵活但响应慢 |
### 5.2 推荐策略(评审建议)
根据评审意见,建议默认采用**"告警+人工复核"**模式:
| 阶段 | 执行模式 | 说明 |
|------|----------|------|
| S1 | 告警+人工复核 | 积累经验,完善规则 |
| S2 | 告警+人工复核 | 持续优化 |
| S3 | 逐步切换 | 黄线告警+复核,红线拦截 |
| S4 | 分类执行 | 红线拦截,黄线复核,绿线放行 |
### 5.3 模式切换触发条件
```
告警+人工复核 ──▶ 严格拦截
触发条件(满足任一):
├── 30天内发生2次及以上合规事件
├── 供应商发出书面警告
├── 监管机构发布新规
└── 风险评分 > 80分
严格拦截 ──▶ 告警+人工复核
触发条件:
├── 连续60天无合规事件
├── 规则准确率 > 99%
└── 人工复核通过率 > 95%
```
---
## 6. 违规处理机制
### 6.1 违规分级
| 级别 | 定义 | 示例 | 处理方式 |
|------|------|------|----------|
| **P0-严重** | 违反红线,可能导致供应商封号 | 账号共享被检测 | 立即停止服务 + 通知 + 整改 |
| **P1-高** | 疑似违规,需立即复核 | 使用量突增 | 暂停服务 + 24小时内复核 |
| **P2-中** | 异常行为,需关注 | 调用模式偏离 | 告警 + 持续观察 |
| **P3-低** | 轻微异常 | 边界值触发 | 记录 + 不阻断 |
### 6.2 违规处理流程
```
检测到违规
┌─────────────┐
│ 违规定级 │ 自动/人工
└──────┬──────┘
┌────┴────┐
▼ ▼ ▼ ▼
┌────┐ ┌────┐ ┌────┐ ┌────┐
│ P0 │ │ P1 │ │ P2 │ │ P3 │
└────┘ └────┘ └────┘ └────┘
│ │ │ │
▼ ▼ ▼ ▼
立即停 24h 持续 记录
止服务 复核 观察 观察
│ │ │ │
▼ ▼ ▼ ▼
通知 整改/ 解除/ 解除/
供应方 恢复 升级 保持
```
### 6.3 违规响应时效
| 违规级别 | 响应时间 | 解决时间 | 升级时间 |
|----------|----------|----------|----------|
| P0 | 5 分钟 | 1 小时 | 30 分钟 |
| P1 | 30 分钟 | 24 小时 | 4 小时 |
| P2 | 2 小时 | 7 天 | 48 小时 |
| P3 | 24 小时 | 30 天 | 7 天 |
---
## 7. 审计与报告
### 7.1 审计日志要求
| 审计项 | 内容 | 保留时间 |
|--------|------|----------|
| **规则命中日志** | 请求ID、规则ID、匹配结果、执行动作 | 1年 |
| **人工复核记录** | 复核人、复核结果、处理意见 | 3年 |
| **规则变更记录** | 变更人、变更内容、变更原因 | 3年 |
| **供应商通知** | 通知内容、响应动作 | 5年 |
| **违规事件** | 事件详情、处理过程、最终结果 | 5年 |
### 7.2 定期报告
| 报告类型 | 频率 | 内容 |
|----------|------|------|
| **合规周报** | 每周 | 规则触发统计、违规事件、处理情况 |
| **合规月报** | 每月 | 趋势分析、风险评估、规则优化建议 |
| **合规季报** | 每季度 | 完整合规评估、供应商 ToS 更新、体系改进 |
| **年度合规报告** | 每年 | 全面合规审计、重大事件回顾、体系成熟度评估 |
### 7.3 合规指标
| 指标 | 目标值 | 严重阈值 |
|------|--------|----------|
| 规则覆盖率 | 100% | < 95% |
| 红线拦截准确率 | >= 99.9% | < 99% |
| 误报率 | <= 5% | > 10% |
| 平均响应时间 | <= 30min | > 2h |
| 审计完整率 | 100% | < 99% |
---
## 8. 供应商账号导入合规
### 8.1 BYOABring Your Own Account合规检查
当客户导入自己的 LLM 账号时:
| 检查项 | 检查内容 | 处理方式 |
|--------|----------|----------|
| 账号类型 | 企业账户 vs 个人账户 | 个人账户商业用途需警告 |
| 使用权限 | 是否允许 API 访问 | 无权限拒绝 |
| 地区合规 | 账号注册地区是否合规 | 限制地区拒绝 |
| 账户状态 | 是否正常、是否有欠款 | 异常拒绝 |
| ToS 确认 | 客户确认遵守供应商 ToS | 需签署协议 |
### 8.2 凭证存储合规
| 要求 | 说明 |
|------|------|
| **加密存储** | API Key 必须加密存储AES-256 |
| **访问控制** | 仅策略引擎可解密,禁止明文展示 |
| **日志脱敏** | 日志中禁止出现完整 API Key |
| **轮换机制** | 支持密钥轮换,轮换后旧密钥自动失效 |
| **审计日志** | 所有访问记录审计日志 |
---
## 9. 技术实现要点
### 9.1 性能优化
- **规则预编译**:规则在启动时编译为高效数据结构
- **缓存策略**:热点规则结果缓存 60 秒
- **异步执行**:合规检查异步化,不阻塞主请求
- **批量处理**:后置批量审计,减少实时开销
### 9.2 可观测性
| 指标 | 监控 |
|------|------|
| 规则匹配延迟 | P95 <= 5ms |
| 规则触发率 | 按规则维度统计 |
| 拦截成功率 | 拦截后上游调用数为 0 |
| 误报率 | 人工复核放行比例 |
### 9.3 高可用设计
- **规则服务无状态**:可横向扩展
- **配置中心高可用**:多副本 + 自动切换
- **降级策略**:合规服务不可用时默认放行 + 告警
---
## 10. 实施计划
### 10.1 S3 阶段:合规基础能力
| 时间 | 任务 | 交付 |
|------|------|------|
| W1-W2 | 合规引擎核心开发 | 规则匹配 + 执行 |
| W3 | 首批供应商规则配置 | OpenAI/Anthropic 规则 |
| W4 | 审计日志功能 | 合规审计能力 |
### 10.2 S4 阶段:合规体系完善
| 时间 | 任务 | 交付 |
|------|------|------|
| W1-W2 | 全供应商规则覆盖 | 全部已接入供应商 |
| W3-W4 | 人工复核工作流 | 告警 + 复核 + 处理 |
| W5-W6 | 定期报告功能 | 周报/月报/季报 |
| W7-W8 | 体系优化 | 规则准确率优化 |
---
## 11. 责任矩阵
| 任务 | 负责人 | 协作方 |
|------|--------|--------|
| 规则开发 | 平台工程 | 安全团队 |
| 规则配置 | 合规团队 | 产品 |
| 人工复核 | 合规团队 | 客服 |
| 供应商沟通 | 法务 | 商务 |
| 审计报告 | 合规团队 | 运营 |
---
**章节状态**:初稿
**关联文档**
- `llm_gateway_subapi_evolution_plan_v2_2026-03-17.md`
- `llm_gateway_product_technical_blueprint_v1_2026-03-16.md`