shannonmcgivney/consent-preflight

公開前に10分で実行できるプライバシーチェック。vibeコーディングで作成したアプリ、ランディングページ、コースサイト、ファネルを公開する前に「ユーザーがAcceptをクリックする前にトラッキングが行われていないか」を10項目の合否チェックで確認します。チェックに失敗した場合はconsent-auditとconsent-gateに引き継ぎます。Lovable、Bolt、v0、Replitで構築する学生向けの教材としても利用できます。「公開しようとしている」「ローンチ準備完了」「公開前チェック」「新しい」といったタイミングで使用します。

consent-preflight とは?

このスキルは、vibeコーディングで素早く構築されたアプリやサイトを公開する前に、プライバシー上の重大なミスを防止するための包括的なプリフライトチェックを提供します。特に、トラッキングピクセルがユーザーの同意なしに発火する「同意前トラッキング」の問題を10項目の合否チェックで検出します。各チェックは、実際のネットワークリクエストの監視(事前にクッキーをクリアしたタブで実施)、ページ上のクッキーの有無、ホスト側のアドオン設定、拒否(Reject)機能の動作確認などをカバーしています。1~4および7~8のチェックに失敗した場合は公開を禁止し、consent-auditによる完全なインベントリとconsent-gateによる修正を促します。5、6、9のみ失敗した場合は修正後に公開可能です。また、教育用のガイダンスも含まれており、学生が実際にDevToolsでトラッキングの発火を目視することで理解を深める「見せて教える」アプローチを推奨しています。Claude Codeのスキルとして実装されており、コマンドラインからの実行が可能です。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/shannonmcgivney/consent-before-tracking/tree/HEAD/skills/consent-preflight

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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)による追加リスクが生じます。レッスンページにはピクセルを配置しないでください。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

関連スキル