Skip to content
lube

Status pages

Custom domainWidgetAtom feedSubscribers

Branded status pages, on your own domain.

Publish one or many public status pages, each on its own custom domain, rendered by a dedicated edge app. Embed a widget, offer an Atom feed, collect confirmed subscribers, and keep the content under review β€” all from the monitors you already run.

status.acme.comverified

Acme Status

Subscribe
All systems operational
  • APIoperational
  • Dashboardoperational
  • Webhooksdegraded
90-day historyAtom feed
Public status page Β· sample

Its place in the loop

Your status page is how reliability faces the world.

One connected loop, held on the stage this capability serves. The other stages stay as context so you can see what feeds in and what comes next.

BD
Discovery
Feedback
Product
Engineering
Release
Reliability
Evidence

Stage inventory

Reliability

Know whether it held.

Web performance

Review Lighthouse report evidence against configured targets.

Available now

Test intelligence

Investigate test outcomes and flakiness evidence across runs.

Available now

Coming later reflects product vision, not a delivery commitment.

One or many

Publish a whole fleet of status pages.

One organization can stand up many branded pages β€” a public page, a partner page, an internal page β€” each with its own name, slug, enabled state, and its own custom domain, all from the monitors you already run.

status pages

3 / 10
  • Acme Statusenabled

    /acmeπŸ”’ status.acme.com

  • Partner APIenabled

    /partnersπŸ”’ status.partner.io

  • Internal Platformdisabled

    /platform-internal

Status pages Β· sample fleet

Your brand, your domain

A managed custom domain that verifies itself.

Request a domain and lube provisions it through Vercel, ramping through hostname verification β€” provisioning, pending verification, verifying, verified β€” and issuing TLS, so the page your customers see is yours.

status.acme.com

managed
  1. provisioning
  2. pending_verification
  3. verifying
  4. verified
CNAMEcname.lube.work
TLS certificateready
Custom domain verification

Everywhere your customers look

Publish once, reach every channel.

Embeddable widget

Drop status into your own app.

An embeddable widget renders a summary, the component list, or incident history β€” off by default, gated by an origin allowlist so it only loads where you say. Prefer to pull? There is an Atom feed.

summary / components / incident_historyorigin allowlistAtom feed

widget

summarycomponentsincident_history
All systems operational

origin allowlist

  • app.acme.comallowed
  • docs.acme.comallowed
/feed.atomAtom feed
Widget sections and origin allowlist

Confirmed subscribers

Only people who opted in get mail.

Email subscriptions use double opt-in β€” enroll, then confirm β€” before anything is sent, with crypto-signed tokens and a per-subscriber target of all components, a single monitor, or a group.

double opt-insigned tokensall / monitor / group

double opt-in

  1. enroll
  2. confirm
  3. notified

target scope

all componentsmonitorgroup
  • sre@acme.comconfirmed

    β†’ all components

  • ops@partner.iopending

    β†’ checkout-api

  • status@acme.comconfirmed

    β†’ payments group

Subscription flow and targets

History

The record customers can scroll back through.

Each component carries its own history and daily stats, so a page shows how the service has held over time β€” illustrative here, drawn from your real checks in the product.

per-component historydaily statsincident archive

checkout-api

live
up degraded down
Component history Β· sample

Governed content

Nothing goes public unreviewed.

Page copy lives as immutable content revisions, scoped per locale and audience, moving through draft, approved, published, and withdrawn with a content hash and optimistic concurrency.

locale + audiencedraft β†’ approved β†’ published β†’ withdrawncontent-hash

revision lifecycle

  1. draft
  2. approved
  3. published
  4. withdrawn
  • en Β· publicpublished

    sha256:9f21…c4

  • fr Β· publicapproved

    sha256:1a08…7e

  • en Β· access_tokendraft

    sha256:b7dd…20

Content revision lifecycle

Rendered on the edge

A dedicated renderer that never hides how current it is.

Public pages are served by a separate edge app that reads from versioned snapshots with cache headers β€” and every response is stamped with a data-freshness signal (fresh, stale, or unknown), a last-known flag, and a reason code when live data lags.

  1. monitors
  2. snapshot
  3. edge app
  4. public

data freshness

freshstaleunknown

public reads

/:slug/history/daily-stats/incidents/:id/feed.atom
versioned snapshotsETag Β· s-maxage Β· 304
Edge reads and freshness signal

Operational depth

One view for domains, quota, and snapshot health.

A delivery overview shows how many bound domains are healthy, per-scope quota against your limits, snapshot health (ready versus invalidated, stored bytes, pending invalidations), and the managed-domain outbox β€” the enterprise plumbing, made legible.

delivery overview

3/3 domains healthy

quota

  • organization3 / 10
  • custom domains2 / 5

12

snapshots ready

1

invalidated

18.4 MB

stored

0

pending invalidations

managed-domain outbox

pending 0leased 1failed 0
Delivery overview Β· sample

What this is not

Custom CSS is a distinct, policy-gated control β€” not a skin or theme picker. There is no built-in visitor or traffic analytics on the public page. And no number here is a measured availability figure: the histories are illustrative, and the real page renders from the checks your monitors run.

What a status page carries

Enterprise-grade, quietly.

A dedicated edge renderer with snapshot caching sits behind every public page, and each of these is a real, first-class control.

Reach

How people follow along.

custom domainembeddable widgetAtom feedemail subscribers

States

Everything moves through a lifecycle.

provisioningpending_verificationverifyingverifiedpending β†’ confirmedfresh / stale / unknown

Governance

Reviewed before it ships.

draftapprovedpublishedwithdrawnlocale + audience

Delivery

How it reaches the edge.

edge rendererversioned snapshotsfreshness signalquota + outboxAtom + 304

Connected context

The signals behind the page.

Put your status where everyone can see it.

Start free

Publish a page from the monitors you already run.