AI 隐私与数据保护:2025 年 GDPR 合规的机器学习实践
在利用 AI 的同时应对数据隐私法规——实用合规策略
AI 隐私与数据保护:2025 年 GDPR 合规的机器学习实践
在利用 AI 的同时应对数据隐私法规——实用合规策略
GDPR 合规的 LLM 系统设计(2026):四大压力点(合法基础/数据最小化/删除权/跨境处理)+ EU AI Act 叠加义务。四个工程模式:Presidio 脱敏前置、敏感类本地推理、可删除的 RAG 存储替代训练、审计脊柱表。附供应商尽调五问与清单。
AI 隐私与数据保护:GDPR 合规的 LLM 系统
AI 依赖数据;隐私法要求数据最小化、目的限制和可删除性。调和两者现在是一个设计问题,而非事后法律考虑——尤其是EU AI Act 与 GDPR 同时生效,在数据保护之上增加了 AI 特定的义务。本指南从工程师视角出发:规则对 LLM 系统的实际要求、满足这些要求的架构模式,以及真正重要的供应商问题。
*(工程指导,非法律建议——请与法律顾问/DPO 确认您的具体处理。)*
LLM 系统的四大 GDPR 压力点
AI Act 叠加义务:对您的用例进行风险分类(HR 筛选、信用评估、生物识别→高风险义务:文档记录、人工监督、日志记录)、透明度义务(用户必须知道他们在与 AI 对话)以及禁止的实践。尽早对照风险等级映射您的功能——事后改造高风险控制成本高昂。
使合规可控的架构模式
模式 1:模型前的 PII 脱敏
在提示词离开您的边界之前,剥离或假名化标识符:
python
草图:先脱敏,后还原
import presidio_analyzer, presidio_anonymizer # Microsoft Presidio — 标准开源选择analyzer = presidio_analyzer.AnalyzerEngine()
anonymizer = presidio_anonymizer.AnonymizerEngine()
def redact(text: str):
results = analyzer.analyze(text=text, language='en') # 识别姓名、邮箱、电话、IBAN...
return anonymizer.anonymize(text=text, analyzer_results=results).text
prompt = redact(f'为这个工单起草回复:\n{ticket_body}')
LLM 永远不会看到真实标识符;必要时通过您自己的映射重新插入
这一单一模式同时化解了大部分最小化和处理者风险。基于 NER 的脱敏并非完美(特殊格式的姓名可能漏过)——结合已知标识符格式的拒绝列表规则,并在测试集上测量泄漏。
模式 2:敏感类数据的本地/欧盟境内推理
对于特殊类别数据(健康等)或严格居留要求:在您的边界内运行开源权重模型——小规模用 Ollama,大规模用 vLLM。数据永不离开;处理者问题消失(您仍承担控制者义务)。混合路由是务实常态:敏感意图→本地模型,通用意图→云 API(多提供商路由)。
模式 3:使用可删除存储的 RAG,而非在个人数据上训练
永远不要对可能需要删除的个人数据进行微调——权重没有删除按钮。将个人数据保存在以数据主体为键的检索存储中(pgvector),这样删除请求就是 DELETE WHERE subject_id = ? 作用于行*及其嵌入向量*。个人数据的嵌入向量也是个人数据——设计存储以便能够按主体找到它们。
模式 4:审计脊柱
记录每个请求:目的标签、合法基础标签、模型+版本、应用的脱敏以及 token 使用量——但不记录负载本身(或为调试目的设置严格的 TTL)。这一个表同时回答了 DPIA 问题、主体访问请求和 AI Act 的日志记录义务。
供应商尽调:五个问题
实施检查清单
常见问题
嵌入向量是个人数据吗? 如果可以从/关联到个人——视为是。监管机构指南趋向于此;设计为可删除。
用户可以退出 AI 处理吗? 如果您的合法基础是合法利益,他们可以反对——在需要之前构建绕过路径(纯人工处理)。
匿名化是否使我免于 GDPR? 真正的匿名化可以——但 LLM 上下文中的“匿名化”通常是假名化(可重新识别),仍在范围内。诚实地判断您拥有哪种。
*最后更新:2026 年 6 月。法规和提供商条款会演变——请对照当前官方文本和您的法律顾问确认。*
相关工具