Safeguard
Security Guides•

An ADR template with a security section you can copy

A one page architecture decision record template that adds threat, data and rollback questions so security reasoning is written down at decision time.

Safeguard Security Team
4 min read

Use a one page ADR template with the usual fields, title, status, context, decision and consequences, plus a short security section covering data touched, trust boundaries, abuse cases, and how to reverse the decision. The extra questions take five minutes and force the security reasoning into the record.

The base

The ADR community describes an architecture decision record as capturing one decision with its rationale, trade offs and consequences, and points to Michael Nygard's 2011 post as the origin of the popular format. The template below follows that spirit. The security section is our own addition, not part of any standard.

The template

Copy this into a file such as docs/adr/0007-short-title.md. Use plain text.

0007: Short title of the decision

Status: proposed | accepted | superseded by 0012 Date: YYYY-MM-DD Deciders: names or roles

Context

What problem are we solving, and what forces apply?

Decision

What are we going to do? One or two paragraphs.

Options considered

Option A: summary, main trade off Option B: summary, main trade off

Consequences

What gets easier, harder or riskier?

Security notes

Data: what data does this touch, and how sensitive is it? Trust boundaries: what crosses one, and who validates it? Abuse cases: how might someone misuse this? Failure mode: what happens when it breaks, open or closed? Dependencies: what new components or services come in? Reversal: how do we undo this, and how long would it take? Review trigger: what would make us revisit this?

How to fill the security section

Data. Name the data classes. If it is personal data, say so, since that may trigger separate obligations to check with your privacy lead.

Trust boundaries. List every place input arrives from outside your control, including other internal services you do not own.

Abuse cases. Two or three sentences. Think about an unhappy customer, a curious insider and an automated scanner.

Failure mode. Decide on purpose. OWASP's secure design guidance says systems should fail in a secure state rather than expose vulnerabilities when they malfunction.

Dependencies. Name new libraries and services. Each one is something you now have to patch and trust.

Reversal. If it is irreversible, say so, and say why that is acceptable.

Review trigger. A date, a scale threshold, or an event such as a dependency reaching end of life.

An example entry

Decision: store uploaded documents in object storage with short lived signed links.

Security notes in brief: data is customer contracts, so sensitive. The boundary is the upload endpoint, which validates type and size. Abuse case: link sharing, mitigated by short expiry. Failure mode: if the signing service fails, downloads fail closed. Reversal: moving back to database storage would take weeks. Review trigger: any change to link lifetime.

Habits that keep it alive

  • Require a record in pull requests that change a trust boundary.
  • Keep the log in the repository.
  • Number records and mark old ones superseded, never edit them.
  • Review the log each quarter and check the review triggers.

If a record accepts a risk, link to wherever you track risks, and give it an owner and an end date.

Safeguard policies and compliance evidence automation can turn some recorded decisions into enforced rules. The free scan is at gold.safeguard.sh/scan.

Quick check

Is the security section needed for every ADR?

Include it on any record that touches data, access, or external services. For purely internal choices, one line saying none apply is fine.

Who approves an ADR?

Whoever owns the area. For changes to trust boundaries, add a security reviewer.

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.