Explicit the risk score

ISO 27001 auditor want more explicit math

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2025-05-01 22:54:52 -07:00
parent 333823f366
commit 9872bdd252

View File

@@ -892,45 +892,40 @@ function ShowRiskViewContent({
<div> <div>
<h3 className="text-sm font-medium mb-6">Risk Assessment</h3> <h3 className="text-sm font-medium mb-6">Risk Assessment</h3>
<div className="grid grid-cols-1 md:grid-cols-2 gap-8"> <div className="flex flex-col space-y-8">
{/* Initial Assessment */} {/* Initial Assessment */}
<div> <div>
<h4 className="text-sm font-medium mb-5 flex items-center"> <h4 className="text-sm font-medium mb-5 flex items-center">
<span className="w-3 h-3 rounded-full bg-orange-500 mr-2"></span> <span className="w-3 h-3 rounded-full bg-orange-500 mr-2"></span>
Initial Assessment Initial Assessment
</h4> </h4>
<div className="grid grid-cols-3 gap-6">
<div> <div className="flex items-center">
<p className="text-sm text-slate-600 mb-2"> <div
Likelihood className="px-5 py-2 rounded-md font-medium text-sm flex justify-center items-center whitespace-nowrap"
</p> style={
<div getLikelihoodLabel(risk.inherentLikelihood!).style
className="px-5 py-2 rounded-md font-medium text-sm flex justify-center items-center whitespace-nowrap" }
style={ >
getLikelihoodLabel(risk.inherentLikelihood!).style {getLikelihoodLabel(risk.inherentLikelihood!).label}
}
>
{getLikelihoodLabel(risk.inherentLikelihood!).label}
</div>
</div> </div>
<div>
<p className="text-sm text-slate-600 mb-2">Impact</p> <span className="mx-4 text-xl">×</span>
<div
className="px-5 py-2 rounded-md font-medium text-sm flex justify-center items-center whitespace-nowrap" <div
style={getImpactLabel(risk.inherentImpact!).style} className="px-5 py-2 rounded-md font-medium text-sm flex justify-center items-center whitespace-nowrap"
> style={getImpactLabel(risk.inherentImpact!).style}
{getImpactLabel(risk.inherentImpact!).label} >
</div> {getImpactLabel(risk.inherentImpact!).label}
</div> </div>
<div>
<p className="text-sm text-slate-600 mb-2">Severity</p> <span className="mx-4 text-xl">=</span>
<div
className="px-5 py-2 rounded-md font-medium text-sm flex justify-center items-center whitespace-nowrap" <div
style={severity.style} className="px-5 py-2 rounded-md font-medium text-sm flex justify-center items-center whitespace-nowrap"
> style={severity.style}
{severity.level} ( >
{risk.inherentLikelihood! * risk.inherentImpact!}) {severity.level} ({risk.inherentLikelihood! * risk.inherentImpact!})
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -941,38 +936,33 @@ function ShowRiskViewContent({
<span className="w-3 h-3 rounded-full bg-green-500 mr-2"></span> <span className="w-3 h-3 rounded-full bg-green-500 mr-2"></span>
After Treatment After Treatment
</h4> </h4>
<div className="grid grid-cols-3 gap-6">
<div> <div className="flex items-center">
<p className="text-sm text-slate-600 mb-2"> <div
Likelihood className="px-5 py-2 rounded-md font-medium text-sm flex justify-center items-center whitespace-nowrap"
</p> style={
<div getLikelihoodLabel(risk.residualLikelihood!).style
className="px-5 py-2 rounded-md font-medium text-sm flex justify-center items-center whitespace-nowrap" }
style={ >
getLikelihoodLabel(risk.residualLikelihood!).style {getLikelihoodLabel(risk.residualLikelihood!).label}
}
>
{getLikelihoodLabel(risk.residualLikelihood!).label}
</div>
</div> </div>
<div>
<p className="text-sm text-slate-600 mb-2">Impact</p> <span className="mx-4 text-xl">×</span>
<div
className="px-5 py-2 rounded-md font-medium text-sm flex justify-center items-center whitespace-nowrap" <div
style={getImpactLabel(risk.residualImpact!).style} className="px-5 py-2 rounded-md font-medium text-sm flex justify-center items-center whitespace-nowrap"
> style={getImpactLabel(risk.residualImpact!).style}
{getImpactLabel(risk.residualImpact!).label} >
</div> {getImpactLabel(risk.residualImpact!).label}
</div> </div>
<div>
<p className="text-sm text-slate-600 mb-2">Severity</p> <span className="mx-4 text-xl">=</span>
<div
className="px-5 py-2 rounded-md font-medium text-sm flex justify-center items-center whitespace-nowrap" <div
style={residualSeverity.style} className="px-5 py-2 rounded-md font-medium text-sm flex justify-center items-center whitespace-nowrap"
> style={residualSeverity.style}
{residualSeverity.level} ( >
{risk.residualLikelihood! * risk.residualImpact!}) {residualSeverity.level} ({risk.residualLikelihood! * risk.residualImpact!})
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -983,16 +973,7 @@ function ShowRiskViewContent({
risk.inherentImpact !== risk.residualImpact) && ( risk.inherentImpact !== risk.residualImpact) && (
<div className="mt-6 text-center pt-4 border-t"> <div className="mt-6 text-center pt-4 border-t">
<p className="text-sm text-slate-600"> <p className="text-sm text-slate-600">
Risk severity reduced from{" "} Risk severity reduced from <span className="font-semibold">{severity.level} ({risk.inherentLikelihood! * risk.inherentImpact!})</span> to <span className="font-semibold">{residualSeverity.level} ({risk.residualLikelihood! * risk.residualImpact!})</span>
<span className="font-semibold">
{severity.level} (
{risk.inherentLikelihood! * risk.inherentImpact!})
</span>{" "}
to{" "}
<span className="font-semibold">
{residualSeverity.level} (
{risk.residualLikelihood! * risk.residualImpact!})
</span>
{risk.treatment === "MITIGATED" && {risk.treatment === "MITIGATED" &&
risk.measures?.edges && risk.measures?.edges &&
risk.measures.edges.length > 0 && risk.measures.edges.length > 0 &&