Regulations arrive as prose, and your controls need something concrete to attach to. The obligation library breaks each framework, including BCBS 239, SOX, CCAR, GDPR, and the EU AI Act, into discrete obligations. When an examiner asks how you meet a requirement, you point to the obligation, the control behind it, and the data behind that.
Pre-built obligation packs cover the frameworks banks actually face. Each framework is decomposed into obligations you can map controls to, not chapter summaries you can only cite.
Your own obligations sit alongside the pre-built ones. House policy, supervisory letters, and local rules are versioned and governed the same way.
Your existing compliance matrix imports as claims and is reconciled against the live control mappings, so inherited coverage is checked rather than assumed.
Every obligation shows its mapped controls, and an obligation with none reads as a gap on the board. Absence is failure, so nothing looks covered by default.
When a regulation is updated, the obligation is versioned and every control mapped to it is flagged for review, and the review itself is sealed on the ledger.
Coverage rolls up by framework and principle, so your second line can see which parts of BCBS 239 have controls behind them and which are still assertions.
Load
Start from the pre-built packs for your frameworks and import your existing compliance matrix. It lands as claims to be checked, never as settled truth.
Decompose
Each regulation is broken into discrete, versioned obligations that a control can actually attach to.
Map
Controls attach to obligations through the one decision door: each mapping is proposed, reviewed by someone else, and sealed.
Watch
Coverage is derived from the live mappings, so an unmapped obligation or a stale mapping surfaces on its own.