SECOPS

Page On-Call When a Critical Cloudflare WAF Rule Is Disabled

Hourly, checks whether any rule on the protected-critical list in the GitHub baseline has been disabled or deleted in live Cloudflare.

CategorySecOps
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerHourly schedule starts the check
  • ActionRead critical-rule list from GitHub baselineGitHubGitHub
  • ActionFetch live state of critical Cloudflare rulesCloudflareCloudflare
  • LogicDetect any disabled or deleted critical rule
  • LogicBranch only when a critical rule lapsed
  • OutputPage on-call via PagerDutyPagerDutyPagerDuty

What it does

This is a focused tripwire for your most important defenses. The GitHub baseline tags certain WAF rules as critical, such as the block rule for a known exploit or a rate-limit on login. Every hour the workflow verifies those specific rules are still present and enabled in live Cloudflare, and if any is disabled or removed, it pages on-call immediately.

When to use it

Use it when a small set of WAF rules are load-bearing for security and their accidental disablement during a maintenance window would be a serious incident. Unlike a full drift report, this only fires on the failures that truly warrant a 3 a.m. page.

How it works

  1. 1An hourly schedule starts the check.
  2. 2The GitHub step reads the baseline and extracts the rules flagged as critical.
  3. 3Cloudflare returns the live state of those specific rules.
  4. 4A logic step identifies any critical rule that is now missing or disabled.
  5. 5A branch fires only when at least one critical rule has lapsed.
  6. 6PagerDuty receives an incident naming each compromised rule and its zone.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitHubRepos, issues, pull requests, actions.
  2. 2
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  3. 3
    Connect PagerDutyIncidents, on-call, escalations.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.