Overview
Your home base. Load scan exports, watch the readiness checklist fill in, and export every artifact from one place. Nothing leaves this machine.
HW/SW baseline listings (.xlsx/.csv/.tsv), threat-intel sheets (SASR-E and similar, .xlsx/.csv) and STIG compliance results (SCC XCCDF .xml, STIG Viewer .ckl/.cklb, or a .zip of either) can be dropped here too — all recognized automatically. Multiple files merge into one dataset.
Load a fully populated example to explore every tab, or drop in your own scan exports to begin. The setup guide is in the top bar whenever you want it.
Pre-delivery readiness check stale after days
Export everything
One package is a single .zip holding the report, every artifact, the session file,
and an index.html front page saying what each file is and who it is for — one download,
already filed. Separate files is the original behaviour: every artifact as its own download, which
your browser will ask permission for the first time.
The whole process, start to finish — read this once
1. In SecurityCenter, open Scans → Scan Results, select the completed scan, and use Download to get the .nessus file. The CSV/PDF options on the report side truncate plugin output — the Download button on scan results is the one you want. If you must use CSV, include the Plugin Output column when customizing export columns, or software detection will be empty.
2. Load one or more exports here. Hosts, open-port evidence, and installed-software evidence merge across files; re-loading a newer scan updates hosts in place without wiping your edits.
3. Fill in Enclave Settings once (registration form static fields + boundary defaults). Review the PPSM Matrix rows, exclude anything not being registered, and edit boundaries per row where needed. Review STIG Applicability auto-marks and toggle cells where the scan evidence is wrong — manual overrides show a dashed amber outline and survive re-detection.
4. Export: PPSM produces the tab-delimited .txt in the exact DoD IS Registration Form v8.0 column order (paste-ready / registry-upload format). STIG produces a CSV matching the STIG Testing Matrix layout (version header row + product row + one row per host).
5. Save session writes a JSON sidecar of everything (parsed evidence + your edits) so a half-completed matrix can be handed to a teammate and resumed. Sessions and exports inherit the banner marking from Enclave Settings.
PPSM Matrix
Every port found listening on your hosts, shaped into the DoD IS Registration layout. Exclude what you are not registering, set the boundaries, then export.
Noise filter
Windows assigns transient RPC ports from the dynamic range; those are not registrable services and typically account for most of the rows. Excluded rows stay visible and can be re-included individually.
Scope note — what this export is and is not
This tab shows what the scans can prove: ports observed listening on enclave hosts. Registration decisions — which flows cross which boundary, and what gets submitted — are an ISSM/ISSO call. Treat the export as evidence to hand up, not a finished registration. Note also that scan evidence only shows listening services; required outbound flows (NTP upstream, syslog forwarding, the vulnerability scanner reaching targets) will not appear here and still need to be accounted for.
Rows are unique protocol/port tuples evidenced by the scans (listening services + finding-attached ports). Direction evidence from network scanning is inbound-listen; boundary applicability is human judgment — set defaults in Enclave Settings and override per row. Notes are working-copy only and never exported to the registry .txt.
STIG Applicability
Which security configuration baselines (STIGs) apply to each host, inferred from the operating system and installed software the scan found.
Software Listing
A de-duplicated inventory of every product the scan found, ready to become your software baseline and approved-software list.
Scan-derived: Software Name, Version, Hosts, and inferred Vendor/Type. Enclave-constant columns prefill from Settings. Contract and budget columns (UII, FY, POP End, License, Cryptographic Hash, In Service Date, Dependencies) can't come from a scan — fill them here and they persist in the session file. Patch/KB entries are parsed out; noise-filtered entries default to excluded but stay visible under show excluded.
Changes
Diffs this cycle against a prior baseline and grades every change — new or removed software, hosts, ports, and shifted STIG applicability.
How this works
Load last month's session file as the baseline, then load this month's scans. Everything that changed shows below — new software, removed software, hosts that appeared or dropped off, newly opened ports, and STIG applicability that shifted per host. Save this month's session at the end; next month it becomes the baseline. That sequence gives you a dated change record for sustainment without maintaining anything by hand.
Asset Inventory
One row per asset — the hardware inventory. Scan-derived fields refresh every time you load new scans; everything else you fill in once and it sticks.
What belongs here, and why the manual entries matter
One row per asset. Name, IP, MAC, OS, device type, and last scan date are pulled from scan evidence and refresh each time you load new scans. Manufacturer, model, serial, location, owner, status, and criticality can't come from a scan — fill those once and they persist in the session file.
Assets that exist but never scan (powered-off spares, standalone media stations, network gear outside scan scope) won't appear on their own. Use Add asset not detected by scan so the inventory reflects reality rather than only what the scanner can see — those entries are exactly what makes the Reconciliation tab useful.
Unsupported Components
Software and operating systems past vendor end-of-support, or where the exact lifecycle date still needs confirming. Supports control SA-22.
Unsupported components (SA-22)
Software and operating systems past vendor end-of-support, or where the exact lifecycle needs confirming. Verify each against the vendor's lifecycle page before citing it in a report — LTSC/LTSB builds and ESU-covered systems have different dates than the mainstream release, and this table is a starting point rather than an authority.
Threat Intel
Fuses a threat-intelligence sheet with your scan findings, so remediation order follows real-world exploitation rather than CVSS alone.
How the fusion works, and how to teach it your sheet format
Load a SASR-E or similar cyber-threat-intel spreadsheet (.xlsx directly, or CSV/TSV). Columns are recognized automatically through the alias table in Detection Config → intelAliases — if your feed names a column differently, add the header there and re-load; no code edits. Records are fused with the CVE-bearing findings in your scans, so remediation order follows real-world exploitation (weaponization, actor use, RF risk) rather than CVSS alone. All parsing stays in your browser.
Vulnerabilities
Every severity-rated finding from the scans, grouped so one issue on thirty hosts is one row. Use the view buttons below to pivot the same data.
What is in here, and how the views differ
Every severity-rated finding from the scans — including configuration findings that carry no CVE and so never appear on the Threat Intel tab. Pivot the same dataset eight ways with the view selector above: rolled up by finding, by asset (IP Summary), flat detail list, or grouped by port, plugin family, or subnet. Filters apply across every view, and findings on an IP Summary row drills into that single host.
Where threat intel is loaded, the fused priority tier and IAVM references ride along. Age is days since the vendor published a patch (falling back to plugin publication); rows past the remediation window configured in Detection Config are marked. The POA&M draft export turns open findings into line items with the decision fields left blank for the ISSM.
Account Audit
User accounts the credentialed scans enumerated — who exists on each host, who is privileged, and which accounts sit in exception states. Supports control AC-2.
What this proves, and why it can come back empty
User accounts enumerated by credentialed scans — Windows local/domain users, group memberships, and the account-state plugin family (passwords never expire, never logged on, disabled), plus Linux user enumeration. This is scan-evidenced ground truth to reconcile against the Account Management Plan: every row here should map to an authorized account, and the flags are the exceptions worth explaining.
Scan policies must include the user-enumeration plugin families (Windows "User management" and SSH user enumeration) for this tab to populate — if it's empty on a credentialed scan, check the policy before assuming there are no findings.
STIG Compliance
Actual per-rule results from SCC or STIG Viewer checklists. Applicability says which baselines apply; this says which checks pass.
Where these results come from, and what Coverage catches
Actual per-rule assessment results from SCC (SCAP Compliance Checker) XCCDF output or STIG Viewer checklists (.ckl / .cklb), including zips of either. Where the STIG Applicability tab records which baselines apply, this records which checks pass — with V-IDs, STIG IDs, CAT severities, and CCI references carried through to the exports.
Checklists also carry the manual review results that no automated scan can produce, so a host assessed by SCC alone will show those rules as Not Reviewed until the checklist is imported. The Coverage view compares what the applicability matrix claims against what was actually assessed — a STIG that applies but was never run is invisible in either artifact alone.
Scan Health
Start here. Whether the scan actually authenticated, which policy ran, how current the plugin feed was, and when it ran — every other tab depends on these answers.
Why this tab comes first
Every other artifact in this tool rests on the scans having actually authenticated. This tab reports what the scan says about itself: whether credentialed checks succeeded, which policy ran, how old the plugin feed was, and when it ran. An assessor asking “how do you know this inventory is complete?” is asking for this page.
A host reporting Credentialed checks : no yields OS-inference findings only. Its software inventory, account data, and STIG marks are incomplete no matter how clean they look — which is exactly the failure mode this tab exists to make visible.
Control Mapping
Which NIST 800-53 controls each artifact supports, and in plain language what it demonstrates. Use this wording when you write the assessment.
What each artifact supports
Each export carries these mappings in its header so the evidence is self-labeling. Use the wording below when writing the report — it states what the artifact demonstrates, not just which control number it sits under.
Trend & Burndown
Whether the posture is actually improving. One point per assessment cycle — the question no single scan can answer.
How to rebuild history you did not track at the time
One point per assessment cycle, tracking whether the posture is actually improving: findings by severity, CAT I and open STIG findings, compliance score, and sustainment exposure. This is the view leadership asks for and that no single scan can answer.
You already save a session each cycle, so history can be rebuilt retroactively — Add from prior sessions reads any number of saved session files, extracts a metrics point from each, and leaves your current dataset untouched. Setting a baseline on the Changes tab also records a point automatically.
Reconciliation
Compares your authoritative asset list against what actually scanned, so you catch assets that failed to scan or turned up unexpectedly.
Authoritative asset inventory
Paste your asset list — one per line, or Hostname, Type, Note if you want the extra columns. A header row is ignored. This is compared against what the scans actually found.
This list should come from outside the scan data. Its value is being an independent source of truth — a list built only from scan results can never reveal an asset that failed to scan, which is the main thing worth catching. Seed from Asset Inventory gives you a starting draft to curate; once curated, maintain it deliberately rather than regenerating it. If you leave this box empty, the Asset Inventory tab is used as the authoritative side automatically.
Reports
Build one document from the compiled evidence. Pick who it is for, tick what goes in, watch the preview — then export it, or the whole evidence package as one zip.
1 — Who is this report for?
Pick a starting point, then add or drop sections below. Sections with no data drop out of the finished document on their own, so a preset that asks for more than you have still reads clean.
2 — What goes in it 0 sections
3 — Preview
The exported file is this document, standalone. It carries a print stylesheet tuned for PDF — open it and use Print → Save as PDF; the marking banner repeats on every printed page and tables never split a row across a page break.
What the four lenses are, and what each output is for
The same evidence, cut four ways for decision-makers: Quick strikes (weaponized, confirmed on the network β act this week), Low-hanging fruit (one update clears many endpoints), Engineering campaigns (OS upgrades and fleet migrations that need planning and change control), and Modernization (unsupported components as budget-line items). Repetitive endpoint work is grouped β Windows 10 upgrade × 8 endpoints β not listed host by host.
The leadership report is a self-contained HTML file (charts included, marking-banner stamped) ready to attach to an e-mail for a commander or a COO. The AI prompt package is a ready-to-paste briefing + data digest for your approved AI assistant (NIPRGPT, Ask Sage, Claude, etc.) to draft narrative game plans β the tool itself makes no network calls, ever.
Interactive view — the same lenses on screen, with host lists you can expand
Settings
The details that cannot come from a scan but appear on every export — system identity, registration-form fields, boundary defaults, and the marking banner. Fill this in once.
Environment profile reusable config
Save your Settings + Detection Config as a small JSON file (no scan data) and share it, so everyone on the team starts from the same system identity, boundaries, marking, and detection rules. Loading a profile updates configuration without touching any scans you have open.
DoD IS Registration Form — static fields (applied to every exported PPSM row)
Boundary defaults (BOUNDARY1–16, applied to new PPSM rows; override per row)
Software Listing — header block
Software Listing — row defaults (prefill new rows; "Fill empty cells" applies them retroactively)
Marking banner
Stamped on the page header and footer and at the top and bottom of every export. Set it to your system's handling marking.
Detection Config
The detection engine’s rules, in editable JSON. Tune it as STIGs release and your environment changes — no code edits, no re-download.
Field-by-field reference for every key in the JSON below
remedyWeights: how much risk one finding instance retires when its fix is applied — this is what the Remediation Plan ranks on, so an enclave tasked only on Critical/High can zero sev2/sev1 here. productAliases: merges the several ways scanners name one product (a RHEL check says firefox, the Windows plugin says Mozilla Firefox) for the Software Summary view only — the remediation plan keys on the un-aliased product, so an alias can never claim one patch covers two products that need different fixes.
catalog: master list of STIG-mapped products in export order — name, ver (STIG version shown in the header row; blank renders as ver? until you fill it from the current DISA quarterly release), active (whether it's a matrix column now), patterns (case-insensitive substrings matched against OS string + installed-software output + fired plugin names; prefix a pattern with re: to use a regular expression instead, which is how the RHEL and Windows Server entries cope with scanners reporting a version token mid-string), and optional osPatterns (OS string only). Inactive entries auto-activate the first time scan evidence hits them on any host. noisePatterns: installed-software lines to suppress from the unmapped review list. vendorRules / typeRules: first-match-wins prefill for the Software Listing's Vendor and Type columns. deviceRules: hostname-prefix → device type. listingAliases: header-name aliases for HW/SW baseline listings — add the headers your listings use and re-load, no code edits. Maintain this as STIGs release/sunset — no code changes needed.