Skip to content

Live demo

This is the real built-in dashboard (the page shipped in the WAF) running on generated sample data — no backend, nothing is collected. Watch the counters climb, the sparklines move, and the recent-blocks tail scroll. Change the refresh interval or pause it; it follows your system light/dark theme.

Open the demo full-screen ↗

In production

The same page reads live figures from your WAF's /waf_metrics, served same-origin. It is read-only and opt-in — compiled in with the with_ui build tag and enabled with the dashboard directive. See Dashboard to run it, and protect it behind Caddy auth.

caddyfile
waf {
    rule_file rules.json
    metrics_endpoint /waf_metrics
    dashboard /waf
}