{"id":79546,"date":"2026-10-28T06:32:33","date_gmt":"2026-10-28T06:32:33","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=79546"},"modified":"2026-10-28T06:32:35","modified_gmt":"2026-10-28T06:32:35","slug":"cmmc-for-defense-suppliers-understand-fci-cui-assessment-levels-and-the-evidence-you-actually-need","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/cmmc-for-defense-suppliers-understand-fci-cui-assessment-levels-and-the-evidence-you-actually-need\/","title":{"rendered":"CMMC for Defense Suppliers: Understand FCI, CUI, Assessment Levels, and the Evidence You Actually Need"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A manufacturer bids on a U.S. defense contract and receives controlled engineering drawings. The drawings are not necessarily classified, but disclosure or tampering could still create major risks. The company cannot decide its cybersecurity obligations by installing a firewall and declaring itself &#8216;mature.&#8217; Its obligations come from the&nbsp;<strong>contract<\/strong>, the information involved, and the applicable federal cybersecurity requirements.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<strong>Cybersecurity Maturity Model Certification (CMMC)<\/strong>&nbsp;program is the U.S. Department of Defense&#8217;s assessment model for safeguarding Federal Contract Information (FCI) and Controlled Unclassified Information (CUI) in the defense industrial base. Despite its name, the current program&#8217;s three levels are&nbsp;<strong>sets of defined safeguarding and assessment obligations<\/strong>, not a generic five-step enterprise process maturity model.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Read this status note before planning an assessment<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Department announced on&nbsp;<strong>July 13, 2026<\/strong>&nbsp;that it had suspended&nbsp;<strong>Phase II CMMC implementation<\/strong>, previously scheduled to begin November 10, 2026.&nbsp;<strong>Phase I self-assessment requirements remain in place.<\/strong>&nbsp;The Department also initiated a review of the program. The suspension does not remove underlying contractual information-protection requirements, including applicable DFARS safeguarding provisions and NIST SP 800-171 obligations. Verify the latest agency guidance, solicitation language, contract modifications, and instructions before claiming that a specific third-party assessment is currently mandatory or waived.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This distinction is essential: the&nbsp;<strong>CMMC three-level model<\/strong>&nbsp;remains important for understanding security expectations, but the&nbsp;<strong>rollout phase and currently enforceable assessment form<\/strong>&nbsp;depend on up-to-date agency action and the contract.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Understand FCI and CUI first<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Federal Contract Information (FCI)<\/strong>&nbsp;is information provided by or generated for the government under a contract to develop or deliver a product or service, not intended for public release, within the regulatory definition and its exclusions.&nbsp;<strong>Controlled Unclassified Information (CUI)<\/strong>&nbsp;is information subject to specific safeguarding or dissemination controls under applicable government authority and marking\/handling rules. Do not guess that every internal document is CUI or that anything without a banner is safe to disclose. Work with your contract owner and the information owner to determine status.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Program level<\/th><th class=\"has-text-align-left\" data-align=\"left\">Underlying requirements<\/th><th class=\"has-text-align-left\" data-align=\"left\">General focus<\/th><\/tr><\/thead><tbody><tr><td>CMMC Level 1<\/td><td>15 safeguarding requirements drawn from FAR 52.204-21<\/td><td>Basic protection of FCI<\/td><\/tr><tr><td>CMMC Level 2<\/td><td>110 requirements from NIST SP 800-171 Revision 2 in the CMMC assessment model<\/td><td>Protection of CUI<\/td><\/tr><tr><td>CMMC Level 3<\/td><td>24 selected NIST SP 800-172 requirements in addition to Level 2&#8217;s 110<\/td><td>Enhanced protection for especially sensitive circumstances<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The original assessment design included Level 1 annual self-assessment, Level 2 self-assessment or third-party assessment depending on the contract, and Level 3 government-led assessment.&nbsp;<strong>Do not copy the original implementation schedule into a current compliance plan without accounting for the suspension.<\/strong>&nbsp;DoD guidance has permitted certain organizations to implement NIST SP 800-171 Revision 3 while CMMC assessment mapping continues to reference Revision 2 under applicable transition instructions. Confirm the required baseline and any organization-defined parameters in official guidance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Think in terms of a protected information enclave<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A contract may require a specific safeguard for the systems that process covered information. A small supplier can reduce unnecessary exposure by determining where FCI\/CUI are received, stored, processed, discussed, backed up, and transmitted. The environment could include engineering workstations, identity providers, file sharing, cloud systems, email, printers, remote support, contractors, and subcontractors.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Controlled exchangesGovernment \/ prime contractorAuthorized information intakeDefined FCI\/CUI environmentApproved engineering workstationsApproved storage and backupsIdentity, access, audit controlsAuthorized subcontractor flowdownExternal providers under contractual requirements<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The drawing is illustrative, not a CMMC-approved architecture. System boundaries should be established using the applicable official scoping guidance and information flows; real-world assets may be categorized differently based on their roles and security effects.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A step-by-step implementation approach<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1. Identify contractual requirements<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Review FAR\/DFARS clauses, contract statements, flowdown obligations, government marking instructions, and the current CMMC status required for the bid or performance. Assign a contract owner to document interpretation. Never assume one customer&#8217;s requirements apply to every contract.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2. Inventory covered information and assets<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Classify information according to authoritative instructions. Diagram entry and exit points, authorized users, local and cloud storage, email attachments, engineering systems, and external service providers. Identify where sensitive data can be replicated into backups, logs, support tools, endpoints, and unmanaged collaboration spaces.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3. Build the System Security Plan (SSP)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">An SSP explains the covered system&#8217;s boundary, environment, connections, owners, applicable safeguards, and how each security requirement is implemented. Avoid a generic &#8216;NIST compliant&#8217; statement. A useful entry names the tool, responsible owner, configuration standard, actual activity, and evidence.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example (synthetic, not an official template):<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">system: northstar-defense-engineering-enclave\n<span class=\"hljs-attr\">information<\/span>: example-controlled-engineering-content\n<span class=\"hljs-attr\">boundary<\/span>:\n  - managed-engineering-workstations\n  - approved-project-storage\n  - enterprise-identity-service\n  - protected-backup-system\n<span class=\"hljs-attr\">control_example<\/span>:\n  topic: unique-user-identification\n  <span class=\"hljs-attr\">owner<\/span>: identity-team\n  <span class=\"hljs-attr\">implementation<\/span>: individual-accounts-<span class=\"hljs-keyword\">with<\/span>-managed-authentication\n  <span class=\"hljs-attr\">evidence<\/span>:\n    - approved-account-roster\n    - current-identity-configuration\n    - recent-offboarding-records\n<span class=\"hljs-attr\">assessment_status<\/span>: evidence-review-required\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Step 4. Implement safeguards and collect evidence<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Map every applicable requirement to a current implementation and an authorized test. Common workstreams include identity and access control, MFA where applicable, endpoint hardening, audit logs, incident response, configuration management, physical security, media protection, training, risk assessment, system integrity, and secure communications.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A requirement is not met simply because the policy mentions it. Establish operating procedures, configuration evidence, approvals, and regularly tested outcomes. Ensure evidence storage itself meets contractual handling restrictions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5. Assess honestly and manage deficiencies<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use the applicable DoD assessment guide and methodology for the required program level. Validate requirement assessment objectives with evidence and authorized tests. Plans of Action and Milestones (POA&amp;Ms) have&nbsp;<strong>restricted uses and conditions<\/strong>&nbsp;under CMMC; Level 1 does not permit POA&amp;Ms for its final status. Do not treat unresolved deficiencies as permissible solely because a ticket exists.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Where applicable, ensure assessment results, organizational affirmations, and submission to the&nbsp;<strong>Supplier Performance Risk System (SPRS)<\/strong>&nbsp;follow current official instructions. Do not invent or casually estimate an SPRS score; use the prescribed scoring methodology and assessment process.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6. Verify cloud and subcontractor obligations<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cloud contracts need particular attention. For covered defense information under DFARS 252.204-7012, relevant external cloud providers must meet the contract&#8217;s FedRAMP Moderate-equivalent security requirement and incident-reporting-related conditions. A marketing statement such as &#8216;hosted on a major cloud&#8217; is not enough to establish every contractual obligation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Obtain provider security evidence, define inherited and shared controls, and ensure flowdown of necessary protection and reporting requirements to relevant subcontractors. Check the precise obligations of your contract and the services actually used.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hands-on lab: Find missing evidence without touching real CUI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use the synthetic&nbsp;<code>cmmc_evidence_lab.py<\/code>&nbsp;file below. It checks whether representative requirements have named owners, documented implementation, and evidence references. It does not compute an official CMMC or SPRS score.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">requirements = &#91;\n    {<span class=\"hljs-string\">\"id\"<\/span>: <span class=\"hljs-string\">\"training-01\"<\/span>, <span class=\"hljs-string\">\"owner\"<\/span>: <span class=\"hljs-string\">\"HR\"<\/span>, <span class=\"hljs-string\">\"implementation\"<\/span>: <span class=\"hljs-keyword\">True<\/span>, <span class=\"hljs-string\">\"evidence\"<\/span>: &#91;<span class=\"hljs-string\">\"training-records\"<\/span>]},\n    {<span class=\"hljs-string\">\"id\"<\/span>: <span class=\"hljs-string\">\"accounts-01\"<\/span>, <span class=\"hljs-string\">\"owner\"<\/span>: <span class=\"hljs-string\">\"IAM\"<\/span>, <span class=\"hljs-string\">\"implementation\"<\/span>: <span class=\"hljs-keyword\">True<\/span>, <span class=\"hljs-string\">\"evidence\"<\/span>: &#91;]},\n    {<span class=\"hljs-string\">\"id\"<\/span>: <span class=\"hljs-string\">\"incident-01\"<\/span>, <span class=\"hljs-string\">\"owner\"<\/span>: <span class=\"hljs-string\">\"Security\"<\/span>, <span class=\"hljs-string\">\"implementation\"<\/span>: <span class=\"hljs-keyword\">False<\/span>, <span class=\"hljs-string\">\"evidence\"<\/span>: &#91;]},\n]\n\n<span class=\"hljs-keyword\">for<\/span> item in requirements:\n    complete = bool(item&#91;<span class=\"hljs-string\">\"owner\"<\/span>] <span class=\"hljs-keyword\">and<\/span> item&#91;<span class=\"hljs-string\">\"implementation\"<\/span>] <span class=\"hljs-keyword\">and<\/span> item&#91;<span class=\"hljs-string\">\"evidence\"<\/span>])\n    <span class=\"hljs-keyword\">print<\/span>(f<span class=\"hljs-string\">'{item&#91;\"id\"]}: {\"review-ready\" if complete else \"gap to investigate\"}'<\/span>)\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Run&nbsp;<code>python3 cmmc_evidence_lab.py<\/code>&nbsp;or&nbsp;<code>py -3 cmmc_evidence_lab.py<\/code>. The account and incident samples should be flagged. Next, assign an owner and an evidence artifact without putting actual government information into this training folder.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For a real program, replace placeholder labels with exact requirement and assessment-objective identifiers from the applicable official guide.&nbsp;<strong>Evidence completeness is not equivalent to passing an assessment objective.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Audit readiness and operational discipline<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Assessment artifact<\/th><th class=\"has-text-align-left\" data-align=\"left\">Why it matters<\/th><\/tr><\/thead><tbody><tr><td>Contract and information-classification analysis<\/td><td>Determines actual obligations<\/td><\/tr><tr><td>Current scoping and data-flow diagrams<\/td><td>Supports defensible assessment boundary<\/td><\/tr><tr><td>System Security Plan<\/td><td>Explains safeguards as implemented<\/td><\/tr><tr><td>Requirement-to-evidence matrix<\/td><td>Demonstrates implementation and testing links<\/td><\/tr><tr><td>POA&amp;M records where permitted<\/td><td>Tracks deficiencies within applicable limits<\/td><\/tr><tr><td>Incident response and provider records<\/td><td>Supports safeguarding and reporting duties<\/td><\/tr><tr><td>Current official assessment and affirmation status<\/td><td>Prevents outdated award representations<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A well-maintained program includes vulnerability management, user offboarding, identity reviews, incident practice, secure configuration changes, and supplier oversight after the assessment window. Protecting CUI is a continuing contractual responsibility, not merely a paperwork milestone.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mistakes defense suppliers must avoid<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Assuming the suspension of Phase II eliminates data protection requirements.<\/li>\n\n\n\n<li>Confusing FCI and CUI, or making unsupported classification assumptions.<\/li>\n\n\n\n<li>Scoping out email, support, backups, and cloud services without information-flow analysis.<\/li>\n\n\n\n<li>Using an ordinary commercial cloud claim as proof of DFARS cloud compliance.<\/li>\n\n\n\n<li>Treating an SSP as the implementation itself.<\/li>\n\n\n\n<li>Submitting unsupported affirmation or scoring statements.<\/li>\n\n\n\n<li>Uploading actual CUI to unapproved AI, collaboration, or audit platforms.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Knowledge check<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong>&nbsp;How many requirements underlie CMMC Level 2 in the current three-level model?&nbsp;<strong>A:<\/strong>&nbsp;110 from NIST SP 800-171 Revision 2, subject to applicable transition instructions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong>&nbsp;Did the July 2026 suspension remove Phase I self-assessments?&nbsp;<strong>A:<\/strong>&nbsp;No.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q:<\/strong>&nbsp;Can a company claim a requirement is met just because a POA&amp;M lists it?&nbsp;<strong>A:<\/strong>&nbsp;No. CMMC limits POA&amp;M use and requires applicable assessment and closeout conditions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Official references<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DoD CMMC program and current updates:\u00a0<a href=\"https:\/\/dodcio.defense.gov\/CMMC\/\">https:\/\/dodcio.defense.gov\/CMMC\/<\/a><\/li>\n\n\n\n<li>DoD CMMC model resource:\u00a0<a href=\"https:\/\/dodcio.defense.gov\/Portals\/0\/Documents\/CMMC\/CMMC-101-202509.pdf\">https:\/\/dodcio.defense.gov\/Portals\/0\/Documents\/CMMC\/CMMC-101-202509.pdf<\/a><\/li>\n\n\n\n<li>DoD CMMC frequently asked questions:\u00a0<a href=\"https:\/\/dodcio.defense.gov\/Portals\/0\/Documents\/CMMC\/CMMC-FAQsv3.pdf\">https:\/\/dodcio.defense.gov\/Portals\/0\/Documents\/CMMC\/CMMC-FAQsv3.pdf<\/a><\/li>\n\n\n\n<li>DoD CMMC Level 3 assessment guidance:\u00a0<a href=\"https:\/\/dodcio.defense.gov\/Portals\/0\/Documents\/CMMC\/AssessmentGuideL3v2.pdf\">https:\/\/dodcio.defense.gov\/Portals\/0\/Documents\/CMMC\/AssessmentGuideL3v2.pdf<\/a><\/li>\n\n\n\n<li>FAR and DFARS clauses:\u00a0<a href=\"https:\/\/www.acquisition.gov\/dfars\/252.204-7012-safeguarding-covered-defense-information-and-cyber-incident-reporting\">https:\/\/www.acquisition.gov\/dfars\/252.204-7012-safeguarding-covered-defense-information-and-cyber-incident-reporting<\/a>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Use the current official agency communications and contract clauses as the primary authority for program status. This educational article is not a legal opinion, an assessment, or a certification.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A manufacturer bids on a U.S. defense contract and receives controlled engineering drawings. The drawings are not necessarily classified, but disclosure or tampering could still create major&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[11138],"tags":[],"class_list":["post-79546","post","type-post","status-publish","format-standard","hentry","category-best-tools"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/79546","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=79546"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/79546\/revisions"}],"predecessor-version":[{"id":79547,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/79546\/revisions\/79547"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=79546"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=79546"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=79546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}