Skip to content

Security: Saturdaydev-global/Forge

Security

docs/security.md

Current execution boundary

Forge owns lifecycle, cost routing and the execution journal. run opencode is an explicit network operation that sends only the selected task title and criteria. This is a code-proposal adapter: no repository file is sent or changed. Do not put secrets in task text. Review generated text; it is not evidence of passing tests.

The child uses an empty temporary working directory and separate home/config/data/cache directories, no inherited provider credentials, --pure, no plugins, disabled sharing/update, a pinned model for primary and small-model work, and deny-all tools. Only explicitly enabled anonymous opencode/*-free routes are executable. No paid or unknown-cost fallback is supported. Subscription and API-key routes can be catalogued but cannot execute before credential grants are implemented. Free offers may change; unavailable anonymous routes fail closed without a billing credential.

Windows Job Objects kill attached processes when the owner exits. This controls lifetime, not filesystem/network containment. Assignment happens immediately after spawn; pre-assignment descendants are a residual race. No tools or plugins are enabled in this adapter. Do not enable repository edits or shell tools until suspended launch and stronger containment have been tested. Unix agent execution is currently unavailable. Mock execution remains portable.

Only bounded text proposals are stored; raw stderr, provider error payloads and authentication/session material are withheld. Proposal storage is plaintext. The trusted installed OpenCode executable remains part of the trust boundary; Forge does not defend against a malicious replacement executable or a compromised kernel/user account.

Free Router integration reads its public catalog on demand. Discovered names are untrusted, disabled and cost-unknown. No keys, pings, installs or Free Router process run during discovery. A catalog's ranking is not Forge benchmark evidence. Routing uses explicit user priorities, not invented quality or latency values.

References: https://opencode.ai/docs/permissions/ , https://opencode.ai/docs/config/ , https://opencode.ai/docs/zen/ , https://github.com/humantonylee/free-router . Reviewed 2026-10-11.

There aren't any published security advisories