Introduce quarterly_summary and technique_detail Jinja layouts; use SVG logo asset across report covers.
75 lines
2.3 KiB
HTML
75 lines
2.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<link rel="stylesheet" href="styles/report.css">
|
|
<title>Executive Summary — {{ company_name }}</title>
|
|
</head>
|
|
<body>
|
|
<section class="cover-page">
|
|
<img src="assets/logo.svg" class="logo" alt="Logo">
|
|
<h1>Executive Security Summary</h1>
|
|
<h2>{{ company_name }}</h2>
|
|
<p class="date">{{ generated_at }}</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Security Posture Overview</h2>
|
|
<div class="stats-grid">
|
|
<div class="stat">
|
|
<span class="number">{{ org_score.overall | default(0) }}%</span>
|
|
<span class="label">Overall Score</span>
|
|
</div>
|
|
<div class="stat">
|
|
<span class="number">{{ total_tests }}</span>
|
|
<span class="label">Tests Conducted</span>
|
|
</div>
|
|
<div class="stat">
|
|
<span class="number">{{ active_campaigns }}</span>
|
|
<span class="label">Active Campaigns</span>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Key Metrics</h2>
|
|
<table class="data-table">
|
|
<thead>
|
|
<tr><th>Metric</th><th>Value</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr><td>Techniques validated</td><td>{{ summary.validated }} / {{ summary.total_techniques }}</td></tr>
|
|
<tr><td>Detection rate</td><td>{{ detection_rate }}%</td></tr>
|
|
<tr><td>Tests this quarter</td><td>{{ tests_this_quarter }}</td></tr>
|
|
<tr><td>Open remediations</td><td>{{ open_remediations }}</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Top Gaps</h2>
|
|
{% if top_gaps %}
|
|
<table class="data-table">
|
|
<thead>
|
|
<tr><th>Tactic</th><th>Coverage</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for gap in top_gaps %}
|
|
<tr>
|
|
<td>{{ gap.tactic }}</td>
|
|
<td>{{ gap.coverage_pct }}%</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% else %}
|
|
<p>No significant gaps identified.</p>
|
|
{% endif %}
|
|
</section>
|
|
|
|
<footer>
|
|
<p>{{ company_name }} — Confidential</p>
|
|
</footer>
|
|
</body>
|
|
</html>
|