Safeguard
Compliance•

SA-11 developer testing: what evidence to keep for an assessor

NIST 800-53 SA-11 asks developers for a testing plan, recorded results and a verifiable flaw remediation process. Here is the evidence set to keep.

Safeguard Security Team
3 min read

SA-11, Developer Testing and Evaluation, asks a developer to run an ongoing assessment plan, perform defined testing at defined depth, produce evidence of the results, implement a verifiable flaw remediation process and correct what testing finds. Keep the plan, the outputs and the fix records, all dated and linked.

What the control text requires

The Rev. 5 text asks the developer of a system, component or service, at all post-design stages of the life cycle, to:

  • develop and implement a plan for ongoing security and privacy control assessments
  • perform testing and evaluation of a defined type, at a defined depth and coverage
  • produce evidence of the execution of the plan and the results
  • implement a verifiable flaw remediation process
  • correct flaws found during testing and evaluation

The type, depth and coverage are organization-defined, so the program tells you how much is enough. SA-11 is in the moderate and high baselines, not in low.

Enhancements to know

SA-11(1), static code analysis, asks for static analysis tools to find common flaws and document the results. The discussion notes it works best early, with each code change scanned, and that evidence can include aggregate defect density for critical defect types. In the baseline profiles used for this post, no baseline selects SA-11(1). A program may add it.

The evidence set

  • Written test plan with scope and triggers. Why it matters: Shows the plan exists and is ongoing
  • Pipeline configuration. Why it matters: Shows tests run on every change, not by memory
  • Scan and test outputs with dates. Why it matters: Evidence of execution
  • Triage records. Why it matters: Shows who judged findings and how
  • Linked fix commits or pull requests. Why it matters: Shows flaws were corrected
  • Re-test results. Why it matters: Shows the fix worked
  • Exceptions with reasons and review dates. Why it matters: Shows the remediation process is verifiable

Make remediation verifiable

"Verifiable" is the key word. A person outside your team should be able to take one finding and trace it: detection, owner, change, test, closure. If any hop lives only in someone's memory, the process is not verifiable.

Use stable identifiers. A ticket number in the commit message and the pull request title does more for an assessor than a long policy document.

Common gaps

Testing happens, but outputs are not kept. Retain results for the period the program sets.

Tools run on the main branch only, so changes from feature branches are not covered.

Exceptions are accepted in chat and never recorded.

Try it yourself

Open the code scan demo and click a finding to see the location and the suggested fix. Think about which of the records above that click would create.

Click through it at your own pace, or open it full screen.

Quick check

Is static analysis mandatory under SA-11?

It is an enhancement, SA-11(1), and was not selected by the baselines checked. A program can still require it.

Who decides how deep the testing must be?

The organization or program, through the defined parameters in the control.

Safeguard's policies and gates can enforce checks on pull requests, and compliance and evidence automation stores the outputs. A free scan is at gold.safeguard.sh/scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.