Vulnsy Docs
Reports

Narrative Sections

Narrative sections are the free-form content blocks within each report tab — scope, methodology, executive summary, and custom sections.

Narrative sections are the written content blocks inside each report tab. They provide the context around your findings — explaining what was tested, how testing was performed, and what the overall results mean.

Where Written Content Lives

A report's written content is split between report-level fields and per-tab sections:

ContentLevelPurpose
Executive SummaryReportHigh-level overview of results for non-technical stakeholders
MethodologyReportThe testing approach, tools, and standards followed (e.g., OWASP, PTES)
Additional sections (e.g. Scope)ReportDefine what was tested, exclusions, limitations — add as many as you need
Narrative sectionsTabFree-form content specific to one testing area

Custom Sections

You can add narrative sections to any tab to cover additional topics. Common examples include:

  • Testing Environment
  • Assumptions and Limitations
  • Positive Observations
  • Remediation Priorities
  • Compliance Mapping

To add a custom section, use the Add Section button within a tab. Each custom section has a title and a content area.

Editing Content

Narrative sections use a TipTap rich text editor. The editor supports:

FormattingDescription
HeadingsH1 through H6 for structuring content
Bold / ItalicEmphasis and strong emphasis
Ordered listsNumbered step-by-step lists
Unordered listsBullet point lists
TablesStructured data within narrative content
LinksHyperlinks to external resources

Content is stored as HTML internally and rendered in the exported DOCX according to your template's styling.

The rich text editor provides a visual editing experience. You do not need to write HTML directly — the editor handles formatting through its toolbar.

Search and Replace

Narrative sections are included in Vulnsy's search and replace system. This lets you use placeholder variables throughout your narrative content and replace them in bulk before export.

For example, you might write:

Testing was performed between {{start_date}} and {{end_date}} against {{target_url}}.

Then use search and replace to substitute the actual values across all narrative sections in the report at once.

Search and replace operates across all narrative sections in all tabs of the report. Double-check your replacements before exporting to make sure the correct values were applied everywhere.

How Narratives Appear in Exports

When you export a report to DOCX, narrative content is injected into the template using tags. Use the ~ prefix so the rich text renders with Word formatting:

ContentTemplate Tag
Executive Summary{~report.executiveSummary}
Methodology{~report.methodology}
Additional sections (e.g. a section titled "Scope"){~report.sections.scope}
Tab narrative sections{~sections.<slug>} inside a {#tabs} loop, or {~web.sections.<slug>} using the tab's prefix

Section slugs come from the section title, lowercased with spaces as underscores — a section titled "Testing Environment" becomes {~report.sections.testing_environment}.

Next Steps

On this page