SECOPS

Cloudflare Off-Hours Config Change Detector

Polls the Cloudflare audit log on a schedule, flags configuration changes made outside business hours, and opens a Linear ticket for secops to review each suspicious change.

CategorySecOps
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerEvery 15 minutes, pull new Cloudflare audit-log entriesCloudflareCloudflare
  • LogicKeep only configuration-mutation actions
  • LogicDrop changes inside business hours
  • ActionOpen a Linear ticket for each off-hours changeLinearLinear
  • OutputReturn filed ticket IDs

What it does

Watches your Cloudflare account audit log for configuration changes (WAF rules, zone settings, page rules, access policies) that happen outside your defined business hours. Any off-hours change is treated as anomalous and gets a Linear ticket assigned to the secops review queue, complete with the actor, the action, and the timestamp.

When to use it

Use this when most legitimate Cloudflare changes happen during the workday and you want a fast, low-noise way to catch the ones that don't — whether that's an attacker with stolen credentials, a contractor working unusual hours, or an automated script nobody approved.

How it works

  1. 1A schedule fires every 15 minutes and pulls new audit-log entries from Cloudflare since the last run.
  2. 2A filter keeps only entries whose action type is a configuration mutation (create/update/delete on settings).
  3. 3A logic step checks each entry's timestamp against your business-hours window (e.g. Mon-Fri 8am-7pm in your timezone) and discards in-hours changes.
  4. 4For each remaining off-hours change, the workflow creates a Linear issue in the secops project with the actor email, resource, and a deep link back to the audit entry.
  5. 5The new ticket IDs are emitted as the run output so you can confirm what was filed.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  2. 2
    Connect LinearIssues, projects, cycles, triage.
  3. 3
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    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.