Skip to content

Report Builder

The report builder lets you assemble a report from any combination of sections in the platform's catalog. Use it to produce executive summaries, technical deep-dives, or framework-equivalent evidence packs without going through a pre-defined compliance pack.

Section catalog

There are 17 sections grouped into 7 categories:

CategorySections
SummaryExecutive Summary
ScanningScan Policy Configuration, Scan Coverage Report, Scan Execution Log, Scanner Database Freshness
VulnerabilitiesVulnerability Summary, Critical/High CVE Tracker, MTTR Report, SLA Compliance Report
ExceptionsOpen Exceptions, Exception Review Log
SBOMSoftware Bills of Materials
Access ControlRBAC Configuration, Access Audit Log
Raw DataFull Audit Log, Raw Scan Results, Vulnerability Database Export

Each section declares its data domains (scans, vulns, images, registries, packages, access), the fields it pulls, the metrics it computes, and its output format (CSV, JSON, or summary/raw_export). Sections marked required: true cannot be deselected when used as part of a framework pack.

Building a report

The builder is a four-step form:

  1. Template — start from a framework template (SOC 2, ISO 27001, etc) or pick "custom".
  2. Scopemode: org | registry | custom. In custom mode you select specific tags by ID.
  3. Sections — toggle each section on or off. The right pane previews the field list and output filename for the selected section.
  4. Period & delivery — choose a rolling window (last N days) or a fixed start/end, then optionally add email recipients.

Adding custom sections

Within the Sections step, expanding a section reveals its filters. For sections backed by the vulns or scans domains you can add additional filters (severity in / not in, package contains, fixed version is null, etc) using the operator catalog. Custom filters are layered on top of the section's built-in filters; they do not replace them.

Attaching evidence

Sections that produce raw exports (raw_scan_results, vuln_db_export, sboms) attach the underlying data files directly to the report bundle. For all other sections, the bundle includes either a JSON summary object (for KPI-style sections) or a CSV table.

Output formats

FormatWhen
JSONSummary sections (Executive Summary, Vulnerability Summary, MTTR, SLA Compliance), raw exports.
CSVTabular sections (every list-style section).
PDFGenerated at delivery time when the bundle is rendered as a single, reviewer-friendly document.

The bundle layout mirrors the section's fileName attribute — for example the Critical/High tracker writes to vulnerabilities/critical-high-tracker.csv inside the bundle.

API

curl -X POST \
  -H "Authorization: Bearer $HG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "custom",
    "name": "Q2 Container Security Review",
    "scope": { "mode": "org", "selectedTags": [] },
    "sections": ["exec_summary", "vuln_summary", "critical_high_tracker", "mttr_report", "sla_compliance"],
    "period": { "type": "rolling", "days": 90 },
    "recurrence": "quarterly",
    "delivery": { "emails": ["compliance@example.com"] }
  }' \
  "https://harborguard.co/api/report-schedules"

The same payload is used to create a one-off report (omit recurrence) or a scheduled report.

See also

On this page