セキュリティ

WheelOfSpinsは、HTTPSによる暗号化、厳格なセキュリティヘッダー、署名付きセッショントークン、所有者に限定したデータアクセス、そしてお使いのブラウザ内で実行される暗号論的な乱数によって、ルーレットとアカウントセキュリティを守っています。

HTTPS暗号化とブラウザのセキュリティヘッダー

すべてのページとリクエストは最新のTLS暗号化を用いたHTTPSで配信され、HTTP Strict Transport Security(HSTS)によってブラウザが常に安全な接続を使うよう指示しています。さらに、Content Security Policy、クリックジャッキングを防ぐX-Frame-Options、コンテンツタイプの推測を防ぐX-Content-Type-Options、厳格なReferrer-Policy、カメラ・マイク・位置情報へのアクセスを無効にするPermissions-Policyも送信しています。

  • HSTSによるサイト全体のHTTPS化
  • Content Security Policyとクリックジャッキング対策
  • カメラ・マイク・位置情報へのアクセスを無効化

ブラウザ内での暗号論的な乱数

各スピンの結果は、暗号論的に安全な乱数を提供するWeb Crypto API(crypto.getRandomValues)を使って、お使いのブラウザ内で決定されます。ごくまれにWeb Cryptoに対応していない非常に古いブラウザでは、動作を続けるためにブラウザ標準の乱数関数が使われます。結果が当社のサーバーで決まることはなく、確率を変えられるのはお客様自身が設定する項目の重みだけです。

  • Web Crypto APIによるランダム選択
  • 結果はお使いの端末で計算
  • 確率が変わるのは設定した重みのみ

アカウントセキュリティとアクセス制御

パスワードはbcryptハッシュとしてのみ保存され、平文で保存されることはありません。ログイン後のセッションは、ページ上のスクリプトから読み取れないHTTP-only Cookieに保存された署名付きJSON Web Tokenで維持されます。保存したルーレットへのリクエストはすべてお客様のアカウントと照合されるため、閲覧や変更ができるのはご自身のルーレットだけで、公開リンクで表示されるのは公開を選んだルーレットのみです。

  • パスワードはbcryptハッシュで保存
  • HTTP-onlyのセッションCookie
  • 保存したルーレットは所有者のみアクセス可能

セキュリティ上の脆弱性の報告

セキュリティ研究者や利用者の皆様からの報告を歓迎します。脆弱性を見つけた場合は、該当するURL、問題の再現手順、想定される影響を添えて、お問い合わせページからお知らせください。公開する前に、調査と修正のための妥当な期間をいただけますようお願いいたします。

  • お問い合わせページから報告
  • 再現手順を添えてください
  • 責任ある開示にご協力ください

よくある質問

WheelOfSpinsはどのようにスピンの公平性を保っていますか?

結果はWeb Crypto APIを使ってお客様のブラウザ内で決定されるため、当社のサーバーが変更することはできません。確率を変える方法は、ご自身で項目の重みを設定することだけです。

保存したルーレットを他のユーザーに見られることはありますか?

いいえ。保存したルーレットはお客様のアカウントに紐付けられ、すべてのリクエストが照合されます。他の人が開けるのは、公開リンクで共有したルーレットだけです。

セキュリティ上の脆弱性はどのように報告すればよいですか?

お問い合わせページのフォームから、該当するURL、再現手順、確認された影響をお知らせください。有効な報告はすべて確認いたします。