PS.1.1 Protect All Forms of Code from Unauthorized Modification
Apply controls to source code, infrastructure as code, and build scripts so that only authorized contributors can change them and all changes are reviewed and logged. Protect main branches and require pull request reviews.
Source: NIST SP 800-218 (SSDF), PS.1.1. The statement above is our statement of the clause, read from the published text and cited so you can check it against the official text, not the instrument verbatim. Open NIST SP 800-218 (SSDF) in the compliance library.
These are the artefacts auditors commonly ask for on this requirement, our guidance rather than text from the standard. Your assessor decides what is sufficient in your context, and asks for samples across the period when a report covers one.
system holds itEvidence a system already holds
- Branch protection configuration · Cloud console / configuration management
- Audit log retention for source control · SIEM / log platform
periodic reviewEvidence produced at each review
- Code review policy and tool enforcement · Source control / CI pipeline
governing documentDocuments that govern the control
- Exception register for direct pushes · Policy repository / GRC workspace
First move
Common gaps auditors find
- main branch protection disabled in many repositories
- code review can be self approved
- audit logs lost when repositories migrate
Do this for your whole sheet
Paste the rows you run your controls from and get this mapping for every control at once, with the periodic-review ones flagged and a first move per row. No account for the first run.
Build my evidence sheetPO.5.2 Harden Development Endpoints · PS.2.1 Provide a Mechanism for Verifying Software Release Integrity