Skip to main content

Products

Compliance Officer Service Expert-led compliance, end to end Compliance Portal Share security documents securely Access Review Monitor user access across all your systems AI Agents Your compliance program, inside your AI agent Open-source platform Deploy Probo on your own infrastructure

Resources

Probo stories How teams get compliant with Probo Blog Ideas and guidance from the Probo team Guides & tools Practical compliance guides and free tools Love from Customers What customers say about working with Probo Changelog Latest product updates Download Get the Probo Agent

Company

About The people and vision powering Probo Careers Join the team building Probo Brand assets Official logos and visual resources Security Review our security and compliance posture
Overview Understand Probo and its core concepts Product Explore Probo's GRC capabilities Developers Explore GraphQL, CLI, MCP, n8n, and webhooks Deployment Probo Cloud, self-hosting, and configuration

Explore

GitHub Explore our open-source compliance tools
Back to Blog
September 7, 2026, by Arthur Mayoux

How to run a user access review across 60+ tools in minutes

Access reviews stall on decisions, not data. How Probo pulls 60+ tools into one campaign, and how the access-review skill applies your rubric and writes the justifications.

It is the end of the quarter and your auditor wants evidence that someone actually looked at who has access to what.

So you start exporting. Google Workspace users, GitHub org members, AWS IAM, Okta, Slack, the billing tool, the observability stack, the two AI tools someone expensed in March. Every one a different CSV with different column names.

Then the real work starts, and it is not the exporting.

Key takeaways

  • Collecting access data is the easy part. The bottleneck is deciding, account by account, whether the access is still justified, and writing down why.
  • Probo pulls access from 60+ providers into one campaign, freezes it as a point-in-time snapshot, and flags the accounts worth arguing about.
  • The access-review skill does the pass you would do by hand. It reads every entry, applies a published rubric, records the unambiguous decisions and writes the justification note for each one.
  • You still get the judgment calls. Anything the rubric cannot settle comes back to you with the flags, a suggested decision and the reason it is unclear.

The part nobody budgets for

Most teams treat an access review as a data collection problem. Export everything, drop it in a spreadsheet, done.

It is not. A spreadsheet of 400 accounts is not evidence. Evidence is 400 decisions, each with a reviewer attached and a reason recorded, frozen at a point in time so an auditor can check it six months later.

That is why access reviews slip. The export takes an afternoon. The decisions take three weeks.

What Probo does with the data

Access Review brings accounts from across your stack into one campaign.

Connect once. OAuth, API key, or client credentials, depending on the provider. 60+ integrations today, including Google Cloud, AWS, Azure, GitHub, Okta, authentik, Cloudflare, Tailscale, 1Password, Supabase, Brex, Mercury, HubSpot, OpenAI and Anthropic. Browse the full connector directory. If a system has no connector, import a CSV and review it beside the connected sources.

Freeze the picture. When a campaign starts, Probo takes a snapshot. Access that changes mid-review does not quietly rewrite your evidence.

See what actually matters. Every entry carries role, admin rights, MFA status, auth method, account type and last login. Probo flags the accounts that deserve attention: orphaned, dormant, over-privileged, shared, terminated users, contractors past their end date.

Diff against last quarter. Entries are tagged new, removed or unchanged, so you review what moved instead of re-reading the whole list.

Close with proof an auditor accepts. Approve, revoke, defer or escalate, in bulk or one at a time, with a note required on anything that is not a plain approval. Export the campaign as a PDF when you close it.

Access review campaign showing Cloudflare, GitHub, and Google Workspace entries with privileged access flags, MFA status, and approve, modify, or revoke decisions

What the agent actually does

The Probo Agent Plugin ships an access-review skill that runs over MCP. It is not a different way to click the same buttons. It does the pass you would otherwise do by hand, entry by entry.

For each pending account it reads the full signal set: the flags, whether the account is still active, whether it is an admin, MFA status, auth method, account type, last login, roles, and which tool the entry came from. Then it applies a published rubric and sorts every entry into one of three piles.

Auto. Terminated user, revoke. Contractor engagement ended, revoke. Active service account with no danger flags, approve. Active user, no flags, not an admin, approve. These get recorded in batches without asking you.

Ambiguous. Orphaned but still active. A shared account nobody owns. A segregation of duties conflict. An admin who has not logged in for 90 days. MFA disabled on privileged access. These come back to you with the flags, a suggested decision and the reason the rubric would not settle it. Nothing is written until you confirm.

Skip. Logged in the notes, no write.

It writes the justifications

This is where the time actually goes, and it is the part I would not have guessed.

Probo requires a note on every revoke, defer and escalate. The API rejects an empty one. That rule is correct, because an unexplained revocation is not evidence, it is just a deletion. But it also means a review with 100 revocations is 100 short pieces of writing, and that is the part people quietly skip or fill with “no longer needed” a hundred times.

The agent writes each one against the actual signals it read. “Terminated user, access no longer required.” “Orphaned account still active, needs an owner.” “Admin access dormant, confirm business need.”

Those notes are the difference between a review that survives sampling and one that does not.

It applies the same standard at entry 400 as at entry 1

A human reviewing four hundred accounts on a Friday afternoon is not the same reviewer they were on Monday morning. Standards drift. The last hundred get rubber-stamped.

That drift is invisible in your export and obvious to an auditor who samples it. A rubric applied by a machine does not get tired at row 300.

It survives being interrupted

Real access reviews are never one sitting. You get halfway through, hit an escalation that needs the head of engineering, and the thing sits for three days.

The skill keeps working memory in .probo/access-reviews/<campaign>.md: a pagination cursor, a session log, a table of every decision with its rationale and whether it was automatic or confirmed by you, and a separate table of what is still waiting on your answer. Come back Thursday and it resumes exactly where it stopped, without re-reviewing what is already decided.

Terminal running the Probo access-review skill, with a batch summary and an escalation presented for confirmation

The guardrails matter more than the automation

The skill is deliberately narrow. It reviews entries. It does not create, start, cancel or close campaigns, because deciding that a review is finished is not a job for an agent.

It cannot record a revoke, defer or escalate without a note. It will not invent an entry ID or a decision, and it is explicitly barred from guessing which tool an account came from based on the email or the role, because that is exactly the kind of plausible-looking error that poisons an audit trail. If a call fails mid-batch it stops without advancing the cursor, so you never end up with a half-written review and no way to tell which half.

Those constraints are the reason it is safe to point at your evidence.

What “in minutes” honestly means

If 300 of your 400 entries are active employees with no flags and no admin rights, they are read, decided, justified and written in a couple of batches. That part is genuinely minutes rather than weeks.

What does not compress is the twenty entries that need a human. The deploy account nobody will claim. The admin who has not logged in since February. The contractor whose engagement technically ended but who is still finishing one thing.

That is the correct outcome. An access review where a machine approves everything is not a review, it is a rubber stamp with extra steps. The win is that your attention goes to the twenty instead of the four hundred, and that the four hundred still arrive at your auditor with a written reason each.

The agent clears the queue. It does not own the decision.

Frequently Asked Questions

Do I need the agent to use Probo access reviews? No. The web app runs the entire campaign, from connecting sources to exporting the PDF. The skill earns its place once the volume is high enough that reading every entry and writing every justification by hand is the bottleneck, which for most teams is somewhere past a hundred accounts.

Can it approve everything and close the campaign for me? No, by design. It will not close or cancel a campaign, and anything the rubric finds ambiguous waits for you. If you want a tool that rubber-stamps a review, this is the wrong one.

What if one of our systems has no connector? Export a CSV and import it. It sits alongside the connected sources in the same campaign and gets reviewed the same way.

How often should we run one? Quarterly is the common baseline for SOC 2 and ISO 27001. Run an extra campaign after anything material: a reorg, a layoff, an acquisition, or a contractor engagement ending.

Does this replace offboarding? No. An access review is a periodic backstop that catches what offboarding missed. If it consistently finds terminated users still holding access, the problem is upstream in your offboarding process, not in your review.

Access reviews are one of those controls that look trivial on a checklist and quietly eat a week every quarter. Most of that week is not investigation. It is reading four hundred rows and writing a hundred short justifications, and that is work a machine can do consistently and you cannot.

If you would rather not run it at all, that is what done-for-you compliance is for.


Written by Arthur Mayoux
Arthur Mayoux is the Chief of Staff at Probo. Working across multiple departments, his primary objective is to help the company scale.
Portrait Arthur Mayoux
Sign up for our newsletter to get actionable insights about compliance, right to your inbox.
Logo probo

Managed frameworks

Not seeing the one you are looking for?
Reach out, we likely do it as well.

CASA compliance badge
CASA
FERPA compliance badge
FERPA
SOC 2 Type 1 compliance badge
SOC 2 Type 1
HIPAA compliance badge
HIPAA
SOC 2 Type 2 compliance badge
SOC 2 Type 2
ISO 27701 compliance badge
ISO 27701
GDPR compliance badge
GDPR
SOC 3 compliance badge
SOC 3
SOC 2 Type 2 compliance badge
SOC 2
ISO 42001 compliance badge
ISO 42001
Get compliant