Security
Autonomy needs a boundary you can inspect.
Work on Repeat is designed to make authority explicit and failures observable. This page distinguishes controls in the application from responsibilities that remain part of deployment and operations.
Credentials
Connection headers, provider API-key credentials, OAuth access and refresh tokens, result-webhook secrets, and complete Discord webhook URLs use authenticated encryption at rest. Work on Repeat account API keys are hash-only.
MCP access
Remote URLs are checked against unsafe network targets. Managed provider tools must match a reviewed server-owned allowlist and schema at discovery and call time; mutations require provider-specific per-routine approval.
Execution
Model calls run only through LLMGateway with routine step, time, and output limits. Common secret patterns are redacted from stored traces.
Tenancy
Project identifiers are part of repository boundaries for tenant-owned reads and writes.
Scheduling
Due routines are locked transactionally, run insertion is idempotent, and execution claims use recoverable leases.
Delivery
Result events are timestamped and HMAC-signed. Discord is outbound only, suppresses mentions, and receives a bounded summary. Retry exhaustion never alters the persisted outcome of a run.
Deployment still matters.
Operators must provide a strong encryption key, rotate scheduler and authentication secrets, restrict database and network access, configure TLS and backups, monitor dependencies and logs, and review the scopes granted to external MCP servers. No application control substitutes for secure infrastructure and credential hygiene.