Community研究&データ分析github.com

horizonchapter/checklist-lancement-web

Web、アプリ、SaaS公開前のセキュリティ、RGPD、販売、SEO、品質チェック。公開前に必ず実施。

checklist-lancement-web とは?

このスキルは、Webサイト、Shopifyストア、アプリ、またはSaaSを公開する前に、セキュリティ、プライバシー(RGPD)、販売、SEO、品質に関する包括的なチェックリストを提供します。主な目的は、障害、法的欠陥、欠陥のある購入フローを防ぎ、公開がユーザーの決定であることを明確にすることです。 チェックリストは5つのブロックで構成されています。1) セキュリティ(HTTPS、シークレット、CORS、注入対策)、2) データ(SupabaseのRLS、バケットルール)、3) 法務と信頼(フランス/EU基準に基づく法的通知、クッキー同意、ダークパターンなし)、4) UX、SEO、コンバージョン(CTA、メタデータ、パフォーマンス)、5) 公開前の実際のテスト(フォーム、購入フロー、メール配信)。 各チェックは「OK」、「修正必要」、「該当なし」、「検証不可」のいずれかのステータスで評価され、証拠またはテストが含まれます。スキルは、開発者がコードまたはデータベースにアクセスできる場合は自動的にチェックを実行し、アクセスできない場合は正確なテスト手順をユーザーに提供します。最終レポートには、ブロッキング問題と重大度別に分類された修正案が含まれます。 このスキルは、Claude Code、Cursor、Codexなどの開発ツール環境向けに設計されており、最終公開判断はユーザーに委ねられ、法律相談の代わりにはなりません。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/horizonchapter/checklist-lancement-web/tree/HEAD/skills/checklist-lancement-web

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

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

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

ドキュメント

Web公開前チェックリスト

目的:セキュリティホール、法的欠落、壊れた購入フローがあるままWebサイト、Shopifyストア、アプリ、SaaSを公開しないこと。公開はユーザーの判断に委ねられ、あなたは確認と準備を行い、公開は行いません。

決定ルール(ブロッキング)

以下のいずれかが残っている場合は公開しない:

  • 秘密鍵やシークレットが公開されている(フロントエンドコード、Gitリポジトリ、ビルド)
  • ユーザーが他のユーザーのデータを読み取ったり変更したりできる
  • HTTPSが欠落している、または壊れている
  • RLS(または同等のもの)がプライベートデータに対して欠落している、または誤って設定されている
  • 同意が必要なトラッカーが同意前に動作している
  • 隠れたまたは誤解を招く料金がある
  • 購入または支払いフローに欠陥がある

方法

  1. プロジェクトの種類を特定する(ランディングページ、ストア、アカウントが必要なアプリ、支払いのあるSaaS)。該当しないチェックはスキップし、その旨を伝える。
  2. 以下の5つのブロックを順番に実行する。各チェックについて:ステータス(OK / 修正必要 / 該当なし / 検証不可)を、証拠またはテストとともに記述する。
  3. コードまたはデータベース(Supabase、Vercel、Shopify)にアクセスできる場合は自分で確認する。そうでない場合は、ユーザーに正確なテスト手順を提供する。
  4. 最後にレポートを作成する(下部の形式に従う)。

ブロック1 — 技術的セキュリティ

  • ドメイン全体でHTTPS、HTTPはリダイレクト、混合コンテンツなし。HSTSは検証後にのみ有効にする。テスト:http:// がリダイレクトすること。
  • セキュリティヘッダー:適切なCSP、nosniff、Referrer-Policy、iframe保護。テスト:SecurityHeaders.com。
  • シークレットはサーバーサイドのみ(秘密鍵、支払いトークン、シークレットAPIキー)。テスト:ビルドJSとGitリポジトリにシークレットがないこと。
  • サーバーサイドバリデーション(タイプ、サイズ、フィールド)。フロントエンドバリデーションのみではバイパス可能。テスト:変更されたリクエストが拒否されること。
  • 各リソースに対する権限:各オブジェクトへのIDとアクセス権の両方を確認。テスト:アカウントBがアカウントAのデータを読み取ったり変更したりできないこと。
  • SQLインジェクション/XSS:パラメータ化クエリ、フレームワークのエスケープ、生のユーザーHTMLは使用しない。テスト:HTMLテキストが実行されずに表示されること。
  • CSRFとクッキー:Secure、HttpOnly、SameSite、Cookieベースの認証の場合はCSRF対策。
  • 依存関係が最新で、重大なアラートがなく、不要なパッケージが削除されていること。
  • CORSは必要なオリジンのみに制限(アクセスバリアではない)。
  • アップロード制御:サイズ、実際の形式、拡張子、ファイル名変更、隔離されたストレージ。
  • アンチアビューズ:ログイン、メール、フォームに対するレート制限。必要に応じてTurnstileまたはCAPTCHA。
  • 管理者アカウント:MFA、アクセス制限、内部パネルは公開しない。
  • 本番モード:デバッグなし、.envの公開なし、詳細なログなし。
  • ドメインからのメール送信:SPF、DKIM、DMARC。

ブロック2 — データ(Supabaseまたは同等のもの)

  • パブリッシャブル/匿名キーは、RLSが正しい場合にのみブラウザ側で使用。service_roleキーはサーバーサイドのみ。
  • 公開されているすべてのテーブルでRLSが有効、anon/authenticatedから不要な権限を削除。
  • アクションごと(SELECT、INSERT、UPDATE、DELETE)にauth.uid()にリンクされたポリシー。3つのプロファイル(訪問者、ユーザーA、ユーザーB)でポジティブテストとネガティブテストの両方を実施。
  • Storageバケットには適切なルール(公開アバターには請求書と同じ権限を与えない)。
  • Auth:許可されたリダイレクトURL、セッションの有効期限、パスワードリセットとログアウトをテスト済み。
  • Security Advisor:未処理の重大なアラートがないこと。
  • バックアップ:実際のオプションを確認、復元テスト済み。
  • ログとアラート(5xxエラー、クォータ)でパスワードやトークンを記録しない。
  • 環境の分離(ローカル、ステージング、プロダクション)とロールバック準備完了。

ブロック3 — 法務と信頼(フランス/EU、活動内容に応じて確認)

  • 法的通知(身元、連絡先)、プライバシーポリシー(データ、目的、法的根拠、保存期間、権利、連絡先)。
  • 利用規約、販売条件(販売がある場合)、返金とクーリングオフ(該当契約の場合、2026年6月19日以降はオンラインでのクーリングオフ機能が必要)、消費者調停機関。
  • クッキー:ポリシー、同意を得るのと同じくらい簡単に拒否できるバナー、同意前にトラッカーを動作させない、各ページで選択を変更可能。
  • フォーム:収集時の情報提供、事前チェックなし、データ最小化、データパージ期間。
  • サードパーティツール(分析、ピクセル、チャット、CAPTCHA、AI)およびEU域外へのデータ転送の棚卸し。
  • ダークパターンなし、偽の緊急性なし、隠れた料金なし(支払い前に税込価格、配送料、サブスクリプション料金を表示)。
  • 偽のレビューなし、実証不可能な約束や数値なし。
  • 画像、アイコン、動画、フォントのライセンス。
  • 未成年者:フランスでは、処理が同意に基づく場合、15歳未満の保護者の同意が必要。
  • プロモーションメール内の配信停止リンクが機能していること、アカウント削除手続き。
  • データ漏洩手順(リスクがある場合、CNILに72時間以内に通知)。

ブロック4 — UX、SEO、コンバージョン

  • 明確なメインCTA、モバイルで親指で操作可能。
  • 各ページにユニークなタイトルと有用なメタディスクリプション。og:imageテスト済み。ファビコン。
  • sitemap.xml、robots.txt、canonical、プライベートページはnoindex。Search Console。
  • ステータス404を正しく返すカスタム404ページ。壊れたリンクを確認済み。
  • 本当の懸念事項に関するFAQ。約束した納期が守れること。アクション後のサンキューページ。
  • アクセシビリティ:コントラスト、キーボードナビゲーション、フォーカスの可視化、代替テキスト、200%ズーム。
  • パフォーマンス:LCP ≤ 2.5秒、INP ≤ 200ミリ秒、CLS ≤ 0.1(PageSpeedモバイルおよびデスクトップ)。画像は圧縮済み。

ブロック5 — 公開前の実際のテスト

  • フォーム:空、無効、長すぎる、サーバーエラー、ダブルクリック、成功、受信、モバイル。
  • テストモードでの購入、その後返金。税込、合計、請求書が正しいこと。
  • メールが実際に受信されること(登録、パスワードリセット、請求書、サポート)。
  • Webhook:署名の検証、重複のない再試行。
  • プライベートブラウジング:同意なしにトラッカーが保存されないこと。
  • ドメインとDNSがMFAで保護されていること。安定バージョンへのロールバックが可能。

レポート形式

  1. 1行の判定:公開準備完了 / 公開前に修正が必要 / ブロック(該当するブロックポイントを記載)。
  2. ブロックポイント、次に重大度順の修正が必要なポイント。それぞれに正確な修正箇所と修正方法を記載。
  3. 検証不可のポイントと、ユーザーが実行すべきテスト。
  4. 注意:ユーザー自身が公開すること。法的な事項については、このチェックは専門家に代わるものではありません。

関連スキル