Appflare spend protection: per-app usage alerts and automatic pausing in your own account
Appflare, an open-source (Apache-2.0) app manager that runs as a Worker in your own Cloudflare account, added spend protection: it reads each installed app’s usage every 5 minutes, alerts on unusual usage, and can pause an app that runs away.
- Products
- WorkersDurable ObjectsD1R2
- Source
- Community resourceAppflare docs
- Author
- Mendy (@MendyOK)
Key points
- What it watches: every 5 minutes it reads Cloudflare analytics for the resources it created for each app (Workers, Durable Objects, D1, KV, R2, queues, Workflows and others), matched by resource ID. It re-reads the last 3 hours because analytics lag, and a new app’s usage appears about an hour after install. Dollar figures are estimates at Cloudflare list prices, and Workers or resources Appflare did not install are not counted, so the totals are not the account’s whole bill.
- Alerts: an hour at 5×, 20× (the default) or 100× an app’s normal, defined as the 95th percentile of its active hours over the 7 days before the last day, sends a message to Telegram, Slack, Discord or a webhook, provided the hour also costs at least $0.05 on Workers Paid or uses at least 5% of a free daily limit on Workers Free. You can also write alerts such as “when it is on pace to spend $20 this month”.
- Pausing: automatic pausing is off by default. A pause makes each Worker serve a stand-in that returns 503 while keeping bindings, secrets and data; Durable Object alarms are put off by an hour each time they fire, cron triggers do nothing, queues stop delivering, Workflow instances pause and containers stop. Storage is still billed while paused, and Appflare never resumes an app by itself.
- Automatic triggers: a loop check (by default over $1 an hour and at least 50× normal on Workers Paid, tripped on two checks 5 minutes apart; one Durable Object running its alarm more than 3,600 times in an hour also counts) and, on Workers Paid, a per-app spending cap per day, week or month (default $10 a month), plus an optional monthly budget that pauses the biggest spender. On Workers Free it warns when the whole account reaches 90% of a free daily limit, but it does not cap or pause anything it did not install.
- Official docs (rechecked 2026-10-15): Cloudflare budget alerts email once when account-wide usage-based spend crosses a threshold and do not pause or cap usage. Appflare’s caps and pauses act only on the apps it installed.
Original sources
Undated
Appflare spend protection: per-app usage alerts and automatic pausing in your own account
Open original sourceAppflare, an open-source (Apache-2.0) app manager that runs as a Worker in your own Cloudflare account, added spend protection: it reads each installed app’s usage every 5 minutes, alerts on unusual usage, and can pause an app that runs away.
Launch thread by Mendy (@MendyOK): Appflare is a free, open-source app store for your own Cloudflare account, and spend protection tracks every app, warns if one runs away, and can pause it.
Read on 𝕏Mendy
@MendyOK · Original 𝕏 post
Appflare is a free, open-source app store for your own Cloudflare account: 100+ apps, one click each. But what if one loops all night? Introducing: spend protection! Appflare tracks every app, warns you if one runs away, and can pause it. website: https://t.co/viYc3rqoDY github: https://t.co/7wuL9UDWw5
Thread: every app gets a Usage tab, and Home shows this month’s cost and where it is heading, from Cloudflare analytics read every 5 minutes with dollar estimates at list prices.
Read on 𝕏Mendy
@MendyOK · Original 𝕏 post
Every app now has a Usage tab, and Home shows what your apps have cost this month and where it's heading. The numbers come from Cloudflare's own analytics, read every 5 minutes, with dollar estimates at Cloudflare's list prices. https://t.co/vz8tgBp263
Thread: alerts at 5×, 20× or 100× an app’s normal hour via Telegram, Slack, Discord or a webhook, or a custom alert written as a sentence.
Read on 𝕏Mendy
@MendyOK · Original 𝕏 post
When an app's hour reaches 5x, 20x or 100x its normal, Appflare tells you on Telegram, Slack, Discord or a webhook. Or write your own alert as a sentence: "when it is on pace to spend $20 this month". https://t.co/IV4SZpb5yl
Thread: auto-pause for apps stuck in a loop; on Workers Paid, per-app spending caps per day, week or month and a monthly budget that pauses the biggest spender.
Read on 𝕏Mendy
@MendyOK · Original 𝕏 post
Turn on auto-pause and Appflare pauses an app that's stuck in a loop, burning real money at many times its normal rate. On Workers Paid, add a spending cap per day, week or month, and a monthly budget that pauses the biggest spender until your apps fit it. https://t.co/vrjGEzHJx9
Thread: pausing keeps data, bindings and secrets; queues, Workflows and containers stop too, and resume restores the exact versions that were running.
Read on 𝕏Mendy
@MendyOK · Original 𝕏 post
Pausing doesn't touch your data. Each Worker serves a "paused" page and keeps its bindings and secrets. Queues, Workflows and containers stop too. Resume puts back the exact versions that were running. https://t.co/9z2HKY4nDx
Thread: on Workers Free it also warns before the account hits a free daily limit; existing installs update from Settings > Updates and reconnect Cloudflare once.
Read on 𝕏Mendy
@MendyOK · Original 𝕏 post
Free and open source. On Workers Free it also warns you before your account hits a free daily limit. Update Appflare from Settings > Updates, then reconnect Cloudflare once. https://t.co/Oq3ziDqSQo https://t.co/Cz1um9YHSu
Undated
Repository (Apache-2.0): the README says Appflare runs on the free Workers plan, installed apps count against your own Cloudflare plan, and they keep running if Appflare stops or is removed.
Open original source
More to read
Meathill: OpenNext KV ISR cache left unpaid TTL work and ballooned storage.
Meathill reports that an OpenNext Cloudflare KV incremental-cache path for Next.js ISR left a TODO for KV TTL, so versioned page snapshots accumulated. Dashboard billable storage showed 3.59 GB-month over the 1 GB free allowance with ongoing extra charges, and historical zombie data reached about 24 GB before he moved to a new namespace. He does not state a dollar invoice total.
Free plan FAQ: overage errors, reset time and CPU limits
风易 (@Michael_liyang) answers three common questions: whether going over the free quota silently charges you, when quotas reset, and whether the free plan can be used commercially.
ClaudeBar’s Cloudflare AI provider: Workers AI neurons and overage in the menu bar
The open-source macOS menu bar app ClaudeBar added a Cloudflare AI provider that shows today’s Workers AI neurons against the free daily allocation, an estimated Workers Paid overage, AI Gateway tokens and the last invoice, using a read-only API token.