Human Readable SBOM
Every component in this project version, with its licensing and identifiers{% if show_findings %} and finding counts{% endif %}. Nothing is truncated.
{% if prov %} {# NTIA "Author of SBOM Data" + "Timestamp". In the BODY, not just the topbar: the topbar and status bar are display:none in print, and Print-to-PDF is how a reader actually gets a PDF of this report. #}Generated {{ prov.get('generated_at') }} by {{ prov.get('generated_by') }} from {{ prov.get('source') }}{% if prov.get('tenant') %} ({{ prov.get('tenant') }}){% endif %}{% if prov.get('project') %} for {{ prov.get('project') }}{% if prov.get('version') %} {{ prov.get('version') }}{% endif %}{% endif %}.
{% endif %}-
{% for note in notes %}
- {{ note }} {% endfor %}
| Name | Version | {% if show_policy %}Policy | {% endif %} {% if show_findings %}Findings | C | H | M | L | {% endif %}Type | Supplier | Licenses | Release Date | {% if show_source %}Source | {% endif %}PURL | CPE | {% if show_status %}Status | {% endif %} {% if show_ids %}Component ID | {% endif %}
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ row.get('component_name') or '—' }} | {{ row.get('version') or '—' }} | {% if show_policy %}{% set v = row.get('violations', 0) or 0 %} {% set w = row.get('warnings', 0) or 0 %} {# Zero renders as 0, not an em dash: these are count columns, and CSV/JSON carry 0 here. An em dash would make "no violations" indistinguishable from "not measured" in the primary human-readable artifact. #} {{ "{:,}".format(v) }} {{ "{:,}".format(w) }} | {% endif %} {% if show_findings %}{{ "{:,}".format(row.get('findings', 0) or 0) }} | {% for key, cls in [('critical', 'sbom-sev-critical'), ('high', 'sbom-sev-high'), ('medium', 'sbom-sev-medium'), ('low', 'sbom-sev-low')] %} {% set n = row.get(key, 0) or 0 %}{{ "{:,}".format(n) }} | {% endfor %} {% endif %}{{ row.get('component_type') or '—' }} | {{ row.get('supplier') or '—' }} | {{ row.get('licenses') or '—' }} | {{ row.get('release_date') or '—' }} | {% if show_source %}{{ row.get('source') or '—' }} | {% endif %}{{ row.get('purl') or '—' }} | {{ row.get('cpe') or '—' }} | {% if show_status %}{{ row.get('status') or '—' }} | {% endif %} {% if show_ids %}{{ row.get('component_id') or '—' }} | {% endif %}
No components were returned for this project version.
{% if not sbom.get('include_file_components', False) %}
File-type components are excluded by default — pass
--include-file-components if this version contains only
file entries.
{% endif %}