Technology

技術基盤

Astro、Cloudflare、GitHubを中心に、公開サイト、API、CMS、セキュリティラボを分離する構成です。検証環境である以上、ビルドの決定性を優先します。

フェーズ1構成

Astroで決定的な静的HTMLを生成し、Cloudflare Pagesで公開します。検証ケースはContent Collectionsと内部マニフェストで管理します。

  • Astro・TypeScript
  • Cloudflare Pages
  • GitHub Actions
  • Vitest・Playwright
出力形式
静的サーバー側実行なし
外部スクリプト
0解析タグ未導入
Cookie利用
0フェーズ1時点

決定性の制約

このサイトは検証対象でもあるため、ビルドのたびに出力が変わってはいけません。同じ入力から同じHTMLが出ることを前提に実装しています。

禁止している実装と理由
禁止していること理由
現在時刻に依存する表示毎ビルドで差分が出て、回帰判定ができない
乱数による出し分け同じURLで異なる評価結果になる
地域・端末による本文切り替えクローラーが見る内容を特定できない
ビルド時の外部API取得外部障害でビルド内容が変わる
描画後にのみ現れる本文取得可能性の検証条件を壊す(/lab/ の一部を除く)

拡張構成

Workers、D1、R2、共有ホスティング上のWordPress、ローカルDockerを用途別に追加します。公開サイトと脆弱性検証環境は、Cookie、データベース、認証情報を共有しません。

意図的に脆弱なアプリケーションは、共有ホスティングにも公開サイトにも配置しません。ローカルのDocker環境に限定し、遠隔からの利用が必要な場合のみ、認証付きトンネルを一時的に開きます。

  1. フェーズ2

    エッジ実装でHTTPステータス、リダイレクト、ヘッダー系fixtureを追加します。

  2. フェーズ3

    専用のGA4プロパティとGTMコンテナで計測fixtureを構築します。

  3. フェーズ4

    APIとデータストアを追加し、検証結果を蓄積します。

  4. フェーズ5

    CMS・PHP環境の挙動検証を分離環境で行います。

  5. フェーズ6

    脆弱性検証環境をローカル隔離で構築します。

Explore next

解析パイプラインを見る

解析パイプラインを見る

最終更新: