外部LLMサービスを使いたいエンジニアのための個人情報保護の論点まとめ
対象読者
- OpenAIやGemini, Claudeなどの外部LLMサービスを利用して個人情報を扱う時の法務的観点について知りたいWebエンジニア
この記事は何?
- 個人情報を外部LLMサービスで処理したい場合の個人情報保護法上の論点については、STORIA法律事務所さんの「生成AIへのプロンプト入力時における個人情報保護法上の論点まとめ」が詳しく、これを読めば十分
- しかし、上記記事は何も知らない素人がいきなり読むにはちょっとつらい。読んでもイメージを湧きにくいところがあると思う。
- 本記事では、上記記事の副読本として、法律に詳しくないWebエンジニアが読んでも「なんとなく分かった気になる」程度の理解を目指す
- 特に、「新機能を実装したい!」という前のめりな立場で個人情報保護法に向き合う場合に、「どうやってそれぞれの条文を理解すればいいのか」の「気持ち」を理解できるようになる
- 具体的には、「なんとかして個人情報の委託にしたい!」という気持ちでクラウド例外の条文を読めばよい、とかを伝える
具体的な状況例
具体的な状況があった方が読みやすいと思うので、以下の状況を想定することにします。
Aくんは、Webサービスを運営しているエンジニアです。OpenAIなどの外部のLLMサービスを用いて、新機能の開発を企画しています。
Webサービスは、すでに数年続いており、ユーザデータもだいぶ溜まっています。
利用規約やプライバシーポリシーは数年前のサービス開始時に作成して以来ほとんど変更しておらず、当然LLMの利用は想定されていません。
Aくんが新機能の企画案を上司に見せたところ、「面白そうだが、法的に可能なのかわからん。実現可能性の検討のために、法的な論点だけでも整理してきてほしい」と指示されました。
重要な用語
まず、問題を大づかみするため、重要な用語を説明します。
個人情報保護法
- 企業が個人情報を扱う時の取得や利用のルールを定めたもの。
政府広報オンライン『「個人情報保護法」をわかりやすく解説 個人情報の取扱いルールとは?』より 2024/08/06取得
AくんのWebサービスは、利用者から様々な情報を取得していますが、これらの情報は個人情報保護法の範囲内で扱わなければいけないようです。Aくんは個人情報保護法について調べ始めました。
個人情報
政府広報オンライン『「個人情報保護法」をわかりやすく解説 個人情報の取扱いルールとは?』より 2024/08/06取得
- 個人を特定できる情報のこと。
- さらに、他の情報と照合することで個人を特定できる情報も含まれます。
- 詳しいことはこの後に述べますが、多くの人が思っているよりも「個人情報」の定義は広く、かつ曖昧なので注意が必要です。
Aくんは、UserIDやメールアドレスなどの情報が個人情報であることは知っていました。
しかし、ユーザの投稿文などのテキストデータなども、簡単なSQL文でUserアカウントと紐づけ可能であるため、個人データとして扱われる可能性が高いようです。
投稿データ自体には、外部の人間が読んでも個人を特定できるだけの情報量はないため、個人情報として扱う必要はないだろう、とAくんは考えていましたが、どうやら違うようです。雲行きが怪しくなってきました。
個人データ
第16条第3項 「個人データ」とは、個人情報データベース等を構成する個人情報をいう。
- 個人情報のうち、データベース上などで管理されている情報のこと。
- 個人データではない個人情報よりも、管理上要求される項目が多くなります。(→表)
- 基本的に、エンジニアが扱う個人情報であればデータベース上で管理されているので、イコール個人データであると考えていいでしょう。
Aくんが使いたいユーザ投稿のテキストデータは、ユーザアカウントのデータと共に、MySQL上に管理されています。
どうやら「個人データ」に該当するため、管理上気にしないといけないことがたくさんありそうです。
本人の同意
第21条 個人情報取扱事業者は、個人情報を取得した場合は、あらかじめその利用目的を公表している場合を除き、速やかに、その利用目的を、本人に通知し、又は公表しなければならない。
- 基本的に、個人情報は、この個人情報の提供元の個人から同意を得て取得する必要があり、そのときに合意した利用目的の範囲内でしか利用できません。
- 普通のWebサービスでは、会員登録時などに、利用規約やプライバシーボリシーへの同意のチェックを求めるはずです。そこに書かれている内容の範囲でしか、個人情報を利用することはできません。
AくんのWebサービスでは、会員登録時に「プライバシーポリシーへの同意」を取得していました。プライバシーポリシーの利用目的の中には「新機能の開発のため」が含まれているため、今回の開発のために個人データを使うこと自体は問題なさそうです。ひとまずほっとしました。
個人データの第三者への「提供」/「委託」
第27条 個人情報取扱事業者は、次に掲げる場合を除くほか、あらかじめ本人の同意を得ないで、個人データを第三者に提供してはならない。
第5項 次に掲げる場合において、当該個人データの提供を受ける者は、前各項の規定の適用については、第三者に該当しないものとする。
第1号 個人情報取扱事業者が利用目的の達成に必要な範囲内において個人データの取扱いの全部又は一部を委託することに伴って当該個人データが提供される場合
- 個人データを第三者に送信する場合、それが提供なのか委託なのかによって法的な扱いがだいぶ異なります。
- 提供とは、「個人データを第三者が利用可能な状態で置くこと」(参考)です。
- 個人データを第三者に提供する場合は、本人の同意が必要です。
- 一方で、個人データの委託の場合は、本人の同意が必要ありません。
仮に個人データの「提供」扱いになった場合、「取得した個人データをOpenAIに提供する」ことの同意をユーザから得ないといけませんが、当然ながらAくんのWebサービスのプライバシーポリシーにはそんな記述はありません。
しかし、Aくんがプライバシーポリシーの改定について上司に確認したところ、プライバシーポリシーや利用規約の改訂しようとすると、法人の契約者一社一社に確認を取らなければならない。大変な事務コストがかかる。すくなくとも、改訂できるのは1年は先になるだろう。なんとか避けられないか、と言われました。
なんとか個人データの「委託」扱いに収められないでしょうか。
外国にある第三者への提供
第28条 個人情報取扱事業者は、外国(我が国と同等の水準にあると認められる個人情報の保護に関する制度を有している外国として個人情報保護委員会規則で定めるものを除く)にある第三者に個人データを提供する場合には、あらかじめ外国にある第三者への提供を認める旨の本人の同意を得なければならない。
- EU・イギリスを除く海外の事業者に個人データを送信する場合、「外国にある第三者への提供」に該当し、本人の同意が必要になります。
- これは、国によっては国家機関などが合法的に情報にアクセスできてしまうからです。例えば、アメリカでは「愛国者法(現在は米国自由法)」によって、FBIなどが通信内容を監視することが合法化されています。
- これはサーバ所在地ではなく、サービスを提供する事業者が所在する国を指します。(Q12-11)
AくんはOpenAI公式のAPIを利用することを考えていましたが、OpenAIはアメリカの企業であるため、OpenAI公式のAPIを利用するとなると「外国にある第三者への提供」に該当してしまうようです。
少なくとも、プライバシーポリシーに提供先の国名を追記する必要がありますが、プライバシーポリシーの改訂は避けたいと言われたばかりです。
なんとか「外国にある第三者への提供」に該当しないようにできないものでしょうか。
考えるべき問題と関連用語
個人情報か?
扱っている情報が個人情報でなければ、個人情報保護法のことを考慮しなくてよくなります。
しかし、多くの人が思っているよりも「個人情報」の定義は広く、曖昧です。
以下に詳しく説明しますが、ある情報が「個人情報」なのかどうかは、明確に区分できるわけではなく、状況依存的であり、程度の問題だと言えます。
おそらく、この記事を読んでいる人の多くは、ユーザ投稿の長文のテキストデータをLLMで扱いたいのではないかと思いますが、この場合「確実に個人情報が入らないようにする」のはかなり厳しいと思います。個人的には、この路線は早めに見切りをつけた方がいいかなと思います。
照合容易性
「他の情報と容易に照合することができ、それにより特定の個人を識別することができることとなるもの」は個人情報に含まれますが、これを照合容易性と呼びます。
個人情報保護委員会は、「特定の個人を識別することができる情報に割り当てられている識別子 (例:顧客ID 等)と共通のものが割り当てられていることにより、事業者内部において、特定の個人を識別することができる情報とともに参照することが可能な場合、他の情報と容易に照合することができると解され得る」(Q1-19)と回答しています。
「事業者内部において」と書かれているので、提供先のOpenAIなどからは個人情報に見えなくても、Aくんから(内部データベースと紐づけすることで)特定の個人アカウントとデータの紐づけが可能である場合、個人データとして扱われてしまいます。一定の長さのあるテキストデータであれば、SQLのLIKE検索などを用いることで容易に1レコードに絞れると思われるので、個人データ扱いを避けるのはなかなか難しいでしょう。
組み合わせによる特定
一つ一つの情報では個人を特定できなくても、複数の情報の組み合わせで個人が特定できてしまう場合、それも個人情報として扱われることになります。例えば、年代や性別、所在地などの情報単体であれば個人を特定できなくても、その組み合わせが登録ユーザの中に1人しかいない場合、それらの情報は個人情報となる可能性があります。
本人の同意取得は可能か?
個人情報保護法は、「本人の同意の範囲内での個人情報の取扱」を事業者に求めているだけなので、本人の同意取得が容易なのであれば、それで全て解決!となります。
一方で、プライバシーポリシーを変更だけでは、過去に取得したデータをすぐに使えるようになるわけではありません。改めて「本人の同意」を取り直す必要があることに注意してください。
同意というのも結構奥が深いテーマですが、ここでは深入りしません。
この記事では、Aくんと同様、プライバシーポリシーの変更や、同意取得の取得が難しいことを前提に先に進みます。
同意取得については、↓が参考になりました。
良いウェブサービスを支える「利用規約」の作り方
「委託」扱いにできるか?
個人データの第三者提供ではなく、「委託」扱いにできれば、同意取得は必要ありません。
なので、なんとかして「委託」扱いにできるかどうかが論点になります。
第27条には、たくさんの「例外」があるのですが、一番重要なのは「クラウド例外」です。
クラウド例外
クラウド例外というのは、一言でまとめると、PaaSやIaaSなどのサービスを利用して外部サーバーを借りてるだけなら、提供ではなく委託扱いでいいですよ、というルールです。(個人情報保護委員会 Q7-53より)
より詳細には、契約条項によって当該外部事業者(ex: Azure, GCP, Amazon)がサーバに保存された個人データを取り扱わない旨が定められており、適切にアクセス制御を行っている場合であれば、委託扱いにできます。
STORIA法律事務所さんの「生成AIへのプロンプト入力時における個人情報保護法上の論点まとめ」では、クラウド例外についての検討が記事の2/3を占めています。
提供先企業が、プロンプトのデータをLLMの学習データに用いている場合、明らかに個人情報の利用目的を逸脱するので、「委託」では扱えません。
一方で、学習データとして使われない場合、APIによる外部LLMサービス利用がクラウド例外に当てはまるかどうかは法律家によっても意見が分かれるようです。
2023年6月2日に出た「生成AIサービスの利用に関する注意喚起等」が、この難しい論点について個人情報保護委員会が見解を示した資料になっています。
STORIA法律事務所さんのブログ曰く、入力したプロンプトが、学習には使われず単に結果を出力する目的でのみ扱われる場合、個人データの第三者提供にはあたないと読むことができる、とのことなので、基本的にはプロンプトを学習データとして使わない場合のLLMのAPI利用にはクラウド例外は適用される可能性が高い、と考えて良さそうです。少なくとも現時点で個人情報保護法違反として有罪になった判例は存在しないということなので、委託として扱ったからといって、今すぐ訴えられるといった事態は考えにくいと思われます。
多少リスクを取っても良いという事業者が攻めの姿勢で検討するなら、ひとまず委託として処理しておき、個人情報保護委員会などから別の見解が出た場合には、即座に本人の同意を取り直せるように準備しておく・・・という進め方が妥当でしょうか。
この論点の検討については、社内の法務部門の確認を通す、弁護士の確認を通す、など、なるだけ多くの人を巻き込んでおくと、より安全にプロジェクトを進めやすくなるでしょう。(いざというときに、「弁護士の確認は通しました!」と言えることは大事そう)
一方で、ほんの少しでもレピュテーションリスク(周囲からの評判が落ちるリスク)を避けたい!という立場なのであれば、リスクがある領域ではあるので、ちょっと考えてもいいかもしれません。
参考: Google Cloud ホワイトペーパー 個人情報保護法(日本)
国内で扱えるか?
現在LLMサービスを提供している企業、例えばGPT-4を提供するOpenAIや、Claudeを提供するAnthropicはアメリカの企業です。
そのため、これらのサービスを利用すると「外国にある第三者への提供」に該当してしまいます。
例えばAzureには日本マイクロソフト株式会社、AWSにはアマゾン ウェブ サービス ジャパン合同会社(AWS Japan) という日本法人があります。
これらの事業者との契約であれば、「外国にある第三者への提供」に該当せずに使うことができそうです。
例えばAWSの場合、「日本国内にあると確認されたAWSアカウントはAWS Japanが担当する」とのことなので、Amazon Bedrock経由でClaudeを使う場合は、「外国にある第三者への提供」に該当せずに使うことができそうです。
一方、Googleの場合、日本法人もありますが、普通にGoogle Cloudに申し込んで利用する場合の契約先は日本法人ではないようです。
他の観点
大まかな論点は上記に示しましたが、他に考慮すべきことをつらつら書いておきます。
- 安全監督措置や委託先の監督義務など、「当然行うべき注意」はする必要がある。
- 倫理的な観点やユーザの感情。
- 特に個人情報保護は炎上などにつながりやすいテーマでもあり、法的にOKならオールOKというわけではない。
- 法人ユーザなどの要望。例えば、データを海外サーバーに起きたくない、など。
- 総務省のクラウドサービス利用・提供における適切な設定のためのガイドラインには、「データセンタが海外に置かれる場合は、外国の法律などの適用を受ける可能性がある」ため、「特に機密性の高いデータを扱う場合は、データセンタ所在国、所在地域及び運用体制などを確認する。」ようにと記載がある。大企業などはこの基準を守るため、データセンタ所在地を日本に固定してくることがある。
- 利用目的の記述の具体性や範囲。
- 最近の流れとして、記述の明確さや、適正な範囲の狭さが求められます。曖昧な記述、どうとでも解釈できるような広い記述や、サービスの性質からして不適切だと思われるような利用目的は、利用規約に書いてあっても後から無効になることもあるとか。
おわりに
LLMに関する法務周りについて調べたことをまとめてみました。
書き忘れたこととかたくさんありそうですが・・・。
エンジニアが法務検討するのつらいですよね。
同じように苦しんでる人の助けになれば幸いです。
もし記述に誤りがあれば教えてくれると嬉しいです。
むしろ他人にツッコまれたくて記事を書いたと言っても過言ではない。
リージョン周りはAzureが「グローバルデプロイ」という新しい概念を出してきたりしてまたややこしくなっているので、時間があれば改めてまとめたいです。
Discussion