Consent preflight: 公開前のチェック
教え方のポイント: vibeコーディングを使うとアプリを数時間でリリースできてしまいますが、一緒に訴訟リスクも抱えてしまいがちです。よくある落とし穴は、ページが開かれた瞬間にMeta、Google、TikTokなどのトラッキングピクセルが起動してしまうことです。カリフォルニア州では、同意なしのトラッキングは盗聴とみなされ、違反1件あたり最大5,000ドルの罰金が科せられる可能性があります。クッキーバナーがあっても、誰もクリックする前にピクセルが発火してしまっては保護になりません。バナーを表示することと、許可を待つことは全く別のことです。 解決策はAIビルダーに1つの指示を加え、それが実際に機能しているか確認することです。
覚えておくべき1つのプロンプト: 「クッキーバナーでユーザーがAcceptをクリックするまで、トラッキングピクセル、分析ツール、サードパーティスクリプトが一切読み込まれないようにしてください。」
これは法的アドバイスではありません。よくある高額なミスを検出するためのものであり、完全な認定を行うものではありません。
10のチェック項目
プレビューURLまたは公開URLに対して、新しいクッキーがないタブで実行します(Claudeの組み込みブラウザ: ストレージをクリアし、何もクリックせずに read_network_requests を実行)。コードが利用可能な場合はコードスキャンも行います:
python3 ~/.claude/skills/consent-audit/scripts/scan_trackers.py <アプリのディレクトリ>
| # | チェック内容 | 合格条件 |
|---|---|---|
| 1 | 新規訪問、クリックなし: 広告/分析/リプレイ系ドメイン(facebook、google-analytics、googletagmanager、tiktok、licdn、hotjar、clarity、posthog、segment、heycatch…)へのリクエストはあるか? | なし |
| 2 | クリック前のクッキー: _ga、_fbp、_gcl_au、_ttp、_hj*、ph_* はあるか? | なし |
| 3 | ホスト側アドオンがオフまたはゲートされているか: Lovable Visitor analytics、Vercel/Netlify/Cloudflare analytics、サイトビルダーのピクセルフィールド | オフ、またはゲートされている |
| 4 | 拒否(Reject)が機能するか: Rejectをクリックし、2ページ閲覧してもオプションのトラッカーが発火しない | はい |
| 5 | バナーが公平か: AcceptとRejectが同等に目立つ。トグルはデフォルトでオフ。オプションのトラッカーが存在しない場合は、バナーは不要(そもそも必要ない) | はい |
| 6 | 変更・撤回手段: フッターに「プライバシー設定」リンクがあり、同意の変更や撤回ができる | はい(バナーが存在する場合) |
| 7 | トラッカーに個人情報を送らない: テストアカウントでログインし、トラッカーリクエストにメールアドレスやユーザーIDが含まれていない | 送信されていない |
| 8 | 送信URLに秘密情報がない: トラッカーリクエストに ?code=、?token=、?email= や検索テキストが含まれていない | なし |
| 9 | プライバシー通知: 公開ページでフッターとサインアップ時にリンクされ、実際のベンダー名と連絡先が記載されている | はい |
| 10 | 公開範囲: 今回の公開でリリースされる未公開の変更をすべて把握しているか | リストアップされ、OK済み |
結果
PREFLIGHT: <アプリ名> - <PASS / FIX FIRST> (<日付>)
1 ✅/❌ ... 10 ✅/❌ (各行に証拠を1つ: 確認されたドメイン、見つかったクッキー、または「なし」)
Fix first: <失敗したチェック、リスク順: 1, 7, 2, 3 を優先>
- すべて合格: 公開し、公開URLでチェック1、2、4を再実行します。ホスティング側でプレビューにはなかったスクリプトが追加される場合があります。
- 1~4または7~8のいずれかが失敗: 公開しないでください。
consent-auditを実行して完全なインベントリを取得し、その後consent-gateを実行するか(またはトラッカー自体を削除する)修正します。 - 5、6、9のみ失敗:
consent-gateのバナー/通知セクションを使って修正し、その後公開します。
教育用メモ(学生向け)
- 見せて教える: 学生のサイトを新しいタブで開き、DevTools → Network で「facebook」や「google」でフィルタリングし、リロードして、バナーに触れる前にピクセルが発火するのを実際に見せてください。その瞬間が最も印象に残ります。
- トラッカーが少ない方が簡単: まだ広告を出していないのであれば、ピクセルは必要ありません。トラッカーがなければ、バナーもリスクもありません。
- 分析と自社データの違い: トラッカーをオフにしても、アプリがユーザー用に保存しているデータ(アカウント、進捗状況、フォームの回答など)は削除されません。これらはファーストパーティデータであり、プライバシー通知の対象であって、バナーの対象ではありません。
- コースサイトや動画サイト: 動画を再生するページにMetaピクセルがあると、連邦法(VPPA)による追加リスクが生じます。レッスンページにはピクセルを配置しないでください。