IT OPS

Cloudflare WAF Daily Drift Audit Report

Each morning compares the live Cloudflare WAF rulesets against the version-controlled config in Git and reports any out-of-band drift to Slack and a Notion audit log.

CategoryIT Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerDaily morning schedule
  • ActionPull canonical rulesets from GitGitHubGitHub
  • ActionFetch live rulesets from CloudflareCloudflareCloudflare
  • LogicDiff live vs committed and isolate drift
  • ActionPost drift summary to SlackSlack
  • OutputAppend run to Notion audit logNotionNotion

What it does

This workflow catches WAF rules that were changed directly in the Cloudflare dashboard instead of through your reviewed Git pipeline. It diffs live rulesets against the committed source of truth and flags every unauthorized change.

When to use it

Use it when WAF config is supposed to be managed as code but operators sometimes hotfix in the dashboard. The daily report keeps drift visible and your audit log complete.

How it works

  1. 1A daily schedule triggers the audit each morning.
  2. 2The workflow pulls the canonical ruleset definitions from the Git repository.
  3. 3It fetches the currently live rulesets for each zone from Cloudflare.
  4. 4A logic step diffs live versus committed and isolates any drifted or undocumented rules.
  5. 5If drift is found, a formatted summary is posted to the security Slack channel.
  6. 6Every run, including clean ones, is appended as a dated entry to a Notion audit log.

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 SlackChannels, DMs, threads, mentions.
  4. 4
    Connect NotionPages, databases, comments.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    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.