Air-gapped AI

Plan AI for a disconnected environment.

An air-gapped deployment has no routine path to public networks. Glyph Private can be qualified for one, but the environment has to supply everything the internet normally does: installers and models with verified checksums, licences, trust roots, identity, time, logging, and an update process. This page is the planning guide for that qualification.

Scope a disconnected deployment

Reviewed 2026-09-13 against the current Glyph release and deployment documentation.

What air-gapped means for an AI stack

Ordinary AI products assume the network: they download models on demand, refresh licences, check for updates, resolve identity against a hosted provider, and send telemetry. Each of those is a dependency that either has an internal equivalent or must be removed. The work of an air-gapped deployment is enumerating those dependencies honestly and deciding, one by one, which is which.

Bring dependencies in deliberately

Everything crosses the boundary through your organisation’s approved transfer process, and everything is verified after it crosses. The list below is the minimum supply chain for Glyph Private plus enrolled desktops.

  • Desktop installers with SHA-256 checksums from the download page; verify inside the boundary, not on the transfer workstation.
  • Server container images with their digests, and the exact database version you will run.
  • Model artifacts (GGUF, MLX, or the backend’s native format) with checksums, plus vision projector files where used, and a record of the source repository and licence.
  • The offline Ed25519-signed licence file and the deployment identifier it is bound to.
  • Certificates and trust roots for your internal PKI, and the identity provider metadata.
  • Documentation and runbooks, because the online docs will not be reachable.
  • Rollback copies of the previous versions of all of the above.

What the air-gap flag does and does not do

Setting GLYPH_PRIVATE_AIR_GAPPED on the server blocks vendor and cloud model egress, Hugging Face search and downloads, queued external downloads, and the Fortaify heartbeat; those paths are covered by forced-failure tests. The flag deliberately does not override operator configuration: an OIDC issuer, a Splunk HEC endpoint, or a cloud model base URL you have set remain reachable if the network allows it. For strict zero egress, leave those unset and confirm at the firewall that no path exists. The Trust Center states this behaviour so reviews are not working from an assumption.

Replace the online assumptions

Each of these normally comes from the internet. In an air-gapped environment, each needs an internal service or an explicit decision to do without.

Online dependencies and their air-gapped replacements
DependencyOnline defaultAir-gapped replacement
IdentityHosted OIDC providerInternal OIDC issuer reachable inside the boundary
ModelsHugging Face downloadsTransferred artifacts loaded by the gateway backend (Ollama, llama.cpp, or an internal OpenAI-compatible server)
Time and DNSPublic NTP and resolversInternal NTP and DNS; certificate validation depends on both
CertificatesPublic CAInternal PKI with distributed trust roots; renewal calendar owned by someone
UpdatesIn-app updates from the release feedTransferred installers and images; administrator-controlled update channels for enrolled desktops
Telemetry and supportScrubbed crash reportsDisabled, or pointed at an internal error-tracking project; support via exported redacted bundles
Web search, browsing, connectorsInternetUnavailable; disable in policy so users get a clear message rather than a timeout

Prove the recovery path

Qualification is a set of drills run inside the boundary, with results recorded: fresh installation from transferred media; sign-in against the internal identity provider; inference through the gateway; policy delivery to an enrolled desktop; backup and restore of the database and licence; an expired certificate; a failed upgrade and its rollback; and a licence expiry, to confirm the deployment degrades to read-only administration rather than failing outright. If a drill has not been run in this environment, the capability is not yet qualified.

Operating rhythm after go-live

Plan the cadence for model refreshes, server and desktop updates, certificate renewals, and licence renewal, each with an owner and a transfer window. Keep the previous version of every artifact until the new one has survived a full cycle. Most air-gapped failures are calendar failures — an expired certificate or licence on a system nobody had to touch for a year — and the fix is a calendar, not a feature.

Frequently asked questions

Can Glyph desktop run air-gapped without a server?

A single desktop can run local models with no connectivity once models are installed, but it has no central policy or audit and its updates must be transferred manually. Organisations with an air-gap requirement generally need Glyph Private for identity, policy, and evidence.

Does the licence need to phone home?

No. The licence is an offline signed file. Bind it to a deployment identifier, enable strict mode, and back it up with the database.

Is an air-gapped deployment automatically zero-egress?

Only if the environment is. The flag blocks vendor and cloud paths that the software itself would use; operator-configured endpoints and the network perimeter are yours to verify.