私たちが見ているもの。
私たちがやらないこと。
これはマーケティング ページではありません。これは、City of Hats が収集するデータ、当社のサーバーがアクセスできるものとできないもの、および暗号化の境界がどこにあるかについての技術仕様です。
最終更新日: 2026 年 4 月私たちは、安全性は主張されるべきものではなく、証明されるべきであると信じています。
— から守るものと守らないもの
から保護するように設計されています
- ✅パッシブネットワーク監視
- ✅サーバー側のデータ アクセス (E2E メッセージを読み取ることはできません)
- ✅電話番号または電子メールによる個人情報の関連付け
- ✅将来の量子攻撃 (ハイブリッド PQ 鍵交換)
- ✅過去のメッセージを公開する重要な侵害 (前方秘密保持)
- ✅メッセージ長分析 (メタデータ パディング)
まだ正式に評価されていない
- ⚠国民国家の敵対者
- ⚠ユーザーデバイスの侵害 (OS レベルの攻撃)
- ⚠高度な標的型攻撃
- ⚠大規模トラフィック解析(タイミング、周波数パターン)
暗号化アーキテクチャ
Double Ratchet プロトコル
Signal と同じプロトコル ファミリ。すべてのメッセージは一意のキーを使用します。 1 つのキーが侵害されても、過去または将来のメッセージが公開されることはありません (前方秘匿性 + 将来の秘匿性)。
ポスト量子ハイブリッド
鍵交換にはX25519 + ML-KEM-768 (Kyber) が使用されます。将来、量子コンピューターが古典的な鍵交換を破ったとしても、メッセージは保護されたままになります。
AES-256-GCM
すべてのメッセージ ペイロード、ファイル コンテンツ、およびコール シグナリングは、AES-256-GCM 認証暗号化を使用して暗号化されます。メタデータの漏洩を防ぐためにヘッダーも暗号化されます。
グループ送信者キー
グループ メッセージは、HMAC チェーン ラチェットと ECDSA 署名を備えた送信者キー プロトコルを使用します。各送信者は、暗号化された 1:1 チャネル上に配布された独自のキー チェーンを維持します。
鍵交換 → X25519 + ML-KEM-768 (ハイブリッドポスト量子)
ラチェット → Double Ratchet (Signal プロトコルファミリー)
対称暗号 → AES-256-GCM
鍵導出 → HKDF-SHA-256
メッセージ認証 → HMAC-SHA-256
署名 → ECDSA P-256 (グループ)
パスフレーズ KDF → PBKDF2
ランタイム → Web 暗号化 API (ブラウザネイティブ)
PQ ライブラリ → @noble/ポスト量子 (ML-KEM-768)
github.com/City-of-Hats/coh-crypto-spec →
当社のサーバーで見えるものと見えないもの
| データ型 | サーバーアクセス | 詳細 |
|---|---|---|
| メッセージの内容 | ✕見えない | すべてのハットツーハットメッセージはクライアント側でエンドツーエンドで暗号化されます。サーバーは不透明な暗号文のみを保存します。 |
| 添付ファイル | ✕見えない | ファイルはアップロード前にクライアント側で暗号化されます。サーバーは暗号化された BLOB を保存します。 |
| 音声 & ビデオ通話 | ✕見えない | 通話では、暗号化されたシグナリングを備えたピアツーピア WebRTC が使用されます。サーバーは接続セットアップのみを容易にします。 |
| Dead Drops / EchoDrop | ✕見えない | コンテンツはクライアント側で暗号化されます。復号化キーは URL フラグメント内に存在するか (サーバーに送信されることはありません)、パスフレーズから派生します。 |
| GhostFrame ペイロード | ✕見えない | ステガノグラフィー コンテンツは、アップロード前にクライアント側で埋め込まれ、暗号化されます。 |
| 秘密鍵 | ✕見えない | ECDH およびポスト量子秘密キーはデバイス上でのみ生成および保存されます。サーバーに送信されることはありません。 |
| ハットコード | ✓見える | Hat ID は、メッセージをルーティングするために保存されます。彼らは仮名であり、本当の身元とは関係ありません。 |
| チャネルペアID | ✓見える | Hat A と Hat B がチャンネルを持っているという記録。メッセージルーティングに必要です。 |
| タイムスタンプ | ✓見える | メッセージの送受信タイムスタンプ。注文および有効期限のロジックに必要です。 |
| 公開鍵 | ✓見える | ECDH および ML-KEM 公開キーは、キー交換を可能にするために公開されます。これは設計によるものであり、— 公開鍵は公開されるように設計されています。 |
| プッシュ通知トークン | ⚠メタデータのみ | デバイス プッシュ トークンは、通知を配信するために保存されます。通知コンテンツにはメッセージコンテンツではなく一般的なテキストが使用されます。 |
2 つの暗号化パス — を正直に説明
クライアント側 E2E (デフォルト)
すべてのハットツーハットメッセージ、通話、デッドドロップ、GhostFrame、および EchoDrop に使用されます。
- ✅送信前にデバイス上で暗号化されます
- ✅受信者のデバイス上でのみ復号化される
- ✅サーバーは不透明な暗号文を保存します
- ✅強制しても復号できない
サーバー側の暗号化 (限定的)
システム生成コンテンツにのみ使用されます: プラットフォームのアナウンスと CHECK インテリジェンス ボット。
- ⚠サーバーはこのコンテンツを生成および暗号化します
- ⚠サーバーはこれらのパスの暗号化キーを保持しています
- ℹこれはボット/システム メッセージにのみ適用されます
- ✅ユーザー間のチャットがこのパス上に存在することはありません
ログに記録する内容
| カテゴリ | 記録される内容 | 保持 |
|---|---|---|
| IPアドレス(アプリ) | レート制限では、IP アドレスの一方向 SHA-256 ハッシュが使用されます。生の IP はデータベースに保存されません。標準の Web サーバーのアクセス ログには一時的に IP が含まれる場合があります。 | ハッシュ化: 永続的。アクセスログ: 定期的にローテーションされます。 |
| IP アドレス (Web サイト) | マーケティング Web サイト (cityofhats.com) は、IP およびおおよその地理位置情報を含む訪問者の分析を収集します。これはメッセージング アプリケーションとは別のものです。 | メッセージング ID にリンクされていません。 |
| メッセージの内容 | ログに記録されていません。アクセスできません。 E2E 暗号文は配信用に保存され、ユーザーが設定した有効期限が適用されます。 | ユーザー制御 (書き込みタイマー、自動有効期限)。 |
| エラー/クラッシュログ | デバッグ用のサーバー側のエラー ログ。これらには、メッセージの内容ではなく、エラーの種類とスタック トレースが含まれます。 | 定期的にローテーションします。 |
| レート制限イベント | 悪用を防ぐためにハッシュ化された識別子で記録されます。メッセージ内容はありません。 | ローリングウィンドウ。 |
| アカウントデータ | Auth0 (Google/Apple) でサインインすると、認証プロバイダーは電子メールを共有します。匿名 (帽子のみ) アカウントにはリンクされた電子メールがありません。 | アカウント削除まで。 |
鍵の保管場所
| キーの種類 | 保管場所 | サーバーアクセス |
|---|---|---|
| ECDH秘密鍵 | デバイスのみ (ブラウザーのローカルストレージ) | 決して送信されない |
| ML-KEM秘密鍵 | デバイスのみ (ブラウザーのローカルストレージ) | 決して送信されない |
| Double Ratchet 州 | デバイスのみ。サーバーへのオプションの暗号化バックアップ (秘密キーから派生したキーで暗号化)。 | 暗号化バックアップのみ |
| グループ送信者キー | デバイスのみ (ブラウザーのローカルストレージ) | 決して送信されない |
| ECDH 公開鍵 | 鍵交換のためにサーバーに公開される | 見える(仕様による) |
| ML-KEM公開鍵 | 鍵交換のためにサーバーに公開される | 見える(仕様による) |
法執行機関と法的要請
- ✓ メッセージの内容は提供できません。 E2E 暗号化メッセージは暗号文として保存されます。当社は復号化キーを保持しません。たとえ法律で強制されたとしても、ユーザー間のメッセージを解読することはできません。
- ✓ 法的に強制された場合に提供できるもの: ハット コード、チャネル ペア レコード、タイムスタンプ、公開キー、アカウントの電子メール (ユーザーがプロバイダーにサインインしている場合)。これは、暗号化されたメッセージング サービスが保存するものと同じメタデータです。
- ✓ 匿名アカウントには最小限のデータが含まれます。 サインインせずにハットのみのアカウントを作成したユーザーは、サーバー上に電子メール、電話番号、ID 情報を持ちません。ハットコードが唯一の識別子です。
- ✓ 透明性レポートを公開します。 当社は、適用される法律に従って、受信した法的要請と提供されたデータに関する集計統計を公開する予定です。
- ✓ 令状カナリア: City of Hats は令状カナリアを維持します。これが削除された場合、それは当社が秘密の法的命令を受けたことを意味します。
次に行うこと
技術的透明性ページ
このページ。私たちのシステムが何を行うかについての詳細かつ正直な仕様。 2026 年 4 月発行。
オープンソースの暗号レイヤー
私たちは、独立した検証のために暗号化プロトコルの実装 (Double Ratchet、ポスト量子ハイブリッド、グループ送信者キー) をオープンソースとして公開します。
独立したセキュリティ監査
信頼できる第三者企業が当社の暗号化実装を監査します。レポート全文は編集なしでここに公開されます。
透明性レポート
受け取った法的要請、開示されたデータ、およびシステム稼働時間に関する定期的なレポート。このページで公開されました。
私たちを信頼する必要はありません
- ✓ 安全番号。 各チャネルには、双方の公開鍵から導出された一意の安全番号が表示されます。帯域外を比較して、中間者攻撃が発生していないことを確認します。
- ✓ キー変更アラート。 連絡先の暗号化キーが変更された場合 (新しいデバイス、再インストール)、アラートを受け取ります。これにより、サイレントキー置換が防止されます。
- ✓ 監査ログ チェーン。 暗号化監査ログは、ログの改ざんを検出できるようにハッシュ チェーンを使用します。
- ✓ E2E インジケーター。 暗号化されたすべてのチャネルには「E2E」の付いた鍵アイコンが表示され、その会話に対してクライアント側の暗号化がアクティブであることを確認します。
- ✓ オープン暗号仕様。 当社の完全なプロトコル設計— 鍵交換、Double Ratchet、ポスト量子ハイブリッド、グループ暗号化— は公開されています。自分で確認してください: github.com/City-of-Hats/coh-crypto-spec
ご質問またはご懸念がありますか?
City of Hats Inc. · Torオント、カナダ · オンタリオ州に設立