A small, nerdy premise.
If you notice a few nods to Ghostbusters (1984) along the way, that’s no coincidence.
WebWall v1.2 introduces three distinct roles that give structure and logic to its New Architecture:
– The Gatekeeper – stands at the door.
– Gozer the Destroyer – decides whether the structure holds.
– The Keymaster – maintains order and balance.
The naming is playful, yes—but the roles are very real, and each exists for a reason…

Originally, WebWall was a simple, efficient bouncer. It didn’t analyze or philosophize, it just worked:
“You: yes.”
“You: no.”
For a time, that simplicity was enough. Requests arrived, rules were checked, and anything suspicious stayed out. Fast. Clean. Predictable. But the web changes and today, abuse often isn’t a single bad request. It’s pressure over time. This is why, an important upgrade on WebWall Core was needed.
Blocking a request in 2026 is easy. Knowing when to stop forgiving is not.
That’s why v1.2 changes everything. WebWall now looks beyond the present: it observes patterns, behavior, and time. It remembers, but only just enough.
The Gatekeeper
The Gatekeeper lives in the request lifecycle. It sees everything but decides very little.
It does:
– Track visitors and update hit counters
– Apply lightweight scoring
– Enforce immediate blocks when thresholds are exceeded
It does not:
– Decide permanent bans
– Perform heavy logic
– Talk to external services
Think of it this way: the Gatekeeper keeps the door open, ensuring access control without unnecessary judgment. Most visitors will meet only him, and that’s perfectly fine.
Introducing Gozer
Gozer doesn’t run on every request. It doesn’t care about single hits: it cares about behavior.
Running asynchronously, Gozer looks at the bigger picture and “chooses the form of the Destroyer“:
– Accumulated scores
– Repeated abuse
– Pressure over time
– Decay of inactivity
It answers one question:
“Has this visitor earned consequences?”
There’s no machine learning, AI, or black-box guessing. No fingerprinting. No magic.
Gozer relies on transparent logic:
– Scores rise with bad behavior
– Decay rewards inactivity
– Escalation happens only if pressure persists
If a visitor stops, their score fades. If they insist, Gozer remembers. Persistence is expensive.
From the admin’s perspective, this process translates to:
– Pulse: active tracking
– Temporary blocks: suspicious behavior
– Blacklist (Burned): permanent bans
– Honeypot IPs: known hostiles
Behind the scenes? For esample:
– Score > 100+ = permanent local ban
– Continued activity = escalation
– Extreme abuse = Cloudflare-level block
At that point, the visitor never reaches the server again and the Gatekeeper doesn’t even see them.
The Keymaster
The Keymaster operates in the shadows, within the backend.
He maintains communication, synchronizes data, and keeps systems aligned.
His duties:
– Update the blacklist with bad IPs
– Maintain whitelists for trusted engines
– Check blacklists via lightning DNS
– Push escalation rules to Cloudflare instantly
Think of him as Gozer’s deputy, holding the keys that preserve balance and stability across layers.
A day in the life
When a domain goes live with WebWall v1.2, here’s what a typical 24-hour cycle might look like:
Hours 0–2:
Crawlers and scanners arrive. Scores stay low. The system observes silently.
Hours 3–6:
Aggressive probing begins. Temporary blocks appear.
Hours 6–12:
One IP keeps pushing. It crosses the line. Gozer burns it.
Hours 12–24:
Persistent hits trigger escalation. Cloudflare blocks them at the edge.
Within seconds……….silence: no manual action required.
No alerts. No babysitting. Just logic doing its job.
The separation of Gatekeeper, Gozer, and Keymaster isn’t cosmetic: it’s architectural.
- The fast path remains fast
- Heavy logic runs asynchronously
- Decisions grow smarter over time
- Updates adapt to new threats seamlessly
- The Gatekeeper says: “You may enter…”
- Gozer eventually says: “You shouldn’t have…”
- The Keymaster whispers: “I know you all…”
So, zero dependencies, zero drama
WebWall v1.2 runs wherever you drop it.
- No frameworks
- No external services
- SQLite for live state, MySQL for history
- Optional Cloudflare escalation
Setup is intentionally… boring, and that’s a compliment.
Final note? Yes, Gozer has a link. And yes, it points here:
https://ghostbusters.fandom.com/wiki/Gozer
Because being a little nerdy never hurt anyone, especially when the system just works-and this one does.
PS: There’s one more character worth mentioning, the funniest one, “Slimer“…and indeed, there is. He only does one thing besides making people smile: he tells Gozer who’s bothering him. And if he does…well, we already know what happens.



