The short answer
Chatting sent nothing. In all three apps, typing a question and getting an answer opened no connection outside the Mac. The internet traffic happened around the chat:
- Downloading a model always goes online, as expected: to Ollama's registry, to Hugging Face, or, for LM Studio, through LM Studio's own servers.
- Opening the app: Ollama made no outside connection. LM Studio fetched about 172 MB of engines on its first launch and about 1 MB on later ones. Pinku made four small requests to huggingface.co when it loaded a model it already had.
- Idle: Ollama and Pinku sent nothing in five minutes. LM Studio opened about 30 connections to its own servers once, a few seconds after a chat.
Results
| App | Opening | Downloading a model | Chatting | Idle, 5 minutes |
|---|---|---|---|---|
| Ollama 0.20.2 (Homebrew) | Nothing outside the Mac; the server listens only on 127.0.0.1 | registry.ollama.ai and Cloudflare storage: 524 MB in, 125 KB out | Nothing outside the Mac | Nothing outside the Mac |
| LM Studio 0.4.26 | First launch: about 172 MB from extensions.lmstudio.ai (engines), without any click. Later launches: about 1 MB from lmstudio.ai | Through search.lmstudio.ai/v1/hf-proxy: 352 MB in, 84 KB out | Nothing about the chat itself; with the default command, LM Studio also fetched its model catalogue (about 150 KB in, 12 KB out) | One burst of about 30 connections to lmstudio.ai addresses, 3 MB in, 31 KB out, then nothing |
| Pinku for Mac 1.0.7 | No model yet: nothing. With a model installed: 4 requests to huggingface.co, about 35 KB in and 23 KB out | huggingface.co and Hugging Face's storage on Amazon: about 350 MB for a 0.4 GB model | Nothing | Nothing |
Measured on one Mac on 20 October 2026. “Nothing” means nettop showed no connection from the app's processes to any address outside the Mac during the whole phase; connections to 127.0.0.1 (the app talking to itself) are not counted.
Ollama
We used the Homebrew build, which runs as a background service. When it starts,
it opens a server on 127.0.0.1:11434 and a helper process that talks to it, both
local. ollama pull qwen3:0.6b went to registry.ollama.ai and then
downloaded 524 MB from Cloudflare storage. ollama run with a question
only talked to the local server, and so did the following five minutes. This
covers the command-line build only: the Ollama app you download from ollama.com
has its own window and updater, which we did not test.
LM Studio
On its first launch, before we touched anything, LM Studio downloaded about 172 MB from extensions.lmstudio.ai. Its own download log lists what: the llama.cpp engine, a Python runtime and a tool called harmony. Later launches fetched about 1 MB from lmstudio.ai addresses.
Model downloads do not go straight to Hugging Face. We asked for
mlx-community/Qwen3-0.6B-4bit and LM Studio's log shows every file coming
from search.lmstudio.ai/v1/hf-proxy/…, a proxy run by LM
Studio. Its settings file, untouched, had "useHFProxy": true. That
means LM Studio's servers see which models you download. It does not mean they see
your chats.
We could not drive LM Studio's chat window with our tools, so we chatted through
lms chat, LM Studio's own command, which uses the same engine. With
the default command, LM Studio fetched its model catalogue from lmstudio.ai while
answering: about 150 KB down and 12 KB up. With the
--dont-fetch-catalog option, the same kind of question produced no
outside connection at all. During the five idle minutes that followed, LM Studio
opened about 30 connections to lmstudio.ai addresses once, between 45 and 60
seconds in (3 MB down, 31 KB up, under 3 KB up per connection), and nothing after
that. The local server listened only on 127.0.0.1.
Pinku
Pinku is an iPhone and Mac app that runs open models on the device. Pinku keeps chats on the device: they never leave it. Apple's privacy label for Pinku lists only purchase history and an anonymous ID, used for Pinku Pro. The Mac App Store version is 1.0.7. Pinku was not installed on our test Mac, so we built 1.0.7 from its source and ran it under a separate app identifier, so it started like a fresh install.
- First launch, no model: no connection in 60 seconds.
- Downloading the smallest model (Qwen3 0.6B, 0.4 GB): requests to huggingface.co for the model's files, and the weights from Hugging Face's storage on Amazon servers. Our recording started 22 seconds after the download began, so it caught about 347 MB; the app's network cache lists only huggingface.co addresses.
- Opening with a model installed: four HTTPS requests to huggingface.co within seven seconds, about 35 KB down and 23 KB up. The answers were “304 Not Modified”: Pinku was checking that the model files on the Mac were still the current version. The requests name the model, and Hugging Face sees the Mac's IP address. They contain no chat.
- Chatting (one question, answer in about 85 seconds): no connection.
- Idle, 5 minutes: no connection.
Pinku's App Store description does not mention this check at launch; we found it in this test. Purchases of Pinku Pro go through Apple's own system process, which talks to Apple; we could not attribute that traffic to one app with these tools, so purchases are not part of the results.
How we measured
- One Mac with Apple silicon, macOS 26.7.1, on Wi-Fi, on 20 October 2026. No changes to security settings, no administrator password, no new permissions.
- nettop, the network monitor built into macOS, recorded every socket of every process once per second, with remote address and bytes in and out. We kept only the processes of each app.
- lsof to see which ports each app listened on.
- Host names: from each app's own records (Pinku's network cache, LM Studio's download log), from macOS logs and from DNS lookups of the addresses.
- Four phases per app: opening (60 to 90 seconds), downloading the smallest model, one question (Write three short sentences about the sea), and five minutes idle with the app open.
- Afterwards we removed LM Studio, the models we downloaded and our Pinku build.
What we could not see
- Inside the connections. They are encrypted. Without capturing packets (which needs an administrator password) we see where data went and how much, not what it said.
- Very short connections that open and close within one second can be missed by nettop. For Pinku and LM Studio the apps' own logs and caches agreed with what nettop showed.
- The iPhone. All of this is on a Mac. Apps on iOS cannot be inspected this way without other tools.
- Longer periods. Five minutes of idle is not a day. An app that checks for updates once a day would not show up.
- Other apps. We tested three. Jan, GPT4All, Msty and others were not part of this test.
How to check an app yourself
Open Terminal and run nettop -P -L 0 -s 1 -n while you use the app;
each line shows a process and its bytes in and out. For a single app, run
nettop -p followed by its process name. To see where it is listening,
run lsof -nP -iTCP -sTCP:LISTEN. Do it once while you chat and once
while you download a model, and you will see the difference this article is
about.
For what the cloud chatbots keep once your question reaches them, see what ChatGPT, Claude, Gemini and others keep, and what deleting does.
Questions people ask
Does Ollama send my chats to the internet?
In our test on a Mac (Ollama 0.20.2 from Homebrew, 20 October 2026), no. Chatting and five minutes idle produced only local connections on 127.0.0.1. Downloading a model connects to registry.ollama.ai.
Does LM Studio connect to the internet when I am not downloading anything?
Yes. In our test it downloaded about 172 MB of engines on first launch, about 1 MB on later launches, fetched its model catalogue when chatting through the lms command, and opened about 30 connections to its servers once while idle. We saw no connection carrying the chat itself.
Does LM Studio see which models I download?
With its default settings, yes: downloads from Hugging Face went through search.lmstudio.ai/v1/hf-proxy, and the settings file had useHFProxy set to true.
Does Pinku send anything when I chat?
No. Pinku for Mac 1.0.7 made no connection while chatting or idle. It connects to Hugging Face to download a model, and in version 1.0.7 also when it loads an installed model, to check its files.
How can I see what an app sends on my Mac?
Run nettop -P -L 0 -s 1 -n in Terminal while you use the app. It lists every process with the bytes it sends and receives, without an administrator password.