<!-- Copyright (c) 2026 defconxt. All rights reserved. -->
<!-- Licensed under AGPL-3.0 — see LICENSE file for details. -->
<!-- NERF is a trademark of defconxt. -->

---
technique: building-security-executive-dashboard
subdomain: security-leadership
title: "Building Security Executive Dashboard"
description: "Techniques and methodologies for building security executive dashboard"
tags:
  - dashboard
  - executive-reporting
  - KPIs
  - risk-communication
  - metrics
metadata:
  mitre-attack: []
---

# Building Security Executive Dashboard

> Design and implement executive-level security dashboards that communicate risk posture, program progress, and key metrics to leadership and board audiences.

## Overview

Security executive dashboards translate technical security metrics into business-relevant visualizations for C-suite and board communication. This technique covers KPI selection, data aggregation, visualization design, and narrative construction for executive audiences.

## Core Concepts

- **KPI hierarchy**: Strategic (board), tactical (C-suite), operational (CISO) metrics
- **Risk posture scoring**: Aggregate risk into a single directional indicator
- **Trend analysis**: Show trajectory, not just current state—direction matters more than position
- **Benchmark comparison**: Industry and peer comparisons for context
- **Narrative framing**: Data without context is noise—every metric needs a story

## Workflow

1. Identify dashboard audience and their decision-making needs
2. Select KPIs aligned with business objectives and risk appetite
3. Design data aggregation pipeline from operational metrics
4. Build risk posture scoring model with weighted inputs
5. Create visualization layouts optimized for executive consumption
6. Implement automated data refresh and anomaly highlighting
7. Add trend analysis with configurable time horizons
8. Include industry benchmarks for contextual comparison
9. Write narrative templates for common metric patterns
10. Test dashboard with target audience and iterate on clarity

## Implementation

```python
from dataclasses import dataclass, field
from datetime import datetime
from enum import Enum
from typing import Optional


class TrendDirection(Enum):
    IMPROVING = "improving"
    STABLE = "stable"
    DEGRADING = "degrading"


@dataclass
class SecurityKPI:
    name: str
    value: float
    target: float
    unit: str
    trend: TrendDirection
    period: str

    @property
    def on_target(self) -> bool:
        return self.value >= self.target

    @property
    def gap_percentage(self) -> float:
        return round((self.target - self.value) / self.target * 100, 1) if self.target else 0


class ExecutiveDashboard:
    """Security executive dashboard with KPI tracking."""

    def __init__(self, org_name: str) -> None:
        self.org_name = org_name
        self.kpis: list[SecurityKPI] = []
        self.generated_at: datetime = datetime.utcnow()

    def add_kpi(self, kpi: SecurityKPI) -> None:
        self.kpis.append(kpi)

    def risk_posture_score(self) -> float:
        if not self.kpis:
            return 0.0
        scores = [k.value / k.target if k.target else 0 for k in self.kpis]
        return round(sum(scores) / len(scores) * 100, 1)

    def degrading_kpis(self) -> list[SecurityKPI]:
        return [k for k in self.kpis if k.trend == TrendDirection.DEGRADING]

    def executive_summary(self) -> dict:
        return {
            "org": self.org_name,
            "risk_score": self.risk_posture_score(),
            "total_kpis": len(self.kpis),
            "on_target": sum(1 for k in self.kpis if k.on_target),
            "degrading": len(self.degrading_kpis()),
            "generated_at": self.generated_at.isoformat(),
        }
```

## Best Practices

- Limit board dashboards to 5-7 KPIs—more causes cognitive overload
- Always show trend direction alongside current values
- Use red/amber/green sparingly—overuse desensitizes executives
- Include 'so what' narrative for every metric—explain business impact
- Benchmark against industry peers to provide context for scores
- Automate data collection—manual dashboards become stale and unreliable

## KPI Reference

| KPI | Audience | Target Range | Data Source |
|---|---|---|---|
| Mean time to detect (MTTD) | CISO, CTO | Trend down QoQ | SIEM/SOAR |
| Mean time to respond (MTTR) | CISO | <4h for critical | Ticketing system |
| Vulnerability SLA compliance | Board | >95% on-time | Vuln management |
| Phishing simulation click rate | Board | <5% | Awareness platform |
| High/critical open vulns | CISO | Trend down | Vuln scanner |
| Patch compliance (30-day) | CTO | >90% | Patch management |
| Security awareness completion | Board | >95% | LMS |
| Third-party risk reviews on-time | Board | 100% critical vendors | GRC platform |

## Related Techniques

- [Performing Security ROI Analysis](../performing-security-roi-analysis/SKILL.md)
- [Building Security Stakeholder Management](../building-security-stakeholder-management/SKILL.md)
