Skip to content

Security and Operations

sarr-io edited this page Sep 26, 2026 · 1 revision

Security and operations

Connector routes Discord requests to trusted package code. It provides policy controls and resource limits, but it does not turn untrusted agent code into a sandbox. Review each package, its Portable Agents grants, native modules, Import graph, and policy config before exposing it to users.

Credentials and boundaries

agc connect prompts for a Discord bot token, validates its bot/application identity, registers the command, and stores the token in the platform credential store: macOS Keychain, Windows Credential Manager, or Linux Secret Service. There is no plaintext fallback. The token is not written into ac.yaml or passed to an Agent process.

Connector passes agent input and config to the selected agent. Keep trusted identities and sensitive settings in policy config, and grant only required fields through overrides. The agent's own implementation is responsible for validating its config and using capabilities appropriately. The discord Import is opt-in and channel-scoped.

Limits and diagnostics

Defaults include concurrency 4, 32 pending requests, a 10-minute request lifetime, an 8 MiB loopback RPC limit, and a maximum of 32 output messages. Image-enabled policies are limited to four PNG/JPEG/WebP images and 4 MiB total per request. Resource ceilings set on a policy and concurrency limits are separate controls.

Connector writes bounded metadata-only JSONL diagnostics (stage, elapsed time, and error code; not prompts or tokens) to the per-user state/log directory. Files are permission-restricted and rotate at 8 MiB, retaining one previous file. Discord receives an incident ID instead of a Lua traceback. Profiling is disabled by default; enabling top-level profiling: true adds bounded timing observations, not prompt content.

See Configuration for settings and Routing and requests for request interruption and image behavior.

Clone this wiki locally