AIプロンプトでPIIをマスキングするとは、テキストをChatGPT、Claude、Geminiに貼り付ける前に、個人を特定する詳細(名前、連絡先、口座番号やID番号、生年月日)を中立的なラベルに置き換えることだ。AIに必要な役割、金額、出来事の日付は残し、誰が本人なのかを示す情報をすべてマスキングしたうえで、送信前にマスキング済みのテキストをもう一度読む。
PIIとは何か、個人データとどう違うのか
PIIは、Personally Identifiable Information(個人を特定できる情報)の略だ。米国の連邦政府のガイダンスで使われる用語である。 OMB Circular A-130 では、単独で、または個人に関連付けられる、あるいは関連付け可能な他の情報と組み合わせて、個人の身元を区別または追跡するために使用できる情報と定義している。 NIST SP 800-122は、PIIの機密性を保護するためのNISTのガイドであり、氏名、社会保障番号、生年月日と出生地、生体記録のほか、医療、財務、雇用に関する詳細など個人に関連付けられる情報を例として挙げている。
EUと英国では、異なる用語が使われている。 GDPR第4条第1項および UK GDPRの同じ条項では、個人データを「特定された、または特定可能な自然人に関するあらゆる情報」としており、位置データ、オンライン識別子、個人の身体的、経済的、文化的、社会的な特性に固有の要素による識別も含む。
プロンプトにおいては、違いの大部分は考え方の習慣によるものだ。「PII」と考える人は、名前、社会保障番号、メールアドレスなどの項目を探す傾向がある。GDPRの定義では、文章をほかの情報とあわせて読んだとき、特定の人物が分かるかどうかも考える必要がある。依頼者がEUまたは英国にいる場合は、このより広い定義に従って作業すること。特定のAI利用が自社にとって合法かどうかは、マスキングツールではなく、弁護士またはデータ保護責任者に相談する問題だ。
一見無害な情報が積み重なる理由
識別子は2つのグループに分けられる。直接識別子は、それ自体で個人を特定する。たとえばフルネーム、パスポート番号、メールアドレスだ。準識別子は、それだけでは個人を特定しないが、候補を絞り込む。郵便番号、生年月日、職位、まれな診断名などがある。
準識別子によって候補がどれだけ速く絞られるかを示す有名な測定結果は、Latanya Sweeneyによるものだ。1990年の米国国勢調査データを用いて、彼女は 『Simple Demographics Often Identify People Uniquely』 で、米国人口の87%は、5桁のZIPコード、性別、生年月日の3項目だけで一意に特定される可能性が高いと推定した。その後の Philippe Golleによる再分析 では、2000年国勢調査の場合、数値は約63%とされた。いずれにせよ、ありふれた情報3つだけで、ほとんどの人を特定するのに十分だった。
プロンプトでは、準識別子は通常、自由記述の中に隠れている。「リーズ事務所で唯一の女性パートナー」「昨春、メインストリートのパン屋を売却した依頼者」などだ。 AIに文書を送る前に削除すべき情報 の一覧では、このような組み合わせを種類ごとに取り上げている。
マスキング、墨消し、仮名化:AIに残る情報
この3つの言葉は、曖昧に使われることが多い。プロンプトで重要なのは、それぞれの方法によってAIがどのような情報を引き続き使えるかだ。次の一文を例にしよう。「Anna Weberは5月3日にTom Haleへメールを送り、AnnaはTomの請求書に異議を申し立てている。」
| 方法 | この文は次のようになる | AIが引き続きできること | 名前を復元できるか? |
|---|---|---|---|
| 墨消し(削除または塗りつぶし) | 「[█████]は5月3日に[█████]へメールを送り、[█████]は[█████]の請求書に異議を申し立てている。」 | できることは少ない。誰が書いたのか、誰が異議を唱えているのか、誰に支払われるべきなのかは分からない。 | いいえ |
| 種類を示すラベルでマスキング | 「[名前]は5月3日に[名前]へメールを送り、[名前]は[名前]の請求書に異議を申し立てている。」 | 登場人物が人間だとは分かるが、それぞれが誰なのかは分からない。 | いいえ |
| 仮名化(一貫したプレースホルダー) | 「Person_1は5月3日にPerson_2へメールを送り、Person_1はPerson_2の請求書に異議を申し立てている。」 | 誰が何をしたのかを追い、同じ表現で回答できる。 | はい。プレースホルダーと名前を結び付ける表を自分の側で保管していれば可能だ。 |
ほとんどのAIタスクでは、同一人物に一貫したプレースホルダーを付けることで、AIが話の流れを追えるため、最良の回答が得られる。GDPRではこれを 仮名化 (第4条第5項)と呼び、結果も個人データとして扱う。当社の記事 匿名化、仮名化、墨消し では、3つの用語を詳しく説明している。
プロンプトでマスキングすべき情報と残すべき情報
個人を特定する情報はマスキングし、質問の主題となる情報は残す。
| マスキングする情報 | 残す情報 |
|---|---|
| 個人や会社の名前、愛称、イニシャル | 役割:買主、賃借人、従業員、当社の依頼者、相手方 |
| メールアドレス、電話番号、番地を含む住所 | 回答に関係する場合の国や法域 |
| 口座番号、IBAN、カード番号、税番号やID番号、事件番号や保険証券番号 | 金額。ただし、金額そのものから依頼者が特定される場合を除く |
| 生年月日 | 出来事の日付:署名日、通知日、支払日、期限 |
| 個人を絞り込む自由記述の詳細:珍しい職位、小さな町、名前の挙がった親族 | 質問の要となる事実を一般的な表現にしたもの |
「生年月日をマスキングする」ことの一般的な例外は年齢だ。回答が18歳以上かどうか、または退職年齢に近いかどうかによって決まるなら、生年月日の代わりに年齢または「65歳以上」と記載する。
短いプロンプトを、変更前と変更後で比較してみよう。
Before:
Maria Lopez (born 12 March 1981, maria.lopez@example.com) rents
a flat from Greenfield Lettings Ltd. Her deposit of $2,400 was not
returned after she moved out on 30 June. What can she do?
After:
Person_1 (born Date_1, Email_1) rents a flat from Company_1.
Person_1's deposit of $2,400 was not returned after Person_1 moved
out on 30 June. What can Person_1 do? Keep the placeholders as written.
回答がその情報に左右されるため、金額と退去日は残す。生年月日が質問に関係ないなら、マスキングするのではなく削除する。
マスキングの3つの方法
手作業の場合
短いプロンプトなら、自分でテキストを読み、各識別子を置き換える。作業しながらプレースホルダーの一覧をメモに書き留める(Person_1 = Maria Lopez)。そうすれば、同じ人物には常に同じラベルが付く。手作業でのマスキングには時間がかかり、長いテキストでは失敗しやすい。12回出てくる名前を11回しか置き換えないこともある。
パターンの検索と置換を使う
識別子の中には決まったパターンがあるものがあり、正規表現を使った検索ですべてを一度に見つけられる。Notepad++やVS Codeなどのテキストエディターはこの機能に対応しており、Wordにも独自の構文によるワイルドカード検索がある。まず試す2つのパターンを挙げる。
Email: [A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}
IBAN: \b[A-Z]{2}[0-9]{2}(?: ?[A-Z0-9]){11,30}\b
IBANのパターンは、 SWIFT IBAN Registry:2文字の国コード、2桁のチェックディジット、それに続く最大30文字の英数字。パターンで検出できるのは形式であり、意味ではない。「オー・セブン・セブン」と書かれた電話番号は見逃し、名前が見つかることもない。
検出ツールを使う
検出ツールは、パターンに加えて名前、会社名、地名も探す。長い文書では手作業よりはるかに速いが、どのツールもすべてを検出できるわけではない。オープンソースの検出ツールキット Presidio のドキュメントも、これを明言している。自動検出を使用するため、「Presidioがすべての機密情報を見つける保証はない」。
したがって、検出後の確認が必要だ。ツールが見つけたものを確認し、姓にもなる通り名など、誤検出を除外する。その後、検出されなかった情報を探すためにテキストを読む。愛称、小文字で書かれた名前、名前は出ていないが描写されている人物などだ。 仮名化ツールで確認すべきこと では、利用可能なツールの種類を比較している。
ClientSafeでは、文書を案件に追加すると、PC上で名前、会社名、住所、電話番号、メールアドレス、口座番号とID番号、生年月日を検出する。個人データではないものの選択を解除し、検出されなかった情報を追加する。その後、安全なコピーをAIチャットに貼り付ける。同じ案件内のすべての文書で、同じ人物には同じプレースホルダーが使われる。
プレースホルダーを含む回答が返ってくる
マスキングは双方向に機能します。AIはあなたが使った表現で回答するため、「Maria Lopezは…に尋ねることができます」ではなく、「Person_1はCompany_1に…を尋ねることができます」と回答します。上の例のように、プレースホルダーをそのまま維持するようAIに伝えると、その可能性が高まります。
実名を戻すのはチャット内ではなく、自分のコンピューター上で行います。プレースホルダーの一覧を使って検索と置換を行うか、マスキングに使ったツールを使います。その後、復元した回答を一度確認してください。AIが変更したプレースホルダー(「Person_1」ではなく「Person 1」など)は、元に戻っていない可能性があります。 AIの回答で実名を復元する方法についてのガイド では、置換と復元の手順を順を追って説明しています。
よくある質問
マスキングされたテキストは匿名ですか?
通常はそうではありません。プレースホルダーと名前を対応させる表を保持している場合、そのテキストは仮名化されており、GDPRの下でも個人データです。マスキングによってAIサービスに渡る情報は減りますが、そのテキストがデータ保護法の対象外になるわけではありません。
会社名もマスキングすべきですか?
依頼者の会社名と、小規模な家族経営の会社など、依頼者を特定できる会社名はマスキングしてください。質問に必要であれば、取引先や契約相手として記載された大規模な上場企業の名前は、そのまま残せることがよくあります。
マスキングするとAIの回答の質は落ちますか?
プレースホルダーに一貫性があれば、ほとんどありません。AIには誰が何をしたかが引き続き分かります。回答に必要な情報、たとえば国や人の年齢までマスキングすると、回答の質は落ちます。その情報は一般化した形で戻してください。
個人データを無視するようAIに指示するだけではだめですか?
だめです。AIが指示を読む時点で、データはすでに送信されています。マスキングは貼り付ける前に行う必要があります。
ClientSafe PC上で氏名、住所、電話番号、メールアドレス、口座番号やID番号、生年月日をプレースホルダーに置き換え、AIの回答に実名を戻します。検出は完全ではないため、コピーする前に一覧を確認してください。