基本原則
Solo2は2人の間にプライベートトンネルを作ります。直接。仲介者なし。
私たちのサーバーがすることはただ1つ:トンネルの両端を紹介して、お互いを見つけられるようにすることです。そのために必要なのは最低限のもの — 2つのピアの識別子 — だけで、それを紹介にかかるミリ秒間だけRAMメモリに保持します。2つのデバイスがお互いを見つけた瞬間、そのデータはメモリから消去されます。いかなる時点でも、ディスクに書き込まれることは決してありません。
接続されると、サーバーは姿を消します。会話に参加しません。見ることもありません。保存することもありません。どのくらい続くのか、どのくらいの頻度で話すのか、何について話すのか、一切知りません。
私たちを信じてとは言いません。自分で確かめてください:
テスト1 — サーバーは不要。
直接トンネルが確立されると、私たちのサーバーはもう関与しません。その瞬間にサーバーがダウンしても、あなたの会話は中断なく続きます。あなたのデバイスが起動してインターネットに接続されている限り、トンネルはあなたのものです。私たちはもうそこにいません。
テスト2 — 10ギガバイトのファイルを送信。
速いだけではありません — 私たちのサーバーには全く関係ありません。24時間連続で10ギガバイト以上のファイルを送り続けてみてください。私たちのサーバーは気づきもしません、関与していないからです。他のどのメッセージングサービスでも同じことを試してみてください。
テスト3 — 望遠鏡について話す。
望遠鏡や釣り竿、またはインターネットで検索したことがないものについて誰かと午後いっぱい話してみてください。数日待ってください。望遠鏡の広告はどこにも表示されません。あなたの言葉はトンネルの外に出ていません。
あなたのデータ、あなたの責任。
これは私たちの最大の強みであり、正直に言えば、最も慣れるのに時間がかかることです。あなたのメッセージ、ファイル、連絡先は、あなたのデバイス内の暗号化された金庫に保管されています。どのサーバーにもコピーはありません。24個の単語で保護されています — Bitcoinと同じセキュリティレベルです。ただし、それらは1か所にしかありません。Solo2を2台目のデバイスにインストールしない限り — 同時に接続されている場合、両方の金庫は自動的に同期します。暗号化されたバックアップをエクスポートすることもできます。唯一のデバイスを紛失した場合に救ってくれるクラウドはありません。あなたのデータはあなたのものです、すべての結果を含めて。
詳細
Solo2のサーバーは完全に盲目です。 誰と話しているか、何を言っているか、どのファイルを共有しているかを知りません。デバイス間の接続を確立する技術的なシグナルさえもサーバーには読み取れません — エンドツーエンドで暗号化されて送信されます。
メッセージはデバイス間で直接やり取りされ、エンドツーエンドで暗号化されます。履歴はブラウザ内で暗号化されて保存され、サーバーには保存されません。
暗号化鍵はメッセージごとに自動的にローテーションされます。各メッセージは固有の鍵で暗号化され、使用後すぐに破棄されます。これは技術的にDouble Ratchetと呼ばれ、たとえ誰かが鍵を入手しても、読めるのは1つのメッセージだけで、会話全体ではありません。さらに、通信ラウンドごとにセキュリティは自動的に復元されます。侵害された鍵は、次のメッセージが交換された時点で無効になります。
デバイス間の直接接続が不可能な場合(例えばネットワークの制限)、ミラーサーバー(技術的にはTURNと呼ばれます)が使用されます:データはデバイス間で反射されますが、ミラーは反射しているものを認識しません — すべてがエンドツーエンドで暗号化されてやり取りされ、サーバーは読めません。さらに、すべてのパケットは均一なサイズにパディングされ、観察者がトラフィックのサイズや頻度を分析して情報を推測することを防ぎます。
アプリケーション内でどのタイプの接続を使用しているか常に確認できます — 直接接続またはミラーサーバー経由 — そしてそれに応じて対処できます。
マスターキーは256ビットの真のエントロピーでランダムに生成されます — Bitcoinと同レベル。 アカウント作成時にSolo2は24個の単語として表される一意の鍵を生成します。パスワードはサービスへのアクセスを保護します。24個の単語はデータの鍵です。2つの異なるドアのための2つの異なる鍵です。
当社のサーバーが消えても、あなたのデータは残ります。24語の単語があれば、サーバーに接続せずにローカルの金庫にアクセスできます。あなたのデータは本当にあなたのものです。
1. サーバーに保持しているデータ
1.1 ユーザーアカウント
これらはあなたの記録に存在するすべてのフィールドです。他にはありません。
| データ | 理由 | 保護 | 保持期間 |
|---|---|---|---|
| ユーザー名 | ログインするため | プレーンテキスト(設計上公開) | アカウントを削除するまで |
| パスワード | 認証 | Argon2idで保護(OWASPが推奨、専用ハードウェアによる攻撃に耐性あり)。あなたの実際のパスワードは決して保存されません | アカウントを削除するまで |
| 公開名 | 連絡先があなたを認識するため | プレーンテキスト(あなたが選びます) | 変更するかアカウントを削除するまで |
| リンクコード | Solo2内でのあなたのアドレス — 電話番号のようなものです。接続リクエストを送ってもらうために相手と共有するものです | プレーンテキスト、固有(約10文字) | アカウントを削除するまで |
| 残高 | アカウントに追加した金額 | 数値(セント単位) | アカウントを削除するまで |
| ボーナス残高 | 受け取ったボーナス(プロモーション)。金銭残高より先に消費されます | 数値(セント単位) | アカウントを削除するまで |
| アカウントタイプ | 現在のプラン(トライアル、スタンダード、ゴールド、プラチナ) | 1バイト(整数:0=トライアル、1=スタンダード、2=ゴールド、3=プラチナ、4=一時停止、5=停止) | 変更するかアカウントを削除するまで |
| 登録日時 | アカウントを作成した日時 | 完全な日時(タイムスタンプ) | 永続 |
| 内部識別子 | システムはユーザー名を使わずにあなたを参照するために2つの内部コードを必要とします。1つはプライマリIDで、もう1つは参照コードです。どちらも不透明です — システム外では意味を持ちません | それぞれ24文字のランダムなコード2つ(例:u_7kX9mP2...)。名前、日付、個人データは含まれません — 純粋にランダムです | アカウントを削除するまで |
| セキュリティバージョン | パスワード保護アルゴリズムのどのバージョンが使用されたか | 内部番号 | アカウントを削除するまで |
| ステータスフラグ | 技術的フラグ(残高が変更されたか、最大セキュリティモードがアクティブかなど) | 1バイト — 1文字分に相当。それ以上は入りません | アカウントを削除するまで |
データ量の目安として:あなたのレコード全体で約400バイト — この段落より短いです。名前(架空でも構いません)、パスワードのフィンガープリント(固定サイズ、60バイト)、暗号化されたマスターキー(読み取り不可能な約128バイトの塊)、残高用の2つの数値、いくつかの日付、1バイトの設定フラグ。これがサーバー上にあなたが存在するすべてです。
1.2 アクティブセッション
| データ | 理由 | 保護 | 保持期間 |
|---|---|---|---|
| セッショントークンのハッシュ | ログインを維持するため | 不可逆なフィンガープリント(SHA-256)。元のトークンはサーバーに保存されません | 24時間 — その後完全に削除されます |
| 作成日 | システムがいつ作成されたかを知るため — 自動クリーンアップに有用 | 数値タイムスタンプ(unix秒) | セッションとともに削除されます |
| 有効期限 | セッションは作成から24時間後に期限切れになります。使用しても更新されません — 固定の有効期限があります | 数値タイムスタンプ(作成 + 24時間) | 24時間 — その後完全に削除されます |
ログアウト時または有効期限切れ時、行はデータベースから完全に削除されます。セッションが存在した痕跡は残りません。
1.3 リンクリクエスト
| データ | 理由 | 保護 | 保持期間 |
|---|---|---|---|
| リクエスト者のID | 誰がリクエストを送ったか知るため | 24文字のランダムな内部コード | 3日間 — その後自動的に削除されます |
| 受信者のID | 誰宛かを知るため | 24文字のランダムな内部コード | 3日間 — その後自動的に削除されます |
| ステータス | 保留中 / 承認済み / 拒否済み | 1バイト(整数:0=保留中、1=承認済み、2=拒否済み) | 解決時または期限切れ時に削除(3日間) |
| 作成日 | リクエストがいつ作成されたかを知り、自動削除できるようにする | 数値タイムスタンプ(unix秒)— 4〜8バイト | 3日間 — その後自動的に削除されます |
重要な注記: リクエストが保留中の間(最大3日間)、サーバーはユーザーAがユーザーBに接続をリクエストしたことを知っています。3日を過ぎると、リクエストは自動的に削除されます。いったんリンクが受け入れられると、サーバーはその関係を保存しません。連絡先リストはブラウザ内にのみ、暗号化されて存在します。
1.4 接続コード
| データ | 理由 | 保護 | 保持期間 |
|---|---|---|---|
| 接続コード(エイリアス) | 他のユーザーがあなたを見つけ、トンネル作成をリクエストするための短い識別子 | 内部IDから導出されたランダムな8文字のコード | 永続的(あなたの公開接続識別子です) |
1.5 プッシュサブスクリプション(通知)
| データ | 理由 | 保護 | 保持期間 |
|---|---|---|---|
| 通知アドレス | ブラウザに通知を送るため | ブラウザプロバイダーのURL(Google、Mozilla、またはApple) | 通知を無効にするかアカウントを削除するまで |
| プッシュ暗号化鍵 | あなたのブラウザだけが読めるように通知を暗号化するため | Web Push標準 | アドレスと同じ |
1.6 フィードバック(サポート)
| データ | 理由 | 保護 | 保持期間 |
|---|---|---|---|
| あなたのメッセージ | サポートするため | プレーンテキスト | 処理するまで |
| あなたのユーザーID | 誰が助けを必要としているか知るため | 内部ID | メッセージと同じ |
1.7 接続シグナリング(一時的)
2台のデバイスが直接接続するためには、接続確立のための技術的なシグナル(WebRTCプロトコル)を交換する必要があります。サーバーがあなたのユーザーコードと相手のユーザーコードをメモリ上に保持する唯一の瞬間は、この接続リクエストを処理するミリ秒の間です。一瞬で終わり、RAMにのみ存在し、ディスクに書き込まれることはありません。シグナル自体はエンドツーエンドで暗号化されています
| データ | 理由 | 保護 | 保持期間 |
|---|---|---|---|
| 接続シグナル | デバイス間の直接接続を確立するため | 受信者の公開鍵でエンドツーエンド暗号化。サーバーは読むことも変更することもできません | 60秒 |
1.8 ミラーサーバー(TURNリレー)
直接接続が不可能な場合、ミラーサーバーが使用されます:鏡を通る光のように、データはそこを通過します — 片側からもう片側へ反射されますが、鏡は何を反射しているか認識しません。すべてのパケットは均一なサイズにパディングされ、観察者がメッセージと単なる接続ハートビートを区別できないようにしています。
| データ | 理由 | 保護 | 保持期間 |
|---|---|---|---|
| アクセス資格情報 | ミラーサーバーへの認証のため | あなたのアイデンティティは不可逆なフィンガープリントに変換されます — ミラーサーバーはあなたが誰か知りません | 24時間 |
1.9 処理された支払い
支払いは、匿名性との間で実質的な摩擦が存在する唯一のポイントです。これについて正直にお話しします。
Solo2に登録する際、ユーザー名(架空でも可)、パスワード、公開名(これも架空でも可)を選びます。実在の人物に紐づくデータはありません。しかし、カードで支払いを行った場合、あなたの金融機関はあなたが誰か知っています。
決済ゲートウェイから受け取るのは確認と金額のみです。名義人の名前、カード番号、身分証明書、支払者の個人情報は一切受け取らず保存もしません。少額の金額です — 法的にはキオスクでキャンディを買うのと同等の現金レシートです:キオスク店主は支払者の身分証を記録しません。
さらに、支払い記録はユーザーアカウントから意図的に切り離されています
| データ | 理由 | 保護 | 保持期間 |
|---|---|---|---|
| 支払い記録 | 会計および税務上の義務 | 確認 + 金額。支払者の個人データなし。いかなるユーザーアカウントとも紐づけなし | 永続(法的義務) |
最悪のシナリオについて:
すべての収入は合法であり、決済ゲートウェイを通じて記帳されています。対応する税金を納めています。しかし、当社側からの顧客の匿名性は完全です。
2. サーバーに保持していないデータ
これこそが私たちを定義するものです。Solo2のサーバーは以下を保存せず、アクセスもできません
- あなたのメッセージ
- あなたのファイル
- あなたの連絡先リスト
- あなたのチャット履歴
- あなたの位置情報
- 利用分析
- デバイスデータ
- 通信メタデータ
あなたのIPアドレスについて
あなたのIPアドレスはデータベースに保存されません。サーバーの技術ログでは、IPアドレスは不可逆のハッシュに変換されます — 不正利用パターンの検出には役立ちますが、元のIPに戻すことはできません。これらのログは7日ごとに自動的に削除されます。接続シグナルにはIPが含まれる可能性がありますが、エンドツーエンドで暗号化されています — サーバーは読めません。
3. ブラウザ内のデータ(金庫)
以下のすべてはあなたのブラウザ内にのみ存在します
データは保存時に暗号化されています — 誰かがブラウザのストレージにアクセスしても、パスワードなしでは読めない暗号化ブロックしか見つかりません。
バックアップをエクスポートすると、同じ保護(Argon2id + AES-256-GCM)で暗号化されます。パスワードを知っている人だけが復号できます。
| データ | 暗号化 | 管理 |
|---|---|---|
| メッセージ | AES-256-GCM | 削除するタイミングはあなたが決めます |
| ファイル | AES-256-GCM | 削除するタイミングはあなたが決めます |
| 連絡先(ペア) | AES-256-GCM | 誰とリンクするかはあなたが決めます |
| 確認ステータス | AES-256-GCM | 各連絡先のアイデンティティはあなたが確認します |
| 検索インデックス | 不可逆トークン(HMAC)で暗号化 | メッセージから再構築されます |
| 配信ステータス | AES-256-GCM | どのメッセージが配信されたか |
| 保留中のメッセージ | AES-256-GCM | 接続がない時の送信キュー |
ブラウザの一時ストレージ
| データ | 種類 | 保持期間 | 理由 |
|---|---|---|---|
| ユーザーセッション | ブラウザのローカルメモリ(localStorage) | ログアウトするまで | ログインを維持するため |
| アプリバージョン | ブラウザのローカルメモリ(localStorage) | 永続 | アップデートを検出するため |
| テーマ設定 | ブラウザのローカルメモリ(localStorage) | 永続 | ビジュアルテーマを記憶するため |
| 言語設定 | ブラウザのローカルメモリ(localStorage) | 永続 | 言語を記憶するため |
| パスワード(最大セキュリティモード) | タブメモリ(sessionStorage) | タブを閉じると消えます | ページをリロードした場合に暗号化を再初期化するため |
ブラウザでのセキュリティに関する注記
Solo2はウェブブラウザ内で動作します。暗号化されたデータは保存時に保護されていますが、アプリが開いていて画面上に復号されたメッセージが表示されている場合、セキュリティはあなたの環境にも依存します:
- ブラウザ拡張機能:
- クリーンなブラウザ:
- ネイティブアプリケーション:
4. ネットワーク接続
Solo2アプリケーション
| ドメイン | 理由 | 送信データ |
|---|---|---|
| solo2.net | アプリケーションAPI | 認証、シグナリング、プレゼンス |
| pay.menzuri.com | 決済ゲートウェイ | 支払いを行った場合のみ |
他のドメインはありません。
デバイスのパブリックIPアドレスの検出(ユーザー間の直接接続に必要)にも、自社サーバー(技術的にはSTUNと呼ばれます)を使用しています。外部サービスに委託しません。自社で管理しています。
紹介ページ
紹介ページ(solo2.net)— アプリケーションとは独立しています — は、ドイツにある自社サーバーでホストされた匿名計測システムを使用しています:
| ドメイン | 理由 | 送信データ |
|---|---|---|
| stats.menzuri.com | 匿名の訪問計測 | 閲覧ページ(Cookieなし、IPなし、識別なし) |
このシステムはCookieをインストールせず、IPアドレスを記録せず、識別せず、訪問間で追跡せず、第三者とデータを共有しません。Solo2アプリケーションにはこのシステムも他のいかなる分析機能もありません。
5. データの削除
2つの異なるアクションがあり、その違いを理解することが重要です:
ローカルデータの削除
アプリケーションの設定から、2つのローカル削除オプションがあります:
- マイデータを消去
- 緊急リセット
どちらの場合も、サーバー上のアカウントは残ります。
デバイス間の自動リカバリー
あるデバイスでデータを失い、別のデバイスが接続されている場合、Solo2はその状況を検出し、アイデンティティと金庫を自動的に復元することを提案します。復元はデバイス間の直接接続で暗号化(Argon2id)されて行われます — サーバーは経由しません。
サーバーからアカウントを削除
- すべて
- 削除はアトミック
- 支払い記録はユーザーアカウントから意図的に切り離されたまま
- サーバーログ内の識別子は不可逆なフィンガープリントです:アカウント削除後にログとアカウントを紐づけることはできません。
- ブラウザ内の金庫はこのアクションでは自動的に削除されません(ブラウザにアクセスできないため)。削除するには、まず核消去を実行するか、ブラウザのサイトデータを消去してください。
5b. マスターキーと24語の単語
Solo2でアカウントを作成すると、256ビットの真のエントロピーを持つマスターキーが生成されます(Bitcoinと同じ)。この鍵はあなただけが知る24語の単語として表現されます。パスワードがこの鍵をラップし、暗号化されてサーバーに保存されます — サーバーは読めません。
つまり、2つの独立した鍵
使用アルゴリズム(検証可能)
生成:CSPRNG
マスターキーの保護方法
| レイヤー | 概要 | 保管場所 |
|---|---|---|
| パスワード | サーバーへのアクセス。マスターキーをラップ | あなたの記憶 + サーバー上のハッシュ |
| デバイスシークレット | インストール時に自動生成される不可視の第二要素 | デバイス上(抽出不可) |
| マスターキー(24語の単語) | ランダムに生成された256ビットの真のエントロピー。Bitcoinレベル(BIP39) | あなたが保管する紙 + サーバー上でラップ済み |
| 鍵のローテーション | 各メッセージは使用後に破棄される固有の鍵を使用(Double Ratchet) | 自動的、透過的 |
パスワードを変更した場合
パスワードの変更は即座に行われます。マスターキーが新しいパスワードで再ラップされるだけです — アイデンティティは変わらず、金庫の再暗号化もなく、連絡先は影響を受けず、24語の単語もそのままです。ミリ秒の操作です。
リカバリー
パスワードを失った場合、24語の単語でサーバーなしで金庫にアクセスできます。24語の単語を失った場合、パスワードでログインすればサーバーがラップされた鍵を返します。両方を失った場合、データは復元不可能です。Bitcoinと同様、これは設計によるセキュリティです。
6. 誰かが不正にサーバーにアクセスした場合
攻撃者がSolo2のサーバーに完全アクセスを得た場合、以下が得られます:
- ユーザー名と公開名
- リンクコード
- 公開鍵(ブラウザにある秘密鍵なしでは無意味)
- パスワードのフィンガープリント(Argon2idにより極めてコストの高い総当たり攻撃なしでは無意味)
- セッショントークンのフィンガープリント(元のトークンなしでは無意味)
- 保留中のリンクリクエスト(内部ID、3日間で期限切れ)
- アカウントタイプ、残高、登録日
- 支払い記録(特定のユーザーと紐づける手段なし)
得られないもの:
- メッセージなし(サーバーに存在したことがありません)
- ファイルなし(サーバーに存在したことがありません)
- 連絡先リストなし(サーバーに存在したことがありません)
- チャット履歴なし(サーバーに存在したことがありません)
- 暗号化秘密鍵なし(ブラウザ内に存在します)
- IPアドレスなし(記録されていません)
7. 私たちのコミットメント
このマニフェストはデータ管理に関連する変更があるたびに更新されます。データベースに新しいフィールドを追加すれば、ここに表示されます。何かを削除しても同様です。
有効なバージョンは常にこのページです。