Statuspage provides multi-tenant service-status management in Tools while the public status site remains an independently deployable frontend.
The public client is the standalone Tornevall/tornevall-networks-tools-statuspage React application available at /status. Tools serves the production build of that client, while ToolsAPI continues to own status data, permissions and management.
The public application URL stays /status, while the client's static resources are delivered separately. This keeps /status and /status/{slug} as stable application routes without changing bookmarks, tenant URLs or the public API contract.
/statuspage and /statuspage/{slug} remain compatibility redirects to /status and /status/{slug}. The default public page is /status. Tenant pages use /status/{slug} and the same public client selects the requested validated slug.
The standalone client reads published status data from the unversioned public endpoint:
GET /api/statuspage/{slug}
Only pages explicitly marked public with an active publication timestamp are returned. The response contains public page status, components, incidents, published incident updates and safe event fields. Internal incident text, unpublished updates, audit records and internal event metadata are never returned.
Tools APIs use canonical unversioned URLs. Do not add URL namespaces such as /v1 or /v2.
The /services catalogue includes Statuspage with a direct Public status link. Signed-in users also get My Statuspages, and administrators get the Statuspage administration link.
Signed-in users manage status pages owned by their account at /me/statuspage. The owner screen separates page creation from the existing-page list and provides direct links to public pages when published.
Owners can create, edit, publish or unpublish pages, manage components, change component state, open incidents and add public or internal incident updates. Ownership is enforced by the backend for every resource action.
Administrators manage all Statuspage resources at /admin/statuspage. The administration interface uses the same structured page, component and incident editor as the owner surface and also allows global ownership management.
These routes require explicit backend administrator authorization; the URL prefix and GUI visibility are not authorization by themselves.
Meaningful page, component and incident mutations are recorded in the dedicated Statuspage audit store with actor, action, result, affected resource and correlation ID. Audit context is bounded and must not contain credentials or secrets.
Unexpected Statuspage operation failures are reported independently through the always-on Tools operational diagnostics path to #toolsapi, with safe service/action/result/error/correlation context. Audit settings do not disable operational failure reporting.
The database migration seeds ToolsAPI as ordinary published Statuspage data using slug tools. It uses the same data model and public API contract as every other status page; the public frontend simply uses tools as its default page.