Compliance Reports

Compliance hub, scores, exports, scan history, and full report drill-down.

Compliance (/reports/compliance) turns crawls into audit-ready artifacts: scores, charts, issues, and downloads.

Consent Setup — Compliance tab for law, geo, and consent behavior
Consent Setup — Compliance tab for law, geo, and consent behavior

Why it matters

StakeholderNeed
Legal / DPOEvidence of discovery and remediation
EngineeringBefore-consent tracker list
LeadershipTrend of scan-derived score

Hub layout

When no scan exists

Empty states prompt Choose property or Run first scan with link to website detail.

Summary row

StatMeaning
Scan-derived score8–99 style score from risk + issues
TrackersTotal in latest report
Pages scannedCrawl coverage
Open issuesCompliance issue count
Before consentTrackers flagged pre-consent
Missing descriptionsCopy gaps

Cards may link to full report with query presets (before-consent, missing-descriptions, category).

Alert banners

Examples: high unclassified %, score drop vs prior run, before-consent count, last scan age.

Charts

ChartInteraction
Category doughnutClick legend → filtered report
Tracker density barPer-domain counts

Scan history table

Each row: date, score, risk, pages—CSV per run, link to full report.

Run new scan panel

Expandable controls:

FieldPurpose
Max pagesLimit crawl
Crawl depthLink depth
ConcurrencyParallel fetch
User agentCustom UA string
Scan scheduleAutomation when enabled

Run new scan triggers crawl with these parameters.


Export formats

FormatContainsBest for
CSVTabular trackers & metadataExcel, data teams
PDFFormatted summaryLegal binders

Buttons: Download CSV, Download PDF (disabled until report exists).

Uses /reports/{siteId}/{reportId}/export?format=.


Full report page

Route: /compliance/report/{reportId}?siteId=...

SectionContent
Executive summaryScore, risk, counts
Tracker tablesCategory, risk, domain, issues
Issue narrativesWhy flagged
FiltersCategory, preset query params

Share URL with teammates; include siteId.


Remediation workflow

  1. Export PDF baseline
  2. Fix Scanner inventory + Consent Setup
  3. Re-scan → new reportId
  4. Compare scores in history table
  5. Archive exports with dates

User journey: audit export

  1. Complete scan
  2. Open Compliance
  3. Download PDF + CSV
  4. Export Consent logs for same date range
  5. Store in audit folder with ticket ID

FAQ

Score changed but we changed nothing

New third-party tags, CMS update, or CMS A/B test. Re-scan and diff inventory.

PDF export empty

Report ID missing or scan incomplete—refresh after Completed status.