PDF ↓
Quick Startv26.07.27.1120DenseDefense · ForteFide

ForteFide Quick Start

Install, license, and run your first engagement — recon, scan, remediate, signed evidence — in about 30 minutes.

Technical scan · Free tierAuto-remediation · licensedSigned evidence package · licensedOnline license check · off by default

How to install and open the dashboard

Linuxsudo dpkg -i ForteFide_Setup_26.07.27.1120_linux.deb — native ELF, no Python runtime needed on the host
WindowsRun ForteFide_Setup_26.07.27.1120_Windows.exe as Administrator (Inno Setup wizard; installs to C:\Program Files\ForteFide)
OpenBrowse to http://127.0.0.1:5000 — first launch, set a password for the built-in ForteFideAdmin account (loopback-only; sign-in remembered 30 days)
LicenseDrag your license.key onto the LICENSE panel top-right, or use the claim link in your purchase email

1 · Pre-flight check

ForteFide runs on one machine and reaches out to your CMMC-scoped systems over SSH (Linux) or WinRM (Windows). It does not need internet connectivity once licensed.

ItemLinux hostWindows host
OSUbuntu 22.04 / 24.04, Debian 12 (or compatible)Windows 10 / 11, Server 2016–2025
RAM1 GB free1 GB free
Disk500 MB500 MB
Privilegessudo / root for installAdministrator for install
InboundTCP 5000 (loopback only)TCP 5000 (loopback only)
OutboundTCP 22 to Linux targets, TCP 5985/5986 to Windows targetsSame
The dashboard binds to 127.0.0.1:5000. Nothing is exposed to your network until you explicitly change the bind address. Browse from the same machine ForteFide is installed on.

What you should have on hand

2 · Install ForteFide

Linux (.deb)

ForteFide v26.07.27.1120 ships a single self-contained Linux .deb bundling Layer 1 airgap packages for the major distro families (Windows + RHEL + Ubuntu + Debian + SUSE + Arch). One download, every supported distro covered.

sudo dpkg -i ForteFide_Setup_26.07.27.1120_linux.deb

Outlier distros: download an expansion bundle (Debian / SUSE / Arch)

If you installed CORE and your fleet has Debian, SUSE, or Arch hosts, ForteFide detects this during recon and tells you which expansion to download.

  1. Run discovery / recon against your fleet (see §4)
  2. Visit /api/expansions/required in the dashboard, or via curl — ForteFide enumerates uncovered distros and emits exact download URLs
  3. On a connected machine, download the bundle + .sig from densedefense.com/expansions/
  4. Sneakernet to the airgapped scanner
  5. Drop the .tar.xz onto the dashboard (or POST /api/expansions/install). ForteFide verifies the Ed25519 signature locally and extracts to /opt/fortefide/packages/
  6. Re-scan; the new distro support is picked up automatically
ForteFide on the scanner never reaches densedefense.com — not for the .deb, not for the bundle, not for the license, not for updates. Your connected machine downloads; you sneakernet to the scanner. 100% standalone airgap is the canonical mode.

Windows (.exe)

Supported: Windows Server 2012 R2, 2016, 2019, 2022, 2025; Windows 10 (Pro / Enterprise); Windows 11. The .exe is Nuitka-compiled and Inno Setup wrapped, ships the full Layer 1 distro packages bundle, and has zero Python runtime dependency on the host.

Back up your license before reinstalling the .exe. Unlike Linux dpkg -i (which preserves /var/lib/fortefide during upgrade), the Windows installer is a fresh install every time — it proactively deletes any license.key from C:\ProgramData\ForteFide\, C:\Program Files\ForteFide\, and %USERPROFILE%\.fortefide\ before extracting the new build. Keep license.key off the scanner host — USB stick, password manager, wherever — before running the installer a second time.

Pre-accept the EULA (optional, Linux only)

If you're scripting the install or running it from a CI runner:

sudo mkdir -p /var/lib/fortefide
sudo bash -c 'date > /var/lib/fortefide/.eula_accepted'

Verify the service is up

# Liveness — the login page is public (no token needed); expect HTTP 200:
curl -s -I http://127.0.0.1:5000/login | head -1

# Health + version — /api/* is for automation; pass the internal API token:
TOKEN=$(sudo fortefide --show-token)
curl -s -H "X-Auth-Token: $TOKEN" http://127.0.0.1:5000/api/health
# Expect: {"status":"ok","version":"26.07.27.1120",...}

3 · Open the dashboard and activate

The dashboard is protected by a login. Every action — scan, remediate, rollback, license import — is behind it, so neither a second person on your network nor a website you happen to visit can drive ForteFide even though it's running.

From another computer. The dashboard is loopback-only, so tunnel the port over SSH first — ssh -L 5000:localhost:5000 <scanner-host> — then browse to http://localhost:5000 and sign in as ForteFideAdmin with the same password.

Without a license

Activate

Your license.key file is the literal cryptographic anchor that makes evidence verifiable — not a license number you copy somewhere. Treat it like a private key, because it is one. Three ways to activate; pick whichever matches what you got:

Verification happens locally on your machine for the file path — no outbound network call required.

License = key = proof. license.key is the trust anchor for every signed evidence package you generate — the math simply fails if it's used anywhere else. Before any uninstall, back up two things to durable storage: (1) license.key, (2) the signed evidence package(s) you need to retain. Uninstall (dpkg --remove or --purge) wipes both by design — leave-no-trace doctrine. Upgrade (dpkg -i over existing) preserves everything.

Optional: online license verification

ForteFide is offline by default. If your environment allows outbound HTTPS and you'd like the dashboard to surface license status changes from DenseDefense (cancellation, refund, warranty withdrawal), enable Online license verification in Settings.

4 · The 6-step customer journey

ForteFide is structured around a single end-to-end flow. You walk it once per engagement. Every step is reversible, and the host is left in its original state when you're done — the leave-no-trace doctrine.

#StepWhat happens
1ReconThree modes in one panel: Active Directory (LDAP query against your DC — recommended), Network Scan (CIDR probe), or Jump Host (proxy through a bastion). Results render in the same panel for review before you advance.
2PrepCreate a service account on each target and deploy a cert + SSH key. One-time use of the admin password. The click to advance from Recon is explicit ("Continue to Prepare →").
3ScanRun the 79-control technical scan over the prepared (or manually-credentialed) targets. Authenticated mode auto-flips to Certificate (Zero Trust) once Prep succeeds.
4RemediateApply automated fixes for failed controls. Smart ordering runs safe controls first, connectivity-affecting ones last.
5EvidenceBaseline is auto-collected after the first scan; after the rescan you click COLLECT FINAL EVIDENCE for the Ed25519-signed final package — SSP, POA&M, SPRS scorecard, per-control evidence, 14 family policies, and signed attestation PDFs. Sealed for C3PAO.
6Out (rollback / teardown)Rollback restores any remediated control to its baseline. No-op rollbacks (target already at baseline) are labeled "no-op" instead of "FAIL". Auto-rescan runs after rollback so the scorecard reflects current state.

Step 1 — Recon

Three discovery modes in one panel. Pick the tab that matches where your authoritative inventory lives:

TabUse whenWhat you provide
Active DirectoryYour fleet is domain-joined (the common case for any CMMC contractor). AD has the authoritative computer list.DC IP + domain name + admin username + password
Network ScanAD is not the source of truth, or you want a port-and-OS sweep across a subnet to find unmanaged endpoints.CIDR range (e.g. 10.0.0.0/24) or comma-separated host list
Jump HostTargets are behind a bastion / not directly reachable from the scanner. ForteFide tunnels discovery through SSH.Jump host address + SSH creds, then a remote CIDR or AD config to enumerate behind it

Step 2 — Prep

Prep sets up ForteFide's 3-tier auth chain on each target. ForteFide deploys all three and tries them in order on every subsequent operation, falling back automatically:

TierLinux orderWindows orderUsed when
1SSH client cert (FF CA)SSH key over OpenSSH + PowerShellDefault for all post-Prep ops
2SSH key (authorized_keys)WinRM certificate (HTTPS 5986)When the Tier-1 method is rejected
3Password (SSH)Password (WinRM NTLM)Bootstrap during Prep; fallback when 1+2 fail

Step 3 — Scan

Step 4 — Remediate

CoverageCount
Automated technical scan79 of 110
Manual attestation only (AT / PE / PS)31
Safe auto-remediation available on Linux67
Safe auto-remediation available on Windows66
Auto-remediable on both Linux and Windows51
Auto-remediable on at least one OS82

Lockout-warning controls (read carefully before clicking ACK)

Four Linux controls — SSH cipher hardening (SC.L2-3.13.8), SHA512 password hashing (IA.L2-3.5.10), password expiry (IA.L2-3.5.8), and session-locking (AC.L2-3.1.11) — could lock you out of the target if applied wrong. ForteFide pauses with a prominent modal:

If this change is made, you will lose rollback option

These four controls intentionally have no rollback path — because if they break access, ForteFide can't roll them back for you either. Read the prompt. If you're sure, click ACKNOWLEDGE. If not, skip the four and remediate them by hand later. Rollback works for every other auto-control.

Tracking remediations — the ROLLBACK button

When the journal has open entries, the topbar shows a ROLLBACK button with a count badge. Click it for a side-panel with per-target breakdown and "Rollback all" or per-target rollback. Survives restart; the count is read from the durable journal, not browser state.

Diagnosing failures — the REPORT button

The topbar REPORT button opens the Failure Report modal: every failure ForteFide has recorded (across scan, remediate, prepare, watchdog deploy) bucketed into 11 categories — timeout, ssh-fail, auth-fail, sudo-fail, command-not-found, network, layer1-missing, exit-code, permission, watchdog-deploy, license. Download as CSV. Backed by GET /api/failure-report (also reachable via the standalone lab_tools/failure_report.py without the FF service running).

Step 5 — Evidence

Step 6 — Out (rollback / teardown)

Auto-teardown is off by default. Earlier builds tore down service accounts at the end of every scan — that broke multi-target remediation. Teardown is operator-triggered: click the Teardown button, or POST /api/teardown-endpoint, when the engagement is done.
If a remediation locks you out of a host: console into the target as root (vSphere web console, IPMI, iDRAC, BMC, or physical keyboard) and run sudo /var/lib/fortefide/emergency-revert.sh. The script restores the pre-engagement snapshot ForteFide took during Prepare, reload-restarts sshd, verifies port 22 is listening, disarms the watchdog, and prints a status summary — pure POSIX shell, no ForteFide running required, no network required, no hypervisor adapter required. After SSH is back, click ROLLBACK in the dashboard to flush the journal.

5 · Reading your first scan result

When the scan finishes, the asset scorecard above the tab nav fills in. Each prepared host is one asset scorecard; the overall fleet roll-up sits across the top. These are your top-line numbers.

CardWhat it tells you
Compliance %Pass rate across the 79 scanned controls in scope for this scan. SPRS-aligned: each NOT MET deducts 1, 3, or 5 points by severity.
Controls PassedRaw count out of 110.
Total FindingsNumber of failed-control + manual-attestation rows.
Critical5-point deductions. Address these first.
High3-point deductions.
Medium1-point deductions.
LowInformational; usually no SPRS impact.

Tabs under the score cards

Scan history is in an encrypted SQLite database at /var/lib/fortefide/scans.db (C:\ProgramData\ForteFide\scans.db on Windows). Browser refresh, service restart, even reboot — everything reloads on next dashboard open.

6 · Auth tiers in plain English

Step 2 (Prep) asks how ForteFide should authenticate to your targets going forward. There are three options. Higher tier = stronger; ForteFide falls back automatically if a higher tier is unavailable on a given target.

TierMechanismWhen to useLong-term role
1Certificate (recommended)Default. Per-target 30-day cert signed by your license-derived CA.Steady-state. Auto-renews.
2SSH key (Ed25519)Cert path unavailable; legacy SSH-only targets. Steady-state fallback.
3PasswordBootstrap only — only used to install the cert + key in Step 2.Not a steady-state mode.
Tier 1 SSH cert authentication lands on 100% of supported Linux targets (Ubuntu 20/22/24, Debian 11, RHEL/Rocky/Alma/Oracle 7-9, SLES 12/15, Arch rolling, AL2023) and 100% of supported Windows targets, including Server 2012R2, 2016, 2019, 2022, 2025, Windows 10, and Windows 11. If you complete Prep and a target is still on password auth, the bootstrap didn't fully complete — re-run Prep on that target.
Tier 3 is bootstrap, not operating mode. If you finish Prep and a target is still on password auth, re-run Prep — the goal is to land every target on Tier 1 (cert) or Tier 2 (key) for steady-state scanning.

7 · Common first-timer questions

What does the Teardown button do?

It removes the ForteFide service account from every target you prepared, deletes the per-target cert directory, and closes out the local journal entries. After teardown the targets look exactly as they did before Prep — leave-no-trace, both sides of the wire.

What does the Clear History button do? (top-bar, orange)

Wipes the scanner's in-memory engagement state: scans, inventory, prepared service-account records, self-heal/watchdog state, customer-action banners, and the activity log. Your license file is preserved. Two-step confirmation; if you still have prepared endpoints out there, it'll warn you that clearing without Teardown orphans those accounts on the targets. The right rhythm is Teardown first (cleans the targets), then Clear History (cleans the scanner).

What does "verified via admin-cred fallback" mean?

After remediation, ForteFide runs a verification scan to confirm each control actually moved from NOT MET to MET. Most of the time that scan authenticates as the fortefide-svc service account. Occasionally a hardening control locks that account out for the next connection — the verification scan falls back one step and retries using the admin credential you supplied at Prepare time. The evidence package marks the affected controls as verified-via-admin-fallback so a C3PAO auditor sees the full provenance; on the dashboard the host renders with an orange border and a "Verified-by-Admin" label.

How many SSH connections does ForteFide make to each target?

One per (engagement, Linux target). The scan and the remediation engine share a single already-authenticated SSH session that covers preflight, every control executed, every post-control liveness probe, every auto-rollback, and the post-remediation verification scan. On the wire, your network team sees a single TCP connection on port 22 per target, alive for the duration of the engagement, closed at the end — this avoids tripping sshd MaxStartups, connection -rate firewall rules, and fail2ban-style IDS, and lets remediation keep working through controls that restart sshd. Windows targets currently use one WinRM session per call.

Where are the logs?

Where is my license / cert / journal data?

Who do I email for help?

How do I uninstall without losing my license?

# Back up first
sudo cp /var/lib/fortefide/license.key ~/license.key.bak
# Then upgrade in place (preserves state):
sudo dpkg -i ForteFide_Setup_<version>_linux.deb

Use dpkg -i (upgrade), not dpkg --purge, when reinstalling. Purge wipes /var/lib/fortefide and your license.key with it. The PRERM gate refuses uninstall when the journal has open entries unless you set FORTEFIDE_UNINSTALL_ACK to rollback / abandon / cancel — the leave-no-trace doctrine self-enforcing at the OS level.

My distro isn't in the supported list — what now?

ForteFide ships airgap-clean Layer 1 packages for Ubuntu 20/22/24, Debian 11/12, RHEL 7/8/9 (incl. Rocky/Alma/Oracle/CentOS), SUSE 15/16, and Windows. Amazon Linux 2023 is supported in connected-only mode (EC2 hosts always reach AWS internal repos — no Layer 1 staging needed). SUSE 12 and Arch Linux have partial Layer 1 today; install may succeed but specific controls might fall through to Customer Action Required. Email support@densedefense.com to request a thicken-up roadmap entry for your distro variant.

DDWitness upload returns 503 vault_not_configured

You haven't set the vault upload token yet. Sign in to densedefense.com, navigate to Account → Vault, copy your vault upload token, and POST it to /api/vault/configure on this scanner. DDWitness is optional — you can also skip the cloud handoff entirely and use sneakernet for evidence delivery.

DDWitness upload returns 502 vault_unreachable

Network or DNS issue between your scanner and the vault. ForteFide built the signed package locally — it's still in /tmp/fortefide_vault_upload/. Retry the POST manually, or switch to sneakernet evidence delivery for this engagement. The vault is optional; failing to reach it does not block your assessment.

My customer says they "lost their license.key" — now what?

Bad news: any signed evidence package they produced under that license is now cryptographically unverifiable. The packages still exist as files; the signature chain has no key to anchor against. DenseDefense does not escrow license files — this is doctrine, not an oversight. Restore from their backup if available. If not: import a new license and re-run the full prepare → scan → remediate → evidence cycle to rebuild the chain under the new license.

8 · Standalone / airgap operation

ForteFide is 100% standalone. No admin accounts beyond your existing bootstrap user. No outbound network. Licensing and updates are sneakernet.

License delivery via sneakernet

  1. On a connected machine (your usual office laptop), sign in to densedefense.com and download your license.key file.
  2. Copy license.key to authorized removable media (USB stick, encrypted external drive, optical media — whatever your CUI environment policy allows).
  3. On the airgapped scanner host, copy license.key to /var/lib/fortefide/license.key (Linux) or C:\ProgramData\ForteFide\license.key (Windows). Or POST it via /api/import-license.
  4. Restart ForteFide (stop and relaunch the process). License activation is fully offline — no callout to license.densedefense.com required. The Ed25519 signature is verified locally.
License = key = proof. Your license.key file is the trust anchor for every signed evidence package you produce. Back it up to durable storage outside the scanner. Lose it and your assessor cannot cryptographically verify your evidence. DenseDefense does not escrow license files.

Updates via sneakernet

  1. On a connected machine, download the new ForteFide_Setup_<version>_linux.deb (or .exe) from densedefense.com.
  2. Copy to authorized removable media.
  3. On the scanner: dpkg -i ForteFide_Setup_<version>_linux.deb (Linux) or run the installer (Windows). Existing license.key, scan history, and journal are preserved across upgrade.