Air-gap mode
Air-gap mode is the deployment setting where Witbitz refuses every external network path it can control. It is for environments where "no data leaves" must be a property you can inspect, not a vendor promise.
The short version: set AIRGAP=1, point the model to an in-boundary endpoint, and verify the browser and server both
name no outside hosts.
Status
The runtime has a zero-egress switch. The remaining substantial work for a fully useful air-gapped tier is not the Witbitz runtime itself; it is operating a self-hosted model with the quality the deployment requires, plus local replacements for any external data tools you want to keep.
Read: Enterprise and on-prem
What AIRGAP=1 changes
| Layer | Behavior |
|---|---|
| Browser | Content-Security-Policy removes external hosts. |
| Server | External map, route, photo, URL, search, and flight paths are refused. |
| Tools | Internet-touching tools fail closed even if a Space configured them. |
| Model | Must be pointed at an in-boundary endpoint; otherwise the turn still leaves the network. |
What still works
- chat
- agent turns against an in-boundary model
- document reading
- PDF generation
- charts
- diagrams
- shared widget state
- IdP admission against an in-boundary identity provider
- backup, restore, retention, logs
What is disabled or needs a local replacement
- public web search
- external URL import
- Google Places photos/search
- map tiles, geocode, and routes unless self-hosted
- flights lookup unless backed by an in-boundary service
- remote model APIs
Verify the browser boundary
Read the CSP header from the served app. In air-gap mode, it should name no external hosts:
curl -sD- https://space.your-co.com/ -o /dev/null | grep -i content-security-policy
Verify the running build
Ask the local runtime what it is:
curl -sX POST https://space.your-co.com/space \
-H 'content-type: application/json' \
-d '{"op":"attest"}'
Then compare that build identity to the published source and your own deployment process.
The trust story
Hosted Witbitz asks you to verify the operator's deployment. Air-gapped Witbitz removes the third-party operator from the path. The check becomes supply-chain oriented:
- Is the image you run the audited source?
- Does the browser policy name no external host?
- Do server-side tools refuse outbound access?
- Is the model endpoint in-boundary?
- Are logs, backups, and retention under your control?
Related pages
Machine-readable source: air-gap.md · every doc in one fetch: llms-full.txt (HTML) · ← on-prem · the-bridge →