個人を識別できる情報を適切に管理・保護すること
AI・データの利用は社会に影響します。 公平性・透明性・プライバシーを最初から設計に組み込みましょう。
本ページでは 個人情報保護 を、 定義・前提条件・使い方・落とし穴の順に整理して解説します。 厳密な定義より、 まず何を、 いつ、 どう使うかを理解することを優先してください。
個人を識別できる情報を適切に管理・保護すること
英語名 Personal Information Protection。 同義・関連語:個人情報。
この用語を理解・使用するときは、 次のような前提を意識してください:
SSDSE-B-2026 のような公的統計データを Python で扱う際の基本パターン:
1 2 3 4 5 6 7 8 9 10 11 12 | import pandas as pd import numpy as np # データ読み込み df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='utf-8', skiprows=1) print(df.shape) print(df.dtypes) print(df.describe()) # 「個人情報保護」の文脈で扱う場合の例: # 分野: 倫理 # 関連手法は同カテゴリの他用語を参照してください。 |
具体的なコードは AI倫理・公平性 を参照してください。
分析結果を報告するときに含めるべき情報:
個人情報保護 は、 個人の権利利益を保護しつつ、 個人情報の有用性に配慮することを目的とする日本の法律枠組み。 2003 年制定、 2020 年改正で「仮名加工情報」「個人関連情報」が新設されました。
| 区分 | 個人特定 | 本人同意 | 第三者提供 |
|---|---|---|---|
| 個人情報 | 可能 | 必要 | 原則同意 |
| 仮名加工 | 困難 | 緩和 | 原則不可 |
| 匿名加工 | 不能 | 不要 | 公表で可 |
| 統計情報 | 対象外 | 不要 | 自由 |
1 2 3 4 5 6 | # 個人情報該当判定 : 列名スキャン
import pandas as pd
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='utf-8', skiprows=1)
pii_keys = ['name', 'phone', 'email', 'address', 'id']
pii = [c for c in df.columns if any(k in c.lower() for k in pii_keys)]
print('個人情報候補:', pii or 'なし') |
1 2 3 4 5 | # 匿名加工情報 : 識別子の置換
import hashlib
df['anon_id'] = df['Prefecture'].apply(
lambda s: 'P' + hashlib.md5(s.encode()).hexdigest()[:6])
print(df[['Prefecture','anon_id']].head(5)) |
1 2 3 4 | # 仮名加工情報 : 復元キーを別管理
mapping = dict(zip(df['Prefecture'], df['anon_id']))
reverse = {v: k for k, v in mapping.items()}
print('復元:', reverse.get(df['anon_id'].iloc[0])) |
1 2 3 | # 統計情報(集計値)化 : 都道府県内平均
agg = df.groupby('Prefecture')['A1101'].mean()
print(agg.head()) |
| 加工区分 | SSDSE-B | 結合可能性 | 再識別リスク |
|---|---|---|---|
| 生データ | 不適用 | — | — |
| 仮名加工 | 可 | 内部のみ | 低 |
| 匿名加工 | 可 | 公開可 | 極低 |
| 統計情報 | 公開 | 常時可 | ゼロ |
| 集計値 | SSDSE 該当 | 公開 | ゼロ |
1 2 3 4 5 6 | import pandas as pd, hashlib
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='utf-8', skiprows=1)
df['pref_hash'] = df['Prefecture'].apply(
lambda s: hashlib.sha256(('SALT_2026_'+s).encode()).hexdigest()[:10])
df_p = df.drop(columns=['Prefecture','Code'])
print(df_p[['pref_hash']].head()) |
1 2 3 4 5 | def k_anonymity(df, qi_cols):
g = df.groupby(qi_cols).size()
return g.min(), g.idxmin()
k, smallest = k_anonymity(df, ['Prefecture'])
print(f'k={k}, smallest group={smallest}') |
1 2 3 | def l_diversity(df, qi_cols, sensitive):
return df.groupby(qi_cols)[sensitive].nunique().min()
print('l:', l_diversity(df, ['Prefecture'], 'A1101')) |
日本の個人情報保護法は 2003 年制定。 2015 年改正で個人情報保護委員会の設置、 2017 年に施行。 2020 年改正で「仮名加工情報」「個人関連情報」が新設。
2022 年改正で外国第三者提供の要件強化、 漏洩通知の義務化、 罰金の引き上げ(最大 1 億円)が実施。
GDPR との整合化が進み、 2019 年に日本企業の EU データ取扱に関する「十分性認定」が成立。 越境ビジネスを後押ししています。