docs(security): drop origin-story framing, point to module doc instead of internals

This commit is contained in:
iris 2026-08-15 11:45:09 +02:00 committed by mara
commit 58459bbbb3

View file

@ -5,9 +5,8 @@
The sections below document specific mechanisms (the state-file endpoint, The sections below document specific mechanisms (the state-file endpoint,
nixbld isolation, privilege separation). This section frames the model they nixbld isolation, privilege separation). This section frames the model they
serve: **what hyperhive defends, what it deliberately does not, and where the serve: **what hyperhive defends, what it deliberately does not, and where the
operator is accepting risk.** It emerged from a security discussion on operator is accepting risk.** It is the reference for "is it safe to give an
2026-06-24 (prompted by the `gh` CLI helper work) and is the reference for agent capability X?".
"is it safe to give an agent capability X?".
### The trust boundary is the container, not credential storage ### The trust boundary is the container, not credential storage
@ -167,8 +166,8 @@ token policy bounds file reads; network isolation bounds network reach.
- `/home/<name>/.claude/` — mode `0700`, owned by the per-agent - `/home/<name>/.claude/` — mode `0700`, owned by the per-agent
user `<name>`. nixbld users cannot read it. user `<name>`. nixbld users cannot read it.
- `$HYPERHIVE_STATE_DIR/forge-token` (= `/agents/<name>/state/forge-token`) - `$HYPERHIVE_STATE_DIR/forge-token` (= `/agents/<name>/state/forge-token`)
— written at mode `0600` by `hive-c0re/src/forge.rs` and chowned to the — written at mode `0600` and chowned to the per-agent uid:gid (see
per-agent uid:gid by `lifecycle::chown_to_agent`. nixbld users `hive-c0re/src/forge.rs`'s module doc for exactly where). nixbld users
cannot read it. cannot read it.
**Policy**: all credential files written to agent state directories MUST be mode **Policy**: all credential files written to agent state directories MUST be mode