Skip to content

ADR-0013: Local IPC and browser session security

  • Status: Accepted
  • Date: 2026-07-15

Context

CLI, desktop, MCP, and browser clients need local access to privileged capabilities. Loopback binding alone does not prevent cross-origin requests or access by other local users.

Decision

Use user-permissioned Unix sockets on macOS/Linux and named pipes on Windows for privileged local clients. Serve the browser API on loopback only. A local bootstrap handshake issues a short-lived same-origin cookie; mutations require CSRF validation. Validate origins for HTTP and WebSocket traffic, disallow permissive CORS, expire idle sessions, and audit mutations.

Consequences

Local clients share handlers while retaining transport-specific authentication. Socket/pipe cleanup and permissions are tested. Browser JavaScript never receives the Docker socket or generic process-execution capability.

Use this pageLast verified Jul 17, 2026
Copy-ready MarkdownOpen sourceReport a docs issue