コンプライアンス
田中VPoE「プライバシーとセキュリティの技術的対策を学んだ。次は法的な観点だ。個人情報保護法、GDPR、業界固有の規制に対応する仕組みを構築しよう。」
あなた「技術的に正しくても、法的に問題があれば意味がないですよね。」
田中VPoE「その通り。法規制は変化し続ける。法務チームと連携しながら、技術で対応できる仕組みを作ることが重要だ。」
主要なデータ関連法規制
| 法規制 | 対象地域 | 主な要件 |
|---|
| 個人情報保護法 | 日本 | 利用目的の明示、本人同意、安全管理措置 |
| GDPR | EU | データ主体の権利、DPO設置、違反時の高額罰金 |
| CCPA/CPRA | 米カリフォルニア | 知る権利、削除権、オプトアウト権 |
| APPI改正(2022) | 日本 | 仮名加工情報、個人関連情報の規制強化 |
データ主体の権利と実装
GDPR / 個人情報保護法で保障される権利
| 権利 | 内容 | 技術的実装 |
|---|
| アクセス権 | 自分のデータを確認する権利 | データエクスポート機能 |
| 訂正権 | 誤ったデータの修正を求める権利 | データ更新API |
| 削除権(忘れられる権利) | データの削除を求める権利 | カスケード削除パイプライン |
| ポータビリティ権 | データを持ち出す権利 | 標準形式でのエクスポート |
| 異議申立権 | プロファイリングに異議を唱える権利 | オプトアウト機能 |
削除権の技術的実装
class DataDeletionService:
"""GDPR削除権への対応"""
def __init__(self, tables_config: dict):
self.tables = tables_config
def process_deletion_request(self, customer_id: str) -> dict:
"""顧客データの削除リクエストを処理する"""
results = {"customer_id": customer_id, "tables": []}
for table, config in self.tables.items():
if config["action"] == "delete":
self._delete_records(table, config["key_column"], customer_id)
elif config["action"] == "anonymize":
self._anonymize_records(table, config["columns"], customer_id)
elif config["action"] == "retain":
pass # 法的保持義務のあるデータは保持
results["tables"].append({
"table": table,
"action": config["action"],
"status": "completed",
})
# 監査ログの記録
self._log_deletion(results)
return results
TABLES_CONFIG = {
"customers": {"action": "delete", "key_column": "customer_id"},
"customer_behavior": {"action": "delete", "key_column": "customer_id"},
"orders": {
"action": "anonymize",
"columns": ["customer_name", "email", "address"],
"key_column": "customer_id",
},
"payment_records": {
"action": "retain", # 税法上7年保持義務
"key_column": "customer_id",
},
}
同意管理
# 同意管理テーブルの設計
consent_schema = {
"customer_id": "string",
"consent_type": "string", # marketing, analytics, third_party
"status": "string", # granted, revoked
"granted_at": "timestamp",
"revoked_at": "timestamp",
"version": "string", # 同意取得時の利用規約バージョン
"channel": "string", # web, app, email
}
| 同意種別 | 説明 | デフォルト |
|---|
| 必須同意 | サービス提供に必要(利用規約) | 同意必須 |
| マーケティング同意 | 広告・キャンペーンメール | オプトイン |
| 分析同意 | 行動分析・レコメンド | オプトアウト |
| 第三者提供同意 | 外部パートナーへのデータ共有 | オプトイン |
データ保持と削除のポリシー
| データ種別 | 保持期間 | 根拠 | 期限後の対応 |
|---|
| 取引データ | 7年 | 税法 | アーカイブ → 削除 |
| 顧客プロファイル | 退会後1年 | 社内規定 | 匿名化 → 削除 |
| アクセスログ | 1年 | 社内規定 | 削除 |
| 同意記録 | 同意期間 + 3年 | コンプライアンス | アーカイブ |
コンプライアンス監査チェックリスト
| 項目 | 確認内容 | 頻度 |
|---|
| データマッピング | 個人情報がどこに保存されているか | 四半期 |
| アクセス権限 | 最小権限の原則が守られているか | 月次 |
| 同意管理 | 同意状態とデータ利用が一致しているか | 月次 |
| 保持期間 | 保持期限を超えたデータが残っていないか | 月次 |
| 暗号化 | 保存時・転送時の暗号化が有効か | 四半期 |
| 監査ログ | 必要なアクセスログが記録されているか | 月次 |
まとめ
| 項目 | ポイント |
|---|
| 法規制 | 個人情報保護法、GDPR、CCPAへの対応 |
| データ主体の権利 | アクセス権、削除権、ポータビリティ権等の技術的実装 |
| 同意管理 | 同意種別ごとの管理とオプトイン/アウトの運用 |
| 保持ポリシー | 法的根拠に基づくデータ保持期間の管理 |
チェックリスト
次のステップへ
コンプライアンスの基礎を学びました。次は演習で、データガバナンスフレームワーク全体を設計してみましょう。
推定読了時間:30分