ISO 22301 §6.1 · ISO 31000

Risk register with polymorphic targets

Risks attach to what they actually affect — process, vendor, application, location, or the organisation. Inherent + residual scoring. Reusable scenario library shared with the exercise programme. Critical-asset linkage. KRI tracking.

Target types
5
Treatment types
4
Scoring
I+R
Scenarios
Library
Key features

Risk that maps to what it actually affects

Polymorphic risk targets

A SAN-failure risk targets a location · a vendor-outage risk targets a vendor · a regulatory-breach risk targets a process. Each renders contextually with the right cross-links.

  • 5 target types
  • CHECK-enforced FK integrity
  • Contextual UI

Inherent + residual scoring

Each risk carries inherent and residual likelihood × impact (1-5). The treatments register tracks what moved the residual. The heatmap shows both side-by-side — auditors see the gap between gross and net.

  • Heatmap visual
  • Auditor-friendly diff
  • Treatment effectiveness

Reusable scenario library

Scenarios = risk archetypes. 'Ransomware on Core Banking' · 'SAN failure DC1' · 'Critical-vendor SWIFT outage'. Risks reference scenarios. Exercise programmes use scenarios. One source of truth across modules.

  • Cross-module reuse
  • Coverage tags
  • ISO 22398 alignment

Critical assets register

Information assets, infrastructure, key staff. Each linked to risks via critical_asset_risk_links. The asset-centric view answers 'what risks does my Core Banking system carry?'

  • Asset-centric pivot
  • Risk linkage
  • Inventory + value

Treatments with RACI

Each treatment has type (accept · transfer · mitigate · avoid), owner, due date, status, verification. Linked to the risk it addresses; the verified_at timestamp is the audit-evidence anchor.

  • 4 treatment types
  • Verification capture
  • RACI per treatment

KRI tracking

Top-N risks by residual · risks by category · treatments overdue · scenario coverage across the exercise programme. Rolls up to the cross-module reporting dashboard.

  • Top-N dashboard
  • Trend over time
  • Reporting rollup
Data model

Risk + treatments — every column

Risk recordpublic.risks
ColumnTypeClauseNote
codevarchar(50)Human-readable code (e.g., RISK-CYBER-001)
namevarchar(255)Risk title
categoryvarchar(50)operational · technological · regulatory · reputational · strategic · environmental
target_typeenumprocess · vendor · application · location · organisation — polymorphic
target_iduuidFK to the table indicated by target_type (CHECK-enforced)
inherent_likelihoodint1-5 before treatment
inherent_impactint1-5 before treatment
residual_likelihoodint1-5 after treatment
residual_impactint1-5 after treatment
scenario_iduuidFK scenarios — links to reusable archetype
owner_iduuidFK users — accountable risk owner
Treatment recordpublic.risk_treatments
ColumnTypeClauseNote
treatment_typevarchar(50)accept · transfer · mitigate · avoid
descriptiontextWhat the treatment does
statusvarchar(50)planned · in_progress · implemented · verified
owner_iduuidTreatment owner (often differs from risk owner)
due_datedateTarget completion
verified_attimestamptzWhen effectiveness was confirmed
Clause coverage

ISO 22301 + ISO 31000 alignment

ClauseWhat it asks forBCMStack surface
§6.1Risks and opportunities — formal registerrisks table with polymorphic targets
§6.1.2Risk treatment optionsrisk_treatments — 4 treatment types
ISO 31000Risk-management process alignmentInherent + residual scoring; full risk lifecycle
§8.2Risk feeds into BIAscenario_bia_process_links — risks attached to BIA processes
§8.3Strategies derived from risk treatmentsTreatments inform BCP plan strategy types
FAQ

Frequently asked questions

What are polymorphic risk targets?

+

Most risk registers force you to pick one 'attached to' field — usually a process. BCMStack's risks table has a polymorphic target_type + target_id that can point to a process, vendor, application, location, or the organisation as a whole. A SAN-failure risk targets a location; a third-party-outage risk targets a vendor; a regulatory-breach risk targets a process. Each renders contextually.

How are inherent and residual scores tracked?

+

Each risk has inherent_likelihood, inherent_impact, residual_likelihood, residual_impact (each 1-5) plus the calculated inherent_score and residual_score. The treatments table tracks what's been done to move from inherent to residual. The heatmap renders both — auditors can see the gap between gross and net.

How does the scenario library work?

+

Scenarios are reusable risk archetypes — 'Ransomware on Core Banking', 'SAN failure DC1', 'Critical-vendor SWIFT outage'. Each scenario carries typical_likelihood, typical_impact, scenario_type, coverage_tags. Risks reference scenarios. Exercise programmes also use scenarios. One source of truth across modules.

What KRIs / KPIs does the module track?

+

Top-N risks by residual score · risks by category · treatments overdue · risks past target review date · scenario coverage across the exercise programme. The reporting dashboard rolls these up across the organisation; the risk module's own dashboard shows them per-tenant.

See the Risk module in 20 minutes

We'll walk you through risk register, polymorphic targets, scenario library, and the cross-module rollup against a representative SAMA dataset.

Book a 20-minute demo

See the full BCM lifecycle — explore BIA, BCP, Exercises, Crisis, Risk and Reporting.