Skip to main content

FedRAMP SSP Generator

Infracast automatically generates System Security Plans (SSPs) following FedRAMP and NIST 800-171 templates, pulling data directly from live infrastructure discovery and compliance assessments.

Overviewโ€‹

Writing an SSP is one of the most time-consuming parts of a FedRAMP authorization. Infracast eliminates manual narrative writing by generating implementation statements for each control family using real infrastructure data โ€” then packaging everything into a ready-to-submit compliance bundle.

What Gets Generatedโ€‹

System Security Plan Documentโ€‹

  • Cover page and metadata โ€” System name, system owner, ISSO, authorization boundary
  • Authorization boundary figure โ€” Generated from discovered configuration, showing what is inside the boundary, what is external, and every crossing (details below)
  • Table of contents โ€” Clickable entries with page numbers, computed automatically when the .docx is opened in Word or LibreOffice (no manual "Update Field" step)
  • Named responsible parties โ€” System Owner, ISSO, ISSM, Authorizing Official and AO Designated Representative are pulled from your workspace contacts registry (Settings โ†’ Contacts), along with Business and Technical POC on the cover page. Roles you have not designated render as "Not designated" rather than a placeholder, so a gap is visible before an assessor finds it.
  • System description โ€” Auto-populated from discovered assets and topology
  • 18 NIST 800-53 Control Families โ€” Per-control implementation narratives based on your actual configuration
  • Control origination โ€” Inherited, system-specific, hybrid (mapped from cloud provider shared responsibility)
  • Information types and categorization โ€” FIPS 199 impact levels

Authorization Boundary Figureโ€‹

FedRAMP SSP ยง9 and ยง10 require a diagram showing what is inside the authorization boundary, what is outside it, and every connection that crosses it. Infracast generates this figure directly from discovered configuration โ€” it is not a template you fill in.

The figure renders three groups:

  • Inside the boundary โ€” resources resolved into a discovered network zone, drawn grouped by zone.
  • External dependencies โ€” SaaS, identity providers and partner services, grouped by provider. These sit outside the boundary line.
  • Undetermined โ€” resources that could not be placed, grouped by provider and drawn explicitly.

Every edge crossing the boundary line is rendered as a boundary crossing, which is the list an assessor works through.

It tells you what it does not knowโ€‹

The undetermined group is the point, not a defect. An earlier revision counted unplaced resources in the caption and drew them nowhere โ€” a reviewer could see that 58 resources were unplaced but had no way to find out which ones. Anything not placed is now drawn and labelled.

The figure also distinguishes two situations that look identical if you render them the same way:

  • No network zone by nature โ€” an identity plane or an application-layer service that legitimately has no subnet. Labelled so it does not read as a discovery failure.
  • Zone not discovered โ€” a resource that should have a network placement where discovery did not find one. This one is a real gap worth chasing.

If a whole provider appears as unzoned, that usually means its scanner is emitting inventory without relationships. That is worth raising with us โ€” it also affects attack-path analysis, which depends on those relationships.

Provenanceโ€‹

The figure carries a provenance strip rendered inside the image, recording that it was generated from discovered configuration and when the scan ran. It is drawn inside the image deliberately, so the statement survives the figure being cropped into a slide deck or pasted into another document โ€” a diagram that has been separated from its caption should still be able to say where it came from.

tip

Generate this figure early, before an assessment rather than during one. It is the fastest way to find out that part of your estate is not being discovered the way you assumed โ€” while there is still time to fix it.

Per-Control Implementation Narrativesโ€‹

Infracast generates implementation statements for all 18 NIST 800-53 control families:

FamilyCodeExamples
Access ControlACIAM policies, role assignments, least privilege posture
Audit & AccountabilityAUCloudTrail, log retention, monitoring
Configuration ManagementCMBaseline configs, drift detection, change control
Identification & AuthenticationIAMFA enforcement, password policy, service accounts
Incident ResponseIRAlert integrations, SIEM connectivity
Risk AssessmentRAVulnerability scanning, threat intel correlation
System & Communications ProtectionSCEncryption in transit/at rest, network segmentation, DNS security
System & Information IntegritySIPatch status, malware protection, vulnerability remediation
(and 10 more families)

Narratives reference specific assets, configurations, and evidence artifacts found during discovery โ€” not generic boilerplate.

Compliance Package Export (ZIP)โ€‹

The exported ZIP contains:

  • SSP.docx โ€” Full System Security Plan
  • asset-inventory.xlsx โ€” Complete node inventory with asset types, IPs, and owner tags
  • POA&M.xlsx โ€” Open findings with remediation milestones
  • architecture-diagrams/ โ€” Authorization boundary, system boundary, network zone, and data flow diagrams (PNG, with SVG alongside)
  • evidence-bundle/ โ€” Ed25519-signed evidence artifacts for each control

Generating an SSPโ€‹

  1. Navigate to Compliance โ†’ SSP Generator
  2. Select your authorization baseline (FedRAMP Low / Moderate / High or NIST 800-171)
  3. Review pre-populated system metadata (edit any fields as needed)
  4. Click Generate SSP
  5. Download the compliance package ZIP when complete (typically 2โ€“5 minutes)

Via APIโ€‹

# Trigger SSP / compliance package generation
POST /api/v1/tenants/{tenantID}/documents/generate-package
Authorization: Bearer <token>
Content-Type: application/json

{
"baseline": "fedramp-moderate",
"system_name": "My Cloud System",
"system_owner": "Jane Smith",
"isso": "John Doe"
}

# Response includes a job_id for polling
{
"job_id": "job-abc123",
"status": "pending",
"estimated_seconds": 120
}

# Poll for completion
GET /api/v1/tenants/{tenantID}/jobs/{jobID}

# Stream job log output
GET /api/v1/tenants/{tenantID}/jobs/{jobID}/stream

# Once complete, download the document
GET /api/v1/tenants/{tenantID}/documents/{documentID}/download
API paths corrected 2026-09-14

The previously documented /api/v1/ssp/ paths do not exist. SSP generation goes through the document generation pipeline at /api/v1/tenants/{tenantID}/documents/generate-package, with job status at /api/v1/tenants/{tenantID}/jobs/{jobID}.

Supported Baselinesโ€‹

BaselineControlsUse Case
FedRAMP Low125 controlsLow-impact cloud systems
FedRAMP Moderate325 controlsMost federal cloud systems
FedRAMP High421 controlsHigh-impact / sensitive data
NIST 800-171110 practicesCUI / CMMC compliance

Compliance Mappingโ€‹

The SSP Generator is particularly relevant for:

FrameworkBenefit
FedRAMPATO package accelerator โ€” SSP is a core authorization artifact
CMMCNIST 800-171 practice implementation statements
DISA RMFSystem description and control implementation docs
NIST 800-53Per-control implementation evidence

Tips for Better SSPsโ€‹

  • Run a full discovery first โ€” The more assets Infracast knows about, the richer the narratives
  • Resolve critical findings โ€” Open findings appear in the POA&M section; fewer findings = stronger SSP
  • Tag your assets โ€” Owner, environment, and data classification tags improve the asset inventory output
  • Review narratives before submitting โ€” AI-generated text is a starting point; review with your ISSO before submission to a 3PAO