GDPRコンプライアンス

🔥 Vibe プロンプト

「アプリをGDPR準拠に:同意、データ削除、侵害通知、DPA。」

GDPR要件

| 条項 | 要件 | 実装 |
|------|------|------|
| 第5条 | 適法処理 | 同意チェックボックス |
| 第7条 | 同意条件 | 詳細オプトイン |
| 第15条 | アクセス権 | データエクスポートAPI |
| 第17条 | 削除権 | ユーザー削除API |
| 第20条 | データポータビリティ | JSONエクスポート |
| 第32条 | セキュリティ | 暗号化、アクセス制御 |
| 第33条 | 侵害通知 | 72時間通知システム |

同意実装

const consentTypes = {
  necessary: { required: true, label: "Essential cookies" },
  analytics: { required: false, label: "Analytics" },
  marketing: { required: false, label: "Marketing" }
};

function saveConsent(preferences) {
  localStorage.setItem('consent', JSON.stringify({
    ...preferences,
    timestamp: new Date().toISOString()
  }));
  fetch('/api/consent', { method: 'POST', body: JSON.stringify(preferences) });
}

if (JSON.parse(localStorage.getItem('consent') || '{}').analytics) {
  loadGoogleAnalytics();
}

削除権(第17条)

@app.route('/api/user/data', methods=['DELETE'])
@jwt_required
def delete_user_data():
    user_id = get_jwt_identity()
    db.execute("UPDATE users SET email = NULL, name = 'Deleted User' WHERE id = %s", (user_id,))
    db.execute("DELETE FROM user_analytics WHERE user_id = %s", (user_id,))
    db.execute("DELETE FROM sessions WHERE user_id = %s", (user_id,))
    db.execute("INSERT INTO deletion_log (user_id, deleted_at) VALUES (%s, NOW())", (user_id,))
    return jsonify({"message": "データ削除完了。監査ログは法的要件として保持。"})

DPIA

# DPIA: ユーザー分析システム

## リスク評価
| リスク | 可能性 | 影響 | 対策 |
|-------|--------|------|------|
| 再識別 | 低 | 高 | IP匿名化 |
| データ漏洩 | 低 | 中 | 暗号化 |
| 同意バイパス | 中 | 高 | 同意監査 |

## 対策
- IP匿名化
- 分析データにPIIなし
- トラッキング前に同意必須
- 14ヶ月最大保持

DPA(データ処理契約)

# DPA主要条項
1. 処理者義務
2. 副処理者(AWS, SendGrid, Stripe)
3. セキュリティ対策(AES-256, TLS 1.3, RBAC)
4. 侵害通知(48時間以内)

GDPRベストプラクティス

| プラクティス | 実装 | |-----------|------| | 法的根拠 | 同意、正当利益、契約 | | 同意の粒度 | 目的別トグル | | クッキーバナー | 非必須クッキーの前に | | データマップ | 何を、どこで、なぜ、いつまで | | DPO | データ保護責任者を任命 | | 侵害通知 | 72時間プロセス確立 | | データポータビリティ | JSON/CSVエクスポートAPI |

章のまとめ

  • コアコンセプトと原理を理解
  • 実装方法とテクニックを習得
  • 一般的な問題と解決策に精通
  • 実際のプロジェクトに適用可能

さらに読む

  • 公式ドキュメントとAPIリファレンス
  • GitHubのオープンソース例
  • 技術書とオンラインコース
  • コミュニティディスカッションと技術ブログ

会員限定無料チュートリアル

このチャプターは登録会員限定の無料コンテンツです!ログインまたは登録してすぐにロックを解除してください。

今すぐログイン / 登録