Your server dies. Your site doesn't.
Lifeline keeps a fresh copy of your website at Cloudflare's edge and serves it the second your origin fails. Visitors never see an error page. Then it steps aside when you're back.
No card · No migration · Your site stays where it is
Healthy. Visitors reach your origin through Cloudflare. Lifeline checks it every 60 seconds and stays out of the path.
Works with
A site goes down. Nobody notices.
One console, three surfaces. The failover is the real dashboard UI running a scripted outage; the snapshot and audit views are what you see after the first crawl.
What visitors see, and what you see
Set up once. Your site stays where it is.
No migration and no DNS change. Your domain only needs to be on Cloudflare — the free plan is fine — plus a token limited to that one zone.
Point it at your zone
Add your domain and a Cloudflare API token that can only touch that one zone. Nothing moves; your site stays on its host.
It keeps a fresh copy
Every page, image, stylesheet and font, refreshed every 6 to 24 hours. A crawl that finds a half-broken site is rejected, so the last good copy stays live.
Outage? Fallback in seconds
Checked every 60 seconds. Two failures in a row and the snapshot goes live at Cloudflare's edge; three clean checks and it steps aside.
A fallback that is always armed. A crawler that never sleeps.
Automatic failover
Checked every 60 seconds. Two failures in a row and the fallback goes live; three clean checks and it steps aside. You get an email at every step.
- 03:12:07Origin unreachable (timeout)
- 03:12:22Confirmed by second check · alert sent
- 03:12:24Fallback route attached · snapshot serving
- 03:41:50Origin healthy · 3 clean checks
- 03:41:51Route removed · live traffic restored
29 minutes of downtime · 0 minutes visible to visitors
Zero overhead
The Worker sits in your Cloudflare account, unrouted. Healthy sites never touch it.
Uptime, every minute
Response time on every check, a timeline of every incident.
Alerts you'll actually read
Down, serving, recovered. Email and webhooks, only when something changes.
47 checks on every crawl
Broken links, SEO, accessibility, forms, JavaScript errors. Alerted only when something newly breaks.
- Broken internal link
/menu/brunch - Uncaught JavaScript error
/order - Image missing alt text
7 images - Page missing from sitemap
/press
While it crawls, it checks everything.
47 checks on every crawl: broken links and images, SEO, accessibility, forms, sitemap, response times, spelling, and JavaScript errors caught in a real browser. You hear about it only when something newly breaks.
Doesn't Cloudflare already do this?
Partly. Always Online is free and you should turn it on. It is a best-effort archive, not a fallback you can plan around.
Built to be boring when it matters.
Least-privilege access, encrypted secrets, and a fallback that works even when we don't.
One zone, nothing else
The Cloudflare token can read one zone, upload Worker scripts and create or delete routes on it. Revoke it any time.
Encrypted at rest
Tokens are encrypted before they touch the database. Snapshot previews render only inside a sandboxed frame.
Independent of us
Snapshots live in their own storage behind snap.joinlifeline.dev. If Lifeline is down, your fallback still serves.
Never submits your forms
The crawler inspects labels, names, actions and security on every form, and never sends one.
Built on
Free while we're in beta. Simple after.
Beta accounts get 5 sites with everything switched on, no card needed. Paid plans open at launch; this is what they will cost.
- 1 site
- Up to 500 pages per site
- Snapshot every 24 hours
- 10 sites
- Up to 1,000 pages per site
- Snapshot every 12 hours
- 50 sites
- Up to 2,000 pages per site
- Snapshot every 6 hours
All plans include: automatic failover and alerts and weekly reports with a public status page.
Beta accounts keep their sites and pick a plan at launch.
What people ask before they connect a zone.
Partly, and you should turn it on. It serves Internet Archive copies of popular pages, refreshed every few weeks, and only on Cloudflare's own 52x errors. Lifeline crawls every page and asset on your schedule, triggers on any 5xx, timeout or connection error, and shows visitors a complete site with a clear notice on forms and checkout.
No. Your site stays wherever it is. Lifeline only needs your domain to be proxied through Cloudflare (the free plan is fine) and an API token limited to that one zone.
No. While your site is healthy Lifeline isn't in the request path at all. The fallback Worker is uploaded to your account but only routed during an outage.
Snapshots cover your public site. During an outage, forms and checkout are paused with a clear message instead of failing silently, and logged-in pages show a "temporarily unavailable" notice.
Checks run every 60s with a 15s re-check to rule out blips. Worst case from the first failed request to visitors seeing the snapshot is about 80 seconds.
Only three things: read the zone, upload Worker scripts, and create or delete Worker routes on that zone. It's stored encrypted and you can revoke it in Cloudflare at any time.
Never. Forms are inspected — labels, names, actions, security — but not submitted.
Protect your first site today.
A few minutes if your domain is already on Cloudflare. Free while we're in beta, no card.
Free while in beta. No card needed.
- 01ConnectAdd your domain and a Cloudflare token scoped to that zone.
- 02First crawlEvery page and asset is copied within minutes. You get a report.
- 03ArmedChecks run every minute. If the origin fails, the snapshot takes over.