Skip to main content

Residual Risk Acceptance Policy

1. Objective​

This policy defines the formal process for accepting residual risk in applications developed or operated by the organisation.

Residual risk is the risk that remains after the security controls defined for the application's criticality level have been applied. Accepting it is not, in itself, a failure - it is an informed management decision, provided that it is formalised, approved by the appropriate approval authority, time-bound and traceable.

The absence of a formal risk acceptance process leads to risk decisions being taken implicitly, without visibility, without assigned responsibility and without a review mechanism.


2. Scope​

This policy applies to all situations in which there is identified and accepted residual risk, including:

  • Mandatory controls for the criticality level that have not been applied
  • Security findings (SAST, DAST, IAST, SCA, fuzzing, pentest) that have not been fixed
  • Threats identified in threat modelling for which no mitigation has been implemented
  • Architectural exceptions with an impact on the security posture
  • Dependencies with known vulnerabilities for which no fix is available or viable

3. Types of residual risk​

TypeOriginExamples
Control not appliedSbD-ToE control matrixMandatory requirement for the level not implemented
Unfixed findingSAST, DAST, IAST, SCA, fuzzing, pentestIdentified vulnerability without remediation within the SLA
Accepted threatThreat modellingDocumented STRIDE threat without a technical mitigation
Architectural exceptionArchitecture reviewInsecure pattern kept because of a technical or business constraint
Vulnerable dependencySCA / SBOMActive CVE with no fix available or with an impact assessed as acceptable

4. Criteria for risk acceptance​

A residual risk may only be formally accepted if it meets all of the following criteria:

  • The risk is compatible with the criticality level of the application (L1, L2 or L3)
  • The residual risk is within the defined thresholds for acceptance at the level concerned
  • There is sufficient evidence of the controls applied that reduce the risk to the residual level
  • A compensating mitigation has been identified and documented, where technically feasible
  • The acceptance decision is time-bound - with an expiry and reassessment date
  • The decision is formally approved by the approval authority appropriate to the risk level
warning

Risk acceptance does not replace remediation. It is a temporary, documented decision, not a permanent solution. All accepted risk must have an expiry date and a reassessment mechanism.


5. Acceptance thresholds by level​

LevelMaximum severity acceptable without escalationMaximum acceptance period
L1High (with justification and compensation)90 days
L2Medium without escalation; High requires AppSec approval60 days (High: 30 days; Policy 05 §7)
L3Medium requires AppSec; High requires CISO; Critical is not acceptable30 days (High: 14 days; Policy 05 §7)
note

Findings of Critical severity may not be accepted as residual risk at any level without an active remediation plan with a defined deadline. Accepting a Critical finding is a last-resort exception, subject to CISO approval and formal recording with a maximum period of 7 days.


6. Acceptance process​

6.1 Mandatory steps​

  1. Identify the residual risk - origin, type, severity and technical context
  2. Assess the impact - the real consequence in the context of the application and the business
  3. Define a compensating mitigation - an alternative control active during the acceptance period
  4. Document the technical justification - why the control was not applied or the finding was not fixed
  5. Define the validity period - expiry date of the acceptance and reassessment date
  6. Obtain formal approval - by the approval authority appropriate to the risk level (see section 7)
  7. Record - in the application's exception repository or GRC platform

6.2 Checklist per accepted-risk record​

  • Unique identifier of the record
  • Type of risk (control not applied / finding / threat / architectural exception / dependency)
  • Technical description of the risk and its origin
  • Assessed severity (Critical / High / Medium / Low)
  • Evidence of the existing controls that reduce the risk
  • Compensating mitigation defined and active
  • Technical and business justification for the acceptance
  • Start date of the acceptance
  • Expiry date (sunset)
  • Risk owner (responsible for follow-up)
  • Formal approval (name, role, date)
  • Scheduled reassessment date

7. Approval authorities​

SeverityL1L2L3
LowTech LeadAppSec EngineerAppSec Engineer
MediumAppSec EngineerAppSec EngineerAppSec Engineer + GRC
HighAppSec EngineerAppSec Engineer + ManagementCISO
CriticalNot recommended - remediation plan mandatoryNot acceptable without CISONot acceptable

8. Reassessment and expiry​

Every accepted-risk record has an expiry date. On the expiry date, the team must:

  1. Reassess the risk - has the context changed? Is the compensating mitigation still effective?
  2. Decide: fix / renew the acceptance / escalate
  3. Renew with new approval if the acceptance is maintained - no automatic renewal
  4. Record the decision with a new expiry date and updated approval

Expired records without a documented reassessment are treated as unmanaged risk and must be escalated to AppSec.


9. Integration with the development lifecycle​

MomentExpected action
Release / go-liveCheck all active accepted risks; confirm that they are within their deadline and approved
Sprint reviewReview the status of accepted risks with associated findings
Risk classification reviewReview whether the accepted risks remain compatible with the level
Security incidentCheck whether any accepted risk contributed to the incident; force immediate reassessment

10. Artefacts​

ArtefactSuggested locationRetention
Accepted-risk recorddocs/security/risk-acceptance/ or GRC platform1 year (L1), 2 years (L2), 3 years (L3) after expiry
Evidence of compensating mitigationAttached to the recordWhile the risk is active
Formal approvalsAttached to the record (PR, issue, signed document)1 year (L1), 2 years (L2), 3 years (L3) after expiry

11. Responsibilities​

RoleResponsibility
Developer / Tech LeadIdentify and report residual risks; initiate the acceptance process
AppSec EngineerAssess, validate and approve acceptances; monitor active records
GRC / ComplianceEnsure the traceability and compliance of the register; issue periodic reports
CISOApprove high-risk acceptances; oversee the residual risk management programme
Product ManagementTake part in acceptance decisions with a business impact

12. Review and audit of this policy​

This policy must be reviewed annually or after any of the following events:

  • Security incident originating in a previously accepted risk
  • Change to the organisation's risk tolerance thresholds
  • Regulatory change with an impact on the acceptance criteria

The register of accepted risks must be made available in full in internal and external security audits.


13. Normative and technical references​

ReferenceRelevance
SbD-ToE Ch. 01 - Application ClassificationRisk acceptance criteria by level
SbD-ToE Ch. 03 - Threat ModellingFormal justification of accepted risk in threats
SbD-ToE Ch. 10 - Security TestingRisk acceptance for test findings
SbD-ToE Ch. 14 - Governance and ContractingFormal exception process with approval authorities
ISO/IEC 27001 - Clause 6.1.3Information security risk treatment
NIST SP 800-30Guide for Conducting Risk Assessments
SSDF PW.4Software review for risk management