Checklist 機密性
ローカルLLMの機密性を保つためには、5つの点を確認してください。ツールのクラウド機能、ライブラリのテレメトリ、実際のネットワークトラフィック、モデルと拡張機能の出所、そして同期またはバックアップされているフォルダです。決め手となるテストは簡単です。インターネットを切断して、普段どおりのセッションをもう一度実行します。すべてが動作すれば、一連の処理はローカルで完結しています。そうでなければ、どの呼び出しが行われているかを特定する必要があります。
ローカルLLMは設計上機密性がありますが、これはモデルの周辺要素が外部と通信しない場合に限られます。クラウドオプション、ライブラリのping、プラグイン、同期フォルダなどが該当します。これらの情報漏洩は意図的なものがほとんどなく、ほぼ常に目に見えません。このチェックリストでは、インストールを15分で確認するための検証可能な基準、コマンド、日付付きの設定を提供します。
#「ローカル」が保証するものと、保証しないもの
ローカルLLMの機密性が保たれているか確認するには、5つの点を調べる必要があります。使用しているツール、そのテレメトリとリモートサービスへの呼び出し、マシンの実際の通信、モデルと拡張機能の出所、そして会話が保存されているフォルダです。手元の環境で実行するモデル自体は、何も送信しません。漏洩の原因はほぼ常に、その周辺にあります。有効になっているクラウド機能、ライブラリによるping送信、プラグイン、同期などです。最も信頼できる方法は、やはりネットワークテストです。インターネット接続を切り、普段どおりのセッションをもう一度行い、それでも外部への通信を試みるものを観察します。このページの以降の部分では、確認すべき環境変数、コマンド、設定とともに、各確認項目を詳しく説明します。
#データに応じて必要な管理レベルは?
職場でのローカルAI導入:GDPR、AI Act、マルチユーザーアーキテクチャ、コスト、経営陣向けメモ。
- 永久に利用できるオンラインスペース
- PDF + ファイル
- 生涯アップデート
誰もが同じ厳密さを必要とするわけではありません。機密データを扱わない個人利用なら、最初の数項目を確認すれば十分です。顧客の資料や医療記録を扱う場合は、情報が外部に一切漏れないことが求められます。産業上の秘密やNDAの対象となる情報を扱う場合は、何が外部に送信されるかを証明する必要があります。次の表は、求められる厳密さのレベルと、確認すべき項目を対応付けています。
| データの種類 | 最低限必要な管理策 | 監査が可能な場合に追加する項目 |
|---|---|---|
| 個人用途での一般的な利用(アイデア、執筆、個人用コード) | 検証済みツール、クラウド機能が無効、テレメトリが停止 | 機内モードで一度テストする |
| 顧客、人事、健康、法務に関するデータ | 上記のすべてに加え、アプリケーションファイアウォール、同期対象外のフォルダ、暗号化されたディスク | ファイアウォールログの保存、許可された拡張機能のリスト |
| 営業秘密、NDAの対象となるコード、規制対象のデータ | 上記のすべてに加えて、推論用にネットワークから隔離されたマシンを用意してください | 完全なエアギャップ、別の端末からのモデルのインポート、拡張機能のレビュー |
最後の2行は、推論マシンの分離とディスク暗号化に関するガイドで詳しく説明されています。
#1. ツール自体を確認する
各推論アプリには独自のポリシーがあります。以下は、2026年9月30日に確認した各提供元のドキュメントまたはプライバシーポリシーの記載に基づいています。更新によってこれらの設定が変わる可能性があるため、メジャーバージョンアップのたびに再確認してください。
| ツール | 記載されている内容 | ご自身の環境で確認すること |
|---|---|---|
| Ollama | FAQでは、モデルがローカルで動作している場合、プロンプトやデータは閲覧されないと説明されています。サービスは127.0.0.1のポート11434で接続を待ち受けます | クラウドモデルもウェブ検索も使用していないこと |
| LM Studio | プライバシーポリシーによると、ローカルモデルを使用する場合、メッセージ、履歴、ドキュメントは使用中のマシンから外部に送信されません。提供元への通信が行われるのは、モデルの検索やダウンロード、更新の確認時のみです。 | 有料のクラウド機能(ホストされたモデル、ウェブ検索)は無効のままです |
| Jan | 100%オフラインでの動作を謳い、データをローカルに保存します。一方、リモートAPI(OpenAI、Groq)はデータをそれぞれのサーバーに送信します。 | リモートAPIのキーが一切設定されていないこと |
| GPT4All | Datalakeという設定を自分で有効にすると、やり取りをコミュニティと共有できます。この設定はデフォルトでは無効です | Datalakeが確実にOffになっていること |
| Open WebUI | このリポジトリには、アナリティクスとライブラリのテレメトリを無効にするための変数が用意されています(次のセクションを参照)。 | フォールバック用のリモートプロバイダーのキーがないこと |
誤解に対する2つの訂正があります。まず、LM Studioについてよく見られる「オプトイン型のテレメトリ」という記述は時代遅れです。現在のポリシーでは、アプリケーションにテレメトリが含まれていないことが明記されています。次に、Ollamaには「リモート機能は一切ない」という記述は、クラウドモデルとWeb検索の登場以降、正確ではありません。これらの機能は任意ですが、存在しています。
#Ollama:クラウド機能を無効にする
Ollama を実行エンジンとして使用している場合は、外部への通信を伴う機能を明示的に無効にしてください。FAQ によると、クラウドを無効にすると、クラウドモデルと Ollama のウェブ検索が利用できなくなります。機密情報を扱う端末では、まさにこれが狙いです。
macOS でアプリを使う場合は、FAQ の説明どおり、launchctl setenv で変数を設定してからアプリを再起動します。別の方法として、~/.ollama/server.json ファイルに disable_ollama_cloud キーを追加し、値を true に設定することもできます。再起動後、ログに「Ollama cloud disabled: true」と表示されるため、確認の証拠として簡単に保存できます。
#2. ライブラリのテレメトリと分析
ツール自体はデータを送信しなくても、組み込まれたライブラリが送信することがあります。Hugging FaceのPythonエコシステムでは、利用状況の把握や機能の優先順位付けのために、一部のデータがデフォルトで収集されるとドキュメントに記載されています。その中心となる実装はhuggingface_hubにあります。変数を一つ設定するだけで、これらのデータ収集をすべて停止できます。
前述の変数と併せてよく挙げられるHF_HUB_DISABLE_IMPLICIT_TOKENは、テレメトリーに関する変数ではありません。トークンを必要としないリクエストでHugging Faceのトークンが自動送信されるのを防ぎ、ログイン中に外部へ渡す情報を減らします。有用な変数ですが、目的は別です。また、ドキュメントでは副作用が生じる可能性があると警告しています(プライベートモデルが一部の一覧に表示されなくなります)。
この最後の設定は、機密情報を扱う端末で最も強力な対策です。気づかないうちに起きる情報漏えいを、目に見えるエラーに変えます。スクリプトがキャッシュがないというエラーで失敗したなら、Hubに接続しようとしていたということです。まさに、それを確認したかったのです。以前の変数TRANSFORMERS_OFFLINEは長らく同じ用途で使われていましたが、現在のTransformersのドキュメントで中心的に紹介されているのはHF_HUB_OFFLINEです。
#Open WebUI およびその依存関係
Open WebUIには、ベクトルデータベースやインストール統計モジュールなどのサードパーティ製コンポーネントが含まれています。設定ファイルのサンプルでは、これらによるデータ送信を停止する3行が「DO NOT TRACK」セクションにまとめられています。これらの設定は、環境変数として、設定ファイル内で、またはdocker runコマンドで指定できます。
外部プロバイダーのキーを追加していないかも確認してください。ローカルモデルが利用できないときにホスティングされたサービスへ「フォールバック」すると、気づかないうちにプロンプトが外部へ送信されます。Open WebUIとOllamaを組み合わせて使うためのガイドでは、これらの接続をどこで設定するかを説明しています。
#3. ネットワーク監視:実際にどのようなデータが送信されているかを確認する
開発元の説明は読むことができますが、通信は実測できます。アプリケーションファイアウォールは、外部への接続を試みるプログラムを一つずつ一覧表示し、接続を許可するかどうかを個別に判断できるようにします。これにより、どのドキュメントにも書かれていないことが数日で明らかになります。
- Little Snitch (macOS)
- アプリケーションごとのファイアウォール:どのアプリケーションがどのドメインに接続しているかを確認し、それぞれのケースについて判断できます。
- GlassWire (Windows)
- プロセスごとのトラフィックの可視化履歴および新たな接続に対するアラート
- OpenSnitch(Linux)
- GNU/Linux用のインタラクティブなアプリケーションファイアウォールで、Little Snitchを参考にし、オープンソース(GPL-3.0ライセンス)です
- ufw または iptables
- デフォルトでは通信を遮断し、必要な通信だけを許可します。エアギャップのガイドで、その手順を詳しく説明しています。
#接続とリスニングポートをリストアップ
二つの異なるコマンドが、二つの質問に答えます。一つ目は、サービスがどのアドレスで接続を受け入れるかを示し、二つ目は外部への確立された接続を示します。
結果は次のように読み取ってください。127.0.0.1:11434での待ち受けは、OllamaのFAQに記載されているデフォルトの動作で、同じマシンからしかアクセスできません。* または 0.0.0.0での待ち受けは、サービスにローカルネットワークからアクセスできることを意味し、変数 OLLAMA_HOST を変更するとこの状態になります。これはインターネットへの情報漏洩ではありませんが、ネットワークへの公開には対処が必要です。Ollamaサーバーのセキュリティ対策ガイドを参照してください。よく誤解される点ですが、0.0.0.0は「localhostからのみアクセス可能」という意味ではありません。
推論中にパブリックアドレスへのESTABLISHED行が表示されたら、詳しく調べるべき兆候です。モデルのダウンロード時に通信が発生するのは正常であることに注意してください。通信が発生しない状態であるべきなのは、モデルの準備が整った後の推論です。アプリケーションの更新時にも、LM Studioがポリシーで認めているように、提供元への通信が発生することがあります。その通信を許容するかどうかは、ご自身で判断してください。
#4. モデル:その由来と内容
モデルを初めてダウンロードする際にはネットワーク接続が必要です。これは正常なことで、そのとき通信で受け取るのはモデルであり、あなたのデータではありません。ファイルを配置した後のモデルは重みの集合であり、モデル自体が接続を開始することはありません。注意すべきなのは、ファイル形式と、モデルを実行するソフトウェアです。
- 重みのフォーマット
- GGUFとsafetensors形式には、テンソルだけが含まれています。PyTorchの重みにデフォルトで使われるpickle形式はこれらと異なります。Hugging Faceのドキュメントでは、pickleファイルの読み込みによって任意のコードが実行される可能性があると警告しています。
- 開発国
- モデルの提供元(Mistral AI、Meta、Qwen、Google)のリポジトリ、または収録モデルを検証しているツールのライブラリを優先してください。提供元不明のリポジトリにある pickle 形式のモデルは避けてください。
- 実行を担うもの
- リスクはアプリケーションとそのツールに由来します。モデルがウェブ検索、MCPサーバー、スクリプトを呼び出せる場合、ネットワークにアクセスするのはそれらのツールであり、モデルの重みではありません。
#5. 拡張機能、プラグイン、接続されたツール
実際の情報漏えいの多くは、ここに潜んでいます。コードエディタの拡張機能、メモアプリのプラグイン、Open WebUIに登録されたツール、MCPサーバーは、利用者の権限で実行され、任意のドメインへ通信できます。プラグインが「ローカルAI」をうたっていても、それは作者による約束にすぎません。
- 有効にする前に読む
- コード内でネットワーク呼び出し(HTTPリクエスト、トラッキングライブラリ)と実際に設定されているエンドポイントを確認してください。多くの場合、ホスティングサービスではなく Ollama を指すよう、変更すべきは1行だけです。
- オープンソースを優先する
- 読めるコードは検証できますが、バックエンドがプロプライエタリなアシスタントは検証できません。
- 権限を制限する
- ディスク全体を読み取る必要のないツールには、ディスク全体へのアクセスを許可せず、専用の作業フォルダを与えてください。
- ファイアウォールで監視する
- インストール後、アプリケーションファイアウォールに1週間ほど放置し、拡張機能がアクセスするドメインを学習させます。
#6. ストレージ、バックアップ、同期
会話やインデックス化された文書はファイルです。それらがどう扱われるかは、アプリがどこに保存するか、そしてそのフォルダを何が監視しているかによって決まります。クラウド同期、オンラインバックアップ、検索インデクサなどが該当します。
- Ollamaのモデルはどこに保存されているか
- FAQによると、モデルの保存先はmacOSでは~/.ollama/models、Linuxでは/usr/share/ollama/.ollama/models、WindowsではC:\Users\%username%\.ollama\modelsです。OLLAMA_MODELSを使って保存先を変更できます。これらは数ギガバイトのファイルなので、同期の対象から除外すれば、帯域幅の節約にもなります。
- 会話はどこにありますか
- 会話は、使用しているインターフェース(LM Studio、Jan、GPT4All、Open WebUI)のデータフォルダに保存されており、Ollamaのフォルダにはありません。アプリの設定でそのフォルダを見つけ、クラウドサービスがそのフォルダを監視していないことを確認してください。
- 同期
- 多くのソフトウェアはデータを Documents に保存しており、iCloud、OneDrive、Dropbox などが自動的にその内容を再現します。そのため、秘密な会話は第三者サーバーにコピーされてしまうことになります。
- バックアップ
- オフサイト保存または未暗号化の外部ディスクにバックアップを取ると、履歴がコピーされます。保存先を暗号化するか、フォルダを除外してください。
- ディスク
- ディスクが暗号化されていないと、盗難時にすべての会話を読まれてしまいます。FileVault、BitLocker、または LUKS を使い、強固なパスフレーズを設定してください。
#15分で行う監査:手順
この手順では、少ない手間で多くの情報が得られる順に確認を進めます。各ステップでスクリーンショットまたはログの1行を残してください。顧客に示す証拠になります。
- 01処理の流れを構成する要素を洗い出すプロンプトを扱うプログラムをすべてリストアップしてください。エンジン(Ollama、LM Studio)、インターフェース(Open WebUI、Jan)、エディタの拡張機能、Pythonスクリプトが対象です。リストに含まれていないものは管理できていません。
- 02リモート機能を無効にするクラウドモデルとウェブ検索を無効にし(OLLAMA_NO_CLOUD=1)、外部APIのキーを削除し、GPT4AllのDatalakeがOffになっていることを確認してください。
- 03変数の設定シェルのプロファイルに HF_HUB_DISABLE_TELEMETRY=1 と DO_NOT_TRACK=1 を設定し、モデルがキャッシュされたら HF_HUB_OFFLINE=1 も設定してください。Open WebUI には、アクセス解析を無効にする 3 行を追加してください。
- 04ネットワークを確認アプリケーションファイアウォールをインストールし、10分間の通常セッションを実行してから、接続したドメインを確認してください。また、lsofコマンドを2つ実行してください。
- 05フォルダの移動会話とモデルを同期対象のフォルダの外に移し、ディスクとバックアップ先を暗号化してください。
- 06機内モードで再実行する接続を切り、同じセッションをもう一度実行してください。動作しないものはすべて、情報漏えいか、取り除くべきクラウド機能のどちらかです。修正したうえで、テストに合格するまで繰り返してください。
#確認事項をまとめたチェックリスト
- ☐ クラウド機能を無効化済み
- OLLAMA_NO_CLOUD=1、ホスト型モデルなし、リモートAPIのキーなし、DatalakeはOff。
- ☐ テレメトリが無効になっている
- HF_HUB_DISABLE_TELEMETRY=1 と DO_NOT_TRACK=1 ; Open WebUI 内の3つのアナリティクス無効化変数。
- ☐ アプリケーションファイアウォールが有効
- Little Snitch、GlassWire、OpenSnitch、または厳格なルールを設定した ufw。ログも確認済み。
- ☐ 待ち受けアドレスを確認済み
- 意図的に安全対策を講じて外部公開する場合を除き、Ollama の待ち受けアドレスは 127.0.0.1 にする。
- ☐ オフラインモデル
- ダウンロード後、HF_HUB_OFFLINE=1 を設定し、GGUFまたはsafetensors形式の重みを使用し、不明なpickleファイルは使用しないでください。
- ☐ 拡張機能を確認済み
- コードを読んで確認済み、エンドポイントを検証済み、権限を制限済み。
- ☐ 同期対象から除外したフォルダー
- 会話とモデルをiCloud、OneDrive、Dropboxの同期対象、および暗号化されていないバックアップの対象から除外。
- ☐ 暗号化ディスク
- FileVault、BitLocker、またはLUKS。
- ☐ 機内モードでのテストに成功
- インターネット接続なしで完結する一つのセッション。
#ローカルLLMのプライバシーに関するよくある質問
ローカルLLMは私のデータを開発元に送信しますか?+
Ollamaがどこにも接続していないことを確認するには?+
Hugging Faceのテレメトリを無効にする方法は?+
ツールが何も送信しないと説明していても、ファイアウォールを追加する必要がありますか?+
会話は iCloud または Dropbox と同期されますか?+
機内モードだけで、使用環境がローカルであることを証明できますか?+
- 出典:Ollama FAQ(プライバシー、クラウド、ネットワークへの公開)
- 出典:huggingface_hubの環境変数
- 出典:LM Studio のプライバシーポリシー
- ソース:Open WebUI の .env.example ファイル
- 出典:Hugging Face、pickleファイルの分析
ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。