コンテンツにスキップ

セキュリティ

最終更新日: 2026年7月13日

Manako は、お客様のデータの安全性を最優先に考えています。

Manako は Cloudflare のグローバルインフラストラクチャ上で稼働しています。サーバーレス(Cloudflare Workers)で稼働するため、OS やミドルウェアの管理が不要で攻撃面を最小化しています。

認証対象
SOC 2 Type IIWorkers, D1, KV, R2, Pages
ISO 27001情報セキュリティマネジメント
ISO 27701GDPR 準拠プライバシー管理
PCI DSSWorkers, KV
対象方式
保存時(At Rest)AES-256-GCM(D1, R2, KV すべて自動暗号化)
通信時(In Transit)TLS 1.3(全 Worker 間通信含む)
パスワードPBKDF2-SHA-512 + ランダムソルト 16 バイト(100,000 回イテレーション、鍵長 256 ビット、タイミングセーフ比較)
  • JWT(HS256): アクセストークン有効期限 15 分、リフレッシュトークン 7 日間
  • httpOnly Cookie 認証: アクセストークン・リフレッシュトークンは httpOnly Cookie(Secure, SameSite=Lax)としてブラウザに渡され、JavaScript からは読み取れません。ダッシュボード(SPA)は認証トークンを localStorage 等の JavaScript から読み取り可能な領域には保存しません
  • リフレッシュトークンローテーション: 使用時に旧トークンを即時無効化し、新トークンを発行
  • リフレッシュトークン保存: Cookie の値そのものは Cloudflare KV に TTL 付きで保存・管理し、有効期限後に自動削除
  • CSRF 対策: Cookie 経由の認証リクエストは Origin ヘッダーを検証し、許可されたオリジン以外からの状態変更リクエストを拒否(SameSite=Lax によるクロスサイト送信制限と併用)
  • API Key: mk_ プレフィックス + 64 文字 HEX。SHA-256 ハッシュで保存。プレフィックス 11 文字のみ DB に記録
  • すべてのデータベースクエリに team_id スコープを強制適用
  • API Key はチーム単位で発行・管理
  • 異なるチームのデータへのアクセスは不可能

アプリケーションセキュリティ

Section titled “アプリケーションセキュリティ”
  • 全 API エンドポイントで Zod スキーマバリデーション
  • SSRF 防止: プライベート IP(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)、localhost、クラウドメタデータエンドポイント(169.254.169.254, metadata.google.internal)をブロック
  • HTTP ヘッダーインジェクション防止
  • XSS エスケーピング(ステータスページ SSR)

ブラウザ側の防御(セキュリティヘッダー)

Section titled “ブラウザ側の防御(セキュリティヘッダー)”

ダッシュボードと管理画面には以下のヘッダーを適用しています。

ヘッダー
Content-Security-Policyscript-src'unsafe-inline' / 'unsafe-eval' を含めない。インラインスクリプトは SHA-256 ハッシュで個別に許可
X-Frame-Options / frame-ancestorsクリックジャッキング防止(埋め込み全面禁止)
X-Content-Type-Optionsnosniff
Referrer-Policystrict-origin-when-cross-origin
Strict-Transport-Securitymax-age=63072000; includeSubDomains; preload

CSP は object-src 'none' / base-uri 'self' / form-action 'self' も指定し、万一 XSS が成立した場合の悪用経路を制限します。

エンドポイントリクエスト数ウィンドウキー
認証(/auth/*)30 回60 秒IP アドレス
ダッシュボード(/dashboard/*)600 回60 秒ユーザー ID
Public API(/api/v1/*) — IP 単位300 回60 秒IP アドレス
Public API(/api/v1/*) — API Key 単位プラン別(Free 60 / Pro 180 / Business 300)60 秒API Key ID
  • HMAC-SHA256 によるペイロード署名検証
  • プライベート IP・localhost へのWebhook送信を禁止(SSRF 防止)

短時間で頻繁なステータス変化(フラッピング)が発生した場合、通知を自動的に抑制します。

  • 閾値: 10 分以内に 3 回以上のステータス変化で通知を抑制
  • インシデント判定: 5 回連続のダウンで初めてインシデントを作成
  • HTTP 監視時のリダイレクトは追従しません(SSRF 防止)
  • 監視リクエストには識別可能な User-Agent(Manako/1.0)を付与
  • お客様が権限を持つサービスのみの監視を利用規約で義務付け
  • 定期的なコードレビュー
  • 依存パッケージの定期更新
  • 最小権限の原則に基づくアクセス制御

セキュリティインシデントが発生した場合:

  1. 影響範囲の特定と封じ込めを迅速に実施します
  2. 影響を受けたお客様には 72 時間以内に通知します
  3. インシデントの詳細と対策を公開します

セキュリティに関する問題を発見された場合は、下記までご連絡ください。責任ある開示を行っていただいた方には、感謝の意を表します。