Tabletop After-Action Report (K5)¶
Structured output of one tabletop exercise. The facilitator fills this in the last few minutes of the session (see
facilitation-guide.md§6) and files it. It is shaped to seed aK4post-incident review: the sections below map ontoK4's blameless-PIR structure (summary · timing · timeline · contributing factors · action items · lessons), so any trackable finding can be filed as an issue through the sameE7ticketing bridgeK4uses (apps/post-incident-review/).Copy this file per run to e.g.
after-actions/<YYYY-MM-DD>-<scenario>.md. A tabletop with no filed after-action is the anti-patternK4exists to kill.
Header¶
| Field | Value |
|---|---|
| Scenario | <account-compromise / ransomware / data-exfiltration / ddos / vendor-breach> |
K1 runbook exercised |
<../incident/<RUNBOOK>.md> |
| Date / time (UTC) | <YYYY-MM-DD HH:MM> |
| Facilitator | <name> (owner: CO) |
| Participants (role — name) | <IC — …, On-call — …, SME — …, Comms — …> |
| Difficulty | <standard / +curveballs> |
| Rubric total | <n>/20 |
1. Summary¶
<2–3 sentences: what scenario was run, how the team performed at a high level,
and the single most important takeaway. Blameless — describe the system/runbook,
not individuals. This maps to a K4 PIR "summary".>
2. Timing (rehearsal clock)¶
These are exercise times (when the team reached each phase against the inject clock), not a real MTTR — but they map to
K4's timing fields and show where the response dragged.
| Milestone | Inject T+ | Reached at (exercise) | Notes |
|---|---|---|---|
| Detection / triage (Identification) | 0 min | <…> |
<…> |
| First containment action | <…> |
<…> |
<…> |
| Scope understood (Eradication) | <…> |
<…> |
<…> |
| Recovery decision | <…> |
<…> |
<…> |
| Post-incident / all-clear | <…> |
<…> |
<…> |
3. What went well¶
Practices to reinforce. Be specific.
<…><…>
4. Gaps found¶
The core output. Every "the runbook didn't say", "we assumed", "we couldn't find", or "we ran out of time on X". Cite the runbook phase/step. These become
K4contributing factors and feed the action items below.
| # | Gap (what failed / was missing) | Runbook step / phase | Severity (H/M/L) |
|---|---|---|---|
| 1 | <…> |
<e.g. compromise.md Containment §2> |
<…> |
| 2 | <…> |
<…> |
<…> |
| 3 | <…> |
<…> |
<…> |
5. Improvement / action items¶
Concrete, owned, dated. Destination says where it lands: a
K1runbook edit, aK3SOAR playbook change, a comms-template fix, an access/RBAC change, or a trackedK4issue. These map 1:1 onto aK4PIR's action-item checklist.
| # | Action item | Owner | Due | Destination | Tracked issue (K4/E7) |
|---|---|---|---|---|---|
| 1 | <…> |
<name> |
<YYYY-MM-DD> |
<K1 edit / K3 / comms / RBAC / K4> |
<issue link or "to file"> |
| 2 | <…> |
<name> |
<YYYY-MM-DD> |
<…> |
<…> |
| 3 | <…> |
<name> |
<YYYY-MM-DD> |
<…> |
<…> |
6. Lessons learned¶
<Narrative: what this rehearsal told us about our IR readiness for this incident
class. What surprised us. Whether the runbook, K2 paging, K3 automation, and comms
plan are actually adequate. This maps to a K4 PIR "lessons" section.>
7. Routing to K4¶
- High/Medium gaps from §4 transcribed into
K4-shaped reviews and filed via theE7ticketing bridge (one tracked issue per material finding). - Action items in §5 have owners + due dates and are linked to their tracked issues.
- Next quarterly run scheduled; this scenario class flagged for re-run if
rubric total
< 12. - After-action filed at
after-actions/<YYYY-MM-DD>-<scenario>.mdand linked from the previous run's "follow-up" items.
Sign-off¶
| Field | Value |
|---|---|
| Facilitator | <name> |
| IC (reviewed) | <name> |
| Date | <YYYY-MM-DD> |
| Rubric total | <n>/20 |
| Re-run next quarter? | ☐ yes ☐ no |
Findings filed to K4? |
☐ yes ☐ n/a (no material findings) |