SECOPS
Cloudflare WAF Rule-Change Diff with Slack Approval and Auto-Rollback
Snapshots Cloudflare WAF ruleset state on every change, posts a human-readable diff to Slack.
How it runs
The automated pipeline, trigger to output.
- TriggerScheduled poll detects new WAF ruleset versionCloudflare
- ActionFetch new ruleset and approved baseline from PostgresPostgres
- LogicCompute field-level rule diff
- ActionPost diff to Slack with Approve/Reject buttonsSlack
- LogicBranch on approval, rejection, or timeout
- ActionRestore prior ruleset version on reject/timeoutCloudflare
- OutputWrite outcome and diff to audit logPostgres
What it does
Guards your Cloudflare WAF against unreviewed or accidental rule changes. Whenever a ruleset version changes, it computes a plain-English diff against the last approved snapshot, posts it to a Slack approval channel, and reverts to the previous ruleset version if nobody approves in time.
When to use it
Use it when WAF rules are edited by multiple people, IaC pipelines, or vendors, and an unreviewed change could open an attack surface or block legitimate traffic. It enforces a four-eyes gate without slowing down approved changes.
How it works
- 1A scheduled poll detects that the Cloudflare WAF custom ruleset version has incremented.
- 2The flow fetches the new ruleset and the previously stored approved version from Postgres.
- 3It builds a field-level diff (added, removed, and modified rules with expression and action changes).
- 4The diff is posted to Slack with Approve and Reject buttons and an expiry timer.
- 5A branch checks the response: on Approve, the new version is recorded as the approved baseline; on Reject or timeout, the prior ruleset version is restored via the Cloudflare API.
- 6The outcome and full diff are written to Postgres as an immutable audit record.
Set it up
What you configure once, before turning it on.
- 1Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
- 2Connect SlackChannels, DMs, threads, mentions.
- 3Connect PostgresAny Postgres URL — query, write, migrate.
- 4Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 5Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 6Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More SecOps workflows
Post-Revocation Verification and Audit Logging
After a key is revoked, it confirms the old credential actually fails, verifies the replacement works.
Page on-call when a WAF rule mass-blocks legitimate traffic
On demand or every few minutes, it detects a single Cloudflare WAF rule suddenly blocking a broad spread of ASNs and paths (a likely false-positive storm).
PII Content Scan on New Dropbox External Share
When a file gets an external Dropbox link, it reads the file content, uses an AI classifier to detect PII or secrets.
Compile a weekly WAF tuning review with trends to Confluence
Every week an agent rolls up Cloudflare WAF block clusters by rule and ASN, compares them to prior weeks for trend direction.
Sensitive Dropbox Link Owner Remediation Loop
When a newly created Dropbox shared link points to a sensitive file, this workflow DMs the file owner, gives them a deadline to justify or revoke it.
GitLab Push Secret Detection to Block and History Purge
On a GitLab push that contains a detected secret, it revokes the exposed credential, opens a tracking issue with git-history purge instructions.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
