Method and sources
The promise
Every commitment is read off the vendor's own SLA page: the uptime percentage per tier, what it is measured over, the credit schedule, the cap, the claim window and the main exclusions, with a quote of the clause and the version or date the page prints. Where a vendor publishes no SLA, that is recorded as a finding, not a gap. The headline promise of a service is its highest published tier.
The reality
Observed uptime comes from each vendor's own status page, read through its public feed: Atlassian Statuspage and incident.io APIs, Google Cloud's incidents.json and the AWS Health Dashboard history. Once incidents.fru.dev is live its API is used first.
- Downtime is the time during which the vendor itself marked a component of the service as a major outage, or rated the incident critical. Partial outages, degraded performance and incidents confined to the console, dashboards, billing, docs or delayed metrics are shown as degraded or left out, not counted. For feeds that never carry component statuses (OpenAI's and Cohere's), an incident the vendor rated major counts.
- Overlapping incidents are merged. One incident counts for at most 72 hours.
- When an incident names a region (in its components or its title), it counts for that region only, and the worst single region is used, since an SLA is per region. Incidents without a region count everywhere.
- Uptime is 1 minus downtime over the covered time, for the last 90 and 365 days. Coverage is how far back the feed reaches; below 80% of the window the number is marked partial, below 7 days there is none.
Beside it, a smaller figure from Downtime: uptime weighted over all incidents, minor ones included, per vendor. It is always lower and answers a different question (how often something was wrong), while Nines' own number counts only major outages per service, which is what SLA credits rest on and what the rankings use.
What it is not
A status page is what a vendor chose to say. Some under-report, some are careful. An outage marked on a component may have hit a few customers, and an SLA's own definition of downtime (error rates, per-resource checks) is narrower than any status page. So observed uptime is evidence to weigh, not a credit calculation for your account. Summaries of published SLAs; the contract you sign governs.
Changes
Sourced changes come from the vendor or from Wayback Machine snapshots that show a different number. Every Friday each SLA page is fetched again and compared with last week's text; a changed page is logged as detected and Unverified until reviewed, with a one-line summary by a language model where the budget allows (at most two calls a run).
Status feeds
- AnthropicSince Sep 22, 2025
- AtlassianSince Sep 22, 2025
- AWSSince Sep 23, 2025
- CloudflareSince Sep 8, 2026
- CohereSince Mar 1, 2025
- ConfluentSince Sep 22, 2025
- DatabricksNo public history
- DatadogSince Sep 22, 2025
- DigitalOceanSince Sep 22, 2025
- ElasticSince Sep 22, 2025
- FastlyNo public history
- GitHubSince Sep 22, 2025
- Google CloudSince Feb 27, 2026
- Hugging FaceNo public history
- Microsoft AzureNo public history
- Mistral AINo public history
- MongoDBSince Sep 22, 2025
- OktaNo public history
- OpenAISince Sep 9, 2026
- Oracle Cloud InfrastructureNo public history
- PineconeSince Aug 5, 2025
- SnowflakeSince Sep 22, 2025
- StripeNo public history
- SupabaseSince Sep 22, 2025
- TwilioSince Sep 22, 2025
- VercelSince Sep 22, 2025
Summaries of published SLAs; the contract you sign governs. Logos via logo.dev; trademarks belong to their owners.