SECOPS
Daily OAuth Grant Drift Audit
Runs on a schedule to diff today's full set of active OAuth app grants against yesterday's snapshot, then files a Linear issue for every newly appeared or newly elevated grant.
How it runs
The automated pipeline, trigger to output.
- TriggerDaily schedule
- ActionRead current and prior grant snapshotsPostgres
- LogicDiff: new vs. elevated vs. revoked grants
- ActionDraft justification request per flagged grantOpenAI
- OutputFile Linear issue per new/elevated grantLinear
- ActionPersist today's snapshot as baselinePostgres
What it does
Each morning it pulls the complete inventory of active third-party OAuth grants, compares it to the prior day's stored snapshot, and produces a clean diff: apps that are brand new, apps whose scopes were elevated, and apps that were revoked. Anything new or elevated becomes a tracked Linear issue with the scope detail attached, so review work has an owner and an audit trail.
When to use it
Use this when you want a daily, low-noise paper trail of OAuth changes rather than a per-event firehose, and you triage security follow-ups in Linear.
How it works
- 1A scheduled trigger fires once per day.
- 2The flow reads the current grant inventory and the previous snapshot from Postgres.
- 3A logic step computes the diff and classifies each change as new, elevated, or revoked.
- 4An LLM step writes a concise per-app justification request for each new or elevated grant.
- 5A Linear issue is created per flagged grant, tagged to the secops triage project.
- 6The current inventory is written back to Postgres as the next baseline.
Set it up
What you configure once, before turning it on.
- 1Connect PostgresAny Postgres URL — query, write, migrate.
- 2Connect OpenAIModels, embeddings, files.
- 3Connect LinearIssues, projects, cycles, triage.
- 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.
