← Newslearn

Do AI coding tools send your code to the cloud?

Oct 13, 2026·6 min read

Most AI coding tools do send your code to the cloud — not just the line you're typing, but the surrounding file, nearby files, your repo structure and usage telemetry. How much leaves your machine depends on the tool, and you can verify it yourself. This guide explains what gets sent, why, how to check any tool in a few minutes, and how to keep your code on your own machine when it matters.

The honest short answer: if a tool uses a hosted model (GPT, Claude, Gemini and most "AI" IDEs), your prompt has to reach that model's servers to get a completion — that's how hosted inference works. The real questions are how much context travels with the prompt, what else is collected alongside it, and whether you have a local option at all.

What "sending to the cloud" actually means

It's rarely just your prompt. To give good completions, most AI coding tools attach context, and that context is where privacy leaks. Typical payloads include:

  • The current file — often the whole thing, not just the cursor line.
  • Nearby or "relevant" files — many tools index your repo and ship snippets they judge relevant (retrieval/embeddings).
  • Repo metadata — file tree, language, sometimes git remotes.
  • Telemetry — events, latency, feature usage, crash reports, and sometimes prompt/response samples for "model improvement."
  • Your API keys — stored on-device by good tools, but some sync settings to a vendor account.

Two tools with identical chat boxes can behave completely differently: one sends a 30-line prompt, the other silently uploads ten files plus an embedding index of your whole repo. For a hobby project that may be fine. For proprietary, client or regulated code, it's often a contractual or legal problem.

Why tools send it (and where the line is)

There are three distinct things people conflate:

  1. Inference — the model generating the completion. With a hosted model this necessarily happens on the vendor's servers, so your prompt leaves the machine. With a local model it happens on your CPU/GPU and nothing leaves.
  2. Context gathering — deciding what to attach to the prompt. This is a product choice, not a law of nature. A tool can attach one file or your whole repo.
  3. Telemetry — analytics unrelated to generating your answer. This is almost always optional on the vendor's side, even when it's on by default.

You can't avoid #1 with a hosted model — that's the trade for using it. But #2 and #3 are where tools differ wildly, and where "zero telemetry, local model" tools sit at the opposite end from "cloud-indexed everything."

How to check any tool in five minutes

Don't take the marketing copy's word for it. Verify. Three levels, cheapest first.

1. Read the privacy policy and settings — look for the retention line. Search the policy for "retention", "train", "improve", "zero data retention". In the app, open settings and look for telemetry toggles and a "code indexing" / "codebase" option. Turn off what you don't want.

2. Watch the network. The ground truth is what the process actually sends. On any OS you can list live connections:

# Linux / macOS — who is the editor talking to?
lsof -i -nP | grep -i -E 'code|cursor|node' 

# any platform, point-in-time
netstat -anp 2>/dev/null | grep ESTABLISHED

To see the content, run the tool through an HTTPS-inspecting proxy and read the request bodies:

# mitmproxy: start it, then point the editor's HTTP proxy at 127.0.0.1:8080
mitmproxy --listen-port 8080
# trigger a completion, then inspect the flows to api.*/v1/* — that payload IS what you sent

If you see your file contents (or more) in the request body to a vendor domain, that's your answer.

3. Block it and see what breaks. Add the vendor's telemetry domains to your hosts file or firewall and keep working. If completions still work but "analytics" calls fail, you've separated inference from telemetry:

# quick, reversible block of a telemetry host
echo "0.0.0.0 telemetry.example-vendor.com" | sudo tee -a /etc/hosts

Five minutes of this tells you more than any landing page.

How to keep your code on your machine

If the verification worries you, you have real options — on a spectrum, not all-or-nothing:

  • Turn off indexing and telemetry. The cheapest win. Many cloud tools stop uploading your repo once you disable "codebase context" and analytics. Inference still leaves, but far less rides with it.
  • Use a local model. Run the model itself on your machine with a runtime like Ollama, LM Studio, llama.cpp or vLLM, and point a model-agnostic agent at it. Now inference happens locally and nothing goes to a vendor:
# pull and run a coding model locally with Ollama
ollama pull qwen2.5-coder:14b
ollama run qwen2.5-coder:14b
# exposes an OpenAI-compatible endpoint at http://localhost:11434
  • Split the work. Keep a local model for private code and a hosted one for throwaway or public work. Model-agnostic tools let you switch per task.
  • Keep keys on-device. Confirm API keys are stored locally, not synced to a vendor account, so a breach of the vendor can't expose them.

The combination that leaks nothing: a local model + no telemetry + on-device keys + secret redaction (so .env files and tokens never ride along in a prompt even to a local model's logs).

Where NoTrack Coder fits

NoTrack Coder is built for the "keep it local" end of this spectrum: it runs on Windows with zero telemetry, works with any model — local runtimes like Ollama/LM Studio/llama.cpp/vLLM or a hosted endpoint, including a built-in option — keeps your API keys on your machine, and redacts secrets (.env, tokens, keys) before they ever reach the model. You choose, per task, whether anything leaves at all. It's one honest example of the local-first approach; see how it compares on the comparison pages or read the docs.

Want the end of the spectrum where your code stays yours? Download for Windows or see the plans on the pricing page.

Frequently asked questions

Do AI coding tools send my code to the cloud?

Most do. With a hosted model your prompt must reach the vendor's servers, and many tools also attach the current file, nearby files and repo context, plus telemetry. The exact amount varies by tool and settings — and a local-model tool sends nothing.

How can I check what an AI coding tool sends?

Run it through an HTTPS-inspecting proxy like mitmproxy and read the request bodies to the vendor's API, or list live connections with lsof -i / netstat. Whatever appears in those payloads is exactly what left your machine.

Can I use an AI coding assistant without sending code to the cloud?

Yes. Run the model locally with Ollama, LM Studio, llama.cpp or vLLM and use a model-agnostic agent pointed at that local endpoint. Inference then happens on your machine and nothing goes to a vendor.

Is telemetry the same as sending my code?

No. Telemetry is analytics (usage, latency, crashes) and is usually optional, while inference is the model generating your answer. A hosted model always receives your prompt; telemetry you can often turn off separately.

Which AI coding setup is the most private?

A local model plus zero telemetry, with API keys kept on-device and secrets redacted before they reach the model. That combination means no prompt, file or key ever leaves your machine.