System status
ArmorTrack system status
Current state of the surfaces ArmorTrack serves, the availability we commit to, and the incident record. Public surfaces are checked live from your browser each time this page loads. Anything behind sign-in is reported as not monitored until a monitoring provider is connected, rather than shown as healthy on no evidence.
Content is served by security-definer RPCs, not by a public file a browser can request. Needs a provider-side check.
The public assistant is not launched on this surface yet, so there is nothing to request. Returns to a direct check when it ships.
The public assistant is not launched on this surface yet. Live answers are reported once its runtime is present to inspect.
Requires an authenticated synthetic check from the monitoring provider.
Requires a provider-side login probe. Cannot be measured from a browser without an account.
Reachable only through the authenticated API. Needs a provider health endpoint.
Object storage is not publicly addressable. Needs a provider check.
Delivery health comes from the mail provider, not from the site.
A direct check is one HTTP request from your browser to a real artifact, with caching disabled. It proves that request succeeded for you, at that moment, on your network. It is not a substitute for server-side synthetic monitoring, and a single visitor’s failed request is not evidence of an outage.
Availability history
Trailing 90 days per component, and the daily record behind it.
No availability history to publish yet
Uptime percentages require server-side synthetic checks recorded over time. Rather than show a figure nothing measured, this section stays empty until a monitoring provider writes /api/status.json. The contract for that document is at the bottom of this page.
Incident history
Every incident that affected availability, with what happened and when it closed.
No incidents recorded
The incident record begins when monitoring is connected. Availability shortfalls under a paid subscription are handled under the Service Level Agreement, and anything you are seeing now should be reported through Contact.
Scheduled maintenance
Announced windows where a surface may be briefly unavailable.
None scheduled
Scheduled maintenance runs in low-usage windows, with advance notice where material disruption is expected. Windows are announced here and by email to account administrators once the notification service is live.
What we commit to
These are contractual terms, not measurements. They come from the Service Level Agreement and apply to paid subscriptions; agency access provided at no charge is delivered as available.
| Severity | Description | Target initial response |
|---|---|---|
| S1, Critical | Production down or safety-critical function unavailable | 4 business hours |
| S2, High | Major function impaired, no reasonable workaround | 1 business day |
| S3, Normal | Minor or cosmetic issue, question, or request | 2 business days |
Response targets describe when we aim to acknowledge and begin work, not guaranteed resolution times. Full terms, including Excluded Downtime and service credits: Service Level Agreement.
Backend contract
What a monitoring provider has to supply
Uptime history, incident records, and maintenance windows cannot be produced by this page. They come from server-side synthetic checks written to /api/status.json on every interval. Until monitor.connected is true, this page publishes no history.
| Field | Type | Behaviour |
|---|---|---|
| monitor.connected | boolean | False until a provider is wired. Fail-closed: the page shows no history while false. |
| monitor.provider | string | Name of the provider, shown so the reader knows who measures this. |
| components[].id | string | Must match an id in the component list. Unknown ids are ignored, not rendered. |
| components[].state | enum | operational | degraded | partial-outage | major-outage | maintenance | unknown |
| components[].uptime90 | number|null | Percentage over the trailing 90 days. Null renders as no data, never as 100. |
| components[].days | array|null | Trailing daily records: { date, state, downMinutes }. Null renders as no data. |
| incidents[] | array | Published incidents: { id, title, started, resolved, impact, components[], updates[] }. |
| maintenance[] | array | Announced windows: { id, title, start, end, components[], detail }. |
