Skip to content

docs(readme): reframe security model around trust zones - #4

Merged
paveq merged 3 commits into
mainfrom
docs/readme-security-model
Aug 26, 2026
Merged

docs(readme): reframe security model around trust zones#4
paveq merged 3 commits into
mainfrom
docs/readme-security-model

Conversation

@paveq

@paveq paveq commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Rewrites the README Security model section to be less about implementation details and more about what the design buys you.

  • Frames the machine as three trust zones with a small diagram: the daemon in your unsandboxed session, the agent sandbox, and a per-exec tool sandbox.
  • States outright that the daemon runs as you, outside any sandbox, and why (it needs your real logins to mint scoped tokens).
  • Calls out per-tool sandboxing as the property most comparable setups skip, and explains why agent and tools get different sandboxes instead of one shared one.
  • Demotes RLIMIT_CORE / PR_SET_DUMPABLE / Aho-Corasick / SIGTERM timings to a single "under the hood" paragraph; full detail remains in SECURITY.md.

No code changes; SKILL.md / ARCHITECTURE.md / SECURITY.md are unaffected.

🤖 Generated with Claude Code

https://claude.ai/code/session_014f2HrLhH3agvULQo6HaZ5x

paveq added 3 commits August 26, 2026 09:04
The old section was a list of implementation details (RLIMIT_CORE,
Aho-Corasick, SIGTERM timings) that told a reader how Airlock works but
not why it matters. Recast it as three trust zones: the daemon running
unsandboxed as the user, the agent in a sandbox shaped for an agent, and
each tool in its own sandbox shaped for that tool.

Two points were previously implicit and are now stated outright: the
daemon deliberately runs outside any sandbox (it needs the user's real
logins to mint scoped tokens), and per-tool sandboxing is the property
most comparable setups lack. The low-level mitigations survive as a
single paragraph; the full detail stays in SECURITY.md.
The "different jobs" paragraph implied a tool needs only a credential,
which glosses over tool config files. Spell out that those can be
redirected to a project-local path (CLOUDSDK_CONFIG, KUBECONFIG) so a
sandboxed gcloud or kubectl never sees the user's privileged global
login, only the minted token.
Drop the "run tool X" aside and the closing "union" sentence, which
overstated the point; soften "nothing else" to "usually" since tools
vary in what they need.
@paveq paveq self-assigned this Aug 26, 2026
@paveq
paveq merged commit 18a58ec into main Aug 26, 2026
2 checks passed
@paveq
paveq deleted the docs/readme-security-model branch August 26, 2026 06:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant