別名・略称:(なし)
GDPR(General Data Protection Regulation):EU 一般データ保護規則
GDPR は法律で、 数式はない。 規制の構造を表すと:
違反時の罰金額計算例:
実例:Meta(旧Facebook)に 12 億ユーロ の罰金(2023年、 米国への越境移転)。
SSDSE-B-2026(47 都道府県・2023 年データ)を題材にした最小コード:
1 2 3 4 5 6 7 8 9 10 11 | # GDPR 対応の最低限:個人情報を匿名化する例 import pandas as pd import hashlib df = pd.read_csv('data/raw/customer_data.csv', encoding='utf-8') # メアドをハッシュ化(一方向) df['email_hash'] = df['email'].apply( lambda x: hashlib.sha256(x.encode()).hexdigest() ) df = df.drop(columns=['email', 'name', 'phone']) # PII 削除 |
GDPR (General Data Protection Regulation) は 2018 年 5 月施行の EU データ保護法。 EU 域内に所在する個人のデータを扱う者すべてに適用され、 違反時の制裁金は世界年商の 4% または 2,000 万ユーロのいずれか高い方。
| 条文 | 根拠 | SSDSE で該当する場合 |
|---|---|---|
| 6.1.a | 同意 | アンケート再収集時 |
| 6.1.b | 契約履行 | 該当少 |
| 6.1.c | 法的義務 | 統計法 |
| 6.1.e | 公共の利益 | 学術・教育 |
| 6.1.f | 正当な利益 | 研究分析 |
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)
personal_keys = ['name','email','phone','address','dob']
found = [c for c in df.columns if c.lower() in personal_keys]
print('個人特定列:', found or 'なし — 集計値のみ') |
1 2 3 4 | # k-匿名性の最小サイズを確認
min_group = df.groupby('Prefecture').size().min()
print(f'最小グループサイズ k = {min_group}')
# 都道府県単位は k=1 だが、 各セル値が集計値なのでリスクは低い |
1 2 3 4 5 | # 仮名化(pseudonymization)の例
import hashlib
df['hash'] = df['Prefecture'].apply(
lambda s: hashlib.sha256(s.encode()).hexdigest()[:8])
print(df[['Prefecture','hash']].head()) |
1 2 3 4 5 6 7 8 | # データ保持期間ポリシー
policy = {
'data': 'SSDSE-B-2026',
'retention_days': 365 * 5,
'purpose': 'education',
'lawful_basis': 'public interest (Article 6.1.e)',
}
print(policy) |
| 項目 | SSDSE での扱い | GDPR 観点 |
|---|---|---|
| 個人特定 | 不可(集計) | リスク低 |
| 利用目的 | 教育・研究 | Article 5.1.b |
| 保存期間 | 対応必要 | Article 5.1.e |
| 透明性 | 出典明示 | Article 12-14 |
| 第三者提供 | 派生分析共有 | Article 13 |
1 2 3 4 5 6 | import pandas as pd, datetime
dsr = pd.DataFrame([
{'id':1,'type':'access','at':'2026-04-01','status':'done'},
{'id':2,'type':'erasure','at':'2026-04-15','status':'in_progress'},
])
print(dsr) |
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)
destinations = ['JP','US','EU','SG']
for d in destinations:
needs_scc = d not in ['JP'] and d != 'EU'
print(f'to {d} : SCC required = {needs_scc}') |
1 2 | k = df.groupby('Prefecture').size().min()
print(f'最小グループサイズ k={k} (集計データなのでリスク低)') |
GDPR は 2016 年 4 月採択、 2 年間の準備期間を経て 2018 年 5 月 25 日に施行。 1995 年のデータ保護指令(95/46/EC)を全面更新したものです。
EU は 2024 年に AI Act を採択し、 GDPR と相互補完する形で AI に関する追加規制を整備。 さらに DSA(Digital Services Act)、 DGA(Data Governance Act)も施行。
日本との関係では、 2019 年に「十分性認定」を相互に取得し、 EU→日本の個人データ移転が緩和。 2023 年に再評価され、 引き続き有効と認められました。