implementing-data-protection-by-default について
GDPR 第25条のデータ保護のデフォルト設定を、収集・処理・保存期間・アクセスの各面で実践するためのセキュリティスキルです。実装チェックリストと検証手順により、厳格なプライバシー設定をシステムの初期状態にする方法を示します。
主な機能
- 01必要最小限の個人データ収集
- 02任意の処理をデフォルトで無効化
- 03目的に応じた保存期間の設定
- 04個人データへのアクセスを初期状態で制限
- 05技術実装チェックリスト
- 06デフォルト保護の検証手順
活用シーン
- 01登録フォームの初期項目の確認
- 02分析やマーケティングが初期状態で無効か確認
- 03データ区分ごとの保存期間の設定
- 04サポート画面で個人データがマスクされるか検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mukul975/ privacy-data-protection-skills --skill implementing-data-protection-by-defaultインストール後、Claude Code で/implementing-data-protection-by-defaultを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/template.mdreferences/standards.mdworkflows.mdscripts/process.py詳細
デフォルトでのデータ保護の実装
概要
GDPR 第 25 条第 2 項は、管理者に対し、デフォルトで、処理の各具体的な目的に必要な個人データのみが処理されるよう、適切な技術的および組織的措置を実施することを求めています。この義務は、次の 4 つの側面に適用されます。
- 収集する個人データの量
- 実施する処理の範囲
- 保存期間
- 個人データへのアクセス可能性
GDPR 第 25 条に関する EDPB ガイドライン 4/2019 では、「デフォルトで」とは、データ主体が何も操作しなくても、最も厳格なプライバシー設定が自動的に適用されることを意味すると明確にしています。データ主体がプライバシーを保護するために操作を行う必要はありません。システムが自動的に保護します。
デフォルト設定による保護の 4 つの側面
側面 1:データ収集の最小化(量)
原則: デフォルトでは、主要なサービス目的に厳密に必要なデータ項目のみを収集します。追加のデータ収集には、明示的なオプトインが必要です。
| デフォルト状態 | オプトイン後の状態 | 例 |
|---|---|---|
| コア項目のみ | 拡張プロフィール | アカウント作成時に収集するのはメールアドレスと表示名のみです。電話番号、住所、写真は、ユーザーが請求または配送機能を有効にした場合にのみ収集されます |
| 位置情報なし | 位置情報を利用する機能 | モバイルアプリはデフォルトで位置情報の許可を求めません。位置情報に依存する機能をユーザーが有効にした場合にのみ許可を求めます |
| 行動追跡なし | 分析へのオプトイン | ウェブサイトは分析 Cookie を読み込まずに表示されます。Cookie バナーでユーザーが同意した後にのみ追跡が開始されます |
| 最小限のフォーム項目 | 段階的な情報開示 | 登録フォームには必須項目が 3 つ表示されます。任意項目は、ユーザーが「詳細情報を追加」をクリックした場合にのみ表示されます |
Prism Data Systems AG の実装:
Prism Data Systems AG でのデフォルトの顧客登録では、email、display_name、country_code の 3 項目のみを収集します。国コードは、適用されるデータ保護法を判断するため、規制遵守に必要です。その他の項目(電話番号、請求先住所、会社名、役職)は、それらを必要とする機能(請求モジュール、エンタープライズ統合、サポートへのエスカレーション)をユーザーが有効にした場合にのみ収集されます。
側面 2:処理の最小化(範囲)
原則: デフォルトでは、主要な目的のためにのみデータを処理します。二次的な処理(分析、プロファイリング、マーケティング)には、明示的なオプトインが必要です。
| 処理活動 | デフォルト状態 | 必要なオプトイン |
|---|---|---|
| コアサービスの提供 | 有効(Art. 6(1)(b)) | いいえ |
| 製品分析 | 無効 | はい — 設定センターの同意トグル |
| マーケティングコミュニケーション | 無効 | はい — 登録時の個別の同意 |
| 推奨のためのプロファイリング | 無効 | はい — 説明を伴う明示的なオプトイン |
| 第三者とのデータ共有 | 無効 | はい — 第三者名と目的の明示 |
| 自動意思決定 | 無効 | はい — Art. 22 に基づく明示的な同意 |
Prism Data Systems AG の実装: Prism Data Systems AG の新規顧客アカウントでは、すべての任意の処理活動がデフォルトで無効になっています。アカウントダッシュボードには 5 つの処理トグルが表示され、すべて OFF に設定されています。
- 製品分析:OFF
- マーケティングメール:OFF
- 機能の推奨:OFF
- ML トレーニング用の利用データ:OFF
- 匿名ベンチマークへの貢献:OFF
ディメンション 3:最小限の保存期間
原則: デフォルトでは、正当化できる最短の保存期間を適用します。より長い保存期間には、特定の法的義務に結び付いた根拠が必要です。
| データカテゴリ | デフォルトの保存期間 | 保存期間の延長(根拠あり) |
|---|---|---|
| セッションデータ | セッション終了時に削除 | 該当なし |
| サーバーログ | 90日 | 12か月(セキュリティ調査) |
| 顧客アカウントデータ | アカウントの存続期間+30日 | +法定期間(請求に関する税務記録:10年間) |
| サポートチケット | クローズ後1年間 | 3年間(時効期間) |
| マーケティング同意記録 | 同意期間+3年間 | +5年間(説明責任、Art. 7(1)) |
| 分析データ | 13か月 | 該当なし(最長期間) |
Prism Data Systems AG の実装: Prism Data Systems AG の保存ポリシーエンジンは、各データカテゴリに対してデフォルトで最短の保存期間を適用します。保存期間の延長は、法定要件が文書化されているデータカテゴリにのみ適用されます(税務記録:スイス債務法第958f条に基づき10年間)。その他すべてのデータには、目的に基づく最短の保存期間が適用されます。
ディメンション 4:最小限のアクセス範囲
原則: デフォルトでは、個人データへのアクセスを必要最小限の役割に制限します。より広範なアクセスには明示的な承認が必要です。
| 役割 | デフォルトのアクセス | アクセス権の拡大(根拠が必要) |
|---|---|---|
| カスタマーサポート(Tier 1) | マスキング済みの個人情報のみ(m***@domain.ch) | マスキング解除済みの個人情報(タイムアウト30分、チケット参照が必要) |
| 分析チーム | 仮名化されたデータのみ | 直接識別子へのアクセス不可 |
| エンジニアリングチーム | 本番環境の個人情報へのアクセス不可 | 緊急時アクセス(二重承認、ログ記録、期間限定) |
| マーケティングチーム | 集計統計のみ | 個人単位のデータへのアクセス不可 |
| DPO | コンプライアンス調査のためのフルアクセス | 監査証跡付きの継続的なアクセス |
| 外部監査人 | 匿名化されたサンプル | NDA に基づく目的限定のアクセス |
Prism Data Systems AG の実装: Prism Data Systems AG では、新しい従業員アカウントに個人データへのアクセス権を一切付与しない状態でプロビジョニングします。アクセスはアクセスリクエストのワークフローを通じて目的ごとに付与され、マネージャーの承認と DPO への通知が必要です。アクセス権は90日後に失効し、更新が必要です。Tier 1 サポートダッシュボードでは、デフォルトでデータが動的にマスキングされます。
技術的な実装チェックリスト
ユーザーインターフェイスのデフォルト設定
- すべての同意トグルのデフォルトを OFF(チェックなし)にする
- プライバシー設定ページにメインナビゲーションからアクセスできるようにする
- 任意のデータ収集項目を事前に選択しない
- ダークパターンを使用しない(誤解を招くボタンラベル、「すべて承諾」の視覚的な強調など)
- Cookie バナーのデフォルトを「すべて拒否」とし、「すべて承諾」と同等に目立つようにする
- 登録フォームには、デフォルトで必須項目のみを表示する
- 通知設定のデフォルトを最小限(取引に関する通知のみ)にする
- プロフィールの公開範囲のデフォルトを非公開(公開ではない)にする
- サードパーティごとにデータ共有トグルのデフォルトを OFF にする
- プロフィールの検索エンジンへのインデックス登録のデフォルトを OFF にする
バックエンドのデフォルト設定
- API エンドポイントで許可リストにないフィールドを拒否する(想定外のフィールドには 400 を返す)
- 新しいデータベーステーブルに TTL メタデータ列をデフォルトで含める
- より長い期間が明示的に設定されない限り、デフォルトの保存期間を自動的に適用する
- 分析データの取り込み境界で、デフォルトで仮名化を適用する
- すべての個人情報列で、デフォルトでフィールドレベルの暗号化を有効にする
- すべてのサポートダッシュボードと運用ダッシュボードに動的マスキングルールを適用する
- すべての個人データアクセスについて、デフォルトで監査ログを有効にする
- すべての分析出力で、最小グループサイズ(11)を適用する
- デフォルトで目的をまたぐデータアクセスをブロックする(互換性評価が必要)
- データ最小化評価が完了していない場合、新しいサービスのデプロイをプライバシーゲートで失敗させる
アクセス制御のデフォルト設定
- 新入社員アカウントは、個人データへのアクセス権が一切ない状態でプロビジョニングされる
- アクセス権の付与は、デフォルトで90日後に期限切れになる
- 拡張アクセスには、文書化された正当な理由と承認が必要
- 緊急時アクセスは記録され、24時間以内にレビューされる
- DPAの締結までは、第三者のアクセスはデフォルトで無効
- APIキーのアクセス範囲は、必要最小限のデータカテゴリに限定される
コミュニケーションのデフォルト設定
- すべての新規アカウントで、マーケティングコミュニケーションは無効
- トランザクションメールのみ(アカウント確認、セキュリティアラート)
- プッシュ通知は、デフォルトでセキュリティアラートのみに制限
- ニュースレターの購読には、個別のオプトインが必要
- パートナーからのコミュニケーションは、デフォルトで無効
デフォルト設定の検証プロセス
-
新規アカウントの監査 — 標準の登録フローからテストアカウントを作成します。任意の処理が有効になっていないこと、マーケティングコミュニケーションが予定されていないこと、収集されるデータ項目が最小限であることを確認します。
-
ダッシュボードの点検 — Tier 1 サポートエージェントとしてログインします。すべてのPIIがデフォルトでマスキングされており、マスキング解除には正当な理由を添えた明示的な操作が必要であることを確認します。
-
APIテスト — 許可リストにない追加フィールドを含めてAPIリクエストを送信します。追加フィールドが拒否されること(HTTP 400)を確認します。
-
保持期間の検証 — 新しく作成されたレコードに、最小保持期間に従ってTTLメタデータが設定されていることを確認します。
-
分析結果の出力 — 標準の分析クエリを実行します。結果が仮名化されていること、最小グループサイズが適用されていること、差分プライバシーのノイズが適用されていることを確認します。
主な規制上の参考資料
- GDPR Article 25(2) — デフォルト設定によるデータ保護
- GDPR Article 25(1) — 設計段階からのデータ保護
- GDPR Recital 78 — デフォルト設定によるデータ保護のための技術的措置
- EDPB Guidelines 4/2019 on Article 25, Section 3: デフォルト設定によるデータ保護
- CJEU C-673/17 (Planet49) — 事前にチェックされたボックスは同意に該当しない
- EDPB Guidelines 05/2020 on consent — 同意は自由意思に基づくものであり、デフォルト設定によるものではない