Using InterGenOS Offline
InterGenOS is designed to be a complete, usable, verifiable system on a machine with no network connection. Not a degraded one — a complete one. This page collects everything that follows from that, because the pieces are documented individually elsewhere and the picture they add up to is not obvious until you see them together.
An air-gapped InterGenOS machine can still: run its AI assistant, read its own full manual with working links, verify its own boot chain and installed packages, and install new software from removable media.
The manual is on your disk
The complete wiki you are reading is installed on every InterGenOS machine, at /usr/share/doc/intergenos/wiki.
This is the single most useful thing to know about running the system offline, and nothing else in the documentation says it. The wiki ships as the intergenos-wiki package in the desktop tier, which means it is on the installation image — it is present after a normal install, without you doing anything.
Open it in a browser with no network at all:
xdg-open /usr/share/doc/intergenos/wiki/index.html
Or read the raw pages directly:
ls /usr/share/doc/intergenos/wiki
The local copy is the same content as the public site, including search. If you are troubleshooting a machine that cannot reach the network, the troubleshooting documentation is already on it.
The assistant cites that local copy
When InterGen answers a question and cites documentation, the citation’s primary link is a file:// link into /usr/share/doc/intergenos/wiki, with the online page as a secondary link. That ordering is deliberate: the link you are meant to click works with networking down.
The assistant also refuses to cite a page it cannot verify. Every shipped page is pinned by SHA-256 in a manifest signed with the operator’s release key. Before emitting a citation, InterGen hashes the page on disk and compares it to the pinned value; if the page is not in the signed manifest, or its bytes no longer match, no citation is produced at all. The assistant answers without a source rather than pointing you at a page whose provenance it cannot stand behind — an unsigned or altered page is exactly the vector that gate exists to catch.
Both the manifest and its detached signature ship alongside the pages, so this verification is itself a local operation. See What Leaves the Machine.
The assistant works offline
InterGen downloads its model once, on first run, and then runs entirely on your own CPU and GPU. After that fetch, no network connection is needed for it to work. There is no cloud account, no API key, no telemetry, and no background upload.
If the machine will never have a network connection, the model still has to reach it once. Fetch it on a connected machine and carry it to the target under the models directory (/var/lib/intergen/models by default) rather than expecting first-run to succeed offline.
Optional cloud escalation is not configured by default and cannot run without a provider you add yourself; on an offline machine you can also set escalation.mode: never to state the intent explicitly in configuration. See Setting Up a Frontier Model Provider and Privacy & Data Locality.
Installing packages without a network
Package installation is where an offline machine actually needs a plan, because the default flow talks to a signed mirror.
From a local archive on removable media
pkm installs directly from a package archive file:
sudo pkm install <name> --archive /media/usb/<name>-<version>.igos.tar.gz
The --archive-trust option controls how much verification is required, and it defaults to strict:
| Mode | Meaning |
|---|---|
strict | Default. The strongest verification. |
repo-only | Trust anchored in the repository index. |
loose | Relaxed; use only when you have verified the archive by other means. |
Do not reach for loose because strict refused something. A refusal is the gate working; find out why before weakening it.
From a local mirror
If you have several offline machines, a local mirror is usually better than carrying individual archives. The repository layout, mirror hosting and the signing model are covered in Repositories, Mirrors & Self-Hosting and Self-Hosting Securely. An offline mirror on the local network is still a signed mirror — the index signature is verified the same way — so this does not trade away verification for convenience.
Remember that mirror-only packages are exactly the ones an offline machine cannot reach by default. All seven of the additional language toolchains are in that category; see Additional Language Toolchains.
Checking for updates you cannot download
pkm check-updates and pkm sync both need to reach a repository. On an air-gapped machine these will fail, and that failure is honest rather than a malfunction. The system’s own daily update check timer is opt-out:
sudo systemctl disable --now pkm-check-updates.timer
Verification works offline
Everything InterGenOS verifies about itself, it verifies locally. None of the following needs a network connection:
pkm verify <name> # installed package integrity
sudo pkm verify --all # every installed package
bootctl status # boot chain
journalctl -b | grep -iE 'verity|secure boot|mok'
Package integrity is checked against manifests already on disk; the boot chain is verified by the firmware and the initramfs against signatures already in the image. The full procedures are in First Checks After Install and Security Verification.
This is a deliberate property, not a coincidence. A verification step that requires calling a server is a verification step that fails exactly when the network is untrusted — which is when you most want it.
What genuinely requires a network
Being honest about the boundary is more useful than claiming everything works:
- Fetching the assistant’s model the first time. One download, then never again.
pkm sync,pkm upgrade, and installing mirror-only packages — unless you have a local mirror or the archives on media.- The optional cloud-escalation feature, which is off by default and is the only path by which conversation content can leave the machine at all.
- Anything you install that is itself a network application.
Nothing in the base system phones home, and no part of the boot, verification, documentation or local-assistant path depends on reaching anything.
Related pages
- Privacy & Data Locality
- What Leaves the Machine
- Setting Up a Frontier Model Provider
- The Transparent Package Manager
- Repositories, Mirrors & Self-Hosting
- Additional Language Toolchains
- Reproducibility & Verification
- First Checks After Install
- Security Verification
- Self-Hosting Securely
- Backups & Version History with Chronicle