Public status pages your team will actually use.
Components, incidents, uptime monitoring, scheduled maintenance windows, SLA reporting. Free tier covers a single page with five components — enough for a real side project. Pro and Growth unlock per-minute monitoring, email subscribers, and SRE-grade SLA reports.
No credit card to start. Free · $12 · $24 · $49.
Why Status Pages
Off your infrastructure by design
If your site is down, a self-hosted status page is also down. Ours lives elsewhere — that's the entire point.
API + MCP first, dashboard second
Every action you can take in the dashboard is a single REST call or MCP tool. Your incident-response runbook can be a script.
Pay only for what costs us money
Email subscribers, SMS, monitoring frequency — those have real per-unit costs and we gate on them. Component count? Free. Per seat? We don't.
Composes with PhotonWatch + PhotonBeat
A failed Watch check or missed Beat can auto-open an incident on your Status Page (or fire into PhotonHooks). One source of truth for outages.
Features
Components + statuses
OPERATIONAL / DEGRADED / PARTIAL_OUTAGE / MAJOR_OUTAGE per component.
Incidents + updates
Open, post updates, flip status, close. RESOLVED closes the incident.
Uptime monitoring
5-min (Pro) or 1-min (Growth) HTTP checks. Auto-update component status on failure.
90-day uptime strip
Per-component history graph, computed from monitor checks.
Scheduled maintenance windows
Pre-announced, displayed on the page, automatic state transitions.
Email subscribers
Double-opt-in subscribe form on your public page. Pro: 500. Growth: 2,000.
Webhook notifications
Signed webhook events to receiver URLs on every state change.
RSS feed
Standards-compliant RSS 2.0 of incidents at /s/<slug>/rss.
Custom domain (CNAME)
Indie tier and up. Your page on your own subdomain.
Custom CSS + brand color
Indie tier and up. Self-served, no support ticket.
Remove PhotonForge attribution
Indie tier and up.
SLA reports
Growth tier. Per-monitor uptime%, downtime minutes, longest outage, MTTR.
Pricing
Pay for what costs us money.
Free
For a side project or a small team. No expiration, no card.
- 1 status page
- Up to 5 components
- Unlimited incidents + updates
- API access
- Webhook notifications
- 30-day incident history
- PhotonForge attribution on the public page
Indie
For solo devs and small teams who want the badge off + a custom domain.
- Unlimited status pages
- Unlimited components
- Custom domain (CNAME)
- Custom CSS + brand color
- Remove the PhotonForge attribution
- 1-year incident history
- Scheduled maintenance windows
- Component grouping
Pro
For teams that need real uptime monitoring + email subscribers.
- Everything in Indie
- 5-minute uptime monitoring
- Up to 500 email subscribers (double-opt-in)
- Component metrics (response time graphs)
- Automation rules
- Unlimited incident history
Growth
SRE-grade. 1-minute checks + SLA reporting + SMS alerts.
- Everything in Pro
- 1-minute uptime monitoring
- Up to 2,000 email subscribers
- SMS alert delivery
- SLA reporting (uptime% / MTTR / outage spans)
- Per-component subscriptions
Cancel anytime via the Stripe customer portal. No annual lock-in, no email-us-to-cancel routine.
Composes with
Status Pages talks to the rest of PhotonForge automatically.
- PhotonWatch — Watch can auto-open Status Pages incidents on monitor failure.
- PhotonHooks — Every state change fires a webhook event your stack can consume.
Common questions
›Is the free tier really free?
One status page, up to five components, unlimited incidents, RSS feed, webhook subscribers, API access. No expiration, no card.
›What happens if I cancel?
Your account flips back to the free tier. Any status pages or components beyond the free-tier limits stay in your account but are read-only until you delete some or re-upgrade.
›Can I bring my own domain?
Yes, on Indie and up. Add a CNAME record pointing to PhotonForge and verify in the dashboard.
›Where does my data live?
Neon Postgres, US region. Public status pages are served from Vercel's edge cache. See the privacy policy for the full breakdown.