Tallwatch
Back to blog
2 min read
GuideStatus pages

How to write an uptime SLA you can actually keep

An SLA that looks good in a sales deck and fails in a real month is worse than no SLA. Here is how to promise only what your monitors and process can prove.

NK

Nabin Khair

Founder

How to write an uptime SLA you can actually keep

Sales loves four nines. Operations remembers the month a dependency took you offline for an afternoon. An uptime SLA is a promise with a calculator attached. Write the calculator first.

Decide what "down" means

Before any percentage:

  • Which services are in scope (API, app, billing, not every microservice)?
  • Is slow-but-200 downtime, or only hard failures?
  • Do planned maintenance windows count if announced in advance?
  • Who measures: your monitors, theirs, or a public status page?

If two lawyers would disagree, customers will too. Write one paragraph customers can understand.

Pick a number from evidence

Look at the last three to six months of real incidents. Add a buffer for the unknown. If you have been at ~99.7% with messy detection, do not sell 99.99%. You are signing up for credits and distrust.

Nines are just downtime budgets. Use them as a translation layer, not as ambition cosplay.

Tie the SLA to detection you trust

If your monitors page on single-probe flakes, your "downtime" record will be fiction. If they under-detect, your SLA will look perfect while customers churn. The measurement system has to be the same one you believe at 3am, ideally multi-region confirmation, not a spreadsheet filled in after the fact.

Credits without theater

Say what customers get when you miss (credit, extension, nothing but honesty). Cap it. Explain how to claim. Ambiguous remedies turn every incident into a negotiation.

A starter shape

  • Scope: production app + API
  • Down: confirmed unavailability from our external monitors
  • Target: 99.9% monthly
  • Exclusions: announced maintenance within the window; customer-side network issues
  • Source of truth: status.yourdomain.com
  • Remedy: service credit up to X% of monthly fee

Ship that only when on-call, status updates, and monitors already exist. An SLA without a pager is a brochure.

Related

Keep reading

False alerts and status pages.

Domain expiry vs SSL expiry: two calendars that take you offline

Domain expiry vs SSL expiry: two calendars that take you offline

TLS renewals get attention. Domain registration quietly expires and removes you from the internet. Watch both; they fail on different schedules.

NKNabin Khair
Statuspage pricing: what you pay (and what you still need)

Statuspage pricing: what you pay (and what you still need)

Atlassian Statuspage public plans from Free to $1,499/mo — verified Sep 11, 2026 — plus the hidden cost of buying a status page that does not monitor your site.

NKNabin Khair
Statuspage alternatives that include monitoring

Statuspage alternatives that include monitoring

Atlassian Statuspage publishes incidents — it does not check your URLs. Compare Tallwatch, Better Stack, Hyperping, Instatus, and Status.io when you want monitoring, on-call, and status without paying twice.

NKNabin Khair