SECOPS

Cloudflare Audit Anomaly Detector with Axiom Baseline

Hourly, ships Cloudflare audit logs to Axiom, queries the 30-day baseline of normal activity per actor.

CategorySecOps
Enginesim
Difficultyadvanced
Triggerschedule
Steps6
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerHourly, pull last hour of Cloudflare audit entriesCloudflareCloudflare
  • ActionIngest entries into Axiom datasetAxiom
  • ActionQuery 30-day per-actor baseline in AxiomAxiom
  • LogicFlag actors deviating from baseline
  • ActionOpen Linear ticket per flagged actorLinearLinear
  • OutputReturn flagged-actor summary

What it does

Goes beyond simple time-of-day rules: it builds a behavioral baseline. Each hour it forwards Cloudflare audit entries into Axiom, then runs an APL query to compare the current hour's activity per actor against their trailing 30-day pattern. An actor who suddenly makes 10x their usual changes, or touches a resource type they've never edited before, is flagged as anomalous and routed to secops.

When to use it

Use this when fixed business-hours rules generate too much noise or miss subtle abuse, and you want statistical anomaly detection grounded in each operator's actual history.

How it works

  1. 1An hourly schedule pulls the last hour of Cloudflare audit entries.
  2. 2An action ingests those entries into an Axiom dataset for durable, queryable storage.
  3. 3An action runs an APL query computing each actor's hourly change count and resource-type set versus their 30-day baseline.
  4. 4A logic step flags actors whose volume exceeds the baseline threshold or who touched a never-before-seen resource type.
  5. 5For each flagged actor the workflow opens a Linear ticket summarizing the deviation and linking the Axiom query.
  6. 6The flagged-actor summary is returned as output.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  2. 2
    Connect AxiomLog streams, queries, dashboards.
  3. 3
    Connect LinearIssues, projects, cycles, triage.
  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.