Checklist 保密性
为了确保本地大语言模型(LLM)的保密性,请检查五个方面:工具的云功能、库的遥测数据、实际网络流量、模型及扩展的来源,以及已同步或备份的文件夹。决定性测试只需一个操作:断开网络并重新进行一次正常会话。如果一切正常,说明该链路是本地的;否则,存在需要识别的远程调用。
本地 LLM 在设计上具有保密性,但前提是模型周边没有任何组件与外部通信:云端选项、库发出的 ping、插件、同步文件夹。这些泄露很少是有意为之,而且几乎总是难以察觉。本检查清单提供可验证的标准、命令以及注明日期的设置,帮助您在十五分钟内检查您的安装配置。
#「本地」运行所保证的内容,以及它不保证的内容
要验证本地 LLM 是否保持私密性,需要检查五个方面:您使用的工具、它的遥测功能及对远程服务的调用、机器的实际网络流量、模型和扩展的来源,以及存储对话的文件夹。在您本地运行的模型本身不会发送任何数据:泄露几乎总是来自周边组件,例如启用的云服务选项、库发出的 ping 请求、插件或同步功能。最可靠的方法仍然是网络测试:断开互联网连接,再进行一次正常会话,然后观察还有哪些请求试图向外发送。本页其余部分会详细介绍每项检查,包括需要核查的环境变量、命令和设置。
#根据您的数据,应采用何种控制级别
在工作场所部署本地 AI:GDPR、AI 法案、多用户架构、成本、供管理层参考的说明材料。
- 在线空间,终身可用
- PDF + 文件
- 终身更新
并非所有人都需要同样严格的要求。不涉及敏感数据的个人使用,满足前几项即可;客户档案或医疗档案则要求完全防止数据外流,而涉及工业机密或受保密协议(NDA)约束时,必须能够证明哪些数据离开了本机。下表将要求的严格程度与需要逐项勾选的检查项对应起来。
| 数据类型 | 最低控制要求 | 如可进行审计,应补充的措施 |
|---|---|---|
| 常见个人用途(构思、写作、个人编程) | 已验证工具,云功能已关闭,遥测功能已关闭 | 进行一次飞行模式测试 |
| 客户、人力资源、健康及法律相关数据 | 上述所有措施,加上应用防火墙、不参与同步的文件夹和加密磁盘 | 保留防火墙日志,列出获准使用的扩展 |
| 工业机密、受 NDA 约束的代码、受监管的数据 | 上述所有措施,再加上用于推理的机器与网络隔离 | 完全物理隔离,从另一台计算机导入模型,审查扩展程序 |
最后两行在推理机器隔离和磁盘加密指南中有详细说明。
#1. 检查该工具本身
每个推理应用都有其独立的政策。以下内容摘自各厂商在其文档或隐私政策中声明的内容,查阅日期为2026年9月30日;更新可能改变这些设置,请在每次重大版本升级后重新核实。
| 工具 | 所标注内容 | 需用户自行验证 |
|---|---|---|
| Ollama | 常见问题解答明确指出,模型在本地运行时,提示词和数据不会被查看;服务在 127.0.0.1 的 11434 端口上监听 | 确认您既未使用云端模型,也未使用网页搜索 |
| LM Studio | 隐私政策说明,使用本地模型时,消息、历史记录和文档不会离开您的机器;只有搜索或下载模型以及检查更新时,才会联系软件发布方 | 云端付费功能(托管模型、网络搜索)保持关闭 |
| Jan | 宣布支持100%离线运行,数据本地存储;远程API(OpenAI、Groq)会将您的数据发送至其服务器 | 未配置任何远程 API 密钥 |
| GPT4All | Datalake 设置可由您主动开启,用于与社区共享交互内容;默认关闭 | 确认 Datalake 确实设为 Off |
| Open WebUI | 该仓库提供了关闭库级分析和遥测功能的变量(参见下一部分) | 未配置任何用于回退到远程服务提供商的密钥 |
关于常见认知,有两点需要纠正。首先,经常看到的关于 LM Studio 的“主动选择加入遥测”说法已经过时:其现行政策明确指出,应用不包含遥测。其次,自云端模型和网络搜索功能推出以来,说 Ollama“没有任何远程功能”就不准确了。这些功能是可选的,但确实存在。
#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 集成了第三方组件,包括一个向量数据库和一个安装统计模块。其示例配置文件在“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
- 默认阻止,只允许必要的流量;网络隔离(air-gap)指南详细说明了具体做法。
#列出连接和监听端口
两条不同的命令分别回答两个问题。第一条显示服务在哪个地址上接受连接,第二条显示已建立的对外连接。
请这样理解结果:监听 127.0.0.1:11434 是默认行为,Ollama 的常见问题解答对此有说明,此时服务只能从本机访问。监听 * 或 0.0.0.0 则表示服务可从局域网访问;修改 OLLAMA_HOST 变量后就会出现这种情况。这并不意味着向互联网泄露,但确实使服务暴露在网络中,需要处理:请参阅关于保护 Ollama 服务器安全的指南。一个常见的误解是:0.0.0.0 并不表示“仅限本机访问”。
推理过程中,若出现一行指向公网地址的 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 而非托管服务。
- 优先选择开源方案
- 您能阅读的代码可以核查;采用专有后端的助手则无法核查。
- 限制权限
- 一个无需读取整个磁盘的工具不应具备访问全盘的权限;应为其分配专用的工作目录。
- 通过防火墙进行观察
- 安装后,让应用防火墙用一周时间学习该扩展访问的域名。
#6. 存储、备份与同步
您的对话和已索引的文档都是文件。它们的去向取决于应用程序将它们存储的位置,以及监控该文件夹的机制:云端同步、在线备份、搜索索引器。
- Ollama 模型存放在哪里?
- 根据常见问题解答,模型存储路径在 macOS 上为 ~/.ollama/models,在 Linux 上为 /usr/share/ollama/.ollama/models,在 Windows 上为 C:\Users\%username%\.ollama\models,可通过 OLLAMA_MODELS 更改存储位置。这些文件有数 GB 大小:将它们排除在同步范围之外,也能节省带宽。
- 对话在哪里?
- 在您使用的界面数据目录中(LM Studio,Jan,GPT4All,Open WebUI),而不是在 Ollama 的目录中。请在应用设置中找到该目录,并确认没有云服务在监控它。
- 同步
- 许多软件将数据存储在Documents文件夹中,iCloud、OneDrive或Dropbox会自动进行同步备份。因此,机密对话会变成在第三方服务器上的副本。
- 备份
- 将历史记录备份到异地或未加密的外部硬盘时,会复制历史记录。请对目标位置进行加密,或排除该文件夹。
- 磁盘
- 磁盘若未加密,一旦被盗,所有对话内容都可被读取:请使用 FileVault、BitLocker 或 LUKS,并设置强健的密码短语。
#15 分钟审计:操作流程
这套流程按照以最少工作量获得最多信息的顺序,依次进行各项检查。每一步都保留一张截图或一行日志:这些记录可作为向客户出示的证据。
- 01链路盘点列出所有接触您提示词的程序:引擎(Ollama、LM Studio)、界面(Open WebUI、Jan)、编辑器扩展、Python 脚本。未列出的程序就不在管控范围内。
- 02禁用远程功能禁用云端模型和网络搜索(OLLAMA_NO_CLOUD=1),移除远程 API 密钥,确保 GPT4All 中 Datalake 设置为 Off。
- 03设置变量在 shell 配置文件中设置 HF_HUB_DISABLE_TELEMETRY=1、DO_NOT_TRACK=1,并在模型已缓存后设置 HF_HUB_OFFLINE=1;另外,在 Open WebUI 中添加三行用于禁用分析统计的配置。
- 04检查网络活动安装应用级防火墙,进行一次十分钟的正常使用会话,然后复查连接过的域名。也运行那两条 lsof 命令。
- 05移动文件夹将对话和模型移出同步文件夹,并加密磁盘和备份存储位置。
- 06在飞行模式下重新运行断开网络连接,再重复同样的会话。任何失败之处都意味着存在泄漏,或有需要移除的云端功能;修正后再次重复,直到测试通过。
#总结检查清单
- ☐ 云端功能已关闭
- OLLAMA_NO_CLOUD=1,不使用托管模型,不使用远程 API 密钥,将 Datalake 设为 Off。
- ☐ 遥测已禁用
- HF_HUB_DISABLE_TELEMETRY=1 和 DO_NOT_TRACK=1;Open WebUI 中的三个禁用分析追踪的变量。
- ☐ 应用级防火墙已启用
- 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 常见问题(隐私、云端、网络暴露)
- 来源:huggingface_hub 环境变量
- 来源:LM Studio 隐私政策
- 来源:Open WebUI的.env.example文件
- 来源:Hugging Face,pickle 文件分析
有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。