SECOPS

Quarterly OAuth Grant Attestation Campaign

An agent-driven workflow that, each quarter, compiles every active OAuth grant, asks each granting user to re-attest or request removal, and revokes grants nobody confirms.

CategorySecOps
Enginepaperclip
Difficultyadvanced
Triggerschedule
Steps6
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerQuarterly schedule
  • ActionInventory active grants, group by userPostgreSQLPostgres
  • ActionSend per-user attestation requestSlack
  • LogicClassify: attested / remove / unanswered
  • ActionWrite revoke worklistPostgreSQLPostgres
  • OutputPost attestation-coverage report to leadSlack

What it does

Runs a full access-recertification campaign for third-party OAuth grants. It inventories every active grant, groups them by the user who authorized them, and reaches out to each person asking them to confirm they still use the app or request its removal. Non-responses and removal requests are compiled into a revoke list, and a final summary report is delivered to the security lead with attestation coverage.

When to use it

Use this for periodic access reviews demanded by SOC 2, ISO 27001, or internal policy, where you must show evidence that OAuth grants were re-validated by their owners.

How it works

  1. 1A scheduled trigger kicks off the campaign each quarter.
  2. 2The agent pulls the active grant inventory from Postgres and groups grants per user.
  3. 3For each user, it sends a personalized attestation request over Slack with confirm/remove options.
  4. 4A logic step waits for responses and classifies each grant as attested, flagged for removal, or unanswered.
  5. 5Unconfirmed and remove-requested grants are written to a revoke worklist in Postgres.
  6. 6The agent posts a final attestation-coverage report to the security lead in Slack.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect PostgresAny Postgres URL — query, write, migrate.
  2. 2
    Connect SlackChannels, DMs, threads, mentions.
  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.