Separation of Duties
Some access shouldn't be combined.
Toxic Sets turn your separation-of-duties policy into code. Versioned in Git. Tested in CI. Enforced everywhere Opal runs — across every system, every identity, human and non-human.
The Shift
Toxic Sets treat separation of duties the way your engineers treat everything else that matters: as code.
Define forbidden combinations in OpalScript — Opal's Python-derived policy language. Combinations can span systems, reach beyond pairs to any N-way set, and layer in conditions like environment, data sensitivity, or time of day. Commit them to Git. Review in PRs. Test in CI. Enforce at request time.
Same workflow as the rest of your security stack. Finally.
Toxic Sets: Combos That Do Not Mix
OpenAI Codex Access
Customer Data Store Admin Access
How Opal Solves It
SEE
Opal's access graph surfaces every entitlement every identity holds, across your whole stack. Nothing hides in a group-of-a-group two systems over.
ENFORCE
Write toxic combinations in OpalScript. Reference any entitlement, any attribute, any system the graph knows about. Import shared logic. Unit-test the policy before it ships.
ENCODE
Opal blocks conflicting requests at approval time, flags violations already present in your environment, and watches for drift continuously — so a conflict introduced next Tuesday doesn't wait for your next audit.
WHAT YOU GET
The Complete Picture
SoD enforcement that lives in your stack, spans your systems, and gives auditors what they actually need — without the spreadsheet.
Policy-as-code, not policy-as-screenshot
Toxic Sets live in your repo, travel with your infra, and diff like any other change.
Beyond pairs
Encode 3-way, 4-way, and conditional conflicts — the ones real audits actually find
Cross-system by default
One Toxic Set can span GitHub, AWS, Snowflake, and your ERP in a single rule.
Detection on existing access, not just requests
Find the conflicts sitting in your environment today.
Continuous enforcement
New grants, role changes, and inherited access get evaluated in real time.
Audit evidence on tap
Every evaluation, every violation, every approval — logged, queryable, exportable.
WHO IT'S FOR
Built For The Teams That Own This Problem
CISOs
Turning audit findings into durable controls instead of slide decks.
IAM leads
Retiring the SoD spreadsheet and the quarterly clean-up project that comes with it.
Security engineers
Who want to ship SoD policy the same way they ship anything else: in a PR.
GRC and compliance teams
Who need continuous evidence, not point-in-time screenshots.









