CheeseWAF 0.4.2 · self-hosted WAFRead the docs
CheeseWAF

REQUEST CONTROL PLANE

Inspect the request, then choose the action. Confirmed attacks stop at the edge; uncertain samples enter a background queue.

Apache-2.0 Self-hosted Uncertain samples reviewed async
CheeseWAF / control-plane / overviewLIVE · 14:32:08
Overviewsite / cheesesec.com⌄last 15 min
Window requests12,842last 15 min
Window blocks1841.4%
Average response time0.4msaverage
Protected sites3enabled
Traffic totalsRequest trend
Recent security eventslast 60s
TimeEventAction
14:31:52SQL injection · /api/usersBLOCK
14:31:37Bot challenge · /loginREVIEW
14:30:58Normal request · /dashboardPASS
14:30:44Path traversal · /filesBLOCK
14:30:41Rate limit · /api/searchREVIEW

02Capabilities

Block first. Review after.

Handle confirmed attacks in the request path. Send uncertain samples to the queue.

01

Data plane

Inline block

Parameters are decoded and parsed. Deterministic exploits stop immediately.

02

ALAP

Async review

After the response is sent, ambiguous samples enter a background queue.

03

Feedback

Rule deposit

High-risk findings can become site-scoped custom rules; IP and fingerprint actions still require an operator decision.

04

Ship

One binary

Single binary integrating the Go engine, Web console, CLI, and REST API. Uses embedded SQLite by default with optional external PostgreSQL log streaming.

03START IN MINUTES

Choose your way to run it

Pick the install path that fits your setup. Each one uses the same configuration and console.

01

One-line install

Linux installer pulls the latest release and prints public + private entry points.

Read the docs
02

Container

Run the same binary with your own volumes, secrets, and reverse proxy.

Read the docs
03

Build from source

Use Go and the web console when you need a fully local toolchain.

Read the docs

04Comparison

Why CheeseWAF

Rules, syntax checks, and async review each do one job. The model only sees ambiguous samples.

DimensionRegex WAFSync LLM WAFHeavy Container StackCommercial Cloud WAFCheeseWAF
DetectionRegex pattern matchingSync LLM per requestRegex + statistical analysisRule sets + threat feedAST syntax analysis + Async ALAP
Inline Latency1–10 ms500–2000 ms (high)2–15 msDependent on CDN routing< 1 ms (sub-millisecond, zero wait)
Token CostNoneExtremely high (all traffic)NoneBandwidth & tier pricingLow (only reviews ambiguous samples)
Evasion / FPREasily bypassed by encodingsProne to hallucinationsComplex rule maintenanceVendor-dependent updatesParses syntax trees; immune to obfuscation
FootprintRequires compiling NginxExternal API dependency5–10 containers, 1–2 GB+ RAMCommercial cloud onlySingle binary, tens of MB RAM
Data PrivacyLocalFull traffic sent to external APILocalTraverses public cloud100% on-premises; optional private LLM

05Path

How a request moves

The first five steps finish before the response. ALAP handles uncertain samples after it returns.

INLINE PATH0.4 ms · response first
01

Ingress

HTTP, HTTPS, and HTTP/3.

02

Filter

IP, geo, and client soft fingerprints.

03

Bots and limits

CAPTCHA, token buckets, waiting rooms.

04

Rules & semantics

Custom rules short-circuit first; AST engine parses deep.

05

Origin

Clean and queued traffic still go upstream.

response returned
AFTER RESPONSE · ASYNC REVIEW
06

ALAP

Samples go to the configured OpenAI- or Anthropic-compatible provider.

ALAP queue · no blocking wait

07START HERE

You hold the keys. AI keeps the cheese.

Connect one site, watch the decisions, then tune the rules you actually need.