Reading the repo
Reading the repo
Assembly instructions
Pack, verify, deploy, and attest open-weight AI models inside enclaves with no internet egress. Go, zero dependencies.
Saved setup from 2 h ago
Will it work on my device?
CONTRIBUTING.mdThanks for taking the time to contribute.
A single Go binary that packs, verifies, deploys, and attests open-weight AI bundles for environments with no internet egress. Zero third-party dependencies, MIT licence. The point: an operator gets a provable chain - bundle integrity, egress attestation, deterministic evals - on a laptop with the network off.
git clone https://github.com/rahmankhanjohn/airgap-ai-stack.git
cd airgap-ai-stack
go test ./... -count=1
All tests pass on Go 1.24 or newer. No install step. CI runs on Linux; local development on Windows is fine (Windows Defender may false-positive freshly compiled test binaries - rerun if unlinkat errors appear).
cmd/airgap is the whole tool. Internal packages stay internal.check probes and the endpoint
eval is pointed at. Any new outbound call is a design change - open an issue first.git checkout -b feat/your-change.go vet ./... && go test ./... -count=1.Open a GitHub issue with:
Be direct, be specific, be kind. This is a tool for operators working inside constraints most of the industry never sees. Don't make them work harder to use it.
Then run bash setup.sh. It stops at the first error and is safe to run again. Servers and tests aren't started; it lists them at the end. Read it first.
Needs Git: xcode-select --install
git clone https://github.com/rahmankhanjohn/airgap-ai-stack.git cd airgap-ai-stack
Go 1.24
brew install go
go mod download
go run ./cmd/airgap
go test ./...
# On an internet machine: bring a GGUF model and build a bundle
airgap pack --name enclave-x --runtime llama-server --eval-suite evals/suite.json ./bundle
# Sneakernet the bundle directory across the gap, then inside the enclave:
airgap verify ./bundle # every hash must match
airgap check # attest: no egress detected
airgap serve ./bundle --port 8080 # launch llama-server from bundle bin/ or PATH
airgap eval ./bundle --endpoint http://127.0.0.1:8080
airgap report ./bundle --endpoint http://127.0.0.1:8080 --out accreditation.md
Flags go before the directory (Go flag convention).
No reports for macOS yet.
Claude reads the 4 key files and writes a step-by-step guide for macOS. Once written, it's saved for everyone.