name: privacy-compliance description: コード・データ・ログ中の個人情報(PII)を検出し、取扱いを個人情報保護法・GDPR 観点で評価してマスキング・最小化・暗号化などの是正案を出すスキル。「個人情報を確認して」「PIIを検出して」「プライバシー観点でレビューして」「GDPR観点でレビューして」「GDPRチェックして」「マスキングして」「データを匿名化して」などで発動する。 metadata: version: 1.0.0 tier: experimental category: review tags: - privacy - pii - gdpr - compliance - personal-data
privacy-compliance
コードやデータに含まれる 個人情報(PII) を検出し、その取扱いが適切か(取得目的・保存・越境・委託・開示)を評価して、是正案を出す。純粋な脆弱性(agent-reviewer の security)とは別レンズで、**「個人データの取り扱い」**にフォーカスする。
注意: 本スキルは技術的・運用的な観点の支援であり、法的助言ではない。最終判断は法務・DPO の確認を要する。
原則
- データの流れを追う — PII がどこで取得され、どこに保存・送信・ログ出力されるか(source → store/sink)を追跡する
- 最小化を基本に — 必要最小限の取得・保持・公開になっているかを問う
- 明確な指摘のみ — 推測ではなく、コード/データで確認できた取扱いを指摘する
- 是正は具体的に — マスキング・暗号化・保持期間設定など、実装可能な対策を示す
ワークフロー
Step 1: 対象とコンテキストを確認する
- 対象(ソースコード / DBスキーマ / ログ出力 / API レスポンス / データファイル)を把握する
- 適用法域を確認する(日本=個人情報保護法 / EU=GDPR / 米=CCPA 等。指定が無ければ主要なものを併記)
- データの利用主体・第三者提供・委託・海外移転の有無を確認する
Step 2: PII を検出・分類する
references/checklist.md の分類に従い、対象を走査する:
- 識別子系: 氏名・住所・電話・メール・マイナンバー・各種ID
- 要配慮個人情報 / 特別カテゴリ: 健康・医療・人種・信条・犯罪歴・生体情報(GDPR special category)
- 準識別子: 単体では特定しにくいが組合せで特定し得る属性(生年月日+郵便番号+性別 等)
- 検出箇所: 変数名・カラム名・ログ文・コメント・テストデータ・固定値
検出は変数名・カラム名・正規表現的パターン(メール/電話/番号体系)と文脈から行う。
Step 3: 取扱いを評価する
references/checklist.md の法令観点チェックで、検出した PII ごとに評価する:
- 取得: 利用目的の特定・同意/根拠
- 保存: 暗号化・アクセス制御・保持期間(無期限保持になっていないか)
- 利用/出力: ログ・エラー・分析への PII 混入、マスキング有無
- 提供/移転: 第三者提供・委託先管理・越境移転(GDPR の SCC 等)
- 権利対応: 開示・訂正・削除(消去権/DSAR)に対応できる構造か
Step 4: リスク判定と是正案
| 重要度 | 基準 |
|---|---|
| Critical | 要配慮/特別カテゴリの平文保存・ログ出力、無制限な第三者送信、マイナンバーの不適切取扱い |
| Warning | 識別子の平文ログ出力・暗号化欠如・保持期間未設定・同意/根拠の欠落 |
| Suggestion | 準識別子の最小化・仮名化の推奨・アクセス制御の強化 |
是正案の選択肢: マスキング/仮名化、トークン化、暗号化(保存時/転送時)、データ最小化(取得・カラム削減)、保持期間とパージ、ログからの除外、同意・利用目的の明記。
Step 5: 出力
## プライバシーレビュー結果: [問題なし ✅ / 要対応 ❌]
### 検出した個人情報
| 種別 | 箇所 | 分類 | 取扱い | リスク |
|------|------|------|--------|--------|
| メールアドレス | user.go:42 / users.email | 識別子 | 平文ログ出力 | Warning |
### 指摘と是正案
#### 🔴 Critical: <要約>
箇所: <ファイル:行 / テーブル.カラム>
法令観点: <個人情報保護法 第X条 / GDPR Art.X(参考)>
問題: <何が・なぜ問題か>
是正案: <マスキング/暗号化/最小化 等の具体策>
### サマリー
- Critical: X / Warning: X / Suggestion: X
- 残課題: <法務確認が必要な事項>
ガードレール
| 制限 | 内容 |
|---|---|
| 法的助言ではない | 技術・運用支援に留める。最終判断は法務/DPO へ |
| 機密の取扱い | レビュー過程で実 PII を不要に複製・転記・外部送信しない |
| 推測の抑制 | 確認できた取扱いのみ指摘。不明は「要確認」とする |
| 法域の明示 | どの法令(個人情報保護法/GDPR/CCPA)を基準にしたか明記する |