仕組み
· 5分で読めます

元に戻せる匿名化の仕組み:コードと対応表はどこに置かれるか

執筆:Amine Gaaliche · Claudeで下書きを作成し、内容は人が確認したうえで手作業で編集しています

文書を外部に渡すとき、氏名や番号をコードに置き換え、戻ってきた文書で元の値に戻す方法があります。受け取った側にはコードしか見えません。元に戻すための対応表は、コード化したパソコンの中に残ります。この方法を安心して使えるかどうかは、コードそのものよりも、対応表をどこに置くかで決まります。

黒塗りでも、そのままでもない方法

法律事務所が数百件の賃貸借契約書を外部の業者に渡し、条項の確認を頼む場面を考えます。医師が他院の専門医に意見を求め、診療記録を送る場面もあります。どちらも文書はいったん外に出て、結果が戻ってきたら、誰の話なのかを手元で確かめる必要があります。

この場面で黒塗りを使うと、値が文書から完全に消えるため、戻ってきた報告書は「黒塗りの部分」と書くことしかできません。かといって、そのまま渡せば相手は氏名を読めます。外部の業者に扱いを任せる以上、個人情報保護法第25条の「委託を受けた者に対する必要かつ適切な監督」の義務がかかります。弁護士には弁護士法第23条の守秘義務があり、医師や弁護士が業務上知った秘密を正当な理由なく漏らせば、刑法第134条の秘密漏示罪にも当たります。

コード化は、この二つの間をとる方法です。氏名を[P0ABCD]のような形式のコードに置き換えて渡し、戻ってきた文書や回答をデコードすると、コードが元の値に戻ります。

コードの形

コードは、角かっこの中に、種類を表す英字1文字と、それに続く英数字を並べたものです。英字は種類ごとに決まっています。主なものは次のとおりです。

英字情報の種類
P氏名
O組織名
A住所
L地名
D日付
Eメールアドレス
T電話番号
Xパスポート番号
R運転免許証番号
Kマイナンバーや法人番号など、専用の英字がない種類

コードの長さは、置き換える文字列の長さに合わせて決まります。PDFでは、元の文字列が占めていた幅に合わせて伸縮して配置されます。そのため、表のセルからはみ出したり、署名欄に不自然な空白が残ったりしません。

英字に続く部分は、コード台帳ごとに異なる秘密の値をもとに作られます。名簿を手に入れた人がいても、どの氏名がどのコードになるかを前もって計算できません。上の[P0ABCD]も形を示すための例で、特定の氏名に対応するものではありません。

コードが通用する範囲

同じフォルダーの中では、同じ値にいつも同じコードが付きます。3ページ目の貸主と40ページ目の署名者が同じ人物だと、読み手にもAIにも伝わります。フォルダーに入れていない文書では、その文書の中だけで同じコードが保たれます。

別のフォルダーでは、同じ値にも別のコードが付きます。フォルダーどうしは互いのコードを参照しません。また、新しいコードを作るたびにコード台帳全体と照らし合わせて重複を避けるので、異なる値に同じコードが付くことは、フォルダーをまたいでもありません。

フォルダーで区切ることには、不便な面と守りになる面があります。案件を二つのフォルダーに分けると、同じ人物に二つのコードが付くため、フォルダーをまたいで人物を追えません。その代わり、コード化した文書が外に漏れても、コード台帳がなければコードから元の値はわかりませんし、ある案件のコードから別の案件の人物をたどることもできません。

例外は一つだけで、「設定」>「コード」の「コードを追加」から手で登録したコードは、すべてのフォルダーで共通に使われます。それ以外で同じコードを使いたい文書は、同じフォルダーにまとめてください。

対応表はコード台帳に保存されます

コードと元の値の対応は、コード台帳という、パソコンの中のSQLiteファイルに保存されます。デコードもそのパソコンの中で行われます。対応表をクラウドに置けば、守ろうとした情報を他社のサーバーに預けることになります。この点は、法律文書のPDFをクラウドを使わずに黒塗りする方法でも取り上げています。

コード台帳は、特別な鍵をかけた保管場所ではなく、パソコンの中にある通常のファイルです。これは意図した設計です。コード化する前の元の文書も同じパソコンに保存されているので、台帳だけを厳重にしても、守れる情報は増えません。台帳は元の文書と同じく、パソコンそのもののサインインやアクセス権の管理で守ります。

エクスポートしたファイルの扱い

コード台帳は、コードと元の値を一覧にしたJSONファイルとしてエクスポートできます。同僚に対応関係を渡すときには便利です。ただ、このファイルをコード化した文書と一緒に送ると、受け取った人は文書の中の人物をすべて元に戻せます。二つを同じ相手に渡さないでください。サポートへの問い合わせやログにも添付しないでください。

ダウンロードする文書では、ページの表面に見えない部分も処理します。メタデータ、代替テキスト、フォーム欄に残っている値もコードに置き換わり、処理前に作られたページの縮小画像は削除されます。

ただし、置き換えられるのは検出された値だけです。愛称やイニシャルは見落とされることがあるため、検出結果を一つずつ確かめる確認の手順は欠かせません。既定では、確認済みにするまで文書をダウンロードできません。

よくある質問

コード化した文書も、個人情報にあたりますか?

コード台帳を持っている側にとっては、個人情報のままです。個人情報保護法第2条第1項第1号は、他の情報と容易に照合して特定の個人を識別できるものも個人情報に含めています。手元の台帳と照合すれば氏名に戻せる以上、この定義にあてはまります。言葉の使い分けは「匿名化」と呼べる条件を扱った記事で説明しています。

別々の人に同じコードが付くことはありますか?

ありません。コード台帳の中のコードは、フォルダーにかかわらずすべて異なります。フォルダーによって変わるのは逆の向きで、同じ人物にフォルダーごとに別のコードが付きます。

元に戻すための対応表は、どこに保存されますか?

コード化したパソコンの中のコード台帳です。台帳がパソコンの外に送られることはなく、デコードもそのパソコンの中で行われます。

コード台帳をエクスポートすると、何が起きますか?

すべてのコードと元の値を並べた、誰でも読めるファイルができます。コード化した文書と一緒に渡すと、文書の中の人物がすべてわかってしまいます。

役に立った場合は、拍手でお知らせください。

共有