为法国企业部署符合 GDPR 的 LLM(Claude、Gemini、GPT)——完整清单:数据假名化、数据处理协议(DPA)、零数据保留、日志托管,以及 Mistral / 数据主权问题。
监管最低要求
- 在任何外部 LLM 调用之前对个人身份信息进行假名化
- RGPD 第 28 条 DPA:与每个处理数据的分包处理方签署。Kunavo 不提供此类协议:如果你的处理活动需要,请直接与模型提供商签订合同
- 保持处理活动记录为最新,包括每次 LLM 调用的目的
- 向数据主体提供信息:您的隐私政策必须说明 AI 的使用情况
1)假名化——可直接使用的代码
在提示词离开您的后端之前,我们会将直接标识符替换为 Token。对应关系表始终保留在本地:
pseudonymiser.py
# Pseudonymiser les données personnelles avant l'appel LLM
import re
from openai import OpenAI
PATTERNS = [
(re.compile(r"[\w.+-]+@[\w-]+\.[\w.-]+"), "<EMAIL>"),
(re.compile(r"\b(?:\+33|0)\s*[1-9](?:\s*\d{2}){4}\b"), "<PHONE_FR>"),
# Numéro de sécurité sociale français (15 chiffres)
(re.compile(r"\b[12]\d{2}(?:0[1-9]|1[012])(?:\d{2})(?:\d{3})(?:\d{3})(?:\d{2})\b"), "<NIR>"),
# IBAN FR
(re.compile(r"\bFR\d{2}\s?(?:\d{4}\s?){5}\d{3}\b"), "<IBAN_FR>"),
]
def pseudonymiser(texte: str) -> tuple[str, dict]:
masque = texte
mapping = {}
for i, (pat, tag) in enumerate(PATTERNS):
for m in pat.finditer(texte):
cle = f"{tag}_{i}_{m.start()}"
mapping[cle] = m.group(0)
masque = masque.replace(m.group(0), f"[{cle}]")
return masque, mappingLLM 看到的是“[EMAIL_0_42] 已订购 [IBAN_FR_3_158]”,而不是真实标识符。如果回答需要重新注入这些值(例如用于确认邮件),我们会在之后进行反向替换,绝不会在 API 调用中进行。
2)DPA——谁需要签署什么
- 你 ↔ Kunavo:Kunavo 不提供 RGPD 第 28 条 DPA。你的请求会在美国处理,并传输给上游提供商;这些提供商各自的隐私和数据保留政策适用于相关内容
- 你 ↔ 模型提供商:如果你的处理活动需要 DPA,请直接按照 Anthropic、OpenAI 或 Google 的企业条款与其签署
- 标准合同条款(SCC):对于传输至美国的场景(Anthropic、OpenAI),请确认你与提供商签署的 DPA 中包含经欧盟委员会批准的 SCC
3) 零数据保留(ZDR):直接与提供商签署
默认情况下,Anthropic 和 Google 会分别保留提示词日志 30 天(Anthropic)/ 60 天(Google),用于滥用监控。对于涉及 GDPR 的工作负载:
- Kunavo:不提供 ZDR。请求会先经过我们在美国的网关,然后传输给上游提供商;这些提供商各自的数据保留政策适用
- Anthropic ZDR:Anthropic 向企业客户提供,需直接与 Anthropic 签订合同
- Google Vertex AI EU:需直接与 Google Cloud 签订合同,可将路由配置到 europe-west1(比利时)或 europe-west4(荷兰)——数据不会离开欧盟。Kunavo 不提供任何欧盟区域
- OpenAI:仅 Enterprise 层级提供 ZDR,需直接与 OpenAI 签订合同
Mistral 与数据主权问题
许多法国团队希望减少对美国企业的依赖。需要考虑三个角度:
- 通过 Kunavo 使用 Mistral:不可以。目录中没有任何 Mistral 模型或其他欧洲供应商,也不存在仅路由至欧洲供应商的选项
- 直接使用 Mistral:对于真正敏感的场景(公共部门、医疗),Mistral 提供本地部署。Kunavo 无法替代这一需求
- 结合两者:敏感场景直接使用 Mistral,强推理场景通过 Kunavo 使用 Claude。这是两个供应商和两组密钥,由您的代码决定每次调用发送到哪里
日志托管与数据驻留
- Kunavo 路由:网关位于单一区域(US-East,Ashburn)。只有部署在您附近的 Anycast 边缘节点负责终止 TLS
- 账户持久化与计费:只有一个位于 US-East 的主数据库,并对数据库卷进行每日加密快照。不提供仅限欧盟的路由或欧盟区域存储,即使提出请求也不例外
- 你的应用日志:由你负责将其托管在欧盟境内(OVH、Scaleway、Hetzner)。不要让自己成为薄弱环节
向数据主体提供信息——需要说明的内容
如果您让 LLM 处理个人数据,隐私政策必须对此进行说明。最低限度的模板:
我们通过 Kunavo(https://kunavo.com)以外包处理方式使用人工智能模型(Anthropic Claude、Google Gemini、OpenAI GPT),用于以下目的:[分类、摘要、生成回复等]。个人数据会在传输前进行假名化处理。Kunavo 不使用这些数据训练模型;每个模型提供商会根据其自身的隐私和数据保留政策处理这些数据。根据 RGPD 第 15 至 21 条,你享有访问、更正、反对和删除的权利。
投入生产前需要检查的事项
- 与每个分包处理方签署 DPA(直接与模型提供商签署:Kunavo 不提供 DPA)
- 处理活动记录为最新版本
- 已在真实样本上测试假名化(泄漏率 < 0.1 %)
- 日志位于欧盟区域
- 已制定响应第 17 条请求(删除权)的流程
- 隐私政策已更新并可访问
- 如果属于大规模或敏感处理,已咨询 DPO
准备开始了吗?免费注册,然后从 10 美元起充值。