Risk Register Configurator

Build the configuration a Risk Assessor session runs on: the risk register (families × periods), scoping questions, vendor and internal surveys, controls, the 5×5 matrix and scoring rules.
or start from a preconfigured risk map
Each pack is a complete, validated register meant to be tailored: adjust scores, appetites, questions and controls to your context, then Save Config for the assessor.
Risk Register Configurator

Risk Register Configurator
Default configuration
Autosave — security setting. When ON, your configuration work is autosaved to this browser's local storage so it can be restored after a crash or closed tab. Turn it OFF if this device or browser must not retain configuration data — any existing autosave is removed immediately and nothing is written until you click Save Config yourself. ⚠ With autosave off, unsaved work is lost if the tab closes or crashes.
Clear storage — removes everything the Risk apps keep in this browser between sessions: autosaved configurator and assessor sessions, guided-help preferences, AI connection settings and the session API key. Files you saved to disk are not affected.
Akos Szonyi
Configuration label
Description / Narrative
Status
Default
Risk Register

Click any tile to view and edit its details. Amber outline = modified from default.

LOW MEDIUM HIGH EXTREME ⸻ Modified from default
Scoping Questions

Select a question on the left to see which risks it drives. Click any tile on the map to connect or disconnect it.

Select a question on the left to start mapping risks.

Vendor Survey Questions

Select a question on the left to see which risks it is tied to. Click any tile on the map to connect or disconnect it.

Select a question on the left to start mapping risks.

Internal Survey Questions

Select a question on the left to see which risks it is tied to. Click any tile on the map to connect or disconnect it.

Select a question on the left to start mapping risks.

Controls

Click a control to expand and edit. The risk map highlights connected risks. Click any risk tile to filter controls related to it.

Select a control on the left to highlight connected risks, or click a risk tile to filter controls.

Showing controls for: —
5 × 5 Risk Rating Matrix

Click a cell to cycle its band (LOW → MEDIUM → HIGH → EXTREME). Edit point scores inline. Hover for management guidance. Bands sourced from Excel Config sheet.

Score → Band Thresholds (edit to reclassify cells)

Likelihood Bands

Impact Bands

🔍 Third Party Risk Assessment (TPRA) Impact
Based on the vendor's and product's security posture, the system derives a score (1–10) that modifies the base risk score. Select the assessment method your organisation uses; a sample calculator shows the computed value using the method's normalisation formula.
A vendor security rating is evidence about how likely a vendor-linked risk is to materialise. Select "Likelihood score" to scale the likelihood axis instead of impact (saved in the scoring.tpraAffects config key).
⚙ Scoring Options
Saved into the config (scoring block) and applied by the Risk Assessor. Defaults match legacy behaviour.
Detection rarely stops an event occurring — it limits how far it spreads. Select "Impact" to have the assessor count Detective controls toward residual impact reduction instead of likelihood (saved in scoring.detectiveAffects).
Anti-gaming: with "Partial", a control answered Yes in the assessor only earns full credit when an evidence reference is attached (saved in scoring.unevidencedYes).
Risk Score Calculator
Hover a cell to inspect

Move your cursor over any cell to see what that likelihood × impact combination means and the management response required.

🤖 AI Prompt

Write or paste the prompt you want your assessor application to send to an AI system when processing the risk assessment output. This prompt will instruct the AI on how to interpret, summarise, or act on the assessment data.

❓ Welcome to the Risk Register Configurator

This tool lets you build a custom risk configuration file for your organisation. The configuration is saved as a JSON file and used by the Risk Assessor application to evaluate security risks for any system or project.

You do not need to be a security expert to use this tool. Everything has sensible defaults. You only need to change what is relevant to your organisation.

First time here? Go to Quick Start for a step-by-step walkthrough. The whole process takes about 15–30 minutes for a first configuration.
What's inside

The configurator ships with a library of 77 pre-built risks organised across:

11 Risk Families7 Lifecycle Periods
CNP — Confidentiality & Privacy
INT — Integrity
AVR — Availability & Resilience
IAM — Identity & Access Management
OPC — Operational Control
LGC — Legal, Governance & Compliance
TPS — Third-Party & Supply Chain
PSE — People & Social Engineering
AIQ — AI Quality
AIA — AI Assurance
IOT — IoT & Operational Technology
P1 — Foundational
P2 — Design
P3 — Build
P4 — Integration
P5 — Testing
P6 — Go-Live
P7 — Operate

⚡ How It Works

The configurator and the risk assessor work together. Think of this tool as the setup phase — you define the rules once, then the assessor applies them every time a system is evaluated.

1. ConfigureCustomise risks, questions & matrix
2. SaveDownload JSON config file
3. Load in AssessorAssessor reads config
4. AssessAnswer questions per system
5. ReportScored risk register + AI analysis
What the JSON file contains

When you save a configuration, the JSON file contains two things:

  • Raw overrides — only the values you changed (small, clean, reloadable into this configurator)
  • Resolved data block — the complete, fully merged dataset ready for the risk assessor to use directly
Risk assessor developers: Read everything from resolved.*. Do not re-apply defaults — the configurator has already merged them for you.

🚀 Quick Start — 8 Steps to a Complete Configuration

Work through the steps in order. You can save at any point and continue later — the ↓ Save Config button is always in the top bar.

1
Name your configuration Top bar

In the top bar, enter a Configuration label (e.g. "ACME Corp — ERP Platform v1") and an optional description. Give it a meaningful name — this becomes part of the saved filename and appears in the risk assessor.

2
Build the Risk Register Risk Register

Review the pre-built risk library. Click any tile to open and edit that risk — adjust the name, description, base score, strategy adjustment, or risk appetite. Use the ⛔ Deactivate button in the editor footer to exclude a risk entirely from all assessments, surveys, and controls. Deactivated tiles turn grey across every tab instantly. You can also rename families and periods by double-clicking any column or row header. The register supports up to 11 families and 7 periods.

3
Configure Scoping Questions Scoping Questions

Review the yes/no questions that determine which risks apply to a given system. Toggle off questions that will never be relevant, and check that each question's risk suppression list is correct. Add new questions if your environment needs them.

4
Configure Vendor Survey Questions Vendor Survey

Review the vendor security questions. Adjust answer weights (Yes / Partial / No / N/A) to reflect how your organisation weighs each control area. Deactivate questions that do not apply and add organisation-specific questions where needed.

5
Configure Internal Survey Questions Internal Survey

Same process as the Vendor Survey but focused on your organisation's internal security posture. Set weights that reflect your internal control priorities and deactivate questions that are not applicable to your systems.

6
Configure Control Questions Controls

Review the governance and technical controls mapped to each risk. Set answer weights, deactivate irrelevant controls, and verify that each control is linked to the correct risks. Control scores feed into the overall risk picture in the assessor.

7
Update the Risk Matrix & TPRM Risk Matrix

Adjust the 5×5 impact/likelihood matrix, score band thresholds, and likelihood/impact descriptors to match your organisation's risk framework. If you use a third-party risk rating tool (BitSight, Panorays, UpGuard, or manual), enter the score in the TPRM panel and verify the multiplier. Use the built-in calculator to test risk scenarios before saving.

8
Add your AI Prompt AI Prompt

If your risk assessor will generate AI-assisted reports using ChatGPT Enterprise, Claude Enterprise, Microsoft Copilot, or Gemini Enterprise, customise the system prompt here. The default template instructs the model to act as a structured cyber risk analyst. Tailor the tone, output format, and focus areas for your audience.

Then save: Click ↓ Save Config to download the JSON file. Load it back any time to continue editing — the status chip shows Modified when you have unsaved changes.

💾 Save & Load
Saving

Click ↓ Save Config in the top bar at any time. The browser downloads a JSON file named risk-register-<label>-<date>.json. This file can be loaded back into the configurator or passed directly to the risk assessor.

Loading a previous config

Click ↑ Open Config and pick a JSON file you previously saved. All your customisations are restored across every tab — even tabs you haven't visited yet will be updated in the background.

Resetting to factory defaults

Click ↺ Reset to clear all changes and return to the shipped defaults. You'll be asked to confirm first.

Important: The configurator does not auto-save. If you close the browser tab with unsaved changes, they will be lost. Always click Save Config before closing. The status chip at the top shows Modified when there are unsaved changes.

📋 Risk Register

The Risk Register shows all 77 risks as a colour-coded grid. Columns are risk families; rows are lifecycle periods. Each cell is one risk.

LOW MEDIUM HIGH EXTREME — colour = current risk rating

Tiles with an amber outline have been modified from the default values.

Editing a risk — click any tile
NameShort label shown on the tile and in reports.
MeaningPlain-English explanation of what this risk actually means. Keep it clear for assessors who may not be security specialists.
MitigationWhat should be done to reduce this risk. Focus on actionable steps.
Base Score (1–10)How serious is this risk type universally? 1 = minor inconvenience, 10 = catastrophic. This is the starting point before any context adjustment.
Strategy Adjustment (0–100%)How much does your organisation's specific context increase this risk? 0% = no amplification, 100% = doubles the score. Use higher values for risks your environment is particularly exposed to.
Risk Appetite (1–9)How much risk is the organisation willing to accept for this item? The assessor flags risks where the assessed score exceeds this threshold.
How Full Score is calculated: Full Score = Base Score × (1 + Strategy%) — e.g. Base 7.0 with 25% adjustment = 8.75. The tile colour comes from mapping this score against the band thresholds on the Risk Matrix tab.
Deactivating a risk

Some risks in the library may not be relevant to your organisation at all (e.g. IoT risks if you only assess business applications). Rather than leaving them in the register with a low score, you can deactivate them entirely.

  1. Click any tile to open the editor.
  2. Click ⛔ Deactivate in the footer (bottom-left of the editor).
  3. The tile immediately turns grey with a strikethrough name and an ⛔ Inactive label.
  4. The risk is excluded from all assessments, surveys, and control mappings across every tab instantly.
To re-activate: Click the grey tile — the editor opens with a red banner and an ✓ Activate button. Click it to restore the risk to its band colour and make it available again in all tabs.
Note: Deactivating a risk does not remove existing connections to questions or controls. Those links are preserved in case you re-activate later. The risk assessor checks the active flag in the JSON and skips inactive risks regardless of any existing links.
Renaming families or periods

Double-click any column header (family) or row header (period) to rename it. Useful if your organisation uses different terminology.


🔍 Scoping Questions

Scoping questions let the assessor narrow down which risks apply to a specific system. Each question has a list of risks it can switch off when the assessor answers No (meaning that feature or context doesn't apply).

Example: "Does the system include any AI functionality?" — If No, all AI-related risks (AIQ, AIA families) are suppressed for that assessment.

What to do here
  1. Read through the question list.
  2. Toggle Inactive any questions that will never apply to the type of system being assessed (e.g. IoT questions if you only assess business applications).
  3. Leave the rest Active — the assessor will answer them per system.
Scope map

The right-hand panel shows which risks are affected by each question. Greyed-out risks are currently suppressed by an inactive question.

Tip: If a question is toggled Inactive, it's hidden from the assessor entirely. If it's Active, the assessor sees it and answers it — a No answer suppresses the listed risks for that specific assessment only.

📦 Vendor Survey

The Vendor Survey is a set of questions about the supplier's security practices. The assessor fills in answers (Yes / No / Partial / N/A), and each answer contributes a weighted score to the linked risks.

What you can change
Question textEdit the wording to match your organisation's terminology or procurement requirements.
Weight (1–10)How important is this question overall? Higher weight = larger contribution to the risk score.
Yes / No / Partial / N/A scoresScore awarded for each answer. Typically: Yes = full weight, Partial = half, No = 0, N/A = excluded from scoring.
Active toggleInactive questions are hidden from the assessor and excluded from scoring.
Tip: You don't need to adjust every question. Focus on questions that are particularly critical or irrelevant in your context, then leave the rest at their defaults.

🏢 Internal Survey

The Internal Survey assesses your own organisation's security maturity — controls in place, processes followed, and capabilities available. It works exactly the same as the Vendor Survey but focuses inward rather than at a third party.

All editing is the same: question text, weights, per-answer scores, and active/inactive toggle.

For the risk assessor: The vendor and internal survey scores are kept separate in the JSON output. The assessor can use them independently or combine them as adjustment factors — vendor score typically adjusts likelihood, internal score typically adjusts the effectiveness of controls.

🛡 Controls

Controls are security measures linked to specific risks. When an assessor rates a control as implemented (Yes / Partial), it reduces the effective risk score for its linked risks. When a control is absent (No), it may increase the risk score.

What you can change
Name & ExplanationUpdate wording to match your control framework (e.g. NIST, ISO 27001, Essential Eight).
TypeDesign | Technical | Process | Governance — used for filtering and reporting.
EffectPreventive | Detective | Corrective | Governance — describes how the control acts.
Weight & answer scoresSame model as survey questions.
Active toggleDeactivate controls that don't apply to your environment.
Risk linkage

Click any control to see which risks it is linked to. Click a risk in the map panel to highlight the controls that cover it. This helps you identify gaps — risks with no active controls need extra attention.


Risk Matrix

The Risk Matrix tab controls how a likelihood score and an impact score are combined into a risk rating. It has four sections.

1 — Third-Party Risk Assessment (TPRA)

If you have an independent security rating for your vendor, enter it here. The rating is converted to a multiplier between ×0.80 and ×1.20 that scales the final risk score up or down:

Multiplier rangeMeaningEffect
×0.80 – ×0.93Strong vendor postureReduces risk scores
×0.94 – ×1.07Average / neutralNo significant change
×1.08 – ×1.20Weak vendor postureIncreases risk scores

Supported rating sources: BitSight (scale 250–900), Panorays (0–100), UpGuard (0–950), Manual (1–10 score you assign yourself). Select No use to disable TPRA (multiplier = ×1.00).

2 — 5×5 Risk Matrix

The grid maps a likelihood band (column) against an impact band (row) to produce a risk score (1–100). Click any cell to edit its score directly. The risk score calculator below updates live as you make changes.

3 — Score Bands

Defines the cut-off points for LOW / MEDIUM / HIGH / EXTREME ratings. Edit the From value of any band; the To value is calculated automatically. Tighten the bands to be more sensitive (more risks rate HIGH), or widen them to be more forgiving.

4 — Likelihood & Impact Bands

The five bands for likelihood (Rare → Almost Certain) and impact (Insignificant → Catastrophic). Edit the From value to adjust where each band starts. Band names can also be changed to match your organisation's risk language.

Risk Score Calculator

Enter any likelihood and impact value (1–100) to instantly see which bands they map to and what risk rating results. Use this to validate your matrix configuration.


🤖 AI Prompt

The risk assessor can send completed assessment data to an AI model for analysis, summary, or recommendations. The text you write here becomes the system prompt — the set of instructions given to the AI before it sees the assessment data.

A good AI prompt tells the model: who it is, what format to respond in, what tone to use, and what to look for in the data.

  • Use Reset to Default to restore the shipped prompt at any time.
  • Use Copy to Clipboard to copy the current prompt for use elsewhere.
  • The prompt is saved as part of the JSON config and loaded back automatically.
For the risk assessor: Read the aiPrompt field from the JSON and pass it as the system message in your AI API call. Pass the serialised assessment results as the user message.

🗂 JSON Output Reference — for risk assessor developers

The saved JSON file uses schema version 1.4. It has two layers: raw delta overrides (for round-trip reloading into this configurator) and a fully resolved resolved block ready for the assessor to consume.

Recommendation: In your risk assessor, read from resolved.* only. Never re-apply defaults yourself — the configurator has already done that.
Top-level fields
FieldTypeDescription
typestringAlways "risk-register-config". Validate this before loading.
versionstringSchema version, currently "1.4".
savedAtISO dateTimestamp of when the config was last saved.
labelstringHuman-readable configuration name.
narrativestringDescription / purpose of this configuration.
scoringobject{unansweredAs: 'excluded'|'zero', surveyMaxReduction: 0–1, controlMaxReduction: 0–1, tpraAffects: 'impact'|'likelihood', detectiveAffects: 'likelihood'|'impact', unevidencedYes: 'full'|'partial'}. Controls how the assessor treats unanswered questions, caps survey/control risk reduction, selects which axis the TPRA multiplier scales, whether Detective controls reduce residual likelihood (legacy) or impact, and whether a control "Yes" without an evidence reference earns full (legacy) or only Partial credit. Absent = legacy defaults (excluded / 0.60 / 0.80 / impact / likelihood / full). Present at top level and in resolved.
risks[].baseLikelihoodnumber?Optional 1–10. When set, assessor starts likelihood from this value instead of deriving it from the impact score. Absent = legacy behaviour.
controls[].refsstring?Optional framework cross-references (e.g. ISO27001:A.8.15; NIST CSF:DE.CM; E8:Regular-Backups; NIST AI RMF:MEASURE). Shown in assessor exports.
tpraMethodstringnotset | nouse | bitsight | panorays | upguard | manual
tpraScorenumber|nullRaw score entered for the selected TPRA method. Null if not set.
tpraMultipliernumberPre-computed multiplier (0.80–1.20). Apply directly: adjustedScore = matrixPts × tpraMultiplier
aiPromptstringSystem prompt for the AI model. Pass as the system message in your API call.
resolvedobjectFully resolved data — see sections below.
resolved.risks[ ] — all 77 risks, fully merged
FieldDescription
idUnique risk ID, e.g. CNP-P1. Format: <family_abbr>-<period>.
familyFull family name, e.g. "Confidentiality & Privacy".
periodPeriod code: P1P7.
nameRisk title shown to assessors.
meaningPlain-English explanation of what this risk means.
mitigationRecommended steps to address the risk.
baseScoreInherent severity score (1–10).
strategyPctOrganisation-specific uplift (0–100%). Context amplification.
fullScoreComputed score: baseScore × (1 + strategyPct/100). Use this for risk band classification.
appetiteRisk appetite (1–9). Flag risks where assessed score exceeds this threshold.
drivenByComma-separated scoping question IDs that determine this risk's relevance.
vendorSurveyComma-separated vendor survey question IDs linked to this risk.
internalSurveyComma-separated internal survey question IDs linked to this risk.
controlsComma-separated control IDs that mitigate this risk.
resolved.scopeQuestions[ ]
FieldDescription
idQuestion ID, e.g. Q-01.
textQuestion text shown to the assessor.
activetrue = show to assessor. false = question is hidden; linked risks stay in scope.
ifNoArray of risk IDs to exclude when the assessor answers No to this question.
resolved.vendorQuestions[ ] and resolved.internalQuestions[ ]
FieldDescription
idVS-XX (vendor) or IS-XX (internal).
textQuestion text.
explanationGuidance for the assessor on what this question is evaluating.
weightOverall question importance (1–10).
answerYes / No / Partial / NAScore awarded per answer type.
activeWhether this question is included in scoring.
risksArray of risk IDs this question's score feeds into.
resolved.controls[ ]
FieldDescription
idControl ID, e.g. CT-01.
nameControl name.
explanationWhat this control does and why it matters.
typeDesign | Technical | Process | Governance
effectPreventive | Detective | Corrective | Governance
weight / answerYes/No/Partial/NASame scoring model as survey questions.
activeWhether this control is included in scoring.
risksArray of risk IDs this control mitigates.
resolved.matrix[5][5]

A 5×5 nested array. matrix[impactIndex][likelihoodIndex] where index 0 = lowest band, 4 = highest. Each cell: { pts: number } — the risk points (1–100) for that combination.

score = resolved.matrix[impactBandIndex][likelihoodBandIndex].pts * tpraMultiplier
resolved.scoreBands[ ] / likelihoodBands[ ] / impactBands[ ]
FieldDescription
bandBand label: LOW, MED, HIGH, EXT (score bands); or name like Rare, Possible etc.
score / fromLower boundary of this band (inclusive).
toUpper boundary (inclusive). Always = next band's from − 1.

📊 Scoring Model
Step 1 — Risk full score (configuration time)

Each risk has a Base Score (inherent severity) and a Strategy Adjustment (context amplification):

fullScore = baseScore × (1 + strategyPct / 100)

Example: Base 7.0, Strategy 25% → 7.0 × 1.25 = 8.75

Step 2 — Assessment scoring (assessment time)

The assessor enters a Likelihood score (1–100) and an Impact score (1–100) for each risk. These are mapped to one of five bands each, and the 5×5 matrix cell at that intersection gives the risk points.

Step 3 — TPRA adjustment
adjustedPts = matrixPts × tpraMultiplier

If TPRA is set to No use or Not set, the multiplier is 1.00 and the score is unchanged.

Step 4 — Risk rating classification

The adjusted score is mapped against resolved.scoreBands to produce the final rating: LOW MEDIUM HIGH EXTREME

Step 5 — Risk appetite check

Compare the final score (or band ordinal) against the risk's appetite value. Flag the risk if it exceeds the threshold. Surface these as priority items in the report.

Survey and control scoring

Vendor survey, internal survey, and control scores are collected per risk through their linked IDs. For each risk, sum the weighted scores from linked active questions/controls to produce a coverage score. This can be used to adjust the likelihood or impact score before the matrix lookup — for example: high vendor survey score → lower likelihood, strong controls → lower impact.

Suggested formula for likelihood adjustment:
adjustedLikelihood = rawLikelihood × (1 - vendorScore / maxVendorScore × 0.3)
This applies up to a 30% reduction based on vendor posture. Adjust the factor to suit your model.