SA-15(11): Archive System or Component

SA-15(11) requires you to make the developer archive the exact system or component being released or delivered, and archive the evidence from the final security and privacy review that approved that release. Operationally, this means every release needs a versioned, retrievable “release archive package” tied to approval records and retained under controlled access. 1

Key takeaways:

  • Treat each production release as an auditable “archived deliverable” with an immutable version identifier.
  • Archive the final security and privacy review evidence with the release, not “somewhere else” without linkage.
  • Make this a release gate in CI/CD and procurement contracts, with a defined evidence bundle and retention location.

Footnotes

  1. NIST SP 800-53 Rev. 5 OSCAL JSON

Compliance teams usually fail SA-15(11) for one reason: the organization can’t reproduce what was actually shipped, and can’t prove the final security and privacy review covered that exact build. This control closes that gap. It is less about long-term backups and more about release accountability: the delivered artifact, its supporting security and privacy decision record, and a retrieval path that works under audit pressure.

If you run a federal information system or you are a contractor handling federal data, SA-15(11) shows up as a practical exam question: “Show me the released component, and show me the final security and privacy review evidence for that exact release.” The fastest way to operationalize it is to define a standard “release archive package” and make it a non-bypassable step for production releases and third-party deliveries.

This page gives requirement-level implementation guidance for the sa-15(11): archive system or component requirement, with steps, artifacts, and the failure modes auditors commonly flag.

Regulatory text

Requirement (verbatim): “Require the developer of the system or system component to archive the system or component to be released or delivered together with the corresponding evidence supporting the final security and privacy review.” 1

What the operator must do: You must (1) impose an obligation on the developer (internal engineering, a contracted integrator, or a product vendor acting as developer) to archive the release/deliverable artifact, and (2) archive the evidence that the final security and privacy review approved that release. The archive must allow you to later retrieve the exact thing delivered and the exact evidence used to approve it. 1

Plain-English interpretation

For every system or component you ship, you need a “time capsule” that contains:

  • The released artifact (or a reliable pointer to an immutable artifact in a controlled repository), and
  • The final security and privacy approval evidence tied to that same version/build.

Auditors are not asking whether you can rebuild it from source in theory. They are asking whether you can produce what you delivered and prove the final review covered it.

Who it applies to

Entity scope

  • Federal information systems implementing NIST SP 800-53 controls. 2
  • Contractor systems handling federal data, including SaaS providers, managed service providers, and product vendors delivering components into a federal environment. 2

Operational scope (where this shows up)

  • CI/CD pipelines and release management for internal development teams.
  • Third-party deliveries (COTS products, open source-based distributions, appliances, container images, IaC modules) where a supplier is effectively the “developer” of the delivered component in your environment.
  • Major configuration releases for infrastructure platforms (identity, network controls, endpoint agents) when treated as “components” delivered into production.

What you actually need to do (step-by-step)

Step 1: Define the “release archive package” standard (your minimum bundle)

Create a written standard that defines what must be archived per release. Keep it short and testable.

Recommended minimum contents

  1. Release identifier: version number + build ID + commit hash (or equivalent immutable identifier).
  2. Delivered artifact: binary, container image digest, package file, signed installer, IaC module bundle, or a controlled reference to it (with immutable addressing).
  3. Release manifest: what’s included, dependencies, SBOM if you produce one, and target environment(s).
  4. Final security review evidence: security sign-off, exceptions, risk acceptance, final vulnerability status, and gating results relevant to the release.
  5. Final privacy review evidence: privacy sign-off, DPIA/PIA linkage if applicable, data flow change review, and approved mitigations.
  6. Approver identity and date/time: who approved, in what system (ticketing/GRC), and the decision record.

This aligns directly to the requirement to archive the component “together with” the evidence supporting the final security and privacy review. 1

Step 2: Assign an owner and define trigger events (make it run without heroics)

Put one accountable owner on the hook. Common owners: Release Manager, DevSecOps lead, or Product Security.

Trigger events to capture

  • Production release
  • Customer delivery (for on-prem distributions)
  • Emergency patch release
  • Component refresh that changes security/privacy posture (for example, new data collection, new auth path)

Write these triggers into a control card so an auditor can see “when it runs” and “who runs it.” This maps to the practical expectation that teams can demonstrate ownership, operating cadence, and evidence. 1

Step 3: Implement an archive repository with immutability and access control

Pick a controlled storage location where archived packages live:

  • Artifact repository with immutable retention (common for container registries and package repos)
  • Secure object storage bucket with write-once / versioning controls
  • A controlled document repository for approval evidence, with restricted access

Operational rules

  • Only CI/CD service accounts and release managers can write archives.
  • All other access is read-only, logged, and role-based.
  • Archives must be searchable by release ID, build ID, and system/component name.

Step 4: Make archiving a release gate in CI/CD (non-bypassable)

The cleanest implementation is to automate:

  1. Build produces artifact + manifest.
  2. Security and privacy gates run (scan results, policy checks, privacy checklist).
  3. Approvals recorded (ticket/GRC workflow).
  4. Pipeline writes the release archive package and records its location back to the change/release record.
  5. Deployment proceeds only after the archive write succeeds.

For third-party deliveries, mirror the same logic as an intake gate: no deployment until you have the archived deliverable and the approval evidence package stored in your repository.

Step 5: Contract and third-party language (when the “developer” is external)

Because the text says “require the developer,” procurement and third-party risk management should backstop engineering.

Add clauses or security schedule language that requires the third party to provide:

  • The delivered build/artifact (or immutable artifact reference) and checksums/signatures.
  • The supplier’s supporting security/privacy release evidence, or enough evidence for your internal final review to be meaningful.
  • Timely delivery of artifacts so you can archive prior to release into regulated environments.

Step 6: Run control health checks (prove it works over time)

On a recurring cadence aligned to your release volume:

  • Sample recent releases and confirm each has a complete archive package.
  • Test retrieval: can you pull the exact artifact and the associated approval record quickly?
  • Track gaps to closure (missing evidence, broken links, permissions errors).

NIST doesn’t prescribe the cadence in the excerpt, but auditors will expect sustained operation, not a one-time setup. 1

Required evidence and artifacts to retain

Store evidence in a way that makes it easy to answer “show me” requests.

Evidence checklist 1

  • Archive package index/manifest (system/component, version/build ID, artifact hash/digest)
  • Artifact location and integrity proof (hash, signature verification output)
  • Final security review record (approval ticket, gate results, exception approvals)
  • Final privacy review record (approval ticket, data processing change review, accepted mitigations)
  • Change/release record linking all of the above
  • Access logs or repository audit trail showing controlled write access

Program-level artifacts

  • Control card/runbook: objective, owner, triggers, steps, exception handling
  • Evidence bundle definition (what’s “minimum,” what’s optional)
  • Retention and access policy for archives (where stored, who can access, how long retained)

If you use Daydream for GRC workflow, treat the release archive package as a required attachment set tied to the release control, with automated checks that block closure until the bundle is complete.

Common exam/audit questions and hangups

What auditors ask

  • “Show me the archived artifact for the last release and prove it matches what was deployed.”
  • “Where is the final security review evidence, and how does it map to this version?”
  • “Who approved privacy for this release, and what changed in data processing?”
  • “Can you retrieve the archive without special tribal knowledge?”

Hangups that stall reviews

  • Approvals exist, but not tied to a specific build ID.
  • Artifacts are retained, but security/privacy evidence is in email or chat.
  • Evidence exists, but access is too open (any engineer can overwrite archives).
  • The archive is “in the pipeline logs,” not stored as a durable record.

Frequent implementation mistakes and how to avoid them

  1. Archiving source code instead of the delivered artifact

    • Fix: archive the exact binary/image/package (or immutable digest reference) that was released, not just a repo tag.
  2. Storing security evidence separately with no linkage

    • Fix: require a single release archive index that contains the approval record IDs and artifact hashes.
  3. Treating “final review” as informal

    • Fix: define what “final security and privacy review evidence” means in your environment (ticket states, approver roles, required checks).
  4. Allowing mutable storage

    • Fix: enforce immutability through repository controls (append-only, versioning, restricted write permissions).
  5. Ignoring third-party developers

    • Fix: make archive deliverables a contract requirement and a deployment gate for supplier components.

Enforcement context and risk implications

No public enforcement cases were provided in the source catalog for SA-15(11), so this page focuses on audit and diligence expectations rather than penalties.

Why auditors care anyway

  • Without an archive, you cannot prove what code ran when an incident occurred.
  • Without mapped security/privacy evidence, approvals look retroactive or incomplete.
  • In federal and regulated customer environments, this often becomes a condition for ATO packages and continuous monitoring narratives because it supports traceability and accountability. 2

A practical 30/60/90-day execution plan

First 30 days (foundation)

  • Write the SA-15(11) control card: owner, triggers, step-by-step runbook, exception rules. 1
  • Define the minimum release archive package and publish it as an engineering standard. 1
  • Select the archive location(s) and set access controls for write/read roles.

Days 31–60 (implementation)

  • Add CI/CD automation to generate the archive package index and store artifacts immutably.
  • Update change management to require archive location + approval IDs before release closure.
  • For third-party components, update intake checklists and procurement templates to require deliverable artifacts and supporting evidence.

Days 61–90 (operationalize)

  • Run a control health check on recent releases; document gaps and remediate to closure. 1
  • Train release managers and security/privacy approvers on the “evidence that counts.”
  • Add dashboards or simple reports: releases missing archive bundle, broken links, missing approvals.

Frequently Asked Questions

Does SA-15(11) require archiving the entire system every time, or just the component being released?

It requires archiving “the system or system component to be released or delivered,” so scope it to what you actually ship in that release. If your release is a component, archive that component artifact plus the final review evidence tied to it. 1

What counts as “evidence supporting the final security and privacy review”?

Evidence is whatever your organization uses to approve release risk: completed gates, scan outputs, exception approvals, and the approver’s recorded decision. The key is that it is final, attributable to a person/role, and tied to the specific build/version. 1

Can we store artifacts in our container registry and store approvals in our GRC tool, or must it be a single archive file?

You can separate storage if the linkage is durable and unambiguous (artifact digest/hash referenced in the approval record, and approval record ID referenced in the archive index). Auditors care about retrieval and traceability, not file format. 1

How do we handle emergency patches where approvals happen fast?

Predefine an emergency path that still produces the same archive bundle, even if approvals are streamlined. If you allow exceptions, document the exception rule and require after-the-fact completion of missing evidence with explicit approval. 1

Does this apply to SaaS where customers never receive a “delivered component”?

Yes. Your “delivered component” is the production-deployed build. Archive the deployed artifact (or immutable reference) and keep the final security/privacy approval evidence for that deployment. 1

What’s the fastest way to prove this control in an audit?

Pick a recent release and produce a single packet: artifact identifier (hash/digest), archive location, final security approval record, final privacy approval record, and the change/release ticket linking them. Then demonstrate retrieval on the spot. 1

Footnotes

  1. NIST SP 800-53 Rev. 5 OSCAL JSON

  2. NIST SP 800-53 Rev. 5

Frequently Asked Questions

Does SA-15(11) require archiving the entire system every time, or just the component being released?

It requires archiving “the system or system component to be released or delivered,” so scope it to what you actually ship in that release. If your release is a component, archive that component artifact plus the final review evidence tied to it. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

What counts as “evidence supporting the final security and privacy review”?

Evidence is whatever your organization uses to approve release risk: completed gates, scan outputs, exception approvals, and the approver’s recorded decision. The key is that it is final, attributable to a person/role, and tied to the specific build/version. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

Can we store artifacts in our container registry and store approvals in our GRC tool, or must it be a single archive file?

You can separate storage if the linkage is durable and unambiguous (artifact digest/hash referenced in the approval record, and approval record ID referenced in the archive index). Auditors care about retrieval and traceability, not file format. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

How do we handle emergency patches where approvals happen fast?

Predefine an emergency path that still produces the same archive bundle, even if approvals are streamlined. If you allow exceptions, document the exception rule and require after-the-fact completion of missing evidence with explicit approval. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

Does this apply to SaaS where customers never receive a “delivered component”?

Yes. Your “delivered component” is the production-deployed build. Archive the deployed artifact (or immutable reference) and keep the final security/privacy approval evidence for that deployment. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

What’s the fastest way to prove this control in an audit?

Pick a recent release and produce a single packet: artifact identifier (hash/digest), archive location, final security approval record, final privacy approval record, and the change/release ticket linking them. Then demonstrate retrieval on the spot. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)

Operationalize this requirement

Map requirement text to controls, owners, evidence, and review workflows inside Daydream.

See Daydream