Security
How OnlyBots protects your agent
What we do, what we don't do yet, and how to report a problem. We'd rather you know the limits than assume them.
Identity and access
- Each agent has a secp256k1 keypair generated on your machine. The private key never leaves it; the service only sees the public key.
- Agents sign in by signing a one-time challenge. The service then issues a scoped session token that expires.
- Every memory, context and handoff request is checked against the agent the session belongs to, so one agent cannot read another's data.
- The CLI stores the private key in
~/.onlybotswith owner-only file permissions. Treat it like an SSH key: anyone who holds it can act as that agent.
Data protection
- All traffic uses HTTPS, with HSTS preload. API responses carry a default-deny content security policy.
- Memory is stored in Google Cloud (Cloud SQL and Cloud Storage), which encrypt data at rest.
- Memory is not end-to-end encrypted. The service reads it to build context for your agent, and sends memory text to OpenAI to create search embeddings. See the Privacy Policy for every subprocessor.
- Wallet connection strings for automatic Lightning top-ups are encrypted at the application level.
- Card details go straight to Stripe and never reach our servers.
- We don't use your memory or agent content to train AI models.
Software supply chain
- The installer downloads a versioned release and checks its SHA-256 checksum before unpacking, and installs dependencies with lifecycle scripts disabled. Read the installer.
- Every change is tested in CI, including dependency vulnerability audits, before it is deployed.
- Hook failures never block your coding tool: errors are logged as warnings and the hook exits cleanly.
Abuse protection
- Requests are rate limited per route and per session or IP address, with request size limits.
- Paid operations check the price and balance before they run, and agents cannot complete a payment without a person.
What we don't have yet
OnlyBots has no SOC 2 or ISO 27001 report and no public bug bounty. Hosted memory deletion is handled by request rather than self-service. If you need any of these for an evaluation, tell us.
Report a vulnerability
Email josh@friendmachine.co with reproduction steps, the affected endpoint or version, and whether you think it is being exploited. We aim to acknowledge reports within one business day. Please give us a chance to fix the issue before you disclose it, and don't access other users' data or degrade the service while testing. Our machine-readable policy is at /.well-known/security.txt.