# Secrets and spend

> A secret is either written into the workspace or held by reachpad and called on your behalf. The difference decides who can read it and what caps it.

Part of the reachpad docs: https://reachpad.dev/docs. Rendered page: https://reachpad.dev/docs/secrets. Last checked 2026-08-21.

## Two kinds of secret

|  | Written into the workspace | Brokered |
| --- | --- | --- |
| Where the value lives | On the workspace's disk or environment | With reachpad; the workspace never sees it |
| Who can read it | Anything running in that workspace, including a collaborator you shared it with | Nothing in the workspace |
| Who makes the model call | Your agent, directly to your provider | reachpad, on your behalf |
| Capped by a ceiling | No | Yes |

Add either kind on [the secrets page](https://reachpad.dev/dashboard/secrets). reachpad stores the value and never shows it back, on that page or from the CLI. Give it a name so you can link it to a workspace later.

## Ceilings

```bash
reachpad budget show
reachpad budget show --workspace <id>
reachpad budget ceiling --connection <name> --amount 25
reachpad budget cap --workspace <id> --link <link-id> --amount 5
```

A ceiling is the account-level limit on one connection per 30-day period, in dollars. A cap is one workspace link's own limit. Per-link caps are independent, so five spawned children can sum to five times a parent's cap: the account ceiling is the number that fan-out cannot multiply.

> Note: A ceiling caps brokered secrets only. A secret whose value is written into a workspace is not capped by this number, because reachpad is not the one making the call.

Setting a cap to `0` stops an edge without cutting it, which is reversible. Unlinking is not.

## The kill switch

```bash
reachpad kill-switch engage --reason 'key in a public repo'
reachpad kill-switch status
reachpad kill-switch release
```

`engage` cuts every connection on the account and pauses every running workspace. It is the one place reachpad stops your work on purpose. The reason is recorded in the audit trail beside who pulled it.

> Note: `release` allows spend again. It does not re-link what it cut and does not resume what it paused: re-link and restart what you want back.

## What is not built yet

- Secrets cannot be removed. Revoking a link stops one workspace from using one.
- Which workspaces hold each secret, and whether a secret may be used in a shared workspace, are not readable from the fleet yet.
- Credentials are granted when a workspace is created, inherited when it is forked, or granted from the CLI when an agent asks for one. There is no way to add one to a running workspace from the dashboard.
