Why the invoice is too late
Three things make a runaway bill a surprise
Usage billing has no ceiling, the bill lags behind the usage, and the project that runs away is usually the one nobody watches.
-
No ceiling
A pay-as-you-go account bills what it uses. Code that goes wrong often does not crash: it keeps succeeding, and keeps billing.
-
A lagging bill
Usage is aggregated and priced before it reaches the bill. Cost Explorer can be a day behind, and the invoice comes once a month.
-
Nobody watching
Production has dashboards. The test project and the forgotten prototype have no traffic, so nobody looks at their charts.
Alert rules
A rule for each way a bill goes wrong
Three rules ship enabled. Add budget rules for the accounts that matter, and scope an anomaly rule to one account if you like.
| Situation | Rule | Default |
|---|---|---|
| A service with steady spend suddenly doubles | Cost growth anomaly against the service's own trailing 7-day baseline | Above 2.5× for 2 consecutive days |
| A dormant project wakes up, or something new runs away | Account budget, based on the month-end forecast | Set a monthly budget for the account first |
| A prepaid balance drains fast, such as DeepSeek's | Balance floor | 200 in the balance's own currency, or the account's budget |
| New spend that nobody owns | Untagged spend ratio | Above 15% and higher than last month |
Keep watch
It keeps watching with the window closed
On macOS and Windows, CloudBridge stays in the menu bar with the month's spend as its title. It fetches each account once its refresh interval has passed (24 hours by default, down to 6), runs the rules, and posts a system notification for each new alert. Open at login keeps that going after a restart.
- Bills are read per day, so a spike shows up the next day instead of at month end.
- Cloudflare's daily bill splits down to the R2 bucket, Worker, D1 database and Durable Object.
- A 15-minute local check notices when an account is due, without contacting the provider.
- Each provider is asked at most once per refresh interval, so watching closely costs no extra API fees.
A real case
A $10,811 Durable Object alarm
A dormant Cloudflare project looped through about six trillion reads and writes, and the first sign was the invoice. The write-up walks through what happened, why nothing warned anyone, and which rule would have.
- The anomaly rule cannot see it: a service that cost nothing has no baseline.
- An Account budget rule on the month-end forecast can, from the first expensive day.
- Cloudflare usage inside the free allowance is recorded too, at zero cost, because that is where a runaway starts.
Privacy
Your bills stay on your machine
A bill says what you run and for whom. CloudBridge keeps the ledger in a DuckDB file on your disk and credentials in the OS keyring, and only ever reads from providers.
- No CloudBridge account, no sync service, no telemetry.
- Read-only credentials; no provider resource is created or changed.
- Open source under MIT.
FAQ
Questions people ask
- How soon will CloudBridge notice a cost spike?
- Within a day or two. Bills are read per day, so a spike is in the ledger once the provider reports that day's usage and the next refresh runs, rather than on the month's invoice. It is not a real-time monitor.
- Does CloudBridge have to stay open to send alerts?
- It has to be running, but not with its window open. On macOS and Windows it stays in the menu bar, refreshes each account once per refresh interval and posts a notification for each new alert. Open at login keeps it running after a restart.
- Can it catch a project that goes from zero to a runaway?
- Yes, with an Account budget rule based on the month-end forecast. The anomaly rule compares a service with its own past seven days, so a service that cost nothing has no baseline; the forecast projects the first expensive day across the rest of the month.
- Does watching my bills add to them?
- Only on AWS, where Cost Explorer charges per request and S3 charges for reads. CloudBridge fetches each account once per refresh interval, about two Cost Explorer requests per AWS account a day by default, and never pays twice for the same data.
Find out the next day, not the next month
Download CloudBridge, connect an account, set a budget, and let it watch from the menu bar. Or look around the demo first.