SignalHubDocumentation
Browse documentation

Start here

Deploy

Run and secure

SignalHub 1.0 · Updated 2026-10-19 · Markdown source

Feature guide

All images are for reference only. Screens use synthetic Estora development data and do not describe real service availability.

On this page
  1. Pages and hubs
  2. Private and audience access
  3. Design and publishing
  4. Incidents
  5. Scheduled maintenance
  6. Monitoring
  7. Metrics
  8. Subscribers and the public subscribe flow
  9. Notification destinations and providers
  10. Embeds and badges
  11. Analytics
  12. Team, roles and organization settings
  13. REST API and API keys
  14. Single sign-on and SCIM
  15. Multi-factor authentication
  16. Sessions
  17. Audit and SIEM
  18. Data lifecycle
  19. Platform console
  20. Runtime settings and abuse protection
  21. Operations view
  22. Observability and the command line
  23. Install and setup
  24. Landing page

Every SignalHub feature area on one page: what it is, how to use it in a few steps, and what it looks like. Each section links to the deeper guide. Desktop screenshots are 1440×900 captures of a running instance with demo data; mobile captures retain their phone viewport.

Area Where in the console Deeper guide
Pages and hubs Pages User manual
Private and audience access Pages → Access User manual
Design and publishing Pages → Appearance User manual
Incidents Events → Declare incident User manual
Maintenance Events → Schedule maintenance User manual
Monitoring Monitors User manual
Metrics Metrics User manual
Subscribers Subscribers User manual
Destinations and providers Destinations, Configuration Setup guide
Embeds and badges SignalHub Embed User manual
Analytics Analytics User manual
Team, invitations and roles User management, Configuration → Organization User manual
Data lifecycle Configuration → Organization, Overview Security
Observability and CLI Health, metrics, signalhubctl Operations
REST API and keys Security → API keys README
Single sign-on and SCIM Security → Identity Security
Multi-factor authentication Security, Configuration → Runtime MFA guide
Sessions Audit → Active session Security
Audit and SIEM Audit Operations
Platform console Platform administration User manual
Runtime settings Configuration → Runtime Configuration
Operations Operations Operations
Install and setup /setup Setup guide
Marketing website Separate project · port 3300 Landing page

Pages and hubs

Three page types: public, private (shared password) and audience (named users and groups, per-component visibility). Hubs combine several pages into one "all our services" view.

  1. Pages → New page, choose public, private or audience.
  2. Add services and groups and order them by drag and drop.
  3. Create a hub and add status pages to it; access is checked per child.
Pages and hubs list Hub overview with child status pages
Pages and hubs in one list A hub: child pages, access and design version
Status pages inside a hub The public hub page
Managing the pages inside a hub What visitors see

Private and audience access

A private page asks for one shared password. An audience page asks people to sign in and shows each person only the services assigned to them or their group. Feeds and badges for protected pages use revocable, scoped tokens, and access sessions are bound to the credential version, so changing a password signs everyone out of that page. A hub signs visitors in once while each child page still enforces its own rules.

Password gate on a private page Sign-in gate on an audience page

Design and publishing

Layouts (standard, banner, compact), 12 theme presets, logo, favicon and cover image, uptime-bar styles, sanitized custom CSS and header and footer HTML. Changes stay a draft until you publish, and 30 versions of design history are kept.

New pages default to collapsed service groups with average uptime shown as small solid daily circles. Choose expanded groups during creation or change the default later in Appearance → Layout. The same panel controls the incident/maintenance history window (90 days by default). Services save their status with a green save icon; drag-and-drop order saves automatically, including on filtered or paginated lists. Detailed public-page guide.

Appearance tab with layout and style choices

Page details, time zone, headline, search-engine visibility and subscriber channels live under Settings and Notifications:

Page settings Page notifications and delivery readiness

Incidents

Investigating, Identified, Monitoring and Resolved, with impact levels, editable timeline updates, affected components and an optional postmortem.

Public previews show at most 10 past incidents and 10 past maintenance windows, with separate history links below each preview. Full history uses the same configurable date window. Postmortems open directly without a redundant self-link.

  1. Events → Declare incident, write what is happening and who is affected.
  2. Pick status and impact, tick the affected components, choose whether to notify subscribers.
  3. Post updates as it evolves; resolve when it is over.
Declare incident form Events view
Incident timeline on the public page Public incident history

Scheduled maintenance

Scheduled, In progress, Verifying and Completed, with enforced transitions, automatic start and completion from the window, and a reminder email before it begins.

Schedule maintenance form Scheduled maintenance list

Monitoring

Seven monitor types (HTTP, keyword, TCP, TLS, DNS, ICMP, heartbeat), intervals from 10 seconds to 24 hours, failure and recovery thresholds, and optional proxies and authentication. A monitor can flip a component, record a metric, open an incident and notify. Private ranges are blocked by default and redirects are never followed.

Add a monitor Monitors with uptime bars and latency
Editing a monitor Thresholds, failure status and automated actions
Edit a monitor: what to watch, request, content check, expiry Thresholds, failure status and automated actions

Open a monitor's edit page to tune it. Under Security and authentication choose Basic, Bearer or header auth; under Request options set a proxy, IP family and custom headers; under Automated actions decide whether a failure flips the component, records a metric, opens an incident and notifies subscribers.

Monitor request, content check and authentication options

Metrics

Publish response time, error rate or any series you push through the API or a monitor, with public charts from 24 hours to 90 days. Charts start at 90 days and remember a visitor's later choice.

Metrics list

Subscribers and the public subscribe flow

Email, SMS and webhook subscribers with OTP verification, per-component and per-event filters, one-click unsubscribe (RFC 8058), bounce quarantine, and CSV import and export.

Public Subscribe controls require both page and platform subscriptions enabled and at least one configured email/SMS provider. The dialog exposes only usable channels and explains unavailable worker delivery. Disabling signup does not cancel existing subscribers. Controls and storage/display defaults.

Subscriber management The public subscribe dialog
Managing subscribers What a visitor sees

Notification destinations and providers

Email through 19 provider presets or any SMTP server, 8 SMS providers, 23 team destinations (Slack, Teams, Discord, PagerDuty, Opsgenie, ntfy and more) and signed webhooks. Credentials are encrypted and never shown again, and every destination is tested before it is stored.

Organization destinations Platform configuration of providers
Choose a destination for your organization The administrator enables providers installation-wide

Embeds and badges

An incident banner script and a live SVG status badge, plus RSS and Atom feeds, for your site, your README and your docs.

Embed snippets

Analytics

Cookie-free, aggregated daily: page views, incident views and subscription conversion.

Page analytics

Team, roles and organization settings

Admin, Incident Manager, Responder and Viewer roles over ten capabilities, optionally limited to selected pages, with last-admin protection. Organization settings cover contact details and per-organization retention.

Invitations. Add a team member and choose invite: they receive an email with an expiring, single-use link to set their password (or keep an existing sign-in method), and you can resend a pending invitation. Pages, roles and page scope are set when you invite.

Team members and roles Organization settings and data retention
Users and roles across the installation Help center
All accounts, roles and page scopes A built-in help center for operators

REST API and API keys

Scoped keys (status.read, components.read|write, incidents.read|write, metrics.read|write, analytics.read) with optional page restriction, expiry and CIDR allowlist. An OpenAPI 3.1 document is served at /api/openapi.

API keys with scopes

Single sign-on and SCIM

OIDC and SAML 2.0 per organization or installation-wide, with group-to-role mapping, just-in-time provisioning and SCIM 2.0 with hashed bearer tokens. Test a connection before enforcing it.

Add an OIDC or SAML connection

Multi-factor authentication

Authenticator-app codes with two devices, recovery codes, trusted browsers, lockout, and admin-approved recovery. One switch, off by default. The full walkthrough has its own guide: mfa.md.

Enrollment Recovery code regeneration confirmation
Device management MFA requests for administrators
MFA status per user The global switch

Sessions

Every signed-in device with browser, address and time, revoke one, or sign out all the others.

Active sessions

Audit and SIEM

Hash-chained, sealed, append-only, exportable as CSV or JSON, with signed delivery to your SIEM and a CLI verifier.

Audit log and SIEM sinks Audit log filtered to MFA events

Data lifecycle

Retention is set per organization under Configuration → Organization (monitor check history, analytics, notification logs, service status history), within limits the installation sets, and swept hourly by the worker. Export an organization's data as gzipped JSON with a checksum (secrets and token hashes are stripped) from the console or signalhubctl export --org <id>. Purge an organization through a cancellable platform job; a tombstone is kept. Subscribers can be deleted individually.

Organization settings and data retention

Platform console

Provision and suspend organizations, see identities, database, worker and queues at a glance, and run installation-wide configuration.

Platform overview

Runtime settings and abuse protection

Check database, migration and worker health, set proxy trust, HTTPS and session policy, and tune rate limits. Risky changes are checked first and apply on trial (Keep or they revert).

Abuse protection limits

Operations view

Platform jobs, dead-letter deliveries and worker heartbeats, with retry.

Operations

Observability and the command line

Health endpoints (/api/health/live, /api/health/ready), a Prometheus endpoint at /api/internal/metrics (bearer token, off unless METRICS_TOKEN is set), structured JSON logs and OpenTelemetry traces. signalhubctl covers setup, reset-password [--clear-mfa], doctor, preflight, migrate, backup, restore, audit, export, rotate-encryption-key and settings. See the README CLI table and operations.

The current isolated Estora reference environment reports database: true, migrations: true and preflight ok: true. It has no delivery worker, so worker: false is expected. Run signalhubctl doctor and signalhubctl preflight on your own installation for live results.

Install and setup

Setup wizard database connection fieldsSign in

Landing page

Landing page hero

See landing-page.md for the sections, motion design and how to change it.