Safeguard
Security Guides•

What went well, what went poorly, where we got lucky: how to fill it in

The lucky section of a postmortem records near misses that saved you. Why it matters for security incidents and how to write all three sections honestly.

Safeguard Security Team
4 min read

A postmortem's lessons section has three parts: what went well, what went poorly, and where we got lucky. The lucky list matters most, because it records the defenses you did not have but did not need this time. Each luck item should become an action, or a deliberate decision to accept the risk.

Where the three headings come from

Google's example postmortems, in both the SRE book and the Workbook, use the same lessons headings: things that went well, things that went poorly, and where we got lucky. Atlassian's meeting agenda asks the same three questions: what went well, what could have gone better, and where did we get lucky.

The structure works because it separates three kinds of learning. One keeps good habits, one finds gaps, and one reveals risk that stayed hidden because nothing bad happened to land on it.

What goes in each section

SectionWhat to writeExample in a security incident
Went wellPractices and controls that helped, so you protect themThe on-call engineer revoked the credential within minutes because the runbook was current
Went poorlyGaps in detection, tooling, communication or processThe alert went to a channel nobody watched
Got luckyThings that could easily have made it worseThe attacker's token expired before the second job ran

In the Google example, the "went well" items are specific systems and behaviours, such as an automatic mitigation and a quick, cross-team response. They are not praise for individuals. The "poorly" items name missing sanity checks and missing rate limits, not people.

Why luck deserves its own heading

Luck is invisible in most reviews. If you only ask what failed, an incident that was contained by accident looks like a success. In the Workbook's bad example, the "got lucky" entry is an exclamation of disbelief. That is the wrong tone, but the right instinct: something unplanned saved the day, and it should be written up calmly with facts.

Security examples of luck:

  • The secret was exposed, but the repository was private for the one day it mattered.
  • A malicious package version was published, but your lockfile pinned an earlier version.
  • The attacker had access, but the data they reached was stale.

Each of those is a control you may want to build deliberately, so you are not depending on chance next time.

How to fill it in as a group

  1. After confirming the timeline, ask: "What do we want to keep doing?" Capture two to four items.
  2. Ask: "What slowed us down or hid the problem?" Capture gaps.
  3. Ask: "What nearly went worse, and why didn't it?" Wait through the silence. This is the hard question.
  4. For each luck item, decide: build it, monitor it, or accept it. Record which.
  5. Move chosen items into your action list with owners.

For the wider meeting, see run a post-incident review meeting without blame. For events where nothing actually happened, see near-miss reports are free incidents.

Mistakes to avoid

  • Using "went well" for individual praise. Recognition is good, but this section should name practices others can copy.
  • Skipping luck because it feels like tempting fate. The point is to stop relying on it.
  • Writing luck in dramatic language. State the fact and the risk.

How Safeguard fits

When a dependency is involved, reachability analysis can show whether a vulnerable function was actually called, which helps separate real exposure from luck. Safeguard offers it alongside SBOM and dependency scanning, and a free scan is available at https://gold.safeguard.sh/scan.

Quick check

Is a lucky escape a failure?

It is a risk that was not controlled. Treat it as a finding, and decide whether to build a control, monitor it or accept it.

Do all postmortems need all three sections?

Short ones can keep them to a line each. Skipping the luck section is the most common and costly omission.

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.