Skip to content

FRD: FedRAMP-Compliant Platform Security

FieldValue
IDFRD-SEC-001
OwnerDavid Holmes
StatusDraft
Last Updated2026-05-29
Target ReleasePlatform v1 (security baseline from day one)
TypePlatform / cross-cutting capability
ComplexityXL
Target assuranceFedRAMP High + IAL3 / AAL3 / FAL3 (highest, dial-down per deployment)
Related LinksSecurity Overview, FedRAMP, NIST 800-63 (IAL/AAL/FAL), NIST 800-53, FRD-013 (Logging), FRD-014 (Audit Log Library), FRD: OSCAL Evidence Viewer

Document Summary

This FRD defines an à-la-carte catalog of security control modules that, composed together, let the platform meet FedRAMP High (NIST 800-53 Rev 5) and the highest NIST 800-63-4 assurance levels (IAL3 / AAL3 / FAL3) from day one. Each module is independently deployable and maps to one or more NIST 800-53 control families, so a given deployment can select the subset its FIPS 199 categorization and Digital Identity Risk Management (DIRM) assessment require — Low, Moderate, or High — without re-architecting.

The design intent: build the hardest baseline once. Because FedRAMP High is a superset of SOC 2, ISO 27001, StateRAMP, and CMMC L2 controls, satisfying this FRD positions the platform to map down to any of those with evidence reuse rather than rework. See the Security framework decision guide.

Scope note: This FRD covers the technical controls the platform implements in software. FedRAMP authorization additionally requires an agency sponsor, a 3PAO assessment, and organizational/physical controls that are out of scope here (called out under Scope).


Introduction

Overview

Government and high-assurance commercial buyers gate procurement on security frameworks (FedRAMP, FISMA, StateRAMP, CMMC). Retrofitting these controls after a platform is built is expensive and slow. This FRD specifies the controls as discrete, composable modules so the platform is born compliant-capable and any control can be enabled, evidenced, and assessed on its own.

Goals

  • Provide an à-la-carte module catalog mapped to NIST 800-53 Rev 5 families.
  • Default each module to the highest assurance (FedRAMP High / IAL3 / AAL3 / FAL3), configurable down.
  • Make evidence machine-readable (OSCAL) so authorization tracks the FedRAMP 20x direction.
  • Prefer open-source, self-hostable, FIPS-validated building blocks (per procurement guidance).

Non-goals

  • Obtaining an actual ATO (process/organizational, not software).
  • Classified (IL6+) workloads.

Scope

In scope

  • Technical control modules across the high-impact 800-53 families: IA, AC, AU, SC, CM, SI, RA, CP, IR, SR, SA, PT, CA.
  • Identity assurance (IAL/AAL/FAL) implementation guidance.
  • Machine-readable (OSCAL) SSP/evidence generation.
  • Configurability of assurance level per deployment.

Out of scope

  • Authorization mechanics: agency sponsorship, 3PAO/C3PAO engagement, SAR, ATO letter.
  • Organizational/physical controls: PE (physical/environmental), most PS (personnel security) and AT (training) beyond what software enforces, facility security.
  • Non-cloud (on-prem appliance) packaging.
  • Procurement of commercial dependencies (covered in Tools and Software).

Users and Pain Points

UserPain Point
Platform engineerNo shared, pre-built control modules; reinvents auth, audit, crypto per app.
Compliance/security officerCannot produce an SSP or evidence without manual document archaeology.
CISO / Authorizing OfficialCannot tell which controls are met, partially met, or open.
Sales/GovCon leadLoses deals because the platform can’t show a credible path to FedRAMP/StateRAMP/CMMC.
3PAO assessorReceives inconsistent, prose-only evidence that’s slow to assess.

Definitions

TermDefinition
FedRAMP HighThe strictest common cloud baseline; ~410 NIST 800-53 Rev 5 controls.
FIPS 199Categorizes a system Low/Moderate/High by worst-case CIA impact.
IAL / AAL / FALIdentity proofing / authentication strength / federation strength levels (800-63-4).
FIPS 140-3Validation standard for cryptographic modules (supersedes 140-2).
OSCALNIST machine-readable format for controls, SSPs, and assessment results.
POA&MPlan of Action & Milestones — tracked remediation list.
ConMonContinuous Monitoring — ongoing scanning, POA&M, reporting.
DIRMDigital Identity Risk Management — 800-63-4’s risk-based level selection.
SBOMSoftware Bill of Materials.

Current State

The platform already has security-adjacent building blocks: a logging library (FRD-013), an audit log library (FRD-014), an authorization library, an API key manager, auth middleware + SSO, and an OSCAL evidence viewer. They are not yet composed into a coherent, level-selectable FedRAMP control set, and assurance levels (IAL/AAL/FAL) are not formalized. This FRD unifies them and fills the gaps.


Proposed Solution

A control-module catalog. Each module:

  1. Maps to one or more NIST 800-53 Rev 5 control families.
  2. Ships a highest-assurance default and a documented dial-down.
  3. Emits OSCAL implementation statements + runtime evidence for the evidence viewer.
  4. Prefers an OSS, FIPS-validated, self-hostable implementation.

Deployments compose modules to hit their target level. A profile (fedramp-low, fedramp-moderate, fedramp-high) selects the module set and configuration.


Requirements

Requirements are split into the à-la-carte Functional Requirements (the module catalog) and Non-Functional Requirements. Each functional module is independently shippable; IDs are stable for traceability into the OSCAL SSP.


Functional Requirements — the à-la-carte module catalog

Each row is a deployable module. Default = FedRAMP High / highest xAL. “Dial-down” notes the Moderate/Low relaxation.

Identity & Access (IA, AC)

IDModule800-53Highest-assurance behaviorSuggested OSS / standardDial-down
FR-IA-01Identity proofing (IAL3)IA-12Supervised in-person or supervised-remote proofing; store evidence + decisionIntegrate a proofing provider; record per 800-63AIAL2 remote proofing; IAL1 self-asserted
FR-IA-02Authentication (AAL3)IA-2, IA-2(1/2), IA-5Phishing-resistant, hardware crypto MFA only: FIDO2/WebAuthn keys, PIV/CAC. No SMS OTP.Keycloak/Authentik + WebAuthn; PIV/CAC via PKCS#11AAL2 = MFA w/ phishing-resistant option offered
FR-IA-03Federation / SSO (FAL3)IA-2, AC-14Holder-of-key assertions bound to an authenticator; OIDC/SAMLAuthentik/Authelia/Keycloak as IdPFAL2 encrypted assertion; FAL1 signed bearer
FR-IA-04Role/attribute access controlAC-2, AC-3, AC-6RBAC + ABAC; enforced least privilege; periodic access reviewAuthorization libraryFewer roles, manual review
FR-IA-05Separation of dutiesAC-5Enforced incompatible-role checks; dual control for sensitive opsPolicy in authz libraryAdvisory only
FR-IA-06Session managementAC-11, AC-12Idle lock, absolute timeout, re-auth for step-up, concurrent-session limitsBetter-Auth/Authelia session policyLonger timeouts
FR-IA-07Privileged access mgmt + break-glassAC-2(7), AC-6(5)Just-in-time elevation, recorded break-glass, no standing adminVault/Authentik + auditStanding admin w/ MFA

Audit, Monitoring & Authorization evidence (AU, CA, SI)

IDModule800-53Highest-assurance behaviorSuggested OSS / standardDial-down
FR-AU-01Tamper-evident audit loggingAU-2, AU-3, AU-9Append-only, hash-chained/signed audit events; defined schemaAudit log library (FRD-014)Standard immutable storage
FR-AU-02Log retentionAU-11≥ 1 year online + 2 years offline (FedRAMP)Loki + object storage lifecycleShorter retention
FR-AU-03Central aggregation + alerting (SIEM)AU-6, SI-4Correlate, alert on security events, anomaly detectionLoki/Grafana + rules; WazuhBasic alerting
FR-CA-01OSCAL SSP + evidence automationCA-2, CA-7Generate machine-readable SSP; collect runtime evidenceOSCAL evidence viewerManual SSP
FR-CA-02Continuous monitoring dashboardCA-7Live control status, POA&M, scan resultsGrafana + OSCAL feedPeriodic report

Data protection & cryptography (SC, MP)

IDModule800-53Highest-assurance behaviorSuggested OSS / standardDial-down
FR-SC-01Encryption in transitSC-8, SC-13TLS 1.2+ / 1.3, FIPS 140-3-validated modules, mTLS internallyTraefik/Linkerd, BoringCrypto/OpenSSL FIPSTLS 1.2, edge-only
FR-SC-02Encryption at restSC-28, SC-13FIPS 140-3 module; per-tenant keys; full-disk + field-level for sensitive dataPostgres TDE/pgcrypto, LUKSDB-level only
FR-SC-03Key & secret managementSC-12, SC-13, IA-5HSM/KMS-backed keys, rotation, no secrets in code1Password Connect / Vault + KMSManaged KMS
FR-SC-04Data classification + DLPMP-2, MP-4, SC-7Tag data by sensitivity; egress controls on classified dataCustom + policyTagging only

Boundary, configuration & integrity (SC, CM, RA, SI)

IDModule800-53Highest-assurance behaviorSuggested OSS / standardDial-down
FR-SC-05Boundary protection / segmentationSC-7WAF, default-deny network policy, microsegmentation, no flat networkKyverno + NetworkPolicy, Traefik WAFEdge firewall + segments
FR-CM-01Hardened baselines + drift detectionCM-2, CM-6CIS/DISA STIG baselines as code; detect & remediate driftKyverno, OpenSCAP, IaCCIS Level 1
FR-CM-02Change & configuration controlCM-3, CM-4All changes via GitOps + review; immutable infraArgoCD, signed commitsPR review
FR-RA-01Vulnerability scanningRA-5Monthly OS/web/DB + container + IaC scanningTrivy, OpenSCAP, ZAPQuarterly
FR-SI-01Flaw remediation SLAsSI-2High 30d / Moderate 90d / Low 180d remediation; tracked in POA&MPOA&M automationBest-effort
FR-SI-02Integrity monitoring / malwareSI-3, SI-7FIM, image signing + admission control, runtime detectionFalco, cosign + KyvernoImage scanning

Resilience & response (CP, IR)

IDModule800-53Highest-assurance behaviorSuggested OSS / standardDial-down
FR-CP-01Backup & disaster recoveryCP-9, CP-10Encrypted, tested backups; documented RTO/RPO; cross-regionVelero, pgBackRestSingle-region backups
FR-IR-01Incident responseIR-4, IR-6IR plan, US-CERT/CISA reporting within required window, runbooksGlitchTip + runbooksInternal IR only

Supply chain, SDLC & privacy (SR, SA, SI, PT)

IDModule800-53Highest-assurance behaviorSuggested OSS / standardDial-down
FR-SR-01Supply chain / SBOMSR-3, SR-4Generate + verify SBOM per build; provenance attestationSyft + cosign/SLSASBOM only
FR-SA-01Secure SDLC scanningSA-11, SI-2SAST + DAST + secret scanning + dependency review in CI, gatingCodeQL/Semgrep, gitleaks, DependabotSAST + secret scan
FR-PT-01Privacy / PII controlsPT-2, PT-3Data inventory, consent, minimization, subject-access supportConsent module (FRD), data mapInventory + notice

US-person & residency (High/IL5): sensitive deployments require US-only data residency and US-person operators — a deployment/hosting control (e.g., GovCloud boundary), noted here for completeness though it’s infra, not app code.


Non-Functional Requirements

IDRequirement
NFR-01Every module emits OSCAL implementation statements; control status is queryable as data.
NFR-02Assurance level is configuration, not a fork: fedramp-{low,moderate,high} profiles select module sets.
NFR-03All cryptography uses FIPS 140-3-validated modules in approved mode.
NFR-04Controls fail closed (deny on policy-engine or authz failure).
NFR-05Enabling/disabling a module must not require changes to unrelated modules (independence).
NFR-06Performance: control overhead (authz, audit write) budgeted and measured; no unbounded latency.
NFR-07All control changes are themselves audited (meta-audit).

API / Interface Requirements

  • A policy/profile API to query the active profile and per-control status (drives FR-CA-02).
  • Each module exposes a health + evidence endpoint consumable by the OSCAL evidence viewer.
  • Identity modules conform to OIDC / SAML 2.0 / WebAuthn / PKCS#11 standard interfaces (no proprietary auth protocol).

Design Requirements

N/A for most modules (backend/platform). The continuous-monitoring dashboard (FR-CA-02) and evidence viewer have UI — they must use @dmwd-io/design-system primitives and follow the standard nine UI states. Defer UI specifics to the OSCAL evidence viewer FRD.

Accessibility Requirements

Any control UI (dashboards, consent, login/step-up) must meet WCAG 2.2 AA and be keyboard- and screen-reader-operable — high-assurance login flows (WebAuthn, step-up) are a common a11y failure point and must be tested.

Content & Documentation Requirements

  • Each module ships a control-mapping doc (which 800-53 controls, how met) feeding the SSP.
  • The Security docs area is the human-readable companion to this FRD.

Storybook Requirements

Only UI-bearing modules (dashboard, consent, login/step-up) need stories — all nine states, axe-clean, per the design-system rules. Backend modules are out of scope for Storybook.


Testing Requirements

IDRequirement
TEST-01Each module has unit + integration tests proving the control behavior (e.g., AAL3 rejects non-phishing-resistant authenticators).
TEST-02Negative tests: controls fail closed (authz denial, expired session, untrusted assertion).
TEST-03Crypto tests assert FIPS-approved algorithms/modes only.
TEST-04CI runs the SAST/DAST/secret/dependency scans from FR-SA-01 and gates on findings per FR-SI-01 SLAs.
TEST-05OSCAL output validates against NIST OSCAL schemas.
TEST-06Profile tests: fedramp-high enables the full High module set; dial-down profiles disable the documented deltas only.

Dependencies


Risks and Tradeoffs

RiskMitigation
FedRAMP 20x is moving (rules finalize ~mid-2026).Build OSCAL-native now; treat process specifics as configurable; track fedramp.gov/20x.
FIPS 140-3 validation constrains crypto library choice and can lag.Use validated providers (BoringCrypto, OpenSSL FIPS); isolate crypto behind an interface.
IAL3 needs a proofing vendor (no pure-OSS path).Treat as a pluggable, à-la-carte module; most deployments use IAL2.
Over-building for buyers who only need SOC 2/ISO.Profiles let you ship Low/Moderate; High is opt-in. Controls map down for SOC 2/ISO evidence reuse.
Highest xAL hurts usability (hardware keys, step-up).DIRM-based per-deployment dial-down; offer multiple phishing-resistant authenticators.

Open Questions

  1. Which identity-proofing vendor for IAL3, and is IAL2 the practical default?
  2. Do we run a dedicated GovCloud boundary for High/IL5, or stay single-boundary at Moderate?
  3. Is StateRAMP/GovRAMP an early target (reuses this work) or later?
  4. Which FIPS 140-3 crypto provider becomes the platform standard?

Acceptance Criteria

  • Module catalog (Functional Requirements) implemented as independently deployable units, each with OSCAL output.
  • fedramp-high profile enables IAL3/AAL3/FAL3 and the full High control set; verified by tests (TEST-06).
  • All crypto FIPS 140-3-validated (NFR-03), proven by tests (TEST-03).
  • Controls fail closed (TEST-02).
  • OSCAL SSP generates and validates (FR-CA-01, TEST-05); status visible in dashboard (FR-CA-02).
  • Vulnerability scanning + remediation SLAs operational (FR-RA-01, FR-SI-01).
  • Each module’s control mapping documented for the SSP.

Implementation Notes

  • Sequence: start with the modules already partially built (audit, authz, SSO, OSCAL viewer), then crypto (SC), then boundary/CM, then scanning/SI, then resilience/IR, then supply chain/SDLC.
  • Express profiles and policies as code (GitOps) so the active control set is itself versioned evidence.
  • Reuse, don’t reinvent — most modules wrap an OSS tool from the procurement stack; the platform value is the composition + OSCAL evidence, not bespoke crypto.

LLM Handoff Instructions

When implementing a module: (1) read the mapped 800-53 control text and the relevant security doc; (2) implement the highest-assurance default with a config flag for dial-down; (3) emit OSCAL implementation statements + a runtime evidence endpoint; (4) write negative/fail-closed tests; (5) never hand-roll cryptography — use a FIPS-validated provider; (6) record a Decision Record for any deviation. Do not claim FedRAMP “compliance” in code/docs — say “maps to control X-NN.”


Rollout Plan

  1. Baseline (Moderate): ship the Moderate profile module set — covers most gov SaaS.
  2. High delta: add IAL3/AAL3/FAL3, stricter SC/SC-7, cross-region DR.
  3. Evidence: OSCAL SSP + ConMon dashboard.
  4. Authorization support: package for a 3PAO/agency sponsor (process, out of code scope).

Migration and Backward Compatibility

Existing apps adopt modules incrementally; default profile for legacy deployments is Moderate with a documented gap list to High. No module may break apps that haven’t opted into it (NFR-05).


Decision Log

DateDecisionRationale
2026-05-29Build to FedRAMP High as the master baselineSuperset of SOC 2/ISO/StateRAMP/CMMC L2; map down with evidence reuse.
2026-05-29À-la-carte modules keyed to 800-53 families, level by profileLets one codebase serve Low→High without forks.
2026-05-29Default to IAL3/AAL3/FAL3, dial down via DIRM800-63-4 decouples the levels; support the max, let deployments relax.
2026-05-29OSCAL-native evidence from day oneAligns with FedRAMP 20x; automates the SSP.
2026-05-29FRD only — not an ATOAuthorization needs an agency sponsor + 3PAO, out of software scope.

Document History

DateVersionChange
2026-05-290.1 (Draft)Initial à-la-carte FedRAMP-High control-module catalog.

Disclaimer. Not legal/compliance advice. Control counts, remediation SLAs, and FedRAMP 20x details are dated and cited in the Security docs; verify against fedramp.gov, NIST 800-53 Rev 5, and NIST 800-63-4 before relying on any figure. Mapping to a control is not the same as an authorization.