Skip to content

docs: add security.md β€” trust model and its current limits - #356

Draft
tildesrc wants to merge 1 commit into
mainfrom
panopticon/docs-security-page
Draft

docs: add security.md β€” trust model and its current limits#356
tildesrc wants to merge 1 commit into
mainfrom
panopticon/docs-security-page

Conversation

@tildesrc

@tildesrc tildesrc commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

What

Adds docs/security.md, a single honest page on panopticon's security posture, and links it from the README and the overview's "Where to go next".

The trust story was scattered (the docker_in_docker warnings in repos.md/layers.md) and some real limits weren't written down anywhere. This page states the model plainly, including where it stops.

Contents

  • Isolation β€” per-task container, clone, and branch; the --dangerously-skip-permissions rationale (the container is the sandbox); nothing reaches main without the operator's review gate.
  • docker_in_docker β€” --privileged β‰ˆ host root; off by default; trusted repos only.
  • Networking β€” containers reach the host via host.docker.internal; the task service defaults to 0.0.0.0:8000 (all interfaces), so the bind address is a security control.
  • Trust boundary (stated plainly) β€” the control plane does not authenticate callers; any task_id is trusted over REST/MCP, so one container can mutate another task. Fine for a single trusted operator; a real concern before multi-user or shared-network runners. Tracked as the P1 cleanup in design/BACKLOG.md.
  • Secrets β€” 0600 env-file injected via --env-file; long-lived non-rotating setup-token; manual rotation.
  • What leaves the machine β€” the determinism invariant as a data-flow boundary: the control plane makes no model calls; they happen only inside task containers.
  • A checklist before widening the trust radius.

Every claim was verified against the code before writing; the doc cites the relevant source files. Full plan: the task's plan.md artifact.

A single honest page on panopticon's security posture: container
isolation and the --dangerously-skip-permissions rationale, the
docker_in_docker=host-root escalation, the 0.0.0.0 default bind, the
unauthenticated-control-plane trust gap (BACKLOG P1), secret handling,
and the determinism/data-flow boundary. Linked from README and the
overview's "Where to go next".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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