y 6.7 12.4 x

FedRAMP Class C (Moderate), drafted from your repo.

Your AWS infrastructure-as-code already holds most of the evidence. Efterlev reads your Terraform, CloudFormation, and CDK Python — classifies it against the 60 thematic Key Security Indicators — and drafts the FRMR attestations, OSCAL POA&M, and remediation diffs a 3PAO can actually use. Open source. Runs locally. Apache 2.0.

efterlev studio --live — evidence flows into the 60 KSIs as the agent classifies each one

# install (fetches Python 3.12 if needed) curl -LsSf https://docs.efterlev.org/install.sh | sh # see it now — no key, no setup efterlev studio
★ Star on GitHub Read the docs →
A 100-person SaaS company gets told by its biggest prospect: "we'll buy, but only if you're FedRAMP Class C (Moderate)." Consulting engagements start at $250K. SaaS GRC platforms cover SOC 2 beautifully and treat FedRAMP as a footnote. Efterlev is the tool a single engineer can install on a Tuesday and bring concrete results to Wednesday's standup.

Pronounced "EF-ter-lev." From Swedish efterlevnad (compliance).

How it works

Efterlev reads your AWS infrastructure-as-code in your own terms. FedRAMP 20x — the new outcome-based authorization track — replaces narrative System Security Plans with structured machine-readable data organized around 60 thematic Key Security Indicators (KSIs). KSIs are concrete things ("encrypt network traffic," "enforce phishing-resistant MFA") assessed against actual evidence, not paragraphs of intent. Efterlev classifies each KSI against your code, drafts an FRMR-compatible attestation grounded in file-and-line citations, and emits OSCAL 1.0.4 POA&M and Component-Definition exports your 3PAO can consume directly. Output is aligning toward the Security Decision Record — FedRAMP's emerging machine-readable submission artifact — as that format firms up.

What FedRAMP 20x actually grades. An assessor isn't grading a folder of config screenshots — a Terraform block on its own is just text that can be swapped out. They're confirming your process persistently verifies and validates each KSI: changes traced to approvals, who's allowed to modify what, the integrity of the code that's actually deployed, and that reality matches your IaC. The deterministic detectors are the signal, not the deliverable; the persistent-validation surface is the rest — the provenance chain (claim → file → line → commit), the change-control detectors (branch protection, required reviews, SDLC gates), continuous re-scan on every PR, and runtime-finding ingestion. Honest scope: IaC-vs-deployed-reality drift detection is on the roadmap — Efterlev ingests the runtime side today; the comparison build comes next.

Built for 20x. Not retrofitted from Rev 5. Most compliance tooling was designed for narrative SSPs and quarterly evidence packages, then bolted onto KSI workflows after FedRAMP announced 20x. Efterlev was architected for the KSI target from day one — every detector is a self-contained Python folder; every agent prompt is a plain .md file an assessor can read; the provenance chain walks back from any claim to the exact file, line, and commit. Not a Rev 5 tool wearing a 20x hat.

01 / Detectors

Deterministic, typed, self-contained. 66 of them. Read Terraform, CloudFormation, CDK Python, and GitHub Actions; emit Evidence records with file:line citations. No AI in the scanning loop.

02 / Primitives

Typed, MCP-exposed, agent-callable. Small, stable functions wrapping scan / classify / generate / validate. Drive Efterlev's own agents or any MCP-connected session.

03 / Agents

Composed, auditable, draft-only. Three agents — Gap, Documentation, Remediation — with system prompts in plain .md files. Deterministic for evidence, AI for reasoning.

See it

Studio command center — every artifact (Gap Report, 3PAO inspector, POA&M, OSCAL exports) one click from the run

Efterlev Gap Report HTML — 60 KSI classifications laid out by theme, each color-coded by status (implemented, partial, not_implemented, evidence_layer_inapplicable)

The Gap Report HTML — all 60 KSIs classified, color-coded by status, grouped by theme

What it does, what it doesn't

Does

  • Reads Terraform/OpenTofu (HCL or terraform show -json plan output), AWS CloudFormation YAML/JSON, AWS CDK Python source, and GitHub Actions workflows for control evidence
  • Classifies each KSI as implemented, partial, not_implemented, not_applicable, or evidence_layer_inapplicable — the honest answer for procedural KSIs no scanner can see
  • Scaffolds the procedural Evidence Manifests those KSIs need (efterlev manifests draft <KSI>) without fabricating the compliance claim you must own
  • Drafts FRMR-compatible attestation JSON grounded in cited evidence
  • Proposes code-level Terraform remediation diffs you can review and apply
  • Ingests runtime findings — import-security-hub / import-config / import-prowler fold AWS-native scanner output into the same provenance store
  • Generates POA&M markdown, OSCAL POA&M + Component-Definition exports, VDR entries with CVE harvesting, and a 0–100% readiness scorecard with top blockers
  • Re-runs on every save (efterlev report run --watch); drop-in GitHub Action posts sticky PR comments
  • Visualizes posture in a local browser (efterlev studio) with a live KSI map and a one-click reports panel
  • Exposes every primitive over an MCP stdio server (efterlev mcp serve) so Claude Code or any MCP client can drive the same capabilities

Doesn't

  • Produce an Authorization to Operate — humans and 3PAOs do that
  • Certify compliance — it produces drafts that accelerate the human review cycle
  • Guarantee LLM-generated narratives are correct — every claim carries requires_review: Literal[True] at the type level (not a flag, not a string)
  • Cover SOC 2, ISO 27001, HIPAA, or GDPR — different tool categories serve those well
  • Scan live cloud infrastructure — pre-deploy IaC layer only (v1.5+ territory)

Honest by design

Compliance tooling that overclaims gets thrown out by 3PAOs. Efterlev's design treats that as the hard constraint.

Why we built this

A first-time FedRAMP Class C (Moderate) authorization typically runs $500K to $700K over 12 to 18 months. Most of that is paperwork an engineering team could produce from their own infrastructure definitions if anyone had built the right tool. Efterlev removes the boilerplate so engineers and 3PAOs can focus on the parts that genuinely require their attention.

Open source because compliance tooling that overclaims gets thrown out by 3PAOs — and the only durable answer to that scrutiny is showing your work.

Articles

Notes on FedRAMP 20x, KSIs, and what it actually takes to ship a federal authorization.

17 May 2026 · Part 3 of 5

FedRAMP says your MFA probably doesn't count. Here's why.

FedRAMP requires phishing-resistant MFA — FIDO2 keys or PIV cards, not TOTP or push. Why your existing MFA likely fails the requirement, how to read any KSI for yourself, and what to do this month.

All articles →

Get involved

Apache 2.0. Detector contributions, issues, and PRs welcome at github.com/efterlev/efterlev. The detector contract is designed so adding a new one is a self-contained folder you can submit without touching the rest of the codebase. If you have run a first-time FedRAMP authorization, the most useful contribution you can make is honest feedback about where the tool fell short.