FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

おまえらの個人情報の認識は間違っている

この記事はFLINTERS設立10周年ブログリレーの 111 日目の記事です。
ゾロ目ですね。

FLINTERSの森と申します。
普段はさまざまなログデータを整理・集計するチームにて、主にコードを眺める仕事をしております。

タイトルについて

主語を大きくした方がよく火がつくと聞きました。
FLINTERSのMISSION未来につながる火を灯そう となっております。

この記事では、個人情報について理解するための第1歩である 個人情報の法律上の定義 について確認していきます。

注意事項

  1. この記事は2023-12-20時点での情報を元に記載されています。
    閲覧時点でも役に立つ情報であるかはご自身でご確認ください。
  2. 著者はプログラマーであり、法律についてはなんの資格も持っていない素人です。
    裏付けが必要な事項については必ずご自身でご確認ください。
  3. この記事に登場するデータ上の個人は全て架空の人物です。
    実在する人物とは一切関係ありません。

イメージの確認

「個人情報を含むテーブル」という言葉を聞くと、どのようなものをイメージしますか?
テーブルではなくオブジェクトやエンティティなどでも影響はないのですが、今回は表にしやすいテーブルを前提に話を進めます。

まずはイメージを確認した上で、法律上どのように定義されているのかをみていきましょう。

個人情報を含むテーブルの間違ったイメージ

個人情報かどうかは列単位に判定されるという間違ったイメージ
個人情報を含むテーブルの間違ったイメージ

個人情報を含むテーブルのより正解に近いイメージ

情報のまとまりごとに個人情報かそうでないかが判定されるイメージ
個人情報を含むテーブルのより正解に近いイメージ

イメージの共有ができたところで、なぜこのようなことが言えるのかを確認していきたいと思います。
なお、テーブル設計については記事の都合上テーブル数を2個にすることを優先したため、残りの部分は脳内補完をお願いいたします。

法律文の確認

プログラミングでは一次情報やソースコードを確認することを大事だと考えているプログラマーは多いと思っています。

同様に法律の場合でも、原典を確認しに行くことは非常に重要ではないでしょうか。

日本の法律はe-Gov法令検索というサイトで検索可能です。
ドメインもgo.jpなので安心ですね。

このサイトで「個人情報」などで検索すると、個人情報の保護に関する法律(平成十五年法律第五十七号)を見つけることが可能です。
なお、情報は検索時点で最新のものに更新されるため、この記事では引用してきた法律文を元に解説します。

法律文を読む前に

普段情報処理に関わる人たちに向けて、法務関連のオブジェクトについて私の理解を情報処理関連の用語と比較して共有しておきます。

法律文

法務関係において法律文は情報処理でいうところのソースコードにあたります。
このソースコードを裁判所で実際に実行させると、裁判の対象について判定が下されるということになります。

なお、ソースコードの修正(法案作成)やレビュー(国会審議)・デプロイ(法律施行)には非常に長い時間がかかります。
参考: 国会のしくみと法律ができるまで!

ガイドライン

法務関係においてガイドラインは情報処理でいうところの公式ドキュメントにあたります。
参考: 個人情報の保護に関する法律についてのガイドライン

これらは法案を作成したグループが法案の意図や注意点を記載したものとなっており、実際の法律を読む上よりはかなり読みやすくなっています。

注意点として覚えておくべきこととして、プログラムでいうところのバグの存在があります。
ドキュメントとソースコードの挙動が違う場合にはソースコード側がドキュメントに合わせて修正されるべきですが、 当然新しい修正がデプロイされるまでの期間はソースコードに記載された通りの挙動を繰り返すことになります。

なお、ソースコードの修正(法案作成)や(以下略。

裁判

法務関係において裁判は情報処理でいうところの実行環境やインタープリターにあたります。

同じコードでも実行環境やパラメーター(裁判官や弁護士など?)が違うと違う結果になる可能性も存在するため、 控訴や上告などの「実行環境変えて再実行してくれ」リクエストが可能となっています。

ただし実行(=裁判)するコストが非常に高いため、関係者による事前レビューで裁判が行われないまま終わることも少なくありません。

なので世の中的には「多分実行すればこうなる」を前提に対応することがほとんどとなるようです。

個人情報の定義

今回の記事で対象とするのは、「平成十五年法律第五十七号 個人情報の保護に関する法律」の施行日 令和5年11月29日版より、 「第2条 第1項」の個人情報の定義についてです。

条文を引用します。

第二条 この法律において「個人情報」とは、生存する個人に関する情報であって、次の各号のいずれかに該当するものをいう。
  一 当該情報に含まれる氏名、生年月日その他の記述等(文書、図画若しくは電磁的記録(電磁的方式(電子的方式、磁気的方式その他人の知覚によっては認識することができない方式をいう。次項第二号において同じ。)で作られる記録をいう。以下同じ。)に記載され、若しくは記録され、又は音声、動作その他の方法を用いて表された一切の事項(個人識別符号を除く。)をいう。以下同じ。)により特定の個人を識別することができるもの(他の情報と容易に照合することができ、それにより特定の個人を識別することができることとなるものを含む。)
  二 個人識別符号が含まれるもの

さて、パッと見るだけで難しそうな気がしてきますね。
難しいものは「分割統治」が基本なので、分解してみていきましょう。

法律分の解釈

第1項の簡略化

この法律において「個人情報」とは、生存する個人に関する情報であって、次の各号のいずれかに該当するものをいう。

まずはこの部分だけを取り出してみましょう。

「個人情報」とは、A. 生存する個人に関する情報であって、B. 次の各号のいずれかに該当するものをいう。

つまり「個人情報」とは 「A and (any of B)」を満たすものということですね。

A. 生存する個人に関する情報

まずは「生存する個人に関する情報」について確認しましょう。

生存する

この法律上では死者は対象になりません。

ただし、「○○さんの先祖は関ヶ原の合戦で亡くなった」というような情報は「○○さん」についての情報になるので、 生存していない人が出てきたから大丈夫と判断してしまうのは危険です。

また、業務対象によってはデータの対象が生存しているかどうかが簡単にわかるものもありますが、 ほとんどのシステムでは確認が難しいものだと思われます。

そのため、この項目については生存している前提で扱った方が無難なシステムが多いと思われます。

個人に関する情報

ここを押さえると今回の主題の8割ぐらいは理解できます。

ガイドライン 通則編を要約すると、 その人物が誰かがわかるかどうかに関わらず「ある1人の人間についての情報」がこの「個人に関する情報」になります。

例えばWebでアクセスしてきたユーザーに対してセッションIDを振った場合、 そのユーザーの一連のアクセスは「ある1人の人間の行動」についての情報のため「個人に関する情報」となるわけです。
冒頭のイメージのログテーブルは全てのレコードが「個人に関する情報」ということになります。

ここまでは「生存する個人に関する情報」についてでした。

個人情報となるためにはもうひとつのアンド条件を満たす必要があります。

B. 次の各号のいずれかに該当するもの

この法律の項には号が2つあります。
そのうちどちらかを満たせば個人情報ということになります。

第1号は補足説明が長いため、シンプルにしたものをここに記載します。
元の文と適時見比べながらご確認ください。

一 当該情報に含まれる氏名、生年月日その他の記述等により特定の個人を識別することができるもの
(他の情報と容易に照合することができ、それにより特定の個人を識別することができることとなるものを含む。)

第2号は元々短めですね。

二 個人識別符号が含まれるもの

第1号からみていきましょう。

当該情報に含まれる氏名、生年月日その他の記述等により特定の個人を識別することができるもの

こちらの後半部分「氏名、生年月日その他の記述等により特定の個人を識別することができるもの」はイメージしやすいのではないでしょうか?

冒頭の間違ったイメージの図はこの部分だけを色付けしたものです。
では、何が間違っているのでしょうか?

正解は前半部分の「当該情報に含まれる」の部分ですね。

法律分の全体を見直すと以下のようにまとめ直せるものとなります。

「個人情報」とは、「生存する個人に関する情報」であって、「当該情報に含まれる氏名、生年月日その他の記述等により特定の個人を識別することができるもの」をいう。
※ この後触れるOR条件を忘れないように注意が必要です。

追加でカッコ書きの以下の情報も、情報処理業務においては重要になります。

(他の情報と容易に照合することができ、それにより特定の個人を識別することができることとなるものを含む。)

この制約があるため、他のテーブルと結合できるような「個人に関する情報」も「個人情報」の一部となります。

「容易に」の基準については裁判で争うことは可能かと思われますが、一般的に普段の業務で行うような範囲が「容易」だと言われています。
我々のお仕事では2つのAPIから取ってきたデータを加工して結合などはよく行うと思うので、この辺りは「容易に」に入りそうです。

個人識別符号が含まれるもの

こちらは難しいものではないのですが、まとめると抜け漏れが多くなるタイプのものなので詳しくは原文をご覧ください。
個人識別符号についての定義が後続の法律文に書かれています。

抜け漏れがあっても良いという人に適度にリストアップすると、以下のようなものです。 * 画像解析ソフトウェアなどの内部で使用される個人を判別するための特徴データ * マイナンバーや免許証番号など公的な証明書の記号・番号

こちらも「含まれるもの」となっているので上記と同じですね。

終わりに

冒頭のイメージ2つの違いについて、法律文を分解して確認を行いました。

拙いブログをご覧いただきありがとうございました。
楽しんでいただけた方がひとりでも居れば幸いです。

この先について

今回は個人情報の定義についてだけみていきましたが、これらを扱う上で何をどう気をつけるのかなどには一切触れませんでした。
法律上では個人情報以外にもいろいろな言葉が定義されており、それぞれに対して取り扱い時の義務や注意点などが記載されています。
システムを作る上でもこういった知識を持っていると、設計に活かせることは多いはずです。

読者の皆様の良き開発体験に少しでもお役に立てていると嬉しく思います。