このページは翻訳です。英語版と内容が異なる場合は、英語版が優先されます。 英語版
プライバシーポリシー
このポリシーは、Submarineアプリ(Windows、macOS、Linux、Android)、アプリが利用できる任意のSubmarine同期サービス、およびこのウェブサイトに適用されます。
概要
- サーバー、パスワード、SSH鍵、メモは、プロファイルパスワードから作った鍵で暗号化され、お使いのデバイス上にとどまります。アプリには、アナリティクス、広告、トラッキング、クラッシュレポートのいずれもありません。
- クラウド同期(Cloud sync)は任意です。オンにすると、同期サーバーは、アカウントのメールアドレスと、暗号化された形のプロファイルを保管します。サーバーは、プロファイルの中身を読めません。
- アカウントと、サーバーがそのアカウントについて保持しているすべてのデータは、アプリ内またはこのウェブサイトで削除できます。
責任者
Submarineは、Sina Xhpm(sinaxhpm.com)が開発しています。submarine.sinaxhpm.comの同期サービスも、Sina Xhpmが運営しています(古いバージョンのアプリはapi.sinaxhpm.comを使います)。アプリのソースコードはgithub.com/SinaXhpm/Submarineで公開されています(MITライセンス)。そのため、このポリシーに書かれたアプリに関する内容は、コードで確認できます。
デバイス上にとどまるもの
- プロファイル(サーバー、ログイン情報、SSH鍵、トンネル、メモ、コマンド、既知のホスト鍵、そしてログインの入力画面で保存を選んだパスワード)は、アプリのデータフォルダーに保存されます。プロファイルは、プロファイルパスワードからArgon2idで作った鍵を使って、AES-256-GCMで暗号化されます。プロファイルパスワードが保存されたり、どこかに送信されたりすることはありません。パスワードを復旧する方法はなく、忘れた場合、そのプロファイルは開けなくなります。
- クイックロック解除(任意、初期状態ではオフ):Windows HelloまたはAndroidの指紋認証をオンにすると、プロファイルの鍵は、システムが保持する鍵(TPMまたはAndroid Keystore)宛てに封印されます。指紋やPINを確認するのはシステムで、アプリがそれを見ることはありません。
- ウィンドウの位置、最後に使ったプロファイル名、カラーテーマなどの設定と、このデバイスだけのための選択(リモートデスクトップの速度と画質、クリップボードを共有するかどうか、RDPサーバーと共有するフォルダーやドライブ、どのサーバーで個別にログインするターミナルを常に開くか)は、アプリ自体の設定として保存されます。暗号化はされず、同期されることもありません。
- クリップボードは、貼り付けるときにだけ読み取られます。貼り付けた内容は、貼り付け先のサーバー(ターミナル、またはリモートデスクトップのタブ)に送られます。Share the clipboardがオンのとき(RDPとVNCのサーバーでは初期設定でオン)、リモートデスクトップでコピーしたテキストが、このデバイスのクリップボードに入ります。クリップボードの内容が私たちに送られることは一切ありません。
- リモート デスクトップ接続(Windows)には、サーバーの保存済みパスワードが、短時間だけ存在する.rdpファイルで渡されます。ファイル内のパスワードは、Windows DPAPIによってお使いのWindowsユーザー用に暗号化され、ファイルは読み込まれた時点で削除されます。RDPアプリ自体にログイン情報を記憶させた場合、それを保管するのはSubmarineではなくWindowsです。
- アプリ内のアクティビティログはメモリ上に置かれ、アプリを閉じると消えます。
アプリの接続先
- あなた自身のサーバー。アプリが接続するのは、あなたが追加したホスト、または開いたホストだけです。接続には、SSH、SFTP、Telnet、VNC、RDPのいずれかを使い、プロキシや踏み台ホストを設定していれば、それを経由します。入力した内容や転送したデータは、私たちではなく、そのサーバーに送られます。リモートデスクトップの場合は、そこに貼り付けたクリップボードのテキストと、内蔵のRDPクライアントで共有することを選んだ場合の、このコンピューターのフォルダーやドライブもこれに含まれます。通常のTelnetと通常のVNCは暗号化されず、アプリはそのことを表示します。
- 同期サービス。クラウド同期にサインインした場合だけです(後述)。代わりに、自分で用意したサーバーをアプリの接続先にすることもできます。その場合、データを扱うのはそのサーバーの運営者です。
- GitHub。新しいバージョンを確認するためです。プロファイル一覧が開いたときと、「Check for updates」を押したときに、アプリはGitHubで公開されているリリース一覧(
api.github.com)に、新しいバージョンがあるかどうかを問い合わせます。このリクエストに含まれるのは、アプリの名前とバージョン(submarine-app/x.y.z)だけで、ほかには何も含まれません。なお、ほかのウェブリクエストと同じように、GitHubにはあなたのIPアドレスが見えます。 - クリックしたリンクは、システムのブラウザーで開きます。
これ以外に、デバイスから外に出るものはありません。アプリには、第三者のアナリティクス、広告、トラッキングのコードは含まれていません。
任意のクラウド同期(Cloud sync):同期サーバーが保管するもの
アカウントを作成すると、サーバーは次の情報を保存します。
| 内容 | 目的 | サーバーが読めるか |
|---|---|---|
| メールアドレス | サインインのため、およびサインイン用とリセット用のコードを送信するため | はい |
| アカウントパスワード | サインインのため | サインイン時にHTTPS経由でパスワードを受け取りますが、保存するのはソルト付きのbcryptハッシュだけです |
| サインインのセッション:ハッシュ化したトークン、発行先のIPアドレス、最後に使われた日時、有効期限(90日) | サインインした状態を保つため | トークンはハッシュ化されています。それ以外は読めます |
| プロファイルのレコード | デバイス間で同期するため | いいえ。各レコードは、アップロードの前にデバイス上で、プロファイルの鍵を使って暗号化されます。サーバーに見えるのは、各レコードのID、種類(サーバー、ログイン情報、鍵、メモなど)、タイムスタンプ(変更を行ったデバイスのランダムなIDを含みます)、削除フラグ、サイズ、それにプロファイルの名前とレコードの数です |
| 各プロファイルの鍵のコピー(プロファイルパスワードで封印したもの) | 新しいデバイスでプロファイルを開けるようにするため | プロファイルパスワードがなければ読めません。サーバーのデータを入手した人が、弱いパスワードをオフラインで推測しようとする可能性があるため、長いパスワードを使ってください |
| 共有:公開鍵、共有用パスフレーズで暗号化した秘密鍵、共有プロファイルの名前、共有相手のメールアドレスと役割、共有相手宛てに封印した鍵 | ほかのアカウントとプロファイルを共有するため | 名前とメールアドレスは読めます。鍵は読めません |
| アカウントのイベントログ:何が起きたか(登録、サインイン、サインインの失敗、サインアウト、ロックアウト、パスワードのリセット、同期、共有への招待や共有の変更など)、メールアドレス(わかっている場合)、IPアドレス、日時、CloudflareのリクエストID。同期した内容は記録しません | アカウントを保護し、不正利用を防ぐため | はい。90日間保管し、その後削除します |
| レート制限のカウンター(IPアドレスとメールアドレスごと) | 推測や大量のリクエストのペースを落とすため | はい。7日間保管します |
確認が済まないままの登録は、7日後に削除されます。
このサービスはCloudflareの背後に置かれており、CloudflareがHTTPS接続を処理して、リクエストをサーバーに中継します。そのためCloudflareは、本サービスに代わって、IPアドレス、リクエストヘッダー、リクエストの内容(サインイン情報や、すでに暗号化されたレコードを含みます)を処理します。サーバーは、確認メールとリセット用のメールを、ホスティング事業者のメールシステムを通じて送信します。
私たちは、あなたのデータを販売したり、広告主と共有したり、広告・分析・プロファイリングに利用したり、ほかの情報と組み合わせたりすることはありません。
このウェブサイト
このウェブサイトは、Cookie、アクセス解析、広告、第三者のスクリプトやフォントを使用していません。ほかのウェブサイトと同様に、ページを配信するために、Cloudflareとホスティング事業者が、あなたのIPアドレス、アクセスしたページ、ブラウザーの情報を処理します。また、ホスティング事業者は、標準的なサーバーログを一定期間保管します。
このウェブサイトでアカウントを削除する場合、入力した内容はHTTPSで同期サービスにだけ送信され、ページ側で保存されることはありません。
データの削除
- アカウントを削除するには、アプリ(バージョン0.4以降)でCloud sync →(サインインした状態で)→ Delete account…を選ぶか、このウェブサイトのアカウント削除のページを使います。確認にはアカウントパスワードを入力します。これにより、次のものが直ちに削除されます:すべてのプロファイルのクラウド上のコピー、共有用の鍵、あなたが共有したすべてのプロファイル(共有相手はアクセスできなくなります)、ほかの人の共有におけるメンバー資格、セッション、アカウントのログ記録。ほかの人の共有プロファイルにあなたが書き込んだレコードは、書き込んだ人を示さない形で、そのプロファイルに残ります。デバイス上のプロファイルには影響しません。
- その後に書き込まれるログ(メールアドレスを含まない削除そのものの記録と、そのメールアドレスでのその後のサインインの試み)は、最大90日間残ります。サーバーソフトウェアの更新の前後に取得するバックアップは、短期間しか保管しません。
- 1つのプロファイルのクラウド上のコピーを削除するには、アプリのプロファイル一覧でそのプロファイルのメニューを開き、Delete from cloud…を選びます。
- デバイス上のデータを削除するには、アプリを削除します(Windowsのポータブル版では、プログラムと同じ場所にあるフォルダーを削除します)。
- 古いバージョンをお使いの場合や、アプリを開けなくなった場合は、私たちにご連絡ください(下記参照)。そのアカウントがあなたのものであることを示していただければ、アカウントを削除します。
セキュリティ
同期サービスとの通信はすべてHTTPSを使います。プロファイルパスワードと共有用パスフレーズがデバイスの外に出ることはありません。また、プロファイルを開く鍵が、サーバーが開ける形でサーバー上に保存されることもありません。サーバーは、サインインの試行回数を制限し、間違ったパスワードが繰り返し入力されると、パスワードによるサインインをしばらく停止します。さらに、特に影響の大きい操作(共有用の鍵の交換、アカウントの削除)では、パスワードの再入力を求めます。これらについては、セキュリティのページで詳しく説明しています。
子どもについて
Submarineは、システム管理者や開発者のためのツールです。子どもを対象としたものではなく、私たちがそれと知りながら子どものデータを収集することはありません。
このポリシーの変更
このポリシーが変更されると、上部の日付も変わります。変更の全履歴はリポジトリで確認できます。
お問い合わせ
ご自身のデータに関する質問や依頼は、github.com/SinaXhpm/Submarine/issuesでIssueを作成するか(個人的な情報はそこに投稿しないでください)、sinaxhpm.comを通じてご連絡ください。