Small binary. Serious protection.

Your traffic.
Your rules.
Your guardian.

The open-source web application firewall that puts you in control. Pure Go. Zero dependencies. All the protection, none of the baggage.

MIT licensed No vendor lock-in Built in Go
ALWAYS BETWEEN YOU & THE THREAT01 — ∞
LESS OVERHEAD. MORE PEACE OF MIND.
0

External Go dependencies

Everything you need. Nothing extra.

11

Attack detectors

Layered defense, from SQLi to SSRF.

3

Ways to deploy

Proxy, middleware, or sidecar.

<1ms

p99 overhead target

Built to stay out of the way.

SMALL FOOTPRINT. STRONG DEFENSE.

Everything a guardian needs.
Nothing to hold you back.

Security should simplify your stack.
One Go binary brings your defenses together,
from the first request to the final response.

01 / DETECTION

Understands the attack.
Protects the application.

Tokenizer-based inspection and configurable threat scoring. Eleven purpose-built detectors working as one.

SELECT * FROM users WHERE
id = 1 OR 1=1 --
SQL INJECTION DETECTEDBLOCKED ↗
02 / BOT DEFENSE
HUMAN VERIFIED

Real people in.
Bad bots out.

TLS fingerprinting, behavioral signals, and JavaScript proof-of-work challenges.

03 / SMART ROUTING

One front door.
Your whole stack.

Multi-domain routing, load balancing, automatic TLS, and circuit breakers. Built right in.

api.your.appweb.your.appadmin.your.app
04 / VISIBILITY

No blind spots.

A built-in dashboard, real-time events,
and Prometheus metrics.

05 / CONNECTED

Your tools. Supercharged.

Optional AI threat analysis and 44 MCP tools. Connect your guardian to the way you work.

MCP AI providers SIEM
06 / OPEN SOURCE

Trust the code.
Because you can read it.

Pure Go. MIT licensed. Audit it, adapt it,
make it yours.

Explore the source
COVERED FROM EVERY ANGLE
SQL injectionCross-site scriptingPath traversalCommand injectionXXESSRFSSTINoSQL injectionRequest smugglingOpen redirectGraphQL abuse
EVERY REQUEST HAS A CHECKPOINT

Good traffic gets through.
The rest meets its guardian.

Six layers of inspection. One seamless pipeline.
Pick an example and follow the request.

REQUEST INSPECTORInteractive illustration
HTTPGET /api/products?category=books_
01
IP access
02
Rate limit
03
Sanitize
04
Detection
05
Bot check
06
Response
Allowed 200

No suspicious tokens. The request reaches your application.

Example score 0/100

Illustrative requests and scores. Actual verdicts depend on your configuration; this demo does not run the WAF.

Tokenizer-based detection Configurable scoring Any HTTP backend
FITS YOUR STACK

Your first line of defense.
Just a few lines away.

Run it on its own. Drop it into Go.
Ship it alongside your containers.

One container. Every backend.

Put GuardianWAF in front of your app. The sidecar inspects incoming traffic and forwards clean requests to your upstream.

Read the setup guide
Same engine. Same protection.
However you choose to deploy.
terminal
docker run -d --name guardianwaf \
  -p 8088:8088 \
  ghcr.io/guardianwaf/guardianwaf:latest \
  sidecar --upstream http://app:3000
Replace app:3000 with your reachable upstream. Use a shared Docker network for container-to-container traffic.
KNOW WHAT YOUR GUARDIAN KNOWS

Clarity.
Built in.

Understand your traffic without assembling another stack. Your dashboard, events, upstream health, and configuration live in one place.

  • Live requests and security events
  • Upstream health and circuit breakers
  • Configuration changes without restarts
  • Prometheus-ready metrics
Explore observability
/ Overview Example data

Traffic overview

Last 24 hours
Total requests128,409↑ 12.8% vs. previous period
Threats blocked1,284Your guardian is on it.
Upstream health3 / 3 All systems healthy
6k4k2k
00:0006:0012:0018:0023:59
RECENT SECURITY EVENTS
BlockedSQL injectionGET /api/usersJust now
ChallengeBot detectionGET /checkout2s ago
GOOD QUESTIONS

A little more
peace of mind.

Have something else in mind?
Let’s talk on GitHub

01Does my application have to be written in Go?+

No. In standalone or sidecar mode, GuardianWAF sits in front of any HTTP backend: Node.js, Python, Java, PHP, Ruby, .NET, or Go. Only the embedded middleware mode requires a Go application.

02What does zero dependencies actually mean?+

The core WAF is built with the Go standard library, with no external Go module dependencies. The dashboard is embedded into the binary. Optional integrations, such as AI providers or Docker discovery, connect to external services when you enable them.

03How is this different from a regex-based WAF?+

GuardianWAF uses tokenizer-based detection and configurable threat scoring. Its detectors inspect the structure of suspicious input, and combined findings determine whether a request passes, is logged, challenged, or blocked.

04Can I try it without blocking real requests?+

Yes. Start in monitor mode to inspect traffic and review findings before switching to enforce mode. Tune thresholds and exclusions for your own application before enforcing a policy.

05Is GuardianWAF free to use?+

The core WAF is open source under the MIT license, including for commercial use. The repository describes possible future enterprise offerings separately. Optional third-party AI services may have their own usage costs.

YOUR INFRASTRUCTURE. YOUR PEACE OF MIND.

Give your app
a guardian.

Open source. Zero dependencies. Ready when you are.

go install github.com/guardianwaf/guardianwaf/cmd/guardianwaf@latest
++++