隐私保护
问题
AI 应用中如何保护用户隐私?PII 检测和处理有哪些方案?
答案
一、隐私风险
| 风险 | 描述 |
|---|---|
| PII 泄露 | 模型输出包含个人身份信息 |
| 训练数据记忆 | 模型记住并复述训练数据中的隐私信息 |
| 对话数据安全 | 用户对话被不当存储或使用 |
| Prompt 泄露 | 系统指令中的业务敏感信息被提取 |
二、PII 检测与脱敏
PII(Personally Identifiable Information) 包括姓名、手机号、身份证号、邮箱、地址等。
| 工具 | 特点 |
|---|---|
| Microsoft Presidio | 开源,支持多语言,可扩展 |
| spaCy NER | 命名实体识别,检测人名/地名/组织 |
| 正则匹配 | 手机号、身份证号等固定格式 |
| LLM 检测 | 用模型识别上下文中的隐私信息 |
// 常见 PII 正则检测示例
const piiPatterns = {
phone: /1[3-9]\d{9}/g, // 中国手机号
email: /[\w.-]+@[\w.-]+\.\w+/g, // 邮箱
idCard: /\d{17}[\dXx]/g, // 身份证号
};
function maskPII(text: string): string {
let masked = text;
for (const [type, pattern] of Object.entries(piiPatterns)) {
masked = masked.replace(pattern, `[${type.toUpperCase()}_MASKED]`);
}
return masked;
}
三、隐私保护架构
四、合规要求
| 法规 | 地区 | 关键要求 |
|---|---|---|
| GDPR | 欧盟 | 数据最小化、用户同意、删除权 |
| CCPA | 美国加州 | 知情权、删除权、拒绝出售 |
| 个人信息保护法 | 中国 | 合法正当必要、最小范围、告知同意 |
AI 应用合规要点
- 数据最小化:只收集必要数据,不要把所有对话发给模型
- 用户同意:明确告知 AI 功能,获得用户同意
- 数据保留:设置合理的数据保留周期
- 删除权:支持用户删除其对话历史
- 第三方 API:了解 AI 服务商的数据处理政策
常见面试问题
Q1: 如何在 RAG 系统中保护隐私?
答案:
- 入库前:对文档进行 PII 脱敏后再生成 Embedding
- 查询时:用户查询中的 PII 脱敏后再检索
- 输出时:检测并过滤输出中的 PII
- 权限控制:基于用户权限控制可检索的文档范围
Q2: 使用第三方 AI API 时如何保护隐私?
答案:
- 发送前脱敏:PII 替换为占位符
- 使用 API 数据不训练选项(如 OpenAI 的 API 默认不用数据训练)
- 敏感场景考虑私有部署(如 vLLM + 开源模型)
- 签订数据处理协议(DPA)