SA-21: Developer Screening
To meet the sa-21: developer screening requirement, you must require screening of any developer who builds or provides the system, system component, or service you rely on, and you must be able to prove the screening happened. Operationalize SA-21 by defining “developer” in scope, setting screening criteria in contracts, verifying completion before access or delivery, and retaining evidence for assessments.
Key takeaways:
- Put screening requirements in procurement and contracting, not in a standalone security memo.
- Treat “developer” broadly: employees, contractors, and third-party developers who can affect code, builds, or delivered components.
- Evidence is the control; if you cannot show screening occurred, the control fails in an assessment.
SA-21 sits in the NIST SP 800-53 System and Services Acquisition (SA) family and targets a practical supply chain weakness: you can harden your environment and still inherit risk through the people who design, write, build, package, or maintain what you deploy. The control is framed as a requirement you impose on the “developer” of a defined scope (the parameterized object in your implementation statement), which means your main job as a CCO/GRC lead is to convert that abstract requirement into enforceable obligations and repeatable evidence.
In practice, SA-21 becomes a gating control embedded into onboarding and delivery workflows: (1) define which development roles and suppliers are in scope, (2) define what “screening” means for your risk level and legal constraints, (3) require it contractually and procedurally before access or acceptance, and (4) retain artifacts that an assessor can validate without heroic effort. This page gives requirement-level implementation guidance you can execute quickly, with an emphasis on contract hooks, workflow checkpoints, and audit-ready evidence mapped to control ownership and recurring collection 1.
Regulatory text
Excerpt (control statement): “Require that the developer of {{ insert: param, sa-21_odp.01 }}:” 2
What the operator must do with this text
The excerpt is parameterized, which means your implementation must explicitly define what {{ sa-21_odp.01 }} refers to in your environment (for example: a specific system, major application, platform service, or a class of system components). Then you must require screening of the developer for that defined scope and be able to show (a) the requirement exists, (b) it is applied consistently, and (c) exceptions are managed.
NIST’s control language is intentionally high-level; assessors will test whether your organization made the requirement concrete and enforceable 3.
Plain-English interpretation (what SA-21 means)
You must screen the people who develop what you run, including internal developers and third-party developers, to reduce the likelihood of malicious, coerced, or untrustworthy development activity entering your environment. Screening is not a single universal checklist. It is a defined set of checks and approvals that you require before a developer can:
- gain access to your code repositories, build pipelines, or deployment tooling,
- contribute code or configuration,
- deliver compiled binaries, libraries, containers, firmware, or managed services that you depend on.
The outcome you need is simple: only screened developers can develop, maintain, or deliver in-scope systems/components/services and you can demonstrate that with evidence 3.
Who it applies to
Entities
- Federal information systems and the organizations operating them.
- Contractor systems handling federal data (including service providers supporting federal programs) where NIST SP 800-53 is flowed down via contract, authorization boundaries, or program requirements 2.
Operational context (where teams trip)
SA-21 applies anywhere development activity can affect your security posture, including:
- Internal SDLC teams (app dev, platform engineering, DevOps).
- Contractors augmenting your teams with commit rights or administrative pipeline access.
- Third parties delivering software, images, appliances, or managed services where you accept releases into production.
- Outsourced development shops and “shadow” consultancies brought in by business units.
What you actually need to do (step-by-step)
Use the steps below as a build sheet for your procedure and your audit narrative.
1) Define scope for {{ sa-21_odp.01 }}
Create a short scoping statement that names:
- the system(s) or component categories in scope,
- the environments in scope (dev/test/prod, CI/CD),
- what counts as “development” (code, config, infrastructure-as-code, build/release engineering).
Artifact: SA-21 scope statement (often a section in your SSP or control implementation standard) 3.
2) Define “developer” for screening purposes
Document roles that must be screened. Include:
- employees in engineering roles,
- contractors with code or pipeline access,
- third-party personnel who build or package deliverables you ingest,
- maintainers of dependencies if you contract directly for maintenance.
Practical rule: Tie the definition to capability, not job title. If someone can change source, builds, release artifacts, or deployment configuration, treat them as a developer for SA-21.
Artifact: Role-to-screening applicability matrix.
3) Set screening criteria and decision authority
Write a “screening standard” that specifies:
- what checks are required (your organization sets these based on risk, legal, and HR constraints),
- who performs them (HR, security, third-party risk, procurement),
- who approves access if checks pass,
- who can grant exceptions and under what conditions.
Keep the standard implementable. If a check cannot be performed for a category of third party, define an alternate control (for example, reduced access, escrowed builds, increased monitoring), and require explicit risk acceptance.
Artifacts: Developer screening standard; exception process and template.
4) Embed requirements into procurement and contracting
Your screening requirement must be enforceable for third parties. Do this by:
- adding screening clauses to MSAs/SOWs for development or managed services,
- requiring the third party to attest they screen personnel assigned to your work,
- reserving audit/verification rights where feasible,
- requiring notification and re-screening triggers for personnel changes.
Artifacts: Contract clauses; third-party onboarding checklist; supplier attestations.
5) Gate access and delivery on proof of screening
Create operational “stops” that prevent work until screening is complete:
- Identity and access management: no repo/CI permissions until HR/TPRM marks screening complete.
- Vendor onboarding: no production connectivity or artifact acceptance until the supplier provides the required attestation/evidence.
- Change management: block production release approvals if the release is produced by an unscreened identity or unapproved supplier.
Artifacts: Access request workflow with screening status field; CI/CD permissioning rules; vendor intake gates.
6) Monitor continuously and manage change
SA-21 fails quietly when people rotate. Add triggers:
- new hire / contractor onboarding,
- role changes into privileged engineering roles,
- third-party staff substitutions,
- major re-scope (new system component, new build pipeline, new vendor).
Artifacts: Periodic roster reconciliation; joiner/mover/leaver controls mapped to screening.
7) Make it assessable: map ownership and recurring evidence
Assign a single control owner and define:
- what evidence is collected each cycle,
- where it is stored,
- how long it is retained per your retention policy,
- how exceptions are tracked and closed.
Daydream fits naturally here as the system of record to map SA-21 to an owner, a documented procedure, and a recurring evidence plan, so you can answer assessors without rebuilding the story each audit cycle 2.
Required evidence and artifacts to retain
Assessors look for proof that the requirement is real, applied, and repeatable. Retain:
- SA-21 implementation statement (scope, developer definition, screening approach) 3.
- Developer screening standard/procedure with decision points and exception handling.
- Access control evidence: sample tickets showing screening completed before granting repo/CI/CD/admin access (redact personal data).
- Third-party contract artifacts: executed clauses/SOW language; supplier screening attestation letters.
- Roster and reconciliation evidence: list of developers with access to in-scope repos/pipelines matched to screening completion status.
- Exception log: approved exceptions with compensating controls and expiration/closure.
- Training/communication: guidance sent to engineering leaders and procurement on screening gates.
Common exam/audit questions and hangups
Expect questions like:
- “Define {{ sa-21_odp.01 }}. Which systems/components are covered and why?” 2
- “Who qualifies as a developer? Do build engineers and release managers count?”
- “Show evidence that screening occurs before access is granted.”
- “How do you ensure contractors and third-party developers are screened?”
- “How do you handle staff rotations or vendor personnel substitutions?”
- “Where do you record exceptions, and who approves them?”
Hangup: privacy and HR constraints. You do not need to expose sensitive screening results to auditors. You do need a verifiable status, completion date, and approver trail that shows the control operated.
Frequent implementation mistakes (and how to avoid them)
- Policy-only implementation. A memo that says “we screen developers” fails if access is still granted ad hoc. Fix: hard gate IAM and vendor onboarding on screening status.
- Overly narrow developer definition. Teams exclude contractors, offshore staff, or build/release engineers. Fix: define developers by capability and access.
- No third-party flowdown. Procurement buys development services without screening clauses. Fix: add contract language and onboarding checklists.
- Evidence scattered across systems. HR has records, IAM has access, procurement has contracts, and nobody can assemble the narrative quickly. Fix: define an evidence register and recurring collection, tracked by control owner.
- Exceptions without expiration. “Temporary” becomes permanent. Fix: require time-bounded exceptions with compensating controls and re-approval.
Enforcement context and risk implications
No public enforcement cases were provided in the source catalog for this requirement, so you should treat SA-21 primarily as an assessment and authorization readiness control under NIST SP 800-53 1. The operational risk is still concrete: unscreened developers raise the likelihood of insider threats, compromised accounts in build systems, and supply chain compromise through malicious or coerced contributors. Your strongest risk reducer is consistent gating plus evidence.
Practical 30/60/90-day execution plan
First 30 days (stand up the control)
- Name the SA-21 control owner and backups.
- Define {{ sa-21_odp.01 }} scope for the systems/components under assessment.
- Publish the “developer in scope” definition and the screening standard (even if you refine later).
- Add a screening status field to access request workflows for repos and CI/CD.
- Update third-party intake checklist to require screening attestations for development suppliers.
Days 31–60 (make it enforceable)
- Insert screening clauses into contract templates for development and managed services.
- Implement IAM gates: prevent privileged engineering access until screening completion is recorded.
- Build the evidence register: what you will collect, from where, and who stores it.
- Run a one-time roster reconciliation: identify developers with access who lack a screening record; remediate via screening or access removal.
Days 61–90 (operate and harden)
- Operationalize joiner/mover/leaver triggers tied to screening and access reviews.
- Implement exception workflow with approvals, compensating controls, and closure criteria.
- Pilot an internal audit: sample access grants and third-party engagements; verify artifacts are complete and reproducible.
- Centralize control mapping and recurring evidence tracking in Daydream so SA-21 stays “on rails” through staff turnover and audit cycles 2.
Frequently Asked Questions
Does SA-21 apply to internal employees, or only third-party developers?
It applies to the “developer” of the in-scope system/component/service, which can include employees and third parties. Operationally, screen anyone who can materially affect code, builds, or releases for the scoped environment 2.
What counts as acceptable “screening” under SA-21?
NIST provides the requirement to screen, but your organization must define the screening checks and decision process based on risk and legal constraints. Document what you require, who approves it, and how you verify completion before access or acceptance 3.
How do we handle third parties that won’t share screening details?
Require an attestation of screening completion and reserve verification rights where feasible. If details cannot be shared, document an exception with compensating controls and restrict access and delivery pathways until minimum proof is met.
Do open-source contributors need to be screened?
If you are not contracting with those individuals and they are not granted access to your environments, you typically operationalize risk through component acceptance controls rather than personnel screening. If you contract for development/maintenance support, treat those assigned maintainers as developers in scope and require screening.
What evidence should we show auditors without exposing personal HR data?
Provide status-level evidence: screening completed date, approval record, and proof the access grant happened after completion. Redact sensitive fields and retain detailed HR records under appropriate confidentiality controls.
How do we keep SA-21 from becoming a one-time checklist?
Tie it to lifecycle triggers: onboarding, role changes, vendor staff substitutions, and access reviews. A recurring evidence plan, tracked by the control owner (for example in Daydream), keeps it operating instead of expiring after the first assessment 2.
Footnotes
Frequently Asked Questions
Does SA-21 apply to internal employees, or only third-party developers?
It applies to the “developer” of the in-scope system/component/service, which can include employees and third parties. Operationally, screen anyone who can materially affect code, builds, or releases for the scoped environment (Source: NIST SP 800-53 Rev. 5 OSCAL JSON).
What counts as acceptable “screening” under SA-21?
NIST provides the requirement to screen, but your organization must define the screening checks and decision process based on risk and legal constraints. Document what you require, who approves it, and how you verify completion before access or acceptance (Source: NIST SP 800-53 Rev. 5).
How do we handle third parties that won’t share screening details?
Require an attestation of screening completion and reserve verification rights where feasible. If details cannot be shared, document an exception with compensating controls and restrict access and delivery pathways until minimum proof is met.
Do open-source contributors need to be screened?
If you are not contracting with those individuals and they are not granted access to your environments, you typically operationalize risk through component acceptance controls rather than personnel screening. If you contract for development/maintenance support, treat those assigned maintainers as developers in scope and require screening.
What evidence should we show auditors without exposing personal HR data?
Provide status-level evidence: screening completed date, approval record, and proof the access grant happened after completion. Redact sensitive fields and retain detailed HR records under appropriate confidentiality controls.
How do we keep SA-21 from becoming a one-time checklist?
Tie it to lifecycle triggers: onboarding, role changes, vendor staff substitutions, and access reviews. A recurring evidence plan, tracked by the control owner (for example in Daydream), keeps it operating instead of expiring after the first assessment (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