Enterprise Security Capability Demo ๐Ÿ›ก๏ธ

This site runs behind a Cloudflare Enterprise demo zone. Each scenario below is driven by native edge rules (WAF / Rate Limiting / Cache / Waiting Room) โ€” the pages themselves are just static origin content being protected.
How to watch: open a scenario โ†’ press F12 โ†’ Network โ†’ inspect the response headers (CF-Ray, cf-cache-status).

Enterprise Zone  WAF Custom Rules  Waiting Room  Cache

Demo scenarios

/demo/pass.html

โ‘  Baseline โ€” Allow

No rule matches this path; it serves normally as the control baseline.

Audience sees: page loads; DevTools shows CF-Ray, no 403 / challenge.
Open โ†’
/demo/block.html

โ‘ก WAF Block โ€” custom 403

A WAF Custom Rule executes Block on this path and returns a branded 403 page.

Audience sees: not the page itself but a custom 403 block page (HTTP 403).
Open โ†’
/demo/managed.html

โ‘ข Managed Challenge

Rule action Managed Challenge: Cloudflare decides the right level of verification โ€” humans pass with almost no friction, bots get stuck.

Audience sees: a challenge (brandable); humans get through, curl-style clients cannot.
Open โ†’
/demo/js.html

โ‘ฃ JS Challenge

Rule action JS Challenge: a browser check runs first, then the request is released (great for low-confidence bot screening).

Audience sees: "Checking your browser" interstitial (brandable), auto-continues in a few seconds.
Open โ†’
/demo/log.html

โ‘ค Log-only (observe)

Rule action Log: log matches without blocking, for zero-risk rollouts. Enterprise-only.

Audience sees: page passes normally; matches show up in Security Analytics.
Open โ†’
/demo/ratelimit.html

โ‘ฅ Rate Limiting โ†’ 429

Rate limiting rule: more than the threshold from one IP in 10s โ†’ custom 429 page, blocked for 60s.

Audience sees: page loads first; after rapid refreshes it becomes a 429 rate-limit page, then auto-recovers.
Open โ†’
wrdm.nc-demo.cf/

โ‘ฆ Waiting Room queue

Enterprise waiting room: use the Queue-all toggle to force every visitor into the queue, then release them FIFO.

Audience sees: queue page auto-refreshing with position / wait estimate; visitors admitted when Queue-all is switched off.
Open โ†’
/demo/cache/

โ‘ง Cache HIT / MISS

A Cache Rule sets Cache Everything on this path; the page reads cf-cache-status live.

Audience sees: first request MISS โ†’ then HIT; purge the two URLs in the Cloudflare dashboard โ†’ back to MISS.
Open โ†’

Pre-demo config checklist (see README.md)

#ConfigurationScenarios
1nc-demo.cf zone DNS โ†’ OpenResty origin (oldm / wrdm A records, proxied)All
2Custom Errors: upload managed-challenge.html / js-challenge.htmlโ‘ขโ‘ฃ
3WAF Custom Rules by path: Block / Managed / JS / Logโ‘กโ‘ขโ‘ฃโ‘ค
4Rate Limiting rule: /demo/ratelimit.htmlโ‘ฅ
5Cache Rule: /demo/cache/* Cache Everything 300sโ‘ง
6Waiting Room on wrdm.nc-demo.cf (Queue-all demo)โ‘ฆ

Start the demo: baseline first โ†’