refactor(dashboard): replace security posture claims with programme-scoped language
Some checks failed
Aegis CI / lint-and-test (push) Has been cancelled

Overall Security Score renamed to Overall Programme Score. Descriptions across
Executive Dashboard and Dashboard page now clarify scores reflect Red/Blue Team
exercise maturity and coverage breadth, not the organisation real-world security
state, to avoid overstating what ATT&CK simulation tests can guarantee.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
kitos
2026-06-05 09:33:41 +02:00
parent 15eda30b75
commit 05898e2cee
2 changed files with 6 additions and 6 deletions

View File

@@ -256,7 +256,7 @@ export default function DashboardPage() {
<h2 className="mb-4 text-lg font-semibold text-white flex items-center gap-2">
<TrendingUp className="h-5 w-5 text-cyan-400" />
Coverage Evolution (6 months)
<MetricTooltip title="Coverage Evolution" description="How overall coverage % and organisation score have changed over the last 6 months. An upward trend means the security posture is improving." context="Org Score reflects depth of testing; Coverage % reflects breadth." />
<MetricTooltip title="Coverage Evolution" description="How ATT&CK coverage % and programme score have changed over the last 6 months based on completed exercises. An upward trend means the testing programme is maturing and technique coverage is expanding." context="Programme Score reflects depth of validated testing; Coverage % reflects breadth of techniques exercised." />
</h2>
{evolutionLoading ? (
<div className="flex h-48 items-center justify-center">

View File

@@ -79,9 +79,9 @@ function ScoreGauge({ score, label }: { score: number; label: string }) {
<div className="mt-2 flex items-center gap-1">
<span className="text-xs font-medium text-gray-400">{label}</span>
<MetricTooltip
title="Overall Security Score"
description="A composite score (0100) representing the organisation's overall security posture. Calculated from 4 dimensions: Coverage, Detection maturity, Critical technique coverage, and Response readiness."
context="< 30 = Critical gaps | 3050 = High risk | 5070 = Improving | > 70 = Good posture"
title="Overall Programme Score"
description="A composite score (0100) reflecting the maturity of the Red/Blue Team testing programme across 4 dimensions: Coverage, Detection maturity, Critical technique coverage, and Response readiness. This score measures the depth and breadth of executed exercises — it does not represent the full real-world security posture of the organisation."
context="< 30 = Critical programme gaps | 3050 = Limited coverage | 5070 = Progressing | > 70 = Mature programme"
position="below"
/>
</div>
@@ -279,7 +279,7 @@ export default function ExecutiveDashboardPage() {
<div>
<h1 className="text-2xl font-bold text-white">Executive Dashboard</h1>
<p className="mt-1 text-sm text-gray-400">
Organization security posture overview
Red/Blue Team programme coverage and maturity overview
</p>
</div>
@@ -322,7 +322,7 @@ export default function ExecutiveDashboardPage() {
<div className="rounded-xl border border-gray-800 bg-gray-900 p-4 lg:col-span-3">
<h2 className="mb-3 text-sm font-semibold text-gray-300 flex items-center gap-1">
Score Trend (90 days)
<MetricTooltip title="Score Trend" description="How the overall security posture score has evolved over the past 90 days. An upward trend indicates improving security coverage and maturity." context="Aim for a steady upward trend. Sudden drops may indicate new uncovered threats discovered." />
<MetricTooltip title="Score Trend" description="How the programme maturity score has evolved over the past 90 days, based on completed Red/Blue exercises. An upward trend indicates the testing programme is expanding coverage and improving detection validation." context="Aim for a steady upward trend. Sudden drops may indicate newly discovered technique gaps or reduced test activity." />
</h2>
<ResponsiveContainer width="100%" height={220}>
<LineChart data={scoreHistory || []}>