Authentication systems fail silently. The first sign that something's wrong is rarely an alarm — it's a vague feeling on a Tuesday afternoon that a number doesn't add up. The dashboard is what turns that feeling into evidence in 30 seconds.
What "visibility" actually means for solo auth
| Question you'll ask | Without dashboard | With dashboard |
|---|---|---|
| "Is anyone logged in right now besides me?" | SSH to server, sqlite3 query, parse rows | Glance at top-right counter |
| "Did I get any failed login attempts this week?" | Grep app logs across rotations | One chart, last 7 days |
| "Which IPs are blacklisted and why?" | Read DB rows manually | Sortable table with timestamps |
| "Is anything suspicious right now?" | You don't know until something obviously breaks | Status badge: green/yellow/red |
The minimum viable dashboard
Resist the urge to build a Grafana clone. Four sections, one HTML page, no JavaScript framework needed:
- Status header — active sessions, failed attempts last hour, blacklisted IPs.
- Active sessions table — token prefix, IP, created, expires, "Revoke" button.
- Recent attempts log — success/fail, IP, timestamp, last 100.
- Killswitch zone — the big red Revoke All, plus blacklist table with "unblock" actions.