Checking…

System status

Live from the same health endpoints we use ourselves. Auto-refresh every 60 seconds. No behind-the-curtain dashboards. Last checked: .

Redirect worker

Checking…

The qr.abundera.ai/r/<shortcode> hot path. This is the surface your printed QR codes hit.

Dashboard API

Checking…

The pro.qr.abundera.ai/api/* surface (sign-in, code management, Stripe webhook). Dashboard + REST API.

Daily sweeper

Checking…

04:00 UTC cron — expires grace codes, purges pending-delete accounts, prunes abuse, evicts stats cache. Stale if no heartbeat in 48h.

Nightly backup

Checking…

03:00 UTC cron — encrypted D1 → R2 dump. 30-day object-lock, SHA-256 manifests. See /security/ for the key-handling model.

How this page works

Two JSON endpoints drive everything on this page: qr.abundera.ai/r/health (redirect worker liveness + sweeper heartbeat) and pro.qr.abundera.ai/api/health (API + DB + KV + sweeper age). Both are public, unauthenticated, cached for no more than a minute. If a card shows Degraded or Stale, check the endpoint directly for the raw JSON — there's no hidden escalation tier.

No incident tracker yet — at launch volume we commit to emailing support@abundera.ai subscribers directly within 1 business hour of any customer-visible degradation. Post-launch we'll move to a dated changelog at /status/incidents/ once we have real incidents to log.