このリポジトリは、Trait Compass(発達特性・日常の困りごとのセルフチェックと支援窓口検索を提供するWebアプリ)のソースコードです。Next.js(OpenNext)を Cloudflare Workers 上で実行し、Cloudflare D1・R2・Vectorize、および Vertex AI Gemini(生成AI機能)を利用します。
区市町村別の手動調査データ(住所・電話番号等の実データ)および本番デプロイ設定(Cloudflareアカウント固有の識別子を含むwrangler.toml等)はこのリポジトリには含まれません。公開しているのはアプリの「しくみ」(プログラムのコード)のみです。詳細はREADME.md・docs/designs/を参照してください。
セルフチェックの回答・スコアリングはすべてブラウザ内(クライアントサイド)で完結し、サーバーへは送信されません。通常閲覧時には、個人を識別しない画面到達数の集計通信(Cookie不使用。「日付 × 画面」ごとの合計値のみを保存)が発生します。支援窓口検索やAI機能を利用した場合は、その機能に必要な情報のみがサーバーへ送信されます。また、不正送信防止のレート制限では生のIPアドレスを保存せず、時間窓ごとに変化するSHA-256ハッシュ(IP + 時間窓 + サーバー側シークレットのソルト)のみを一時的に保存します。詳細な設計方針はdocs/designs/technical-overview.mdを参照してください。これはセキュリティポリシーではなくプライバシー設計の説明であるため、個別の懸念については以下の脆弱性報告の手順をご利用ください。
XSS、依存パッケージの脆弱性、認可・入力検証の不備、意図しないデータ漏洩など、セキュリティ上の懸念を発見した場合は、次の使い分けでご報告ください。
- 悪用可能な詳細(再現手順・PoC・攻撃に転用できる具体的情報)を含む報告: 修正が完了するまで公開の Issue や Pull Request には記載せず、
yunbow.dev@gmail.com宛にメールで直接ご連絡ください。 - 悪用リスクの低い一般的な指摘(依存パッケージの既知脆弱性への更新提案、ドキュメント上のセキュリティ記述の不備など): GitHub Issues からの公開報告で構いません。
どちらに当たるか判断に迷う場合は、直接連絡のほうをご利用ください。
main ブランチの最新版を継続的にメンテナンスします。過去バージョンへの個別対応は行いません。