Security

Read-only by design

You create the role yourself, from a template you can read before you create it. The role's trust requires an ExternalId that is unique to your connection.

What it reads, and what it can't

Watch scans read the same read-only data as the nightly scan, every 15 minutes, and never change anything.

It cannot read your stored data (objects, database rows, secret values) or change anything. The role has no write permissions at all, so OpsAgent cannot change, stop or delete anything. Three scoped reads are the exceptions:

  • Function and task-definition configuration. It carries environment values, which OpsAgent strips before storing, logging or checking anything.
  • Log events, only from log groups you tag opsagent:logs=allow.
  • Terraform state files, only if you turn on drift checks and name the bucket and prefix. State files can contain secrets, so name only the prefix you want checked.

Your data

OpsAgent stores inventory metadata, findings and the evidence behind them. It is stored on Railway, in the United States.

OpsAgent's outbound IP addresses are not fixed yet; we will publish them here once they are.

Secrets such as Slack tokens are encrypted with a per-organisation key, which is itself wrapped by a master key.

Your AI, your keys

OpsAgent never pays for or resells inference. You bring your own agent or model key.

You stay in control

Delete the role at any time. Disconnecting stops OpsAgent from using the role at once. Deleting the stack in your account removes the role entirely.

Reporting a security issue

Use the contact form and choose Security.