WiseEnding

セキュリティとゼロ知識プライバシー

私たちでさえあなたのボールトを読めません。

それはスローガンではなく、アーキテクチャそのものです。WiseEndingは、最も機密性の高い秘密が保存・送信される前にあなたのデバイス上で暗号化されるように設計されています。私たちのサーバーが保持するのは、鍵のかかった箱だけです。このページでは、その仕組みをわかりやすい言葉で正確に説明し、同じくらい正直に、その限界もお伝えします。

一文で答えるなら

あなたのパスワードは、デバイスを離れる前にお使いのスマートフォンやノートPC上でAES-256-GCMを使って読めない暗号文に変換されます。WiseEndingに届くのはスクランブルされた形だけです。だから、私たちも、サーバーに侵入した者も、それを元の言葉に戻すことはできません。

それを解錠する鍵はあなたのパスキー(顔、指紋、またはデバイスのPIN)から導出され、デバイスを離れることはありません。「マスターキー」もバックドアも存在しません。

「ゼロ知識」がここで実際に意味すること

「ゼロ知識」は業界全体で曖昧に使われています。そこで、WiseEndingでそれが何を意味するのかを正確にお伝えします。

  • 暗号化はサーバーではなく、あなたのデバイス上で行われます。パスワードを保存した瞬間、ブラウザがWeb Crypto API(銀行も使うのと同じ監査済みの暗号技術)を使ってそれをスクランブルします。1バイトも送信される前に。
  • 私たちは鍵を一切保持しません。ボールトの暗号化鍵自体が、あなたのパスキーから導出された秘密でロック(「ラップ」)されています。その秘密はデバイスのセキュアハードウェア内で生成され、いかなる形でも私たちに送信されることはありません。
  • 私たちが保存するのは暗号文と公開値だけです。データベースにあるのは、暗号化されたブロブ、ラップされた鍵、そしてランダムなソルトです。それらはすべて、あなたのパスキーかリカバリーコードなしには数学的に無意味です。
  • 従業員によるアクセスは存在しません。私たちは鍵を持たないため、管理パネルも、サポートツールも、WiseEndingのどのエンジニアもあなたの秘密を読むことはできません — 強制されても同じです。

実際のところ、サーバーへの侵入は「つまらない」ものです。攻撃者が持ち去れるのは、読めない暗号文のギガバイトだけで、それを開く術はありません。私たちは彼らを助けることも、自分自身を助けることもできません。

一つの秘密の旅

一つのパスワードをキーボードからご家族まで追ってみてください。どこにも「読める状態」で存在する瞬間がないことがわかります。

1

あなたがデバイスに秘密を入力する

例えば銀行のログイン情報。あなたはそれをHTTPS経由で、スマートフォンやノートPCのレコードに入力します。

まずロックされ、それから送信されます。デバイスを離れる前に、すでに暗号化されています。逆の順序になることは決してありません。

2

ブラウザがそれをスクランブルする(AES-256-GCM)

ボールトのデータ暗号化キー(DEK)と新しいランダムな96ビットIVを使って、ブラウザはパスワードを8f3a91c…のような暗号文に変換します。

AES-GCMは認証も行います。誰かが1ビットでも改ざんすれば、復号は明確に失敗します。サイレントに壊れたデータを読むことは決してありません。

3

暗号文だけがサーバーに届く

私たちはロックされた箱を、ラップされた鍵とソルトと一緒に保存します。読める形のものがデータベースに触れることは一切ありません。

もし明日サーバーが盗まれても、泥棒が得るのは意味不明な文字列だけです。買収・脅迫・召喚で平文に変えられるものは、ここには何もありません。

4

あなたのパスキーが、あなたのデバイス上だけで解錠する

ボールトを開くと、デバイスはパスキーの秘密から鍵を再導出し、復号します — すべてブラウザタブのメモリ内で。

平文はそのタブの中にだけ存在します。再アップロードされることも、ログに記録されることも、読める場所にキャッシュされることも一切ありません。

5

ご家族が自分のコードで開く

その時が来たら — 今あなたが許可する生前アクセス、あるいはあなたがいなくなった後のレガシーハートビート — 各人物はあなたが渡した一度きりのアクセスコードを使って鍵をアンラップし、あなたが選んだものだけを読みます。

アカウントも、アプリも、本人のパスキーも不要です。悲しみの中にある方に求められる最小限のことです。

鍵 — なぜ三つの独立した入り方があるのか

あなた自身が本当に開けないボールトは、あなたがいつでも戻れ、ご家族も必要なときに入れる場合にのみ意味があります。そこで同じボールト鍵(DEK)を、三つの独立した解錠経路ごとに個別にラップしています。どれか一つを失っても、他は機能します。

経路1 · 日常用

あなたのパスキー

顔、指紋、またはデバイスのPINをWebAuthn経由で。デバイスのセキュアハードウェア内で高エントロピーの秘密を生成し、それはデバイスを離れません — 覚えるものも、入力するものも、電話でフィッシングされるものもありません。これが日常的にボールトを解錠する方法です。

経路2 · セーフティネット

一度きりのリカバリーコード

ボールトを有効にしたときに一度だけ表示されます(ABCDE-FGHJK-…のような23文字のコード)。これは独立した第二の鍵で、デバイスに依存しません — すべてのデバイスを失ったときの帰り道です。書き留めて、金庫や遺言書と一緒に、現実の場所に保管してください。再発行はできません。

経路3 · ご家族用

一人ごとのアクセスコード

信頼する各人物に新しい一度きりのコードを発行し、自分で手渡します — 直接、封筒で、または弁護士と一緒に。ボールト鍵はそのコードから導出された鍵でラップされ、コードはサーバーに一切触れません。彼らは、本当に必要なその日に、一度だけそれを入力します。

なぜ「マスターキー」ではないのか?

存在しません — 設計上の意図です

多くのサービスは、スタッフ(あるいは侵害したハッカー)がすべてを解錠できるリカバリーキーを保持しています。WiseEndingは意図的にそれを持ちません。鍵は上の三つだけで、そのうち二つはあなたの手にだけ存在します。だからこそ「私たちでさえ読めない」が約束ではなく事実になるのです。

知っておく価値のある区別

リカバリーコードはあなた本人のため。アクセスコードはご家族のため。両者は完全に別の鍵です。リカバリーコードはあなた自身のボールトだけを開き、アクセスコードはその一人に共有すると選んだものだけを開きます。どちらも相手の役割は果たせません。

共有はオール・オア・ナッシングではありません。「自分のみ」とマークしたものは、ご家族には一切送信されません — ロックも隠蔽もされず、単に彼らが受け取るものの中に存在しません。プライベートなものは、永遠にプライベートのままです。

正確な暗号技術(技術に詳しい方へ)

ごまかしはありません。実際に動いているものをお見せします。すべてWeb Crypto API経由のクライアントサイドです。

PASSKEY (WebAuthn PRF) RECOVERY CODE ACCESS CODE (per person)高エントロピー秘密,23文字、一度だけ表示一度きり、自分で手渡すデバイスを離れない │ │ ▼ ▼ ▼ HKDF-SHA256 PBKDF2-SHA256 PBKDF2-SHA256 │ │ 310,000 iterations310,000 iterations ▼ ▼ ▼ KEK (key-encryption key) KEK KEK │ │ │ └──────────┬───────────────────┴──────────┬───────────────────┘ ▼ each wraps (AES-256-GCM) ▼ ┌──────────────────────────────────────────┐ │ DEK — the vault Data Encryption Key │ │ (256-bit, random) │ └──────────────────────────────────────────┘ │ encrypts each secret (AES-256-GCM, fresh 96-bit IV) ▼ CIPHERTEXT — the only thing our servers ever store
  • AES-256-GCM — ボールトデータと鍵ラッピングの両方のための認証付き暗号化。機密性改ざん検知を一つのプリミティブで実現します。
  • HKDF-SHA256 — パスキーのPRF秘密から、アプリ固有のソルトとinfo文字列を使って鍵暗号化鍵(KEK)を導出します。
  • PBKDF2-SHA256、310,000回の反復 — 人が入力するリカバリーコードと各アクセスコードからKEKを導出し、オフラインでの推測を極端に遅くします。
  • ランダムなソルトとIV — すべてのラップとすべての暗号文はcrypto.getRandomValuesからの新しい乱数を使うため、同じ暗号化が繰り返されることはありません。
  • 保存される鍵素材 = 安全。サーバーはDEKをラップされた形でのみ保持します(パスキーKEK、リカバリーKEK、アクセスコードごとに一つ)、加えてソルトと将来のデバイス共有鍵ペアの公開側。対応する秘密がなければすべて無意味です。

すべては段階的に劣化します。デバイスがWebAuthn/PRFやWeb Cryptoをサポートしていない場合、アプリは正直にそう伝え、アカウントはGoogleサインインだけで動き続けます。パスキーは段階的なアップグレードであり、障壁ではありません。

暗号化を超えた保護の層

ゼロ知識暗号化があなたのパスワードを守ります。その周囲には、いくつもの層があなたの人生の残りを守っています。

アイデンティティ

Googleサインインが正面玄関

認証はGoogleが処理します — 私たちはあなたのGoogleパスワードを見ることも保存することもありません。サインインはあなたが誰であるかを証明するだけで、秘密を守る暗号化鍵とは完全に分離されています。

データベース

ルール層でオーナーのみ

Firestoreのセキュリティルールが、データベースレベルであなたのデータはあなただけが読めることを強制します — UIで隠すだけではありません。信頼できる人物のアクセスは明示的に付与され、同じルールによって時間と役割で制限されます。

その場で

ワンタップのプライバシースイッチ

すべての金額をワンタップでマスク(●●●●)できます — 会議やカフェで画面を覗かれても何も見えません。公共の場ではオン、プライベートではオフに。

時間をかけて

穏やかな保護機能であって、カウントダウンではない

レガシーハートビートは、長く明確に知らされる沈黙期間の後にのみ、あなたが選んだ引き継ぎを開始します — リマインダーと猶予期間付きです。劇的なタイマーでも、不意打ちでもありません。

転送中

どこでもHTTPS

デバイスとサーバー間のすべてのトラフィックは、秘密そのもののエンドツーエンド暗号化に加えて、TLSで転送中も暗号化されます。

ストレージ

あなたのファイル、あなたのフォルダ

ドキュメントやビデオメッセージは、オーナーに限定されたクラウドストレージに保管され、同じオーナーのみのルールが適用されます。いつでも削除でき、削除はアーカイブではなく本物です。

ご家族がアクセスする方法、本当に必要なときに

レガシー計画で最も難しい問題はこれです。あなただけが開けるボールトは、ご家族が永遠に締め出されるボールトでもあります。WiseEndingは「私たちには読めない」という保証を一切弱めることなく、また悲しみの中にある方にアプリのインストールやアカウント作成を求めることもなく、これを解決します。

  • 各人物に一度きりのアクセスコードを発行します。My Peopleでは、人物ごとに一つのボタン。ボールト鍵を取り、新しいコードでそのコピーをロックし、そのコードを一度だけ表示します。あなた自身が手渡します — コードはサーバーに一切触れません。だからこそ、ここの誰もあなたのボールトを読めないと約束できるのです。
  • 各コードはその人のために選んだものだけを開きます。人物ごと・項目ごとの制御: 配偶者にはすべて、お子さんには編集版を見せることも可能です。「自分のみ」とマークしたものは一切送信されません。
  • 彼らは本当に必要なその日に、一度だけ入力します。ボールトが彼らに開かれるとき — あなたが許可した生前アクセス、あるいはあなたがいなくなった後のHeartbeat — コードを求めるボックスが一つあります。入力すれば、あなたが残したものが現れます。寛容な設計でもあります: 小文字、ダッシュ抜け、余分なスペースも受け付けます。
  • 二つのタイミング、あなたの選択。Heartbeatを待つ必要はありません。今すぐ最も近しい人々に生前アクセスを許可し、いつでも再封印できます。同じコードが両方を動かします。

なぜサーバー保持の秘密にシールしないのか

魅力的な近道は、ご家族のコピーをサーバーがすでに知っているもの(招待トークンなど)に暗号化することです。私たちはそれを拒否します。サーバーが保持するものは何でも一緒に盗まれ得るため、それはゼロ知識の約束を静かに破るからです。その代わり、鍵は紙の上、あなたの手の中にだけ存在するコードにシールされます — だからサーバー侵害がご家族のアクセスを解錠することも決してありません。

正直な限界 — 私たちが守れないこと

本物のセキュリティとは、壁がどこで終わるかを伝えることです。これが、私たちが本当に開けないボールトのトレードオフです。

信頼する前にこれを読んでください

  • パスキーとリカバリーコードの両方を失えば、暗号化された秘密は永遠に失われます。「復元が難しい」のではなく — 消失です。それがバックドアのないボールトの避けられない、意図的な代償です。リカバリーコードは現実の場所に保管してください。
  • アクセスコードを持つ人は誰でも、その人と共有したものを読めます。それは合鍵です — 同じだけの配慮をもって扱ってください。誰かが紛失した場合、新しいものを発行できますが、それはあなたがここにいる間だけです。
  • 「詳細」はパスワードではありません。レコードの詳細ボックスに入力したもの(口座番号、権利書の保管場所、指示など)は、あなたが選んだ人々と読めるテキストとして共有されます。ゼロ知識暗号化されるのはユーザー名とパスワードボックスだけです。秘密は意図的にそこに入れてください。
  • ゼロ知識が適用されるのは秘密であり、メタデータではありません。あらゆるサービスと同様、私たちはアカウントレベルの事実(アカウントが存在すること、最終サインイン日時)を見ることができます。ボールトの中身は見えません。
  • パスキーがなくてもアカウントは機能します — パスワードを保存できないだけです。Googleサインインとレガシーハートビートで、ご家族はあなたが選んだ他のすべてを受け取れます。私たちは単に、パスワードを暗号化せずに保存することを拒否するだけです。

デモで必ず聞かれる質問

WiseEndingは本当にゼロ知識ですか? 私のパスワードを読めますか?
はい、本当にゼロ知識です。そして、いいえ — 私たちはあなたのパスワードを読めません。オプションのパスキーを有効にすると、秘密は送信・保存される前にAES-256-GCMでデバイス上で暗号化されます。サーバーが保持するのは暗号文だけで、会社のどこにもそれを復号する仕組みはありません。完全な侵害が起きても、さらされるのは読めないデータだけです。
実際にどの暗号化を使っていますか?
ボールトデータと鍵ラッピングにはAES-256-GCM、パスキーのWebAuthn PRF秘密からの鍵導出にはHKDF-SHA256、リカバリーコードと各人物のアクセスコードからの鍵導出にはPBKDF2-SHA256(310,000回反復)を使用します。すべてがWeb Crypto API経由でブラウザ内で動作し — サーバー上では決して動きません。
スマートフォン/すべてのデバイスを失くしたらどうなりますか?
一度きりのリカバリーコードは、新しいデバイスでも機能する独立した第二の鍵です。それでボールト鍵をアンラップし、アクセスを回復できます。パスキーとリカバリーコードの両方を失えば、暗号化された秘密は復元不可能です — それが、誰もあなたのために開けないボールトの正直な代償です。
パスワードマネージャーとどう違うのですか?
パスワードマネージャーは生きているあなたのログイン情報を守ります。WiseEndingはあなたのレガシー全体 — 資産、負債、書類、手紙、指示 — を守り、あなたがいない瞬間のために設計されています: 一人ごとのアクセスコードとレガシーハートビートが、適切なものを適切な人に届けます。アカウントもアプリもパスキーも不要です。保持する秘密には、同じクラスのオンデバイス・ゼロ知識暗号化を使用しています。
WiseEndingを使うためにこれらすべてを設定する必要がありますか?
いいえ。パスキーとゼロ知識ボールトはオプションの段階的アップグレードです。Googleサインインだけで、資産・負債・記録・人物を整理でき、レガシーハートビートも動作します。実際のパスワードを保存する準備ができたらパスキーを有効にしてください — 約1分で完了します。
WiseEndingの従業員が私のデータを読むのを何が止めますか?
二つあります。アーキテクチャ上、あなたのゼロ知識の秘密は私たちが鍵を持たない暗号文です — どの従業員ツールもそれを復号できません。完全に。データベース層では、Firestoreのセキュリティルールが残りのデータはあなただけが読めることを強制し、信頼できる人物のアクセスは明示的に付与され時間制限されます。「任意のボールトを表示」する管理ボタンは存在しません。設計がそれを不可能にしているからです。
もしWiseEndingという会社がいつか消えたらどうなりますか?
ご家族のアクセスコードは、私たちが証明するために存在することに依存しない暗号技術でボールト鍵にシールされています。そして設計がゼロ知識であるため、あなたのデータは私たちのログインの向こうに人質にされていません。私たちは正直なデータエグレスにもコミットしています: あなたの記録はあなたのものであり、削除はアーカイブではなく本物です。