Safeguard
Security Guides•

What security acceptance criteria belong in a client statement of work?

Testable security acceptance criteria for an agency statement of work: dependencies, access, secrets, evidence, and handover. Plain examples to adapt.

Safeguard Security Team
3 min read

Write acceptance criteria that can be checked on delivery day: lockfiles committed, a dependency inventory attached, no unresolved high severity advisories without a recorded decision, secrets stored outside the repository, named access accounts, and a handover pack. Avoid promises like "secure" that nobody can test.

This is a planning aid, not legal advice. Have counsel review contract language.

Why vague language hurts both sides

"The site will be secure" cannot be accepted or rejected. When something goes wrong, the argument is about what was meant. Criteria that name a check and an artifact leave less room for dispute, and they give the client something concrete to pay for.

Examples to adapt

AreaCriterionHow it is checked
DependenciesLockfile committed and CI installs from itLook at CI config and repo
InventoryDependency inventory or SBOM provided, dated within 7 days of deliveryFile in the handover pack
Known advisoriesNo unresolved high or critical advisories in production dependencies, or a written decision for eachScan report plus decision log
SecretsNo credentials in the repository or history; secrets in the CI secret storeSearch results and CI settings
AccessEach person has a named account with MFA, no shared loginsAccess list
PipelinesProduction deploy requires an approval stepWorkflow and environment settings
RuntimeLanguage and framework versions are supported at deliveryVersion list with support dates
LicensesLicense inventory providedFile in the pack
HandoverBuild steps tested by someone outside the teamWritten confirmation

Adjust thresholds to the project. A brochure site and a payments portal need different bars.

Define the clock

Many findings appear after delivery. State what the agency owns and for how long. Options include a warranty window for issues present at delivery, a maintenance retainer for ongoing updates, or neither, with the client taking over at handover. Write which one applies. Our post on who owns updates after launch lays out the models.

Avoid overpromising

  • "Free of vulnerabilities" cannot be proven. Use "no known unresolved advisories at the scan date."
  • "Compliant with" a framework or regulation needs a named standard and a scope. Many clients mean "aligned with".
  • "Penetration tested" means little without scope, dates and a report.

Make it testable by the client

If the client cannot verify a criterion, include how. Attach commands or screenshots in the handover pack. A criterion the client can re-run themselves builds trust.

Steps to put this in practice

  1. Start from the table and delete what does not apply.
  2. Add numbers: days, severities, counts.
  3. Name the artifact for each criterion.
  4. Agree who signs off.
  5. Review with counsel.

Quick check

Should security be a separate line item?

Often helpful. It makes the work visible and avoids it being cut first under pressure. Your commercial team decides how to price it.

What if the client refuses the criteria?

Record the refusal and the risk in writing, and keep the lighter criteria you can still deliver.

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.