Safeguard
Security Guides•

How do you build a security exception register for SSDF?

SSDF examples ask for a process for requirement exceptions with periodic review. A simple register template: fields, approvers and review rules.

Safeguard Security Team
3 min read

An exception register is a table of approved departures from your own security requirements, each with a reason, approver, compensating control and review date. Several SSDF examples (PO.1.2, PO.1.3, PW.1.2 and RV.2.2) call for a process to handle exceptions and review them periodically.

Where the SSDF mentions exceptions

  • PO.1.2 example: establish and follow processes for requirement exception requests, including periodic reviews of all approved exceptions.
  • PO.1.3 example: a process to address risk when third-party components do not meet your requirements, with periodic review of approved exceptions.
  • PW.1.2 examples: record rationales for approved exceptions and periodically re-evaluate them.
  • RV.2.2 example: update records of design decisions, risk responses and approved exceptions.

One register can serve all four.

Fields to include

FieldNotes
IDA stable reference
Requirement affectedWhich of your policies is not met
ScopeProduct, service or supplier
ReasonWhy it cannot be met now
Risk assessmentBrief, with exposure and impact
Compensating controlWhat reduces the risk meanwhile
Approver and dateSomeone with authority over the risk
Review dateRequired, with a maximum interval
StatusOpen, renewed, closed

Rules that keep it honest

  1. No exception without a review date.
  2. A maximum duration, so renewals need a fresh decision.
  3. The requester cannot be the sole approver.
  4. Renewals state what changed or why nothing did.
  5. Closing an exception links to the fix.

Review routine

Once a month, sort by review date and handle anything due in the next 30 days. Once a quarter, give leadership a short summary: count open, count overdue, oldest item. This also supports the leadership commitment in PO.2.3.

What buyers like to see

A register with a handful of well-documented entries is a sign of a working process. An empty register is suspicious, and an old register with expired dates is worse. Share a redacted extract when asked.

Avoid these traps

  • Verbal approvals that leave no record
  • Exceptions granted to meet a launch date that never get reviewed
  • Free-text fields that just say "business need"
  • Mixing risk acceptance for vulnerabilities with requirement exceptions and losing track of which is which

If you need both, use a type column.

Starting from nothing

If you have no register today, begin by asking each team lead for known departures from your security rules. Expect a handful. Enter them with honest reasons, even where the reason is that nobody got to it. Then assign owners and dates. Within a month you will have a register that reflects reality, and the open entries become a natural backlog for improvement.

Quick check

Is a spreadsheet enough?

Yes for a small team, if changes are tracked and access is limited. A ticket system with a label works too.

How long should an exception last?

Set a maximum in your policy that fits your risk. Many teams choose a short period for high-risk items and longer for low-risk ones.

Safeguard's policies and gates can help show where checks apply, and exceptions can be tracked alongside. The 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.