Skip to main content

Status

LatchKey status

Each component below carries either a condition we measured in the last 15 minutes, or the word “Not monitored” and the reason. There is no uptime percentage and no history bar on this page, because those are measurements we do not yet hold, and publishing a figure we cannot reproduce is how a status page becomes decorative.

3 of 9 components are not serving normally. Probes run every 5 minutes. An observation older than 15 minutes is shown as not monitored rather than as still true.

Components this page reports

One row per part of the system a customer can feel, taken from the architecture rather than from a marketing grouping.

  • Widget delivery

    The versioned widget bundles on the CDN, and the per-site config endpoint the loader requests on a visitor page view.

    Last checked 2026-11-12 12:10 UTC

    Serving
  • Remediation manifests

    The signed per-page-type manifests the widget applies in the page, and the route that serves them. The widget runs no model in the browser; if manifests stop serving, remediation stops and the interface keeps working.

    Last checked 2026-11-12 12:10 UTC

    Degraded
  • Marketing site and free scanner

    This website, and the public scan form that queues a scan without an account.

    Last checked 2026-11-12 12:10 UTC

    Serving
  • Customer portal

    Sign-in, licences and site keys, the install and customisation screens, reports and the billing pages.

    Last checked 2026-11-12 12:10 UTC

    Serving
  • Scan and crawl workers

    The Chromium workers that run the axe-core 4.10 engine, capture screenshots and compile manifests, plus Crawler site crawls, scheduled audits and the retention purge.

    Last checked 2026-11-12 12:10 UTC

    Not serving
  • Inference

    The off-box model endpoint behind alt-text and control-label suggestions, and the refusal gate in front of it. When it is unavailable, deterministic fixes are unaffected and inferred ones are declined.

    Last checked 2026-11-12 12:10 UTC

    Degraded
  • Email delivery

    Trial and licence notices, scan reports and the monthly digest.

    Last checked 2026-11-12 12:10 UTC

    Serving

Services we rely on

These are not LatchKey infrastructure. We report what we can measure from our own side and nothing more, and we publish no uptime percentage for someone else’s platform because we cannot audit it. For entitlement webhooks that means the number of payment confirmations we accepted and failed to act on — a fault that is ours whatever their platform is doing.

  • Billing and checkout (Dodo Payments)

    Dodo Payments is the merchant of record for subscriptions. When checkout is unavailable, new purchases and plan changes are what fail: nobody loses access and no widget stops serving.

    Last checked 2026-11-12 12:10 UTC

    Serving
  • Entitlement webhooks (Dodo Payments to LatchKey)

    The confirmations that switch a licence on after a payment. A late confirmation delays entitlement on a new purchase; a missing event is a delivery problem, so it never revokes a licence that is already active.

    Last checked 2026-11-12 12:10 UTC

    Serving

Where this page’s data comes from

A scheduled probe, not this page

A job runs every 5 minutes, looks at each component and writes down what it saw. This page reads those rows. It never probes while you are reading it, because a status page that loads the product it reports on would become a cause of the outages it describes.

The workers’ own control port

Whether a scan worker answers, and how many crawl slots it has, comes from the same control port the scan pipeline uses. Alongside it we read the two crawl counters that should be zero on a healthy system: leases that stopped heartbeating, and reserved capacity no run claimed.

What we deliberately do not infer

Every row is measured by doing what a customer’s visitors or a customer would do, never by a configuration check. Remediation manifests are measured by fetching a published manifest from the delivery route and checking its signature against the keys the widget trusts, because a manifest having been written is not the same as a widget being able to fetch one. Email delivery is measured by whether the notification queue drains, rather than by an API key being present. Billing is measured by asking our payment provider for the exact products a checkout would name — so a key that stopped working, or a plan whose product no longer exists, shows up here rather than at somebody’s card.

The incident record

Still to come: one incident model with timestamped updates in UTC, generating the page, the email notifications and the feed, so the wording cannot diverge between channels. Until it exists, the section below is empty and says so.

Incident history

No incident record to publish

Incidents will be listed here in reverse order with a timestamped update log, grouped by month. Until the record exists, the absence of an entry on this page is not evidence that nothing happened. It only means nothing has been recorded here yet.

Seeing something wrong right now?

Six measured components are not the whole product, and you may be seeing something no row above covers. Include the site, what you were doing and roughly when: a scan that never finished, a widget that did not appear, a licence that has not switched on after a payment.