Trust Model
Clientsの信頼設計。
本文を預けない。相手を広げすぎない。送れる状態になるまで送らない。
Clients は、ただメッセージを暗号化するだけのアプリではありません。 大切な連絡を始める前から、見え方、相手、端末、送信、復旧、支払いまでを分けて考えます。
広げるためではなく、絞るために。急ぐためではなく、確かめるために。
Activation
部屋が整うまで、送信しない。
招待を承諾しただけでは、連絡は始まりません。
secure room の準備、鍵の確認、支払い状態など、 必要な確認がそろってからメッセージを送れるようになります。
- Invite Created
- Client Accepted
- Key / KT Verified
- Billing / Entitlement Checked
- Secure Room Activated
- First Message Allowed
E2EE
メッセージ本文と秘密鍵を預けない。
Clients は、メッセージ本文や秘密鍵をサーバーに保存しない設計を前提にしています。
ただし、「サーバーは何も見ない」とは説明しません。連絡を届けるために必要な情報と、見えないようにする情報を分けて伝えます。
Invite
必要な相手だけを招待する。
連絡先をまとめて取り込むのではなく、必要な相手にだけ招待を渡します。
相談者、依頼者、顧問先、支援者、関係者。大切な連絡は、広げるより先に、相手を絞ることから始まります。
Passkey
本人の操作で入る。
Clients は、パスワードを覚えて入力する前提ではなく、passkey を使って本人の端末操作で入る流れを重視します。
端末を変える場合やアクセスを失った場合は、安全のための確認や待機時間が必要になることがあります。
一部の端末信頼・復旧・外部連携は、段階的に確認しています。完了していない機能を、完了済みとは説明しません。
Device Trust
危険な端末状態では制限する。
改造端末や危険な端末状態では、利用を制限することがあります。
便利さよりも、大切な連絡を未確認の状態で扱わないことを優先します。
外部端末信頼連携は、完了済み・本番対応済みとは説明しません。
Safety Mode
とっさに見え方を減らす。
Safety Mode / Panic Lock は、画面に出る情報やアクセスの露出を減らすための機能です。
ただし、魔法のようにすべてを隠す機能ではありません。スクリーンショットや画面共有など、端末側で起きる情報露出も、OS が許す範囲で減らします。
Anonymous Send
送信者と配送の結びつきを弱める。
Clients は、誰が送ったかをサーバー側で直接結びつけにくくするための送信設計を採用します。
通信元と中身の結びつきも、できるだけ弱める方向で設計しています。ただし、匿名性を保証するものではありません。
Contact Discovery
連絡先や相手探しも、そのまま預けない。
相手を探すために、連絡先をそのまま預けることは避けるべきです。
Clients は、連絡先や相手探しでも、できるだけプライバシーを守る方法を重視します。
Report
必要なときだけ、報告を作る。
困ったことが起きたとき、すべてをそのまま送る必要はありません。
Clients は、必要な範囲だけを選び、期限つきの暗号化された報告パッケージとして扱う考え方を採用します。
Export
記録を整理できる。
あとで確認が必要になったときのために、記録を整理しやすい形式を用意します。
ただし、それが法的な結果を保証するものではありません。
Privacy Label
何が見えるか /見えないかを説明する。
Privacy Nutrition Label では、サーバーが扱う情報と、見えないようにする情報を分けて説明します。
強い言葉で安心させるのではなく、見える範囲を言葉で確認できるようにします。
Policy Bundle
方針そのものを検証する。
アプリが従うべき方針は、ただ書いて終わりではありません。
古い方針や誤った状態で動かないようにします。
Billing
支払いは専門家側で管理する。
Clients の支払いは、secure room を用意する professional account 側で管理されます。
招待された client invitee が、招待された secure room に参加・返信するために支払う必要はありません。
Review
技術レビューで見るポイント。
Clients を事務所や組織で導入する前に、 IT担当者や外部ベンダーが確認しやすいよう、主な論点を整理しています。
- サーバーがメッセージ平文や秘密鍵を保存しない設計か
- メッセージ送信経路とアカウント認証経路が分離されているか
- anonymousSendToken による送信経路があるか
- OHTTP により通信元と中身の結びつきが弱められているか
- passkey / recovery / timelock が安全側に倒れているか
- 端末リスク時に制限できるか
- raw contact upload を避ける設計か
- report package が user-selected / encrypted / time-limited か
- signed export が生の記録一式の放出になっていないか
- Privacy Nutrition Label が server-visible data を説明しているか
- Policy Bundle によりクライアント方針が検証されるか
- billing entitlement が secure room activation に結びついているか
- client invitee に課金を求めないか
- 段階的に確認している機能を、完了扱いしていないか