cookie-audit について
cookie-auditは、プライバシー担当者やウェブチーム向けのCookie監査手順ガイドです。検出、分類、コンプライアンス上の差分分析、報告、継続的な監視を扱います。
主な機能
- 01監査範囲とスキャンの計画
- 02Cookieとトラッキング技術の検出
- 03目的別のCookie分類
- 04同意と開示の差分確認
- 05監査報告と継続的な監視
活用シーン
- 01サイトとサブドメインの追跡技術の棚卸し
- 02Cookie同意方式の確認
- 03デプロイ前の新規Cookieの審査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mukul975/ privacy-data-protection-skills --skill cookie-auditインストール後、Claude Code で/cookie-auditを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/template.mdreferences/standards.mdworkflows.mdscripts/process.py詳細
ウェブサイトの Cookie とトラッカーの監査
概要
Cookie 監査は、Cookie 同意に関するコンプライアンスを達成するための基本的なステップです。ウェブサイトで使用されるすべての Cookie とトラッキング技術を、体系的に特定、分類、記録します。欧州連合司法裁判所は、Planet49 GmbH v. Bundesverband der Verbraucherzentralen(事件番号 C-673/17、2019 年 10 月 1 日)において、事前にチェックが入ったチェックボックスは ePrivacy 指令に基づく有効な同意とはみなされず、ユーザーは同意する前に Cookie の有効期間と第三者によるアクセスについて通知されなければならないと定めました。徹底的な監査により、どのような同意を取得し、どのような情報を開示する必要があるかが明らかになります。
監査方法
フェーズ 1:準備
スキャンを実施する前に、Pinnacle E-Commerce Ltd の監査範囲を記録します。
| パラメーター | 値 |
|---|---|
| プライマリドメイン | www.pinnacle-ecommerce.com |
| 対象サブドメイン | shop.pinnacle-ecommerce.com、account.pinnacle-ecommerce.com、blog.pinnacle-ecommerce.com |
| 認証が必要なページ | はい — 顧客アカウント、チェックアウトフロー |
| モバイル専用ページ | m.pinnacle-ecommerce.com |
| サードパーティ統合 | Google Analytics 4、Meta Pixel、Hotjar、Stripe、Intercom |
| スキャン頻度 | 四半期ごと(次回:2026 年第 2 四半期) |
フェーズ 2:自動スキャン
スキャンツールを導入し、すべての Cookie とトラッキング技術を捕捉します。
ブラウザーを使用したスキャン
ヘッドレス Chromium インスタンスを使用してサイトをクロールし、次の項目を捕捉します。
Set-Cookieヘッダーで設定されるファーストパーティ Cookiedocument.cookieJavaScript API で設定されるファーストパーティ Cookie- 埋め込みリソースによるサードパーティ Cookie
- LocalStorage と SessionStorage のエントリー
- IndexedDB データベース
- ピクセルとビーコン(1x1 の画像リクエスト、
navigator.sendBeacon()の呼び出し) - ブラウザーのフィンガープリンティングスクリプト(canvas、WebGL、AudioContext)
ネットワークレベルでの捕捉
HTTP/HTTPS トラフィックを監視し、次の項目を特定します。
- URL クエリー文字列内のトラッキングパラメーター(utm_*、fbclid、gclid)
- トラッキングドメインを経由するリダイレクトチェーン
- サードパーティ間での Cookie 同期
- サーバー間のデータ共有エンドポイント
フェーズ 3:Cookie の分類
各 Cookie を、ePrivacy Directive 第 5 条 3 項に沿った ICC UK Cookie Guide のカテゴリに分類します。
カテゴリ 1:厳密に必要 ウェブサイトの機能に不可欠な Cookie です。第 5 条 3 項の適用除外により、同意は不要です。
Pinnacle E-Commerce Ltd の例:
| Cookie 名 | ドメイン | 期間 | 目的 |
|---|---|---|---|
| session_id | .pinnacle-ecommerce.com | Session | ユーザーセッションの状態を維持します |
| csrf_token | .pinnacle-ecommerce.com | Session | クロスサイトリクエストフォージェリを防止します |
| cart_items | shop.pinnacle-ecommerce.com | 24 hours | ショッピングカートの内容を保存します |
| auth_token | account.pinnacle-ecommerce.com | 30 minutes | 認証状態を保持します |
| load_balancer | .pinnacle-ecommerce.com | Session | サーバー負荷を分散します |
カテゴリ 2:パフォーマンス/分析 利用状況の集計データを収集する Cookie です。同意が必要です。
| Cookie 名 | ドメイン | 期間 | 目的 |
|---|---|---|---|
| _ga | .pinnacle-ecommerce.com | 2 years | Google Analytics のクライアント ID |
| _ga_XXXXXXX | .pinnacle-ecommerce.com | 2 years | GA4 のセッションを維持します |
| _gid | .pinnacle-ecommerce.com | 24 hours | GA4 のセッションを区別します |
| hjSessionUser* | .pinnacle-ecommerce.com | 1 year | Hotjar のユーザーを識別します |
| hjSession* | .pinnacle-ecommerce.com | 30 minutes | Hotjar のセッションデータ |
カテゴリ 3:機能 ユーザー設定を記憶する Cookie です。厳密に必要な場合を除き、同意が必要です。
| Cookie 名 | ドメイン | 期間 | 目的 |
|---|---|---|---|
| locale | .pinnacle-ecommerce.com | 1 year | 言語設定 |
| currency | shop.pinnacle-ecommerce.com | 1 year | 通貨の選択 |
| recently_viewed | shop.pinnacle-ecommerce.com | 30 days | 最近閲覧した商品 |
カテゴリ 4:ターゲティング/広告 広告のターゲティングやサイトをまたいだトラッキングに使用される Cookie です。常に同意が必要です。
| Cookie 名 | ドメイン | 期間 | 目的 |
|---|---|---|---|
| _fbp | .pinnacle-ecommerce.com | 90 days | Meta Pixel のブラウザー ID |
| _fbc | .pinnacle-ecommerce.com | 90 days | Meta のクリック識別子 |
| _gcl_au | .pinnacle-ecommerce.com | 90 days | Google Ads のコンバージョンリンカー |
| IDE | .doubleclick.net | 13 months | Google の広告配信 |
| fr | .facebook.com | 90 days | Meta の広告配信と効果測定 |
フェーズ 4:ギャップ分析
特定した各 Cookie について、Planet49 の要件を満たしているか確認します。
Planet49 準拠チェックリスト:
- 能動的な同意の仕組み:事前にチェックされたボックスではなく、クリックやトグルなどの積極的な操作によって同意を取得していますか?(Planet49、第 62 段落)
- 同意前の情報提供:同意を得る前に、ユーザーに以下の情報を伝えていますか?
- Cookie の有効期間(Planet49、第 81 段落)
- 第三者がアクセスできるかどうか(Planet49、第 81 段落)
- 各 Cookie カテゴリの具体的な目的
- 個別の選択:すべてを受け入れるだけでなく、ユーザーが Cookie カテゴリごとに同意できますか?
- Cookie ウォールなし:必須ではない Cookie に同意しなくても、サイトにアクセスできますか?
- 同意の撤回方法:ユーザーは同意したときと同じくらい簡単に、同意を撤回できますか?
ギャップ分析テンプレート:
| Cookie | カテゴリ | 同意の取得 | 有効期間の開示 | 第三者の開示 | ギャップ |
|---|---|---|---|---|---|
| _ga | 分析 | はい | いいえ — 「2 年」ではなく「永続的」と記載 | いいえ — Google の名前が記載されていない | 有効期間と第三者に関する開示 |
| _fbp | ターゲティング | はい | はい | はい | なし |
| locale | 機能 | いいえ | いいえ | 該当なし | 厳密に必要かどうかを評価 |
フェーズ 5:レポート作成
Pinnacle E-Commerce Ltd の監査レポートには、以下を含める必要があります。
- エグゼクティブサマリー:検出された Cookie の総数、カテゴリー別の内訳、重大な不足事項
- Cookie の完全な一覧:名前、ドメイン、期間、目的、カテゴリー、法的根拠を記載した完全な表
- サードパーティートラッカーの一覧:データを受け取るすべてのサードパーティードメインと、共有されるデータの種類
- コンプライアンスギャップ一覧:各ギャップ、重大度(高/中/低)、是正に関する推奨事項
- Cookie ポリシーの更新に関する推奨事項:必要な具体的な文言の変更
- 同意メカニズムの評価:現在のバナーが Planet49 の要件を満たしているかどうか
- 推奨スキャンスケジュール:本番環境では四半期ごと、新機能のデプロイ時には必要に応じて実施
継続的なモニタリング
以下によって新たに導入される Cookie を検出するため、自動スキャンをスケジュールします。
- 開発者によるデプロイ(新しい分析タグやマーケティングタグ)
- サードパーティースクリプトの更新(新しい Cookie を追加するベンダー SDK の更新)
- A/B テストプラットフォームによる実験用 Cookie の追加
- CDN またはインフラストラクチャの変更
Cookie スキャンを CI/CD パイプラインに組み込みます。ステージング環境で新しい Cookie が検出された場合は、本番環境へのデプロイ前にカテゴリー分類し、記録する必要があります。
主な法的参照情報
- CJEU Case C-673/17 (Planet49) — 積極的な同意が必要です。事前にチェックされたボックスは無効です。同意を得る前に、Cookie の有効期間とサードパーティーのアクセスについて開示する必要があります。
- ePrivacy Directive 2002/58/EC, Article 5(3) — 厳密に必要な場合の例外を除き、ユーザーデバイス上の情報の保存またはアクセスには同意が必要です。
- GDPR Article 4(11) — 同意の定義:自由意思による、具体的で、十分な情報に基づく、明確な意思表示
- EDPB Guidelines 05/2020 on Consent — 有効な同意メカニズムに関する詳細なガイダンス
- ICC UK Cookie Guide (2012) — Cookie の分類フレームワーク(厳密に必要、パフォーマンス、機能、ターゲティング)
- CNIL Deliberation No. 2020-091 (17 September 2020) — Cookie およびその他のトラッカーに関するガイドライン