Vaulted のセキュリティ

ゼロ知識暗号化 — たとえ望んでも、あなたのシークレットを読むことはできない。

開発・管理 Maxim Novak · [email protected]

私たちを信用しないで — 自分で検証してください

このページのすべての主張は、あなた自身のブラウザから確認できます。DevTools を開き、4つの簡単なテストを実行して、平文も鍵もネットワークを通過しないことを確認してください。5分で完了、追加ツールは不要。

Security HeadersA+Mozilla ObservatoryA+SSL LabsA+ライブのサードパーティスキャン — クリックして確認。

AES-256-GCM 暗号化

すべてのシークレットは、NIST SP 800-38D で規定された AES-256-GCM を使用してブラウザ内で暗号化されます — 世界中の政府や金融機関が使用するのと同じ標準。暗号化はデータがデバイスを離れる前に行われます。

鍵はブラウザから出ない

暗号化鍵は URL フラグメント(# の後の部分)に配置されます。RFC 3986 に基づき、URL フラグメントはサーバーに送信されることがなく、ブラウザ内にのみ存在します。完全なリンクを持つ人だけがシークレットを復号できます。

ゼロ知識アーキテクチャ

サーバーは暗号化された暗号文とメタデータ(閲覧カウント、有効期限)のみを保存します。データを復号する手段はありません — 鍵を見ることも、平文を見ることもありません。サーバーが完全に侵害されても、暗号化されたブロブしか得られません。

オプションのパスフレーズ保護

追加のセキュリティのために、シークレット作成時にパスフレーズを設定できます。パスフレーズは暗号化鍵をラップします — 誰かがリンクを傍受しても、パスフレーズなしでシークレットを復号することはできません。最大の保護のために、別のチャネル(電話や別メッセージなど)でパスフレーズを共有してください。

サーバーが保存するもの

暗号化されたブロブ、残りの閲覧数、有効期限のタイムスタンプ。それだけです。IP ログなし、ユーザーアカウントなし、シークレットの内容に関する分析なし。

自動削除

閲覧制限に達するか、有効期限が来ると、シークレットは永久に削除されます。ごみ箱なし、バックアップなし、削除されたシークレットを復元する方法なし。

設計上の透明性

暗号化・復号ロジックは Web Crypto API を使用してブラウザ内で完全に実行されます。ソースコードを検査し、暗号実装を確認し、平文がデバイスを離れないことを確認できます。

Vaulted が保護するもの

ネットワーク盗聴

すべてのデータは送信前にブラウザで暗号化されます。ネットワークトラフィックが傍受されても、攻撃者には AES-256-GCM 暗号文しか見えません — 暗号化鍵はネットワークを通過しません。

サーバーの侵害

Vaulted はゼロ知識アーキテクチャを使用しています。サーバーは暗号化された暗号文とメタデータのみを保存します。暗号化鍵も平文も受け取らないため、完全なサーバー侵害でも使えるものは何も得られません。

不正アクセス

シークレットは設定可能な閲覧制限、自動有効期限(TTL)、オプションのパスフレーズ保護によって守られます。閲覧制限に達するか TTL が切れると、シークレットは永久に削除されます。

データの永続化

シークレットは閲覧または期限切れ後に、ストレージから自動的かつ永久に削除されます。バックアップ、ごみ箱、復元メカニズムはありません。

Vaulted が保護しないもの

侵害されたブラウザまたはデバイス

マルウェアがブラウザにアクセスできる場合、シークレットを閲覧した後に DOM から復号されたコンテンツを読み取れます。

キーロガー

送信者または受信者のデバイス上のキーロガーは、入力中のパスフレーズを記録できます。

悪意のあるブラウザ拡張機能

DOM にアクセスできる拡張機能は、ブラウザでレンダリングされた後に復号されたシークレットの内容を読み取れます。

受信者による共有またはスクリーンショット

シークレットが復号されると、受信者は平文を見ます。DRM はありません — コピー、スクリーンショット、または転送することができます。

閲覧前のリンク傍受

意図した受信者が開く前に完全な URL(鍵を含むフラグメントを含む)が傍受された場合、シークレットは侵害されます。

弱いパスフレーズ

パスフレーズが使用されていて弱い場合、ラップされた鍵にアクセスできる攻撃者によってブルートフォース攻撃を受けます。

召喚状に対して提供できるもの

セキュリティチームや法務チームからよくある質問:法的手続きによって強制された場合、Vaulted が実際に提供できるものは何か?正直な答えは「それほど多くない」です — これはポリシーではなく、設計によるものです。受け取っていないものは共有できません。

特定のシークレットについて保持するもの

  • AES-256-GCM 暗号文、残りの閲覧カウンター、TTL タイムスタンプ — Upstash の Redis ハッシュとして保存。
  • 送信者がパスフレーズを選択した場合のオプションのラップされた鍵のソルト。
  • 上記のすべては、TTL の期限切れまたは最大閲覧数に達すると自動的に削除されます。バックアップなし、アーカイブなし。

保存またはログに記録されないもの

  • 平文の内容。
  • 暗号化鍵 — RFC 3986 に基づき、ブラウザがサーバーに送信しない URL フラグメント(#の後)にのみ存在。
  • パスフレーズ(非可逆のソルトのみ保存)。
  • 受信者の身元、メール、またはデバイスフィンガープリント。
  • リクエストボディ、レスポンスボディ、またはリファラー。

短時間ログに記録されるもの

  • リクエスターの IP アドレス。Upstash Ratelimit(スライディングウィンドウ)が IP あたり10作成/分と30閲覧/分を強制するためにのみ使用。レート制限ウィンドウが必要とする期間のみ保持。
  • Vercel と Upstash からの標準的な運用ログ(ステータスコード、レイテンシ)— シークレットの内容とは結びついていない。

有効な手続きで法執行機関が取得できるもの

最大で:TTL ウィンドウ内にある間の不透明な暗号文ブロブ、および上記のメタデータ。ブロブは復号鍵なしには読み取れません — 私たちはその鍵を持ったことがなく、復元する方法もありません。

私たちには本当に提供できる有用なものが何もありません。

責任ある開示

セキュリティを真剣に考えています。脆弱性を発見した場合は、ユーザーに影響が及ぶ前に対処できるよう、責任を持って報告してください。

報告に含めるべきもの

  • 脆弱性の説明とその潜在的な影響
  • 問題を再現する手順
  • 概念実証コードまたはスクリーンショット(任意)

スコープ

  • スコープ内: 暗号実装、認証バイパス、データ漏洩、サーバーサイドの脆弱性
  • スコープ外: ソーシャルエンジニアリング、サービス拒否攻撃、スパム

48時間以内に報告を確認することを目指しています。

実際の動作を見てみたいですか?

暗号化プレイグラウンドを試してみてください — Vaulted が使用している AES-256-GCM 暗号化のインタラクティブなデモです。または エンドツーエンド暗号化のビジュアルガイド.

よくある質問