SECOPS

Cloudflare WAF snapshot ingest into Axiom for drift forensics

On a schedule, captures a full Cloudflare WAF ruleset snapshot, computes the field-level diff from the previous snapshot.

CategorySecOps
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule: hourly snapshot
  • ActionRetrieve WAF rulesets and overridesCloudflareCloudflare
  • ActionCompute field-level diff vs prior snapshotShell
  • LogicSplit changes into per-rule events
  • OutputIngest events and raw snapshot to AxiomAxiom

What it does

This workflow builds a queryable forensic timeline of every WAF rule change. Each run snapshots the current rulesets, diffs them against the last snapshot, and emits structured events into Axiom: one event per added, removed, or modified rule, plus the raw snapshot for point-in-time reconstruction.

When to use it

Use it when you need to answer auditor questions like "what did our WAF look like on March 3rd" or "who changed this rule and when" months later. It complements alerting by giving you long-term, searchable retention instead of ephemeral notifications.

How it works

  1. 1A scheduled trigger fires (e.g. hourly).
  2. 2A Cloudflare action retrieves all WAF custom and managed-rule overrides for the zone.
  3. 3A shell step computes a field-level diff versus the previous stored snapshot.
  4. 4A logic step splits each rule change into its own structured event.
  5. 5An Axiom output ingests both the per-rule diff events and the full raw snapshot into the drift dataset.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  2. 2
    Connect ShellRun sandboxed commands inside the workspace.
  3. 3
    Connect AxiomLog streams, queries, dashboards.
  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.