grc.engineering
2026-04-12 · 6 min read · buyer guide

Why CMMC L2 breaks every general-purpose GRC platform.

If you're a DIB contractor evaluating Vanta, Drata, Hyperproof, or similar platforms for your CMMC L2 readiness, this is the honest answer: they are excellent products for their design target, which is SOC 2 and ISO 27001 programs at cloud-native SMBs. CMMC L2 is not that. Three things break the analogy.

1. Scope is the product

SOC 2 scope is declared. You write a description of the system in scope, and the auditor evaluates the controls in that scope. You can (and do) exclude the marketing website, HR tools, and the development laptop fleet.

CMMC L2 scope is mechanical. It is any asset that stores, processes, or transmits CUI, plus any asset that provides a security function to the CUI boundary. You cannot exclude a laptop by declaring it. If it touches CUI, it's in scope. If it's on the same VLAN as CUI, it's probably in scope. If it shares credentials with something in scope, it's in scope.

This is why the first artifact of a competent CMMC L2 engagement isn't a control matrix — it's an authorization boundary diagram. Every general-purpose GRC platform assumes scope is pre-declared. That assumption flips the problem.

2. Where the evidence lives

SOC 2 evidence is typically a log, a ticket, a signed policy. A GRC platform can store these happily. You upload them, they sit in the platform's SaaS, the auditor accesses the platform.

CMMC L2 evidence includes telemetry. Specifically, the DoD expects you to have detect-and-respond capability over your CUI boundary — SIEM logs, endpoint detection, incident response artifacts, forensic triage. Much of this evidence is CUI itself, or will contain CUI the moment an incident occurs.

You cannot lawfully push that evidence to a multi-tenant SaaS operated by a company that doesn't carry the CMMC L2 authorization you're trying to achieve. The platform itself becomes an unauthorized destination for CUI.

The concrete consequence: any detect/respond stack for a CMMC L2 program must run inside the client's authorization boundary. This is why our architecture deploys SOCFortress CoPilot (Wazuh + Graylog + Velociraptor + DFIR-IRIS + Shuffle) per-client inside the client's cloud, not centralized in our infrastructure. See ADR-003 for the code-verified rationale.

3. The assessor isn't interchangeable

SOC 2 auditors are interchangeable CPAs. Your GRC platform exports a report; any CPA can read it.

A C3PAO is not interchangeable. They're DoD-certified, their assessment methodology follows NIST SP 800-171A, and what they're evaluating is your SPRS score computed against 110 weighted requirements — with partial credit based on the point values in SPRS. Miss AC.L2-3.1.1 and you lose 5 points straight off 110. A GRC platform that outputs a percentage-complete dashboard doesn't help you model that.

SPRS is also not a pass/fail — your contracting officer cares about the number. DoD is moving toward minimum SPRS thresholds in contract awards. A 88 today is meaningfully different from a 102 for primes.

What a CMMC-native stack looks like instead

CapabilityGeneral GRC platformCMMC-native stack
Source of truth for controls Proprietary internal model NIST OSCAL catalogs, pinned by sha256 (see registry)
Evidence collection File upload / integrations to SaaS inbox Prowler + Steampipe against your own infrastructure, output stays in your account
Detect / respond Not offered — buy separately SOCFortress CoPilot, deployed per-client inside your boundary
SSP format Exported PDF / Word OSCAL component-definitions + GSN assurance fragments, rendered to markdown for paper review
POA&M Manually maintained list Auto-emitted from failed pipeline stages with check IDs
Drift detection Periodic audits / manual re-attestation CI gate on every commit; SSP is never more than one commit stale
Scope modeling Declared at tenant level Authorization boundary enforced by Terraform + OPA (logical isolation + policy-as-code)

When a general-purpose GRC platform is still right

We're not arguing you should never use one. Real answers, specifically:

The summary

The gap between general-purpose GRC platforms and CMMC L2 isn't control coverage — most platforms have NIST 800-171 mappings somewhere. The gap is architectural: where evidence lives, who owns the boundary, how the SSP is produced, and whether the platform itself is in scope. When those answers are "not us," you need CMMC-native tooling.

If you want to see what a CMMC-native stack looks like against your actual infrastructure, the 30-minute scan is the fastest way in.


Related: The SSP is code · OSCAL Registry · CMMC vs SOC 2 side-by-side · vs Drata