Open-Source AI: Local Models and Data Paths

At a glance

Local inference is one hop, not the whole boundary. The article's reproducible check: run the complete task offline and inventory every configured endpoint.

Boundary diagram showing what stays local in a local LLM setup and five outbound paths that can still transmit data, each with its control.
Local inference is one hop, not the whole boundaryCunicula
Data behind this diagram
The article's reproducible check: run the complete task offline and inventory every configured endpoint.
The article's reproducible check: run the complete task offline and inventory every configured endpoint.
Outbound pathDestinationControl
model pulls + updatesregistries / hugging facepin immutable revision, record digest
extension telemetryvendordisable explicitly (continue, cline)
cloud embeddings / rerankremote providercode chunks are sent — use local roles
remote mcp servertool hostserver receives tool arguments
cloud fallback modelshosted apiollama_no_cloud=1, test offline

Local inference describes one hop in a system, not the whole privacy boundary.

The model can run on-device while an embedding endpoint, IDE extension, remote MCP server, updater or cloud fallback still makes outbound requests.

Open-source AI combines three separate questions. The first is where inference runs. The second is what the licence permits. The third is whether the downloaded artifact can be traced to the publisher that produced it. Treating any one of these as proof of the other two gives a false result.

Map the inference stack, not only the model

Documented runtime and extension network surfaces, reviewed 9 August 2026
Documented runtime and extension network surfaces, reviewed 9 August 2026
ComponentDocumented local behaviourOutbound surfacesControl or check
OllamaOllama says prompts and data are not sent to Ollama during local runs. The API binds to 127.0.0.1 by default.Model pulls, cloud models, web search and authentication are network functions.OLLAMA_NO_CLOUD=1 disables cloud features. Confirm the listener and test inference without internet access.
LM Studio desktopIts offline documentation says local chat, document processing and local serving work without internet access. Its app policy says the desktop app has no usage telemetry.Model search and download contact services such as Hugging Face. Runtime downloads and update checks also make requests.Sideload a pinned artifact, finish runtime downloads, then repeat the workflow offline. Review the app privacy policy separately from LM Studio cloud products.
Continue IDE extensionContinue documents anonymous telemetry and a configuration control for it. Local chat does not make every model role local.Chat, autocomplete, embeddings and reranking can each use different providers. Codebase indexing sends chunks to a remote provider when that provider has the embed role.Disable anonymous telemetry and inspect every model role. Continue documents local and remote embedding choices.
Cline IDE extensionCline documents an optional telemetry setting separately from model-provider traffic.Prompts, selected files and tool context travel to the configured model endpoint. Other tools called by the agent have their own paths.Set telemetry explicitly, inspect the configured API base URL and observe outbound connections during a representative task.

A local generation endpoint plus a cloud embedding endpoint is not a local system. Continue's own embedding documentation shows both an in-extension transformers.js option and remote provider configurations. Code chunks must be sent to a remote embedding service for that service to compute their vectors.

The same rule applies to tools. The Model Context Protocol transport specification distinguishes local standard-input servers from HTTP transports. A remote MCP server receives the tool request and any arguments required to execute it. A model running on the same laptop does not change that transfer.

Classify the licence at system level

The Open Source Initiative's Open Source AI Definition 1.0 applies the freedoms to use, study, modify and share an AI system. Its preferred form for modification includes model parameters plus sufficient information about training data and code. A licence badge on a weight file answers only part of that test.

Three-tier licence classification
Three-tier licence classification
TierDefinition used hereExampleWhat the label does not prove
OSI-licensed system packageThe package supplies the preferred form for modification and grants the OSI freedoms across code, weights and required data information.Ai2 OLMo publishes model weights, training code, evaluation code and the Dolma data resources under documented open licences.It does not prove that a particular local app, plugin or hosted endpoint is private.
Open weights, restrictedWeights are downloadable, but bespoke terms restrict users, fields of use, scale or redistribution in ways that an OSI-approved licence does not.Llama 3.3 Community License includes a separate commercial term for products above 700 million monthly active users.Download access is not permission to use and redistribute without the stated conditions.
Weights availableWeights can be downloaded and may even use a permissive licence, but the complete training package required by the OSI definition is not supplied.Qwen3 publishes weights and code under stated licences. The release does not publish the complete training corpus as a modifiable package.A permissive weight licence alone does not make the complete AI system open source.

Model catalogues should retain these tiers instead of flattening them into one open-source field. The classification concerns legal and technical autonomy. Privacy remains a property of the deployed data path.

Uncensored and abliterated models are in scope

Uncensored models, fine-tunes with different refusal policies and abliterated checkpoints are relevant when licence and operator autonomy are being compared. Abliteration changes what a model will answer by editing or suppressing refusal-related directions in its representations or weights. It is not a data-flow protection. The runner, extension, embedding service and tools see the same data unless those components are changed separately.

The original refusal-direction work, Arditi et al., arXiv:2406.11717, found a direction that mediated refusal across several instruction-tuned models. Later evaluations show that collateral effects depend on model family and ablation strength. A model name containing abliterated is therefore not a quality measurement.

Measured effects reported for abliterated checkpoints
Measured effects reported for abliterated checkpoints
Study or evaluationCompared systemsReported resultMeaning
Zhang et al., arXiv:2502.15799Llama 3.1 8B Instruct at full precision and an abliterated variantHotPotQA AlignScore fell from 0.588 to 0.444. The authors report a significant loss in factuality for the abliterated model.Higher hallucination and factuality failure were measured in this tested model. The result is not a universal constant for every method.
FitzGerald et al., arXiv:2603.10012Abliterated gpt-oss-20b derivative and Gemma 3 12B Heretic variantsOne model gained 66.5 points in answer rate with an average 2% relative task regression. Heavier settings produced larger losses; TruthfulQA regressed by up to 21.8% in the reported runs.Reduced refusal can coexist with answers that are wrong more often, even when reasoning length appears unchanged.
Gemma 4 community variant evaluationThe publisher compared 21 ablation variants with the same IFEval protocolSurgical variants stayed near the base result, while stronger variants lost 4.4 to 14.6 percentage points on IFEval prompt-strict accuracy.Instruction-following degradation is measurable and grows sharply in the more invasive variants in this evaluation. It is a publisher benchmark, not a peer-reviewed result.
Different Paths to Harmful Compliance, arXiv:2604.18510Qwen 2.5 7B and Llama 3.1 8B across abliteration, SFT and RLVR routesAbliteration had milder and family-dependent collateral effects. Qwen IFEval moved from 68.9 to 69.5 while other benchmark values moved in both directions.Abliteration does not impose one fixed penalty. Each exact checkpoint needs matched evaluation against its untouched parent.

Verify weight provenance before loading

A third-party quant from a pseudonymous uploader is an unsigned artifact unless the publisher supplies a verifiable signature or attestation. A familiar username, download count or filename is not cryptographic provenance. SafeTensors limits executable deserialization behaviour, but a safe container does not prove who produced the tensor values.

  1. Start with the original publisher record. Record the organisation, repository, licence, base model and announced files.
  2. Pin an immutable revision. Hugging Face's download client accepts a commit hash as the revision. A moving main branch is not a durable identifier.
  3. Record the artifact digest. Hash the downloaded file before import and retain the digest beside the model configuration.
  4. Compare supplied hashes or signatures. A matching self-published checksum detects transfer changes. It establishes identity only when the checksum came through an independently trusted publisher channel.
  5. Prefer non-executable formats. Hugging Face's security documentation explains the arbitrary-code risk of pickle files and recommends SafeTensors when available.
  6. Retain the conversion chain. For GGUF or other quants, record the source commit, conversion tool commit, command, quantization type and output digest. Without that chain, the quant is a separate unverified release.
Artifact receipt example
publisher: ai2
repository: allenai/OLMo-2-1124-7B-Instruct
revision: <full immutable commit hash>
artifact: model-00001-of-00004.safetensors
sha256: <locally computed digest>
format: safetensors
converter: none
license_source: <publisher licence URL>
reviewed_at: 2026-08-09

Hardware tiers are memory budgets, not speed promises

A 4-bit weight-only floor is approximately half a byte per parameter. That arithmetic puts 8B, 14B, 32B, 70B and 600B parameters at about 3.7, 6.5, 14.9, 32.6 and 279.4 GiB respectively. Real use needs additional memory for quantization metadata, the key-value cache, context, runtime buffers, the operating system and other processes. Mixture-of-experts models also separate total stored parameters from parameters used for each token.

Local-inference memory tiers with a conservative starting class
Local-inference memory tiers with a conservative starting class
Available memoryConservative starting class4-bit weight floorPrimary capacity source
8 GB shared or VRAM3B to 8B, short context8B is about 3.7 GiB before runtime overheadHugging Face 4-bit quantization documentation
16 GB shared or VRAM8B to 14B14B is about 6.5 GiB before runtime overheadLM Studio model download and quantization guide
32 GB VRAM14B to 32B32B is about 14.9 GiB before runtime overheadNVIDIA RTX 5090: 32 GB VRAM
64 to 128 GB unified memory32B to 70B, model and context dependent70B is about 32.6 GiB before runtime overheadAMD Ryzen AI Max platform: up to 128 GB unified memory
512 GB unified memory70B and larger; inspect active and total parameters600B is about 279.4 GiB before runtime overheadApple Mac Studio M3 Ultra: up to 512 GB unified memory

The table is a capacity reference, not an efficacy or throughput claim. Runner support, memory bandwidth, GPU offload, prompt length and concurrent sessions determine whether a model is usable for a particular workload.

A reproducible local-only check

Ollama local boundary
# Disable Ollama cloud features, then restart the app or service.
export OLLAMA_NO_CLOUD=1

# Pull the chosen model before the offline test.
ollama pull <publisher/model:tag>

# Confirm the API is bound to localhost.
lsof -nP -iTCP:11434 -sTCP:LISTEN

# Disconnect the network, then verify local inference.
curl http://127.0.0.1:11434/api/generate \
  -H 'Content-Type: application/json' \
  -d '{"model":"<publisher/model:tag>","prompt":"local test","stream":false}'
  1. Inventory every configured endpoint. Include chat, autocomplete, embeddings, reranking, speech, search, MCP and crash reporting.
  2. Disable cloud fallbacks. Failure of the local runner should remain visible rather than select a remote model.
  3. Run the complete task without internet access. Test indexing, retrieval, generation, tools and history, not only one prompt.
  4. Inspect local storage. Chat databases, document caches, vector stores, temporary files and synced folders remain part of the boundary.
  5. Record exceptions. For each required remote service, name the endpoint, fields sent, retention policy and approval condition.

Sources

For an example of how two apps can get different answers from the same downloaded model, see Qwen3.8-27B OBLITERATED: Why the Same Model Gives Different Answers.

Frequently Asked Questions

Is a local LLM private?

A local model can keep prompts and files on the device. The complete data path also includes the runner, telemetry, embeddings, tools, MCP servers, storage and network exposure.

Is an open-weight model open source?

Not necessarily. A downloadable weight file may have use restrictions or omit the training data information and code needed to study and modify the complete system.

Does abliteration make a model more private?

No. Abliteration changes refusal behaviour in model weights. It does not change where prompts, embeddings, logs or tool requests are sent.

Can a local model still send code or documents to a cloud service?

Yes. A cloud embedding provider, remote reranker, hosted MCP server, web search tool or IDE telemetry path can transmit data even when generation runs locally.