From 0ff945ef651cbdd4625960d2d4039c227fd7b0b8 Mon Sep 17 00:00:00 2001 From: Lucas Guerra Date: Mon, 2 Nov 2026 11:32:04 -0300 Subject: [PATCH] feat(report): add TLP classification badge to the audit report MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The cover already had the Sabiá logo, but only an "Uso autorizado" badge — no sharing classification. Adds a TLP:AMBER badge (FIRST.org brand color) next to it, on both the cover and the running per-page header, matching the convention the rest of the Ciberfauna ecosystem's reports now follow. Co-Authored-By: Claude Sonnet 5 --- crates/sabia-core/src/report.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/sabia-core/src/report.rs b/crates/sabia-core/src/report.rs index 3646059..b83aa95 100644 --- a/crates/sabia-core/src/report.rs +++ b/crates/sabia-core/src/report.rs @@ -402,7 +402,10 @@ section.chapter:first-of-type { break-before: avoid; } .cover .brand { display: flex; align-items: center; gap: 3mm; } .cover .brand img { width: 11mm; height: 11mm; border-radius: 3mm; display: block; } .cover .brand span { font-family: var(--display); font-size: 14pt; font-weight: 700; letter-spacing: -0.01em; } +.cover .badges { display: flex; align-items: center; gap: 2.5mm; } .cover .badge { font: 700 8pt var(--mono); letter-spacing: .14em; text-transform: uppercase; color: #ffd38a; border: 1px solid #a66a2e; background: rgba(255,211,138,.08); padding: 2.5mm 4mm; border-radius: 1mm; white-space: nowrap; } +/* FIRST.org TLP 2.0 brand color (amber), matching the sharing-classification badge the Ciberfauna report convention requires. */ +.cover .badge-tlp { color: #FFC000; border-color: #FFC000; background: rgba(255,192,0,.08); } .cover .mid { margin-top: auto; } .cover .eyebrow { color: #ffb963; margin-bottom: 4mm; } .cover h1 { font-size: 40pt; letter-spacing: -0.02em; max-width: 150mm; color: #fff; margin-bottom: 6mm; } @@ -484,7 +487,7 @@ tbody tr:nth-child(even) td { background: #f7f9f7; } background: #fff; @top-left { content: "SABIÁ · AUDITORIA WI-FI"; font: 600 7.5pt var(--mono); letter-spacing: .1em; color: var(--faint); vertical-align: bottom; padding-bottom: 4mm; } @top-center { content: string(section); font: 500 7.5pt var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--faint); vertical-align: bottom; padding-bottom: 4mm; text-align: center; } - @top-right { content: "\25CF USO AUTORIZADO"; font: 700 7.5pt var(--mono); letter-spacing: .1em; color: var(--accent); vertical-align: bottom; padding-bottom: 4mm; text-align: right; white-space: nowrap; } + @top-right { content: "TLP:AMBER \25CF USO AUTORIZADO"; font: 700 7.5pt var(--mono); letter-spacing: .1em; color: var(--accent); vertical-align: bottom; padding-bottom: 4mm; text-align: right; white-space: nowrap; } @bottom-left { content: string(footline); font: 400 7.5pt var(--mono); color: var(--faint); vertical-align: top; padding-top: 4mm; } @bottom-right { content: counter(page) " / " counter(pages); font: 700 8pt var(--mono); color: var(--ink); vertical-align: top; padding-top: 4mm; text-align: right; } } @@ -549,7 +552,7 @@ pub fn render(model: &ReportModel, options: ReportOptions) -> String {
Sabiá
- Uso autorizado +
TLP:AMBERUso autorizado

Relatório de auditoria · redes sem fio