ブログ一覧へ戻る
コンプライアンス·2026年5月25日·読了7分

フランスの LLM 向け RGPD 準拠 — 仮名化、DPA、主権

Claude / Gemini / GPTをGDPRに準拠してデプロイするための完全なチェックリスト:PIIの仮名化コード、誰と第28条のDPAを締結するか、AnthropicおよびGoogleとの直接契約によるZero Data Retention、MistralとAI主権の問題、ログのホスティング、本人への通知。

フランス企業向けにLLM(Claude、Gemini、GPT)をGDPRに準拠して導入するための完全なチェックリスト:データの仮名化、データ処理契約(DPA)、Zero Data Retention、ログのホスティング、そしてMistral/データ主権の問題。

規制上の最低要件

  1. すべての外部LLM呼び出しの前にPIIを仮名化する
  2. DPA Article 28 RGPDを、データを処理する各委託先と締結します。Kunavoは提供していないため、処理に必要な場合はモデルプロバイダーと直接契約してください
  3. 各LLM呼び出しの目的を含む、最新の処理記録を維持する
  4. データ主体への通知:プライバシーポリシーにAIの利用を記載する

1)仮名化 — すぐに使えるコード

プロンプトがバックエンドから出る前に、直接識別子をトークンに置き換えます。対応表はローカルに保持します。

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, mapping

LLMに表示されるのは、実際の識別子ではなく「[EMAIL_0_42]が[IBAN_FR_3_158]を注文しました」です。レスポンスに値を再挿入する必要がある場合(確認メールなど)は、API呼び出しの後に逆置換を行い、API呼び出しの中では決して行いません。

2) DPA — 誰が何に署名するのか

  • あなた ↔ Kunavo:KunavoはDPA Article 28 RGPDを提供していません。リクエストは米国で処理され、アップストリームプロバイダーへ転送されます。コンテンツには、それらのプロバイダー自身のプライバシーポリシーとデータ保持ポリシーが適用されます
  • あなた ↔ モデルプロバイダー:処理にDPAが必要な場合は、Anthropic、OpenAI、またはGoogleと、それぞれのエンタープライズ規約に基づいて直接締結してください
  • 標準契約条項(CCT):米国への移転(Anthropic、OpenAI)については、プロバイダーと締結するDPAに欧州委員会が承認したCCTが含まれていることを確認してください

3) Zero Data Retention(ZDR):プロバイダーと直接契約

デフォルトでは、AnthropicとGoogleは不正利用の監視のため、プロンプトのログをそれぞれ30日間(Anthropic)/60日間(Google)保持します。GDPR上センシティブなワークロードでは:

  • Kunavo:ZDRなし。リクエストは米国の当社ゲートウェイを経由し、その後アップストリームプロバイダーへ送られます。データには各プロバイダー自身の保持ポリシーが適用されます
  • Anthropic ZDR:Anthropicがエンタープライズ顧客に提供。Anthropicとの直接契約が必要です
  • Google Vertex AI EU:Google Cloudと直接契約すれば、europe-west1(ベルギー)またはeurope-west4(オランダ)へのルーティングが可能で、データはEU域外に出ません。KunavoはEUリージョンを提供していません
  • OpenAI:EnterpriseティアでZDRを提供。OpenAIとの直接契約が必要です

Mistralと主権に関する問題

多くのフランスのチームは、米国の事業者への依存を減らしたいと考えています。検討すべき3つの観点があります:

  • Kunavo経由のMistral:不可。Mistralモデルも他の欧州プロバイダーもカタログに含まれておらず、欧州プロバイダーに限定したルーティングもありません
  • Mistralを直接利用:本当にセンシティブなケース(公共部門、医療)では、Mistralがオンプレミス展開を提供しています。Kunavoはこのニーズを代替しません
  • 両方を組み合わせる:センシティブなケースにはMistralを直接利用し、高度な推論にはKunavo経由でClaudeを利用します。2つのプロバイダーと2つのキーを使い、各呼び出しをどこに送るかはあなたのコードが選択します

ログのホスティングとデータレジデンシー

  • Kunavoのルーティング:ゲートウェイ内の単一リージョン(US-East、Ashburn)で行われます。手前に配置されたAnycast edgeだけが、あなたの近くでTLSを終端します
  • アカウントの永続化と請求:US-Eastに単一のプライマリデータベースがあり、ボリュームの暗号化された日次スナップショットを保存します。EU-onlyルーティングもEUリージョンでの保存も、依頼があっても提供しません
  • アプリケーションログ:EU(OVH、Scaleway、Hetzner)でホストするのはお客様の責任です。弱点にならないようにしてください

データ主体への通知 — 伝えるべきこと

LLMに個人データを処理させる場合、プライバシーポリシーにその旨を記載する必要があります。最小限のテンプレート:

Kunavo(https://kunavo.com)を通じて、人工知能モデル(Anthropic Claude、Google Gemini、OpenAI GPT)を委託処理のために使用します。目的は次のとおりです:[分類、要約、回答生成など]。個人データは送信前に仮名化されます。Kunavoはこれらのデータをモデルのトレーニングに使用しません。各モデルプロバイダーは、独自のプライバシーポリシーおよびデータ保持ポリシーに従って処理します。RGPD第15条から第21条に基づき、アクセス、訂正、異議申立て、消去の権利を行使できます。

本番環境への導入前に確認すること

  • 各委託先とDPAを締結(モデルプロバイダーと直接契約。Kunavoは提供していません)
  • 処理活動の記録が最新であること
  • 実データのサンプルで仮名化をテスト済みであること(漏えい率 < 0,1 %)
  • EUリージョン内のログ
  • 第17条の請求(消去権)に対応する手順
  • 更新され、アクセス可能なプライバシーポリシー
  • 大規模またはセンシティブな処理の場合にDPOへ相談済みであること

始める準備はできましたか?無料登録後、10ドルからチャージできます。