Air-Gapped LLMs on the Factory Floor, Zero External Dependencies

Pull-quote: “Process parameters are the recipe. Defect rates are the confession. No plant manager should ship either one to an API endpoint they do not control, and with local models they no longer have to.”
Why this matters
The factories that would benefit most from a quality copilot are the ones least able to use a cloud one. Process parameters encode process knowledge, which is to say the product; defect and scrap data describe exactly where a supplier is weak, which no one volunteers to a third party; customer agreements and internal security policy routinely forbid quality records leaving the building; and the OT network is segmented away from the internet on purpose, because that isolation is a safety control, not an inconvenience. For years this meant manufacturing quietly sat out the LLM wave. That excuse has expired: open-weight models capable of real retrieval-grounded work now run on hardware a plant can rack inside its own fence.
The architecture inside the fence
The design has three load-bearing decisions. First, the model runs locally, on plant infrastructure, and the system makes zero external calls: no telemetry, no license pings, no model API. Air-gapped means the cable is not there. Second, the model is grounded by retrieval, not memory. Quality manuals, procedures, work instructions, and standards are embedded into pgvector, and every answer is assembled from retrieved passages of the plant’s own QMS, with the source attached. Third, the statistics never come from the model. Control limits, Nelson rule evaluations, and capability indices are computed deterministically in code; the language model explains, retrieves, and navigates, and is structurally barred from authoring a number.
Plant network (no route out)
┌──────────────────────────────────────────────┐
│ Line data ──► SPC engine (deterministic) │
│ │ charts, limits, alerts │
│ ▼ │
│ Operator ──► Quality copilot (local LLM) │
│ question │ grounded answers │
│ ▼ │
│ pgvector ◄── embedded QMS: manuals, │
│ procedures, standards │
└──────────────────────────────────────────────┘
▲
╳ no external API, no telemetry
What changes, what does not
| Concern | Cloud LLM | Air-gapped local stack |
|---|---|---|
| Process data exposure | Leaves the building | Never leaves the segment |
| Frontier model quality | Best available | Smaller model, closed by retrieval grounding |
| Availability | Depends on the WAN | Depends on the rack |
| Model updates | Continuous, silent | Deliberate, versioned, tested |
| Who audits behavior | The vendor | You |
The honest trade is the second row. A local model is not a frontier model. What closes most of the gap for quality work is that the job is narrow and grounded: the answer to “what does our procedure require before a setup change on this cell” is in the retrieved passage, and the model’s job is to find it, quote it, and stop. Grounded retrieval over a curated QMS corpus is exactly the regime where smaller models hold up, and the deliberate, versioned update cadence stops being a limitation and starts being a validation-friendly feature.
In practice
This is a working deployment pattern, not a thought experiment. The full quality stack runs air-gapped on local models with no external dependencies: the copilot agents, X̄-R and I-MR charts, capability studies, and compliance reporting, with pgvector retrieval over the plant’s own quality library, inside facilities where data never leaves the building. Cloud deployment remains reasonable for the plants that can accept it. The air-gapped pattern exists because many should not.
Closing
The question for manufacturing was never whether language models are useful on the floor; a copilot that answers procedure questions in seconds, grounded in your own QMS, is obviously useful. The question was whether it could run without shipping the recipe outside the fence. With local models, pgvector retrieval, and deterministic SPC math in code, the answer is yes, with zero external dependencies. The plants that sat out the LLM wave were not wrong to wait. They were right about the terms.
