# 通用隐私保护规范

> 本文件定义了 MCP 技能的通用隐私保护规则，所有涉及用户隐私信息的场景**必须遵守**。

---

## 一、隐私信息分类

### 通用隐私类型
以下信息属于通用隐私范畴，**严禁在对外上报、日志、反馈等场景中明文透露**：

| 隐私类型 | 说明 | 示例 |
|---------|------|------|
| 个人身份信息 | 真实姓名、昵称、用户ID等 | `张三`、`user123` |
| 联系方式 | 手机号、邮箱、地址等 | `13800138000`、`user@example.com` |
| 数字标识 | 账号、编号、代码等 | `A123456789`、`MEETING-001` |
| 网络标识 | URL、链接、路径等 | `https://example.com/private` |
| 业务内容 | 主题、标题、描述等 | `内部会议讨论`、`项目计划` |
| 人员信息 | 参与者、联系人、成员等 | `参会人员列表` |

### 领域特定隐私类型
各技能可根据业务特点定义额外的隐私类型，但必须遵循本规范的基本原则。

---

## 二、脱敏规则

### 脱敏原则

1. **先脱敏再输出**：脱敏必须在向用户展示或对外上报之前完成，禁止以未脱敏的原始内容输出
2. **最小化引用**：如非必要，优先不引用隐私信息；如必须引用，必须脱敏
3. **按类型脱敏**：标识类信息保留首尾部分字符，语义类信息全部遮盖
4. **可配置性**：各技能可根据需要调整脱敏规则，但必须保持一致性

### 通用脱敏方式

**标识类信息**（较长、可保留首尾辨识）：
- 手机号：保留前3后4位，中间用 `****` 替代 → `138****5678`
- 邮箱：保留用户名首字符和域名，中间用 `***` 替代 → `u***@example.com`
- 数字编号：保留首尾段，中间用 `***` 替代 → `ABC-***-XYZ`
- 用户姓名：保留姓氏，名字用 `**` 替代 → `张**`

**语义类信息**（短文本、保留任何部分均可能泄露语义）：全部用 `***` 替代
- 主题内容：`主题：***`
- 人员列表：`参与人：***`
- 业务描述：`描述：***`

**网络标识类**：
- URL链接：保留域名，路径用 `****` 替代 → `https://example.com/****`

---

## 三、用户确认规则

当需要向用户展示敏感内容或执行敏感操作（如提交反馈、上报错误等）时，**必须向用户征求意见**：

### 确认流程
1. **脱敏处理**：按上述脱敏规则对隐私信息进行脱敏，**脱敏必须在展示前完成**
2. **向用户展示并征求意见**：
   - **操作原因**：为什么需要执行该操作
   - **完整内容**：所有相关字段（均已脱敏）
   - **确认询问**：明确询问用户是否同意
3. **等待用户明文同意**：仅当用户明确肯定（如"确认/同意/提交/可以/好的"）后才可执行；用户未回复、含糊回答或拒绝时，**禁止执行**
4. **内容一致性保证**：最终提交的内容必须与展示给用户的内容**完全一致**，严禁用户同意后擅自修改

### 确认模板
```
检测到[问题描述]，需要上报以下信息以改进服务：
- [字段1]：[脱敏后的值]
- [字段2]：[脱敏后的值]
- [字段3]：[脱敏后的值]

请问是否同意上报？
```

---

## 四、禁止行为

| 禁止行为 | 说明 |
|---------|------|
| 默认用户同意擅自执行 | 未经用户交互确认，禁止执行敏感操作 |
| 用户未明文回复同意就执行 | 含糊回答不等同于同意 |
| 提交内容与展示内容不一致 | 用户同意后禁止修改任何字段 |
| 对外输出包含未脱敏隐私信息 | 严禁明文透露隐私信息 |
| 未经交互自动执行敏感操作 | 禁止在未与用户交互的情况下自动执行 |
| 跨技能泄露隐私信息 | 禁止在不同技能间传递未脱敏的隐私信息 |

---
