Termalin のセキュリティ
Termalin は SSH クライアントです。あなたが持つ中で最も機微な認証情報を預かります。 このページでは、当社のサーバーが何を保存し、何を決して読めないのか、 そしてなぜそれらをさほど信頼しなくてよいのかを、ありのままに説明します。
エンドツーエンド暗号化を、具体的に
意味のあるデータはすべて、どこかへ送られる前にあなたのデバイス上で暗号化されます。 鍵はあなたのマスターパスワードから導かれます (PBKDF2-HMAC-SHA256、600,000 回の反復 → AES-256-GCM)。マスターパスワードが デバイスの外に出ることはありません。当社はあなたのデータを読むことも、代わりにリセットすることも できません。これは設計であって、不具合ではありません。最後の備えはあなた自身が握ります。任意の リカバリーコードを設定しておけば、パスワードを忘れても入り直せます。 設定しなければ、パスワードを忘れたときにデータは失われます。いずれにせよ、復旧する力は つねにあなたにあり、当社にはありません。
当社のサーバーに見えるもの
| データ | サーバーは読める? |
|---|---|
| ホスト、SSH 鍵、パスワード、スニペット(同期) | いいえ——暗号化されたブロブのみ |
| ターミナルセッションの録画(中身) | いいえ——暗号化されたブロブのみ |
| マスターパスワード | 送信されません |
| アカウントのメールアドレスとパスワード | メールアドレスは保存。パスワードは Argon2 ハッシュとして保存 |
| 録画のタイトルとホストのラベル | いいえ——録画と同じく、マスターパスワードで暗号化 |
| 録画のメタデータ(長さ、サイズ、AI エージェントが操作したかどうか) | はい——一覧表示とクォータに使用 |
| サブスクリプションのプラン、デバイス名、タイムスタンプ | はい |
| ウェブターミナルのセッション(ブラウザーのキャビネット) | 接続中は当社のサーバーを通過するだけで、保存されません。ホスト、ポート、ユーザー名は記録されます |
| AI アプリがホスト型 MCP エンドポイント経由で実行するコマンド | はい——コマンドのテキストはあなたのアクティビティログに残ります。出力は、あなたがオンにしたときだけ保存され、あなただけが持つ鍵で暗号化されます |
| Connector のあるサーバーからのサーバーメトリクスとアラート | はい——グラフを描き、アラートを出すために必要です(プライバシーポリシー(英語)をご覧ください) |
| 鍵導出のソルト | はい——ソルトは秘密ではありません。これによってウェブキャビネットがブラウザー内であなたの鍵を導けます |
アップデートは偽造できません
自動アップデートはオフラインの Ed25519 鍵で署名され、対応する公開鍵は アプリに同梱されています。何かをインストールする前に、アプリはリリースマニフェストの署名 と、それに照らしたインストーラーの SHA-256 を検証します。ここでは当社のサーバーも 信頼される立場にはありません。完全に侵害されたアップデートサーバー(あるいは DNS や hosts の 書き換え)でも、アップデートを止めることはできても、不正なものを送り込むことはできません。
アプリは TLS だけでなく、サーバー自体を認証します
アカウントの認証情報をどこかへ送る前に、アプリはランダムな nonce でサーバーに問いかけます。
サーバーはそれを自身の識別鍵で署名しなければならず、その署名はアプリに埋め込まれた公開鍵で
検証されます。偽のバックエンド——hosts ファイルや DNS の書き換え、あるいは
追加の TLS 証明書を信頼するよう設定されたマシンから到達するもの——はその署名を作れないため、
あなたのパスワードを見ることはありません。
バイナリに秘密はありません
デスクトップアプリに埋め込まれているのは公開鍵だけです。アプリのファイルを調べても、 使えるものは何も得られません。有料機能はすべてサーバー側で制御されます。
ウェブキャビネットについて、正直に
ウェブキャビネットは、あなたのマスターパスワードを 使ってブラウザー内で録画を復号します。パスワードがページの外に出ることはありません。すべての Web 上の E2E 製品に共通する、正直な但し書きがあります。そのページのコードを配信するのは サーバーなので、サーバーが侵害されれば、改変されたページを配信される可能性があります。 署名付きアップデートを備えたデスクトップアプリが、もっとも信頼できる経路であり続けます。 キャビネットは利便性のためのものです。
あなたのマシンで
- SSH ホスト鍵は初回接続時に
~/.termalin/known_hostsに固定されます(TOFU)。 - termal.in アカウントは二要素認証(バックアップコード付きの TOTP)とパスキーに対応します——デスクトップアプリはブラウザー経由でサインインできるので、パスワードがアプリに触れることはありません。
- 録画が保存するのはターミナルの出力とイベントマーカーで、生のキー入力は決して保存しません。
伏せ字プロンプト(
sudoなど)で入力したパスワードはエコーされないため、 録画に残ることはありません。ターミナルが表示したものは記録の一部になります。 - 「マスターパスワードを記憶」(任意、既定ではオフ)は、OS のキーストア ——Windows DPAPI、macOS の Keychain、Linux の Secret Service——で保護され、 OS のユーザーに結び付けられます。
インフラストラクチャ
バックエンドは Cloudflare の背後で Docker 上で動作し、TLS 1.2 以上(Let's Encrypt の 証明書)を使います。データベースはホストの localhost からのみ到達でき——インターネットに 公開されることは決してなく——バックアップは暗号化されています。収集するデータは可能な限り 少なくしています。アナリティクス SDK も、広告トラッカーもなく、データを販売することもありません。
コンプライアンスとロードマップ
実際に行ったこと以上をほのめかすより、 現状を正確にお伝えしたいと考えています。
| 領域 | ステータス |
|---|---|
| AES-256-GCM のボールト、PBKDF2-HMAC-SHA256、Ed25519 で署名されたアップデート | 提供済み |
| データの最小化と、要求に応じたアカウント/データの完全削除(GDPR への姿勢) | 提供済み |
| 独立した第三者によるペネトレーションテスト | GA 前に予定 |
| SOC 2 | ロードマップ上——現状はお問い合わせください |
脆弱性の報告
security@termal.in までメールしてください(当社の security.txt もご覧ください)。発見した内容、再現手順、 影響についてのあなたの見立てを添えてください。当社は 3 営業日以内に受領を確認し、どう判断したかを お伝えします。問題ではないと判断した場合も、その理由とともにお知らせします。
テストはご自身のアカウントに対してのみ行い、問題を実証した時点で止めてください(データの持ち出し、 永続化、サービス妨害、第三者やユーザーのデータへのアクセスはしないでください)。そして公開の前に、 妥当な猶予期間を当社にください。この範囲内で行っていただく限り、当社がその行為を追及することは ありません。
当社はバグバウンティ(報奨金)を支払いません。Termalin は収益化前の小さなプロジェクトで、 報奨の予算がありません。見込みで誰かに週末を費やしてもらうより、先にそうお伝えします。当社が 提供できるのは、security.txt の謝辞にあなたが選んだ名前とリンクで掲載すること、あなたの報告内容を 記した推薦状、そして数か月分の Pro ライセンスです。発見が重大な場合は、修正がいつ出荷されるかも お伝えします。
謝辞
問題を責任を持って報告し、Termalin をより安全にするのを助けてくださった 研究者の方々に感謝します。
- MD Rabbi Hossain — MCP 認可フローにおける OAuth クライアント登録の堅牢化(2026 年 9 月)。