Skip to content
Variables

Variables

This page lists all variables available in templates. These variables are populated from your report data when rendering or exporting.

report

General report metadata.

VariableTypeDescription
report.titlestringReport title
report.statusstringdraft, waiting-for-review, under-review, completed
report.languagestringLanguage code (e.g. EN, FR)
report.versionstringReport version (e.g. 1.0.0)
report.executiveSummaryHTMLExecutive summary content
report.createdAtdateCreation date
report.updatedAtdateLast update date

Authors & reviewers

VariableTypeDescription
report.authorobjectPrimary author
report.author.namestringFull name
report.author.emailstringEmail
report.author.firstNamestringFirst name
report.author.lastNamestringLast name
report.authorsarrayAll authors
report.coAuthorsarrayCo-authors
report.reviewerobjectReviewer who accepted the review
report.reviewersarrayAll reviewers

Each entry in authors, coAuthors, and reviewers has the same fields as report.author.

liquid
Author: {{ report.author.name }}

{% if report.coAuthors.size > 0 %}
  Co-authors:
  {% for author in report.coAuthors %}
    {{ author.name }} ({{ author.email }})
  {% endfor %}
{% endif %}

client

The company/client associated with the report.

VariableTypeDescription
client.namestringCompany name
client.logostringLogo URL
client.primaryContactobjectMain contact
client.primaryContact.namestringFull name
client.primaryContact.emailstringEmail
client.primaryContact.phonestringPhone
client.primaryContact.rolestringRole / job title
client.contactsarrayAll selected contacts

Each entry in client.contacts:

VariableTypeDescription
firstNamestringFirst name
lastNamestringLast name
emailstringEmail
phonestringPhone
rolestringRole / job title
liquid
Prepared for: {{ client.name }}

{% for contact in client.contacts %}
  {{ contact.firstName }} {{ contact.lastName }} — {{ contact.role }} — {{ contact.email }}
{% endfor %}

TIP

The client logo can be inserted as an image element through the visual editor. Use the variable client.logo as the image source.

dates

VariableTypeDescription
dates.startDatestringAssessment start date (YYYY-MM-DD)
dates.endDatestringAssessment end date (YYYY-MM-DD)
dates.currentDatestringCurrent date at render time (YYYY-MM-DD)
dates.createdAtstringReport creation date (YYYY-MM-DD)
liquid
Assessment period: {{ dates.startDate | formatDate: 'long' }} — {{ dates.endDate | formatDate: 'long' }}

scope

The assessment scope defined in the report.

VariableTypeDescription
scope.descriptionstringScope description
scope.entriesarrayScope entries

Each entry in scope.entries:

VariableTypeDescription
typestringip, url, or other
namestringEntry label
valuestringEntry value
liquid
{% if scope.description %}
  {{ scope.description }}
{% endif %}

{% for entry in scope.entries %}
  {{ entry.type | uppercase }} — {{ entry.name }} — {{ entry.value }}
{% endfor %}

TIP

Scope entries are best displayed using a table element in the visual editor with a row loop. See the Table documentation.

stats

Vulnerability count statistics.

VariableTypeDescription
stats.totalVulnerabilitiesnumberTotal findings
stats.criticalCountnumberCritical count
stats.highCountnumberHigh count
stats.mediumCountnumberMedium count
stats.lowCountnumberLow count
stats.informativeCountnumberInformational count
liquid
Critical: {{ stats.criticalCount }}
High: {{ stats.highCount }}
Medium: {{ stats.mediumCount }}
Low: {{ stats.lowCount }}
Informational: {{ stats.informativeCount }}
Total: {{ stats.totalVulnerabilities }}

TIP

Statistics are best displayed using a table element in the visual editor. You can use cell background colors to match severity levels.

vulnerabilities

Array of all findings in the report. Each vulnerability contains:

Core fields

VariableTypeDescription
titlestringVulnerability title
severitystringCritical, High, Medium, Low, Info
statusstringFinding status

CVSS

Available when the vulnerability template includes a CVSS field.

VariableTypeDescription
cvss.scorestringFinal score (prefers environmental > temporal > base)
cvss.severitystringSeverity label for the final score
cvss.baseScorestringBase score
cvss.baseSeveritystringBase severity
cvss.vectorstringCVSS vector string
cvss.temporalScorestringTemporal score (if enabled)
cvss.temporalSeveritystringTemporal severity
cvss.environmentalScorestringEnvironmental score (if enabled)
cvss.environmentalSeveritystringEnvironmental severity

CVSS base metrics: cvss.AV, cvss.AC, cvss.PR, cvss.UI, cvss.S, cvss.C, cvss.I, cvss.A

Custom score

Available when the vulnerability template includes a custom score field.

VariableTypeDescription
customScore.scorenumberCalculated score
customScore.maxScorenumberMaximum possible score
customScore.criteriaValuesobjectIndividual criteria scores

Custom fields

Any field defined in your vulnerability template is accessible directly on the vulnerability object by its field name. Inside a loop, use the loop variable:

liquid
{% for vuln in vulnerabilities %}
  {{ vuln.description }}
  {{ vuln.remediation }}
  {{ vuln.impact }}
{% endfor %}

The available field names depend on your vulnerability template configuration. Multilingual fields automatically resolve to the report's language.

Looping examples

liquid
{% for vuln in vulnerabilities %}
  {{ forloop.index }}. {{ vuln.title }}
  Severity: {{ vuln.severity }} — CVSS: {{ vuln.cvss.score | score }}
  {{ vuln.description }}

  {% if vuln.remediation %}
    Remediation:
    {{ vuln.remediation }}
  {% endif %}

  {% pagebreak %}
{% endfor %}

custom

Report-level custom variables defined in the template. Variable keys use dot-notation that gets converted to a nested structure.

For example, if your template defines variables with keys custom.introduction, custom.methodology.description, and custom.methodology.tools, they are accessible as:

liquid
{{ custom.introduction }}
{{ custom.methodology.description }}
{{ custom.methodology.tools }}

Custom variables support rich text (HTML content), so they can include formatted text, lists, and other HTML elements configured in the report editor.