All dashboards at a glance
| Path | Purpose | API |
|---|---|---|
/trust-score | Score circle 0-100 + 8 category bars + 90d trend + top contributors | /api/v1/trust-score/{current,history,explain} |
/anomalies/correlation | Stream of signal clusters per subject in 15-min windows; ack button | /api/v1/anomalies/correlations |
/operations/mttr | MTTA + MTTR p50/p95 per (scope, severity) over 90d; chronically-ignored flag when MTTA p50 > 7d | /api/v1/operations/mttr |
/topology/blast-radius | Concentric SVG: pick a node, see 2-hop downstream impact + danger color from open signals | /api/v1/topology/blast-radius/:type/:id |
/identity/surface | 3 tabs: Surface (per-person presence across 5 sources), Persons (CRUD), Unlinked (link UI) | /api/v1/identity/{persons,surface,unlinked,links} |
/compliance/timeline | Heatmap controls × month, 12-month window, dark-green/light-green/orange/red/grey + Auditor mode | /api/v1/compliance/timeline |
/compliance/pareto | Horizontal bar chart per failing control: % coverage gain + effort | /api/v1/compliance/pareto |
/evidence/health | Heatmap module × 18 months: missing / present / signed_active / signed_rot | /api/v1/evidence/health |
/ai/quadrant | Scatter plot per AI app: cost (log-X) vs PII rate (linear-Y), bubble size = traces | /api/v1/ai/quadrant |
/auditor | Bundle generator (from/to date pickers), one-shot 24h download URL | /api/v1/auditor/{bundle,bundles} |
/msp/cockpit | Cross-tenant table sorted by urgency composite | /api/v1/msp/overview |
All pages: Next.js App Router, next-intl for i18n, recharts/SVG for
visualisations, swr for revalidation.
Auto-refresh intervals (guideline)
| Page | Refresh |
|---|---|
| Trust Score | 60 s |
| Anomaly Correlation | 30 s |
| MTTR / Compliance Timeline / Compliance Pareto / Evidence Health | 5 min |
| AI Quadrant | 60 s |
| MSP Cockpit | 60 s |
| Identity Surface | 60 s |
| Blast Radius / Auditor | on demand |
Dev-mode shortcuts
In HUB_ENV=development (and when NEXT_PUBLIC_HUB_ENV != "production")
some guard rails are disabled for faster testing:
- TOTP fields in modals are hidden
- Per-hour rate limits on console-start are off
- TOTP gates on weights POST and auditor bundle creation are off
In production everything is on.