セキュリティ

私たちのセキュリティモデルを一言で言えば、攻撃対象となるサーバー上のものが何もないということです。以下の内容はすべて DevTools から検証できます。

アーキテクチャ

Abundera QR は Cloudflare Pages から配信される静的シングルページアプリケーションです。アプリケーションサーバー、データベース、ユーザーアカウント、認証、API エンドポイント、ユーザーデータを処理するバックエンドコードパスは一切存在しません。QR の生成、エンコード、スキャン、レンダリングのすべての処理はブラウザ内で完結します。

脅威モデル

ユーザーデータの収集、保存、送信を行わないため、最も一般的な Web アプリの脅威, 認証情報の窃取、データベース侵害、セッションハイジャック、サーバーサイドインジェクション, は適用されません。残る攻撃対象は、オリジンから配信される静的アセットバンドル(HTML、CSS、JavaScript)です。私たちは以下を前提に設計しています:

コンテンツセキュリティポリシー, ディレクティブ別

現在のポリシー(任意のリクエストのレスポンスヘッダーで確認できます):

Content-Security-Policy:
  default-src 'self';
  script-src 'self' 'wasm-unsafe-eval';
  worker-src 'self' blob:;
  style-src 'self' 'unsafe-inline';
  font-src 'self';
  img-src 'self' data: blob: https:;
  connect-src 'self' https:;
  frame-ancestors 'none';
  base-uri 'self';
  form-action 'self'

各ディレクティブが許可する操作と妥協点:

/bio/*(ユーザー提供アバター用に img-src を緩和)と /embed/*(意図的な埋め込み用に frame-ancestors を緩和)には異なる CSP ポリシーが適用されます。いずれも site/_headers に記載されています。

トランスポート + フレーミングヘッダー

サービスワーカー

サービスワーカー(site/sw.js)は同一オリジンのアセットのみをキャッシュします。フェッチハンドラーはクロスオリジンリクエストと GET 以外のメソッドを明示的に拒否します, ロジックは GitHub で確認できます。キャッシュへの書き込みは event.waitUntil() でラップされているため、ナビゲーション中に破棄されることはありません。

入力サニタイズ

ユーザー入力を受け付けるすべてのレンダリングパスは、それを信頼できないテキストとして扱います:

クロスオリジン画像フェッチ

ユーザーが vCard 写真またはロゴとして https: URL を貼り付けると、ブラウザは CORS と CSP の img-src 許可リストに従ってフェッチします。画像はキャンバスにレンダリングされます。ライブ DOM になることも、コードとして実行されることも、私たちのオリジンに到達することもありません, フェッチはブラウザ → リモート画像で行われ、結果はクライアントサイドで描画されます。リモート画像 URL を制御する攻撃者は、その URL が読み込まれたことを追跡できます(自分のサーバーのログ行)が、私たちのページから何かを持ち出すことはできません。

サブリソース整合性(SRI)

私たちが提供するすべての JavaScript と CSS は同一オリジンです。サードパーティのスクリプトやスタイルシートを読み込まないため、SRI ハッシュは適用されません。将来サードパーティのアセットを読み込む場合は、integrity 属性を付与し、このページにハッシュ更新プロセスを記載します。

脆弱性の報告

Abundera QR に影響するセキュリティ問題(コード、デプロイメント、または同梱の依存関係のいずれか)を発見した場合は、security@abundera.ai に非公開で報告してください。72時間以内のトリアージを目指しています。/.well-known/security.txt ファイルの連絡先からも連絡できます。

バグバウンティについて(現時点では未実施)

現在、有償バウンティは提供していませんが、確認された有効な報告はすべて変更履歴と公開の謝辞でクレジットされます。

上記の内容を検証する

このページのすべての主張は、私たちを信頼することなくブラウザの DevTools から検証できます:

連絡先

セキュリティに関する開示:security@abundera.ai

最終更新:2026-04-19。次回レビュー:2026-07-19。