プライバシー
VMark はローカルファーストのエディタです。ドキュメントはあなたのディスク上のファイルであり、レンダリングはあなたのマシン上で行われ、アカウントもテレメトリもクラッシュレポートもありません。このページでは、VMark がネットワークに接続するすべての経路と、それぞれが何を送信し、どうすれば止められるか——そして VMark がディスク上の何を読み取れるか——を一覧にします。
VMark が行うすべてのネットワーク接続
| タイミング | 接続先 | 送信される内容 | 止める方法 |
|---|---|---|---|
| 更新チェック——デフォルトでは起動時 | log.vmark.app、フォールバックとして GitHub Releases | プラットフォーム、アーキテクチャ、アプリのバージョン、匿名のマシンハッシュ——詳細は下記 | 設定 → このアプリについて → 確認頻度 → 手動のみ、または log.vmark.app をブロック |
| REST プロバイダーで AI ジーニーを実行 | 設定したエンドポイント——Anthropic、OpenAI、OpenAI 互換ホスト、Google AI、または Ollama ホスト | 埋め込み済みのプロンプト(選択テキスト、ブロックまたはドキュメントと、ジーニーが要求した周辺コンテキスト)と API キー。APIキーをテスト ボタンとモデル更新ボタンもエンドポイントに接続します | プロバイダーを設定しない、またはローカルの Ollama を使う |
| CLI プロバイダーで AI ジーニーを実行 | VMark 自体からは何も送信しません——インストールした claude、codex、gemini CLI が、それぞれのアカウントでそれぞれのベンダーと通信します | VMark はあなたのマシン上の CLI にプロンプトを渡します | 上と同じ |
| HTML のエクスポート | jsDelivr(フォールバックは cdnjs)と Google Fonts | 何も送信しません——ダウンロードのみです。ドキュメントに数式がある場合は KaTeX の数式フォント、設定で選んだ Web フォントを、埋め込むためにダウンロードします | オフラインでエクスポートする。エクスポートはシステムフォントにフォールバックします |
エクスポートした index.html を開く | jsDelivr | 何も送信しません——数式を含むドキュメントのために KaTeX のスタイルシートをダウンロードします | スタイルシートをインライン化する standalone.html を使う |
| GitHub Actions ワークフローの編集 | raw.githubusercontent.com | 各 uses: ステップの owner/repo@ref(その action.yml を取得するため。24 時間キャッシュ) | 設定 → 詳細設定 → アクションのメタデータを取得 をオフ |
| 埋め込みブラウザ | あなたが——またはあなたの承認のもとで AI アシスタントが——開いたサイト | これは Web ブラウザです。AI に対する姿勢、サンドボックス化されたセッション、宛先ポリシーについてはブラウザガイドを参照してください | 設定 → 詳細設定 → 埋め込みブラウザ をオフ |
| Web を参照するドキュメント | ドキュメント内に記載されたホスト | リモート画像と YouTube / Vimeo / Bilibili の埋め込みは、エディタまたはエクスポートした HTML でレンダリングされるときに、それぞれのホストから読み込まれます | 画像をローカルに置く |
ネットワークサービスのように見えても、ループバック専用でマシンの外に出ないものが 2 つあります。
- MCP サーバー——AI アシスタントは
127.0.0.1にバインドされた WebSocket ブリッジ経由で接続し、VMark がアプリデータディレクトリに保持するトークンで認証されます。アシスタント自体(Claude Desktop、Claude Code、Codex CLI など)はそれぞれのベンダーと通信します。VMark はそのツール呼び出しに応答するだけです。AI 連携を参照してください。 - ナレッジベースと Slidev プレビュー——セッションごとのトークンを使い、
127.0.0.1にバインドされたローカルサーバーです。その封じ込めについてはナレッジベースガイドで説明しています。
統合ターミナルはあなた自身のシェルを実行します。そこから接続する先はすべてあなたのコマンドによるものであり、VMark によるものではありません。
VMark が送信しないもの
- あなたのドキュメントまたはその内容(ジーニーを実行したときに、設定した AI プロバイダーへ送るものを除く)
- ファイル名またはパス
- 使用パターンや機能分析
- いかなる種類の個人情報も
- クラッシュレポート
- キーストロークまたは編集データ
- 逆算可能なハードウェア識別子またはフィンガープリント
更新チェックの詳細
VMark の 自動更新チェッカー は、新しいバージョンが利用可能かどうかを確認するためにサーバーに接続します。各チェックで送信されるのは正確に以下のフィールドだけです——それ以上はありません。
| データ | 例 | 目的 |
|---|---|---|
| IP アドレス | 203.0.113.42 | HTTP リクエストに固有のもの——受け取らないようにすることはできません |
| OS | darwin、windows、linux | 正しい更新パッケージを提供するため |
| アーキテクチャ | aarch64、x86_64 | 正しい更新パッケージを提供するため |
| アプリバージョン | 0.5.10 | 更新が利用可能かどうかを判断するため |
| マシンハッシュ | a3f8c2...(64 文字の 16 進数) | 匿名デバイスカウンター——ホスト名 + OS + アーキテクチャの SHA-256。逆算不可能 |
完全な URL は次のようになります。
GET https://log.vmark.app/update/latest.json?target=darwin&arch=aarch64&version=0.5.10
X-Machine-Id: a3f8c2b1d4e5f6078a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1そのサーバーに到達できない場合、アップデーターは同じマニフェストを GitHub Releases(github.com/xiaolai/vmark/releases/latest/download/latest.json)から取得しようとします。更新そのものは、インストール前に minisign 署名で検証されます。
自分で確認できます——エンドポイントは tauri.conf.json にあり("endpoints" を検索)、ハッシュは app_setup.rs にあります(machine_id_hash を検索)。
データの使用方法
更新チェックログを集計して、ホームページに表示されるライブ統計を生成します。
| メトリクス | 計算方法 |
|---|---|
| ユニークデバイス | 1 日 / 週 / 月ごとの異なるマシンハッシュの数 |
| ユニーク IP | 1 日 / 週 / 月ごとの異なる IP アドレスの数 |
| ピング | 更新チェックリクエストの総数 |
| プラットフォーム | OS + アーキテクチャの組み合わせごとのピング数 |
| バージョン | アプリバージョンごとのピング数 |
これらの数字は log.vmark.app/api/stats で公開されています。隠しているものは何もありません。
重要な注意事項:
- ユニーク IP は実際のユーザー数を過少カウントします——同じルーター / VPN の背後にいる複数の人は 1 人としてカウントされます
- ユニークデバイスはより正確なカウントを提供しますが、ホスト名の変更や新しい OS のインストールでは新しいハッシュが生成されます
- ピングは実際のユーザー数を過大カウントします——1 人が 1 日に複数回チェックする場合があります
データ保持
- ログは標準的なアクセスログ形式でサーバーに保存されます
- ログファイルは 1 MB でローテートされ、最新の 3 ファイルのみ保持されます
- ログは誰とも共有されません
- アカウントシステムはありません——VMark はあなたが誰かを知りません
- マシンハッシュはどのアカウント、メール、IP アドレスにも関連付けられていません——仮名のデバイスカウンターにすぎません
- トラッキングクッキー、フィンガープリンティング、分析 SDK は使用していません
更新チェックの無効化
設定 → このアプリについて → 確認頻度 を 手動のみ にすると、VMark が自ら更新サーバーに接続することはなくなります。必要なときは 今すぐ確認 を使えます。ネットワークレベルで確実にしたい場合は、log.vmark.app をブロックしてください(ファイアウォール、/etc/hosts、または DNS)。VMark はそれなしでも正常に動作し続けます——更新通知を受け取らないだけです。
API キーの保存場所
REST AI プロバイダーの API キーは、OS の資格情報ストア——macOS キーチェーン、Windows 資格情報マネージャー、Linux Secret Service——にサービス名 app.vmark.secrets で保存されます。VMark の設定ファイルや localStorage に書き込まれることはなく、アプリが永続化するプロバイダー設定もキーを含まずに保存されます。キーは、ジーニーを実行したときや APIキーをテスト を押したときに、設定したプロバイダーのエンドポイントにだけ送信されます。詳細は AI プロバイダーを参照してください。
AI アシスタントが届く範囲
MCP で接続したアシスタントは、あなたがすでに開いているものの範囲内でしか動作しません。そのファイル操作は、開いているワークスペースのルートと、VMark で開いているドキュメントのフォルダに限定され、その境界の外への要求は拒否されます。ドキュメントを新しいパスに保存するには、新しい場所への保存とジーニーの結果を自動承認 設定(デフォルトはオフ)が必要です——オフの場合、呼び出しは拒否され、VMark はそのファイル名を示すトーストを表示します。オンにしていても、アシスタントがこの方法で別の既存ファイルを上書きすることはできません。アシスタントが指定したワークスペースを開く場合は、まずあなたに確認します。AI によるドキュメントへの書き込みはすべてチェックポイントとして記録されるため、元の内容を復元できます(編集チェックポイント)。埋め込みブラウザには独自の承認モデルがあり、ブラウザガイドで説明しています。
VMark がディスク上で読み取れる範囲
VMark のファイルアクセスは、ディスク全体ではなく、限定された権限スコープです。
- 静的スコープ:ホームフォルダ(
$HOME/**)と、マウントされたボリューム——macOS では/Volumes/**、Linux では/mnt/**と/media/**。Windows ではドライブC:\からF:\も対象になるため、実行時の許可が必要なのはG:\以降のドライブとネットワーク共有だけです。macOS と Linux では、隠しフォルダ(名前が.で始まるフォルダ)の中にあるものはすべて静的スコープの外です。 - 実行時の許可:明示的に開いたファイル——Finder やエクスプローラー、
vmarkコマンドライン、ファイルダイアログから開いたもの——には、そのファイルだけの許可が与えられます。フォルダが許可されるのは、あなたが選んだことを VMark が確認できる場合だけです。つまり、VMark のフォルダ選択ダイアログで選んだか、Finder から開いた場合です。VMark はこうしたフォルダの一覧(アプリデータフォルダ内のworkspace-grants.json)を保持し、起動のたびに改めて許可するため、復元されたセッションや 最近開いたファイル はそのまま使えます。この一覧になく、静的スコープにも含まれない最近のワークスペースを開くと、そのフォルダを開いた状態でフォルダ選択ダイアログが表示されます——そのフォルダを選んで確定してください。AI アシスタントがそのようなフォルダを開こうとした場合も、あなたが要求を承認した後に同じ手順になります。 - 画像とメディア:ローカルの画像・動画・音声は VMark のアセットプロトコルを通じて表示され、その到達範囲も同じです——静的スコープと、上記の実行時の許可です。メディアビューアは、表示する 1 つのファイルにだけ、しかもメディアの拡張子を持つファイルに限って許可を追加します。それ以外のパスへの要求は、スコープを広げずに拒否されます。これらの範囲外にある画像——たとえば、静的スコープの外から単独で開いたドキュメントの隣にある画像——は、そのフォルダをワークスペースとして開くまで表示されません。
ここで何かが外部に送信されることはありません。スコープは、アプリ自身が何を読み取れるかを決めるものです。
オープンソースによる透明性
VMark は完全なオープンソースです。ここに記載されているすべてのことを確認できます。
- 更新エンドポイントの設定:
src-tauri/tauri.conf.json - マシンハッシュの生成:
src-tauri/src/app_setup.rs——machine_id_hashを検索 - ファイルシステムとアセットのスコープ:
src-tauri/capabilities/default.json、src-tauri/tauri.conf.jsonのassetProtocol項目、src-tauri/src/fs_scope.rs、src-tauri/src/workspace/grants/ - キーチェーンへの保存:
src-tauri/src/secure_store.rs - サーバー側の統計集計:
scripts/vmark-stats-json——公開統計を生成するためにサーバーで実行される正確なスクリプト - ネットワーク呼び出しの箇所は上に挙げたものだけです——リポジトリで
reqwest(Rust)とfetch((TypeScript)を検索して、自分で確認してください
セキュリティ上の問題を報告する
VMark に脆弱性(MCP ブリッジ、組み込みブラウザ、アップデーター、ファイル処理など)を見つけた場合は、公開 issue を作成せず、GitHub の非公開の脆弱性報告から報告してください。対象範囲と報告後の流れはセキュリティポリシーに記載しています。