メインコンテンツへスキップ

セキュリティの実践

セキュリティは後から追加する機能ではありません—アーキテクチャのすべてのレイヤーに組み込まれています。単一のレイヤーが侵害される可能性があるという想定の下、多層防御の原則に従います。

認証方法

セキュリティとユーザーの利便性のバランスを取るために複数の認証方法をサポートしています:

  • メール/パスワード: 強力なパスワード要件、侵害検出、アカウントロックアウトポリシーを伴います。
  • マジックリンク: 資格情報の露出を減らすためのメールOTPによるパスワードレスログイン。
  • OAuth: そのセキュリティインフラを活用したSupabaseを通じたGoogleとGitHubの統合。
  • エンタープライズSSO: 組織が管理するアイデンティティのためのSAML 2.0、OAuth 2.0、OpenID Connect。
  • WebAuthn: FIDO2標準を使ったハードウェアセキュリティキーと生体認証。
  • MFA: リカバリーのためのバックアップコードを持つ第二要素としてのTOTP、SMS、メール、WebAuthn。

CSRF保護

クロスサイトリクエストフォージェリは複数のメカニズムで防止されています:

  • crypto.getRandomValues()を使用したトークン生成
  • X-CSRF-Tokenヘッダーに含まれるトークン
  • 1時間の有効期限を持つセッションベースのストレージ
  • X-Requested-Withヘッダーの検証
  • SameSiteクッキー属性

セキュリティヘッダー

すべてのレスポンスに包括的なセキュリティヘッダーが含まれます:

  • X-Frame-Options: DENY — クリックジャッキングを防止
  • X-Content-Type-Options: nosniff — MIMEスニッフィングを停止
  • Strict-Transport-Security — プリロード付きのHTTPS強制
  • Content-Security-Policy — リソースオリジンを制限
  • Referrer-Policy: strict-origin-when-cross-origin
  • Permissions-Policy — 位置情報、カメラ、マイクを拒否

レート制限

正当なトラフィックを許可しながら不正使用を防ぐための段階的レート制限を実装しています:

  • ログイン試行: ロックアウト前に15分間で5回の試行
  • APIエンドポイント: サブスクリプションティアに基づいたキーごとの制限
  • トラッキングエンドポイント: トラフィックスパイクに対応するより高い制限
  • IPレピュテーション: 既知の悪意あるアクターの自動ブロック

APIキー管理

外部APIアクセスはスコープ付きAPIキーで制御されます:

  • キーはデータベースで暗号化して保存
  • キーごとのレート制限と使用状況の追跡
  • スコープ付き権限(フルアクセス対サイト固有)
  • 即時失効機能
  • 自動有効期限オプション

監査ログ

セキュリティとコンプライアンスのための包括的な監査証跡を維持します:

  • すべての認証イベント(ログイン、ログアウト、失敗した試行)
  • 変更前後の値を含む設定変更
  • APIキーの作成と失効
  • チームメンバーシップの変更
  • 請求イベントとサブスクリプションの変更

プライバシーコンプライアンス

プライバシーはコアプロダクト機能であり、後から考えるものではありません:

  • ユーザーリクエストのためのデータエクスポート機能
  • 完全なデータ消去による削除の権利
  • 設定可能なデータ保持期間
  • クロスサイトトラッキングやサードパーティクッキーなし
  • IPの匿名化オプション
  • クッキー同意管理