How CheeseWAF works
Data plane vs ALAP, why requests are not sent to a model in line, and what ships in one binary.
CheeseWAF is a self-hosted Web Application Firewall. It ships as one Go binary with an embedded SQLite store, a Web console, a CLI / TUI, and a REST management API.
The data plane inspects requests, then proxies them upstream. It does not call a large language model on every request. After the response is sent, an optional ALAP queue can review suspicious samples.
Download packaged builds from GitHub Releases. The project is licensed under Apache License 2.0.
high or critical can become lasting IP, fingerprint, or signature rules when auto-agree is on.ALAP stands for AI Large-Language-Model Auto Pilot.
| Plane | Default address | Role |
|---|---|---|
| Data plane | http://127.0.0.1:8080 | Receive site traffic, inspect, proxy upstream |
| Management plane | http://127.0.0.1:9443 | Web console, REST API, setup wizard. Docker defaults to HTTPS |
| Cluster plane | http://127.0.0.1:9444 | Node sync in cluster mode |
| Local controller | http://127.0.0.1:17943 | Windows / macOS desktop controller only |
Data plane vs ALAP, why requests are not sent to a model in line, and what ships in one binary.
Choose a CheeseWAF package for Linux, Docker, Windows, or macOS.
Initialize CheeseWAF, add the first site, and connect a model for ALAP.
Pipeline, paranoia levels, isolated vs embedded payloads, and the three management surfaces.
Domains, upstreams, load balancing, health checks, and per-site WAF switches.
Semantic engine, custom rules, IP and geo, bot challenges, rate limits, ACL, and block pages.
Endpoint discovery, schema checks, JWT / JWKS, per-route rate limits, and RBAC.
Set or delete response headers, cache static prefixes, and compress JSON or HTML.
Admin TLS, site certificates, ACME issuance, HTTP/3, and HSTS.
Asynchronous model review, auto-agree, the assistant, tool approvals, and self-learning.
Dashboard stats, access logs, Prometheus, alerts, notifications, and the attack map.
Join tokens, mTLS interconnect, builtin consensus, rolling upgrade, and traffic peers.
SQLite, optional PostgreSQL and log sinks, backups, cleanup, and scheduled reports.
Pages in the management UI and how they map to this manual.
cheesewaf and waf-cli share one binary. Default commands depend on the executable name.
Health endpoints, session login, management tokens, CSRF, and the permission map.
Top-level keys in cheesewaf.yaml and where this manual explains each block.
Users, 2FA, time sync, OTA updates, and system maintenance.
Go and Node versions, frontend build, tests, and the attack corpus tool.
Apache-2.0 for CheeseWAF source. Names and logos are not a trademark grant.