Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Pentests

A pentest is one round of testing against one client. That might be a quarterly external assessment, an annual full-scope review, or a retest after the client fixes what you reported last time. Client work is rarely a one-off, so each round gets its own pentest record rather than being added to the last one.

Every asset, observation, finding, check and file you record belongs to exactly one pentest. That keeps each round’s results self-contained, while the organization-wide Findings and Recon pages read across all of them: what you reported last time, whether a host has been tested before, what is still open.

The list

Pentests in the top bar lists every engagement in the current organization, newest first.

The pentests list with a search box, a status filter and one row per engagement

The search box matches on code, name, scope text and notes. The dropdown next to it filters by status. Both live in the URL, so a link to a filtered view sends someone else to the same filtered view, and the browser back button does what you expect.

Creating a pentest

New pentest opens a form with a single field.

The new pentest form, with an optional name field

The name is optional. Leave it blank and press Enter for a pentest named after today’s date, which suits a recurring internal test. Type a name and the code is derived from it: “Northwind Q3 retest” becomes something like PT-2026-08-27-northwind-q3-retest.

Creating the pentest seeds the five engagement phases and wires up the check catalogue. The remaining details (code, scope, dates, status) are edited afterwards on the PT Settings page.

The engagement overview

Opening a pentest lands on Overview. This is the “where are we” page.

The engagement overview: progress, severity breakdown, next phases, recent findings, recon counts and engagement details

Findings by severity counts this engagement only, unlike the tiles on the main dashboard.

Next engagement phases lists what is still unresolved. Clicking one jumps into the workspace with that phase selected.

Engagement details shows the scope, dates and notes as entered on PT Settings.

PT Settings

The PT Settings button sits top right on every tab inside an engagement.

Pentest settings: engagement details with code, name, dates, status, scope and notes

The top card is the engagement record itself:

FieldNotes
CodeShown for reference. The code is fixed at creation because the on-disk storage path is derived from it, so the server ignores edits to this field.
NameFree text. Required.
Start / EndYYYY-MM-DD.
Statusplanned, in progress, completed, archived.
ScopeFree text. Shown at the top of the Network page and under Engagement details.
NotesAnything else about the engagement. Shared with the Notes tab.

Put the real rules of engagement in Scope: what is in, what is out, the test window, and who to call. Nothing enforces the text, but it is what a human reads before testing and what an agent sees when it reads the engagement. Machine-enforced scope is separate, set with the in-scope and out-of-scope markings on assets and IP ranges.

Below that is the Red Team Instructions override for this engagement, covered in Red Team Instructions.

Closing an engagement

Set the status to completed when the report goes out, and archived when you are done with it entirely. Archived pentests stay in the list and stay searchable; the status is a marker, not a filter that hides them.

A pentest cannot be deleted, from the panel or the API or MCP. Assets, observations and findings can each be removed individually, but the engagement record is permanent once created, so a mis-typed code or a throwaway test engagement stays in the list. Archive it.

The one thing that removes a pentest is deleting the organization it belongs to, which takes every other engagement with it. See Organizations and members.