Twelve signal sources, one table, a handful of overviews. No more 15 silo tables and no more separate dashboards that don't talk to each other.
Every monitoring and compliance product builds its own little silo. Trust Score lives in tool A, compliance in tool B, audit in tool C, and nobody combines them into a single number for the boardroom.
Cert scans, DNS hygiene, secrets, backup status, clock drift, endpoint posture, container hygiene, license, identity, supply chain — all fan-in into one hypertable.
Severity-weight ladder, weighted average over 8 categories, reproducible via inputs_hash. Dashboards on top.
External accountant gets one ZIP with evidence packs, offline verify script and signing-keys snapshot. No access to your live data.
All from signal_streams + the existing inventory and AI tables. No duplication, no drift.
Every worker, ingest handler and hub-side scanner writes through one Go interface into one table. Adding a new check = one entry in SourceToCategory + one Emit() call.
emitter.Emit(ctx, tenantID, signals.Signal{
Source: "cert_scan",
SubjectType: "endpoint",
SubjectID: "api.example.com:443",
Key: "cert.expiring_soon",
Value: map[string]any{"value": 17, "fingerprint": "sha256:..."},
Severity: signals.SeverityMedium,
ObservedAt: time.Now().UTC(),
})RLS is enabled on signal_streams (defence-in-depth). Production queries use explicit tenant_id WHERE clauses.
Trust Score, Anomaly Correlation, Blast Radius, Cost-to-Compliance Pareto. The rest of the platform works as before.
Start free →Read-only auditor role, TOTP-gated bundle export, offline verify without monsys credentials.
For auditors →Cross-tenant cockpit with urgency sorting. White-labelled for your own customers.
For MSPs →Connected Dashboards ships with every monsys account. No extra price, no separate module.