Templates make documentation fast and consistent. The structure already exists; the analyst fills in the substance. Done well, templates reduce cognitive load during high-pressure investigations and ensure nothing critical gets missed.
Why standardized templates
A template is the difference between “what should I write?” and “fill in the next field” during an active case. The structure carries the completeness burden: every field the record needs is prompted, including the ones analysts forget under pressure, like negative findings and decision rationale. Consistency is what makes records comparable across cases; three phishing reports with the same fields can reveal a campaign; three free-form narratives cannot.
In practice that means building the templates into the case-management system rather than a separate document, validating the critical fields so a case cannot close with them blank, and keeping one specialized variant per common event type instead of one giant form.
Customize the core template by event type
The core template ships here and stays universal across the organization; specialized variants are built on top of it, and should exist for the common categories: phishingPhishingDeceptive messages (email, SMS, QR codes, chat apps, phone) that impersonate a trusted sender to steal credentials or session tokens or to get malware run. Modern kits proxy the real login page (adversary-in-the-middle) to capture the MFA-authenticated session cookie, so MFA alone does not stop them. Some lures skip credentials and get the user to paste a command into the Run dialog or a terminal. See AiTM Phishing, Device Code Phishing, Illicit Consent Grant and ClickFix., credentialCredentialWhatever the system accepts as proof of identity: a password, an API key, an OAuth token, a Kerberos ticket, an NTLM hash. Credentials are the highest-value loot in most intrusions; their theft is usually the pivot point. compromise, ransomwareRansomwareMalware that encrypts a victim's files and demands payment for the key. Modern ransomware often adds data theft and extortion, and increasingly encrypts virtual machines from the hypervisor (ESXi) where endpoint agents cannot see it. Some groups skip encryption and extort on stolen data alone, so the absence of encrypted files does not rule out a ransomware-class incident., insider misuse, data exfiltrationData ExfiltrationDeliberate and unauthorized transfer of data from a system or network to an external location (ATT&CK tactic TA0010). The covert routes, sometimes called data leakage channels, include the C2 channel itself, cloud storage, DNS tunneling and other protocol tunnels; each has its own entry on this page.. Two variants ship with the core. The phishing variant adds the message and its email artifactsArtifactsTraces that activity leaves on a system: prefetch and Amcache entries, registry keys, shell and browser history, log records, files in temporary folders. Uncover uses them to reconstruct what ran when live telemetry did not capture it. Many are overwritten quickly, so collect the volatile ones first (see Order of Volatility). (sender and authentication results), the recipients and delivery path through the mail infrastructureInfrastructureThe systems, networks, and services that computing runs on. In triage the word points two directions: the organization's infrastructure is what alerts fire on, and attacker infrastructure is the set of C2 servers, domains, and staging hosts an adversary operates, which pivoting on indicators is meant to map., the URL and attachment verdicts, and the click evidence. The identity-compromise variant adds the session ID, the sign-in chain, the MFA ceremony, consent grants, mailbox rules, and the revocation order. Both paste into the core alert report after the activity summary; the core’s fields do not change. Ransomware templates capture encryption details, ransom demands, and business continuityBusiness ContinuityAn organization's capacity to keep critical operations running during and after a disruptive incident such as a ransomware outbreak or a destructive attack. In triage, a credible threat to business continuity is part of what raises an alert's risk rating and escalation urgency. impacts.
The alert reporting template
A well-designed alert report template captures all essential details consistently to support rapid understanding, event correlationEvent CorrelationLinking events from different sources through shared entities and time to see one chain of activity: a phishing click, a sign-in from a new ASN, a new mailbox rule. It depends on normalized fields and synchronized clocks. In ASSURED, Uncover correlates evidence into one timeline per case. See Correlation and the timeline., and knowledge reuse. Each report includes the following core fields.
Eight fields is a deliberate ceiling for the universal core, not a starting point; the specialized variants above add their event-type fields on top, but the core itself does not grow. Every field added to the core raises the cost of every report the team will ever write, and the fields skipped under pressure are exactly the discriminating ones. Of the eight, two do most of the retrospective work: the initial triage outcome, because it records what the analyst believed with the evidence available at the time, and the escalation decision, because it records the judgment call a reviewer is most likely to second-guess. Fill those two with care; the rest is largely mechanical capture.
Event title and identifier
Concise yet descriptive. Pairs with a unique identifier (e.g., CASE-YYYYMMDD-NNN; an INC- identifier is added only if the case is declared an incident) for chronological tracking and cross-referencing.
Detection timestamp and source
Standardized UTC timestamp with optional local time. Detection source specifies the tool or control (EDR, SIEM, CSPM) responsible for generating the alert.
Activity summary
Describes the observable behavior that triggered the alert. Balances technical clarity with readability, highlighting specific indicators and anomalies.
Initial triage outcome
Early classification on two axes: detection (true positive, false positive (logic), or false positive (data)) and activity (malicious, policy violation, authorized (benign true positive), benign-confirmed, or undetermined), with concise justification grounded in observable behaviors and detection logic.
Affected systems
Endpoints, accounts, infrastructure elements involved, with business context (function, criticality, ownership).
Risk assessment
What Risk produced: impact, likelihood that the activity is malicious or unauthorized, confidence in that judgment, the matrix cell and priority (P1-P4), and a recommended move. Risk recommends; the escalation decision below decides.
Actions taken
Investigative or containment steps with timestamps and outcomes. Telemetry reviews, process analysis, network validation, remediation.
Escalation decision and final disposition
Whether the case was escalated, to whom, and why, or why it was closed, with who decided and when (UTC). Final disposition on both axes, plus status: closed, escalated, or merged into a case.
Worked example: the Cursor IDE alert report
A completed alert report for the macOS / Cursor IDE benign-true-positiveBenign True PositiveAn alert that fired on exactly the activity its detection logic describes, where that activity turns out to be authorized or expected in the local context: a red-team exercise, an admin's sanctioned use of a dual-use tool, a scanner doing its job. In the verdict record it is a true positive on the detection axis and authorized on the activity axis. The detection worked; the context clears it. Distinct from a false positive, where the logic matched something it should not have, so never record it as one. The close does not tune the rule, which is healthy. It feeds context instead: a pattern-entry proposal, or a scoped, expiring exception keyed to the tool version, extension or plugin ID and destination set, with an owner and re-fire triggers. Platform labels differ: Microsoft Sentinel calls this verdict Benign Positive, and Defender XDR calls it Informational, expected activity. Full entry: ASSURED terms. case, in the standardized format. This is the alert-level report; Case B ran at Level 2, so the same facts also open its nine-section event report. Because the case closed, the Escalation decision wrote a closure record (the decision header, the closure check with the finding behind each item, the named gaps and reopen triggers, and the communication trail), not a handoff packet: nobody inherits the case. Documentation then assembles the event report from the case record under that header, as the Escalation transition describes.
Field
Content
Event title and ID
Empire-pattern behavior on developer workstation, CASE-20260311-017
Detection date/time
2026-03-11T14:03:11Z
Detection source
CrowdStrike EDR (cross-platform behavioral rule)
Activity summary
EDR flagged a child of “Cursor Helper (Plugin)”, the Cursor IDE’s extension host, which runs without its sandbox by design. The child opened TLS connections to repo42.cursor.sh and api2.cursor.sh. The rule maps the pattern to Empire-style macOS post-exploitationPost-ExploitationEverything the attacker does after the first foothold: exploring the environment, escalating access, exfiltrating data, or setting up long-term control. behavior.
Initial triage outcome
Detection: true positive · Activity: undetermined, leaning authorized (benign true positive). The behavioral rule matched a signed helper process (Cursor Helper (Plugin)) running without its sandbox and launching a child that opened TLS sessions to Cursor-owned hosts; the pattern overlaps Empire macOS tradecraft. Requires contextual validation in Subject and Uncover.
Affected systems
One managed macOS developer workstation, dev-mac-0417 (owner: Web Platform team; criticality High, because the user’s SSH keys reach the build environment). User user-7f3a (pseudonymized), frontend engineer, standard rights.
Risk assessment
Impact High · likelihood Low · confidence High · High/Low cell, P3 · recommended move: keep working to the 18:03 forward watch, then a documented close if clean.
Actions taken
See the actions log below.
Escalation decision
Not escalated. No criterion confirmed; High/Low P3 held to the 18:03 forward watch; re-score clean at 18:05; documented close by the triage analyst at 18:08; close approved by the SOC manager at 18:10.
Verified signature, notarization and Team ID; compared version and hash with the MDM record
Signer and path alone do not clear
Match the vendor release
14:40
Analyst
Pulled extension, MCP and workspace-task inventory from MDM
The host runs code the signature does not cover
Child ran a bundled extension; user extensions approved, none new in 14 days; one approved MCP server; no autorun tasks
14:44
Analyst
Fleet prevalence query, 30 days, counts only
Test the peer baseline
Eleven other managed developer Macs, three on the user’s team
14:52
Analyst
Reviewed the IDE’s agent-activity record for the window (read-only)
Settle who ran the terminal commands, and whether anything but the user steered the agent
One user prompt; every terminal command was the agent’s and matches EDR; workspace files only; no MCP tool calls
14:55
Analyst
EDR and proxy review, 13:03-14:48
Destinations, persistence, credential access
Allowlisted destinations only; no persistence; no credential-path reads
15:10
Analyst
Risk assessment
Score and recommend
High/Low, P3, High confidence; hold to the 18:03 forward watch
18:05
Analyst
Re-score after the forward watch
Named P3 trigger
Clean; cell unchanged
18:08-18:10
Analyst, SOC manager
Documented close; close approved
E rule at P3 after a clean trigger
Closed
The same template, filled differently for the finance-team phishing case, would have produced a P1 escalation record: detection true positive, activity malicious, status escalated to IR with the incident ID linked.
Timeline and action tracking
Maintaining an accurate, timestamped timeline is fundamental to effective documentation. The timeline provides a sequential record of activities, decisions, and communications, supporting retrospective analysis and accountability.
Each timeline entry should contain five components. The five exist because a timeline that only answers “what happened when” is half a record. Timestamp, actor, and action reconstruct the sequence, and anyone with the raw logs could rebuild those. Rationale and outcome are the two components the logs cannot supply, and they are the reason the timeline is written by the analyst instead of exported from the SIEM: rationale preserves why the step made sense at the time, and outcome records whether reality cooperated.
01
Timestamp
The exact time the action occurred, in UTC with the date (RFC 3339, e.g. 2026-03-03T09:11:41Z), for consistency across geographies and shifts.
02
Actor
Who performed the action: a named human (with role), an automated system (SOAR or platform automation, EDR, IAM), or an AI agent (product and version, plus the human who authorized the action).
03
Action taken
Brief but descriptive: “isolated host via EDR,” “blocked IP in firewall,” “added hash to denylist.” Concrete and specific.
04
Rationale
Reasoning behind the action, especially for discretionary steps. Documents the decision-making process and justification.
05
Outcome / result
Observed effect: successful containment, error encountered, lack of expected response. Captures actual vs. intended.
Real-time, collaborative timelines
Timelines should be maintained in real time and synchronized across the systems involved in the event lifecycle. Case-management and SOAR platforms (e.g. TheHive, DFIR-IRIS, Microsoft Sentinel incidents, Google SecOps cases) and forensic timeline tools (e.g. Timesketch) support shared, attributed timeline entries, so several responders can add to one incident responseIncident ResponseThe organized approach to handling a security incident once it is declared. The classic lifecycle (NIST SP 800-61r2, withdrawn in 2025, and SANS PICERL) runs preparation; detection and analysis (identification); containment, eradication and recovery; post-incident activity (lessons learned). NIST SP 800-61r3 (April 2025) now maps incident response onto the CSF 2.0 functions (Govern, Identify, Protect, Detect, Respond, Recover). Triage is the front edge of that lifecycle; ASSURED ends where IR takes ownership. timeline. These integrated timelines become the authoritative record of event progression, supporting handoffs, shift changes, and distributed-team coordination.
Copy-ready templates
Everything above describes the templates; these are the templates themselves. Pick by depth and outcome:
Case
What the Escalation decision writes
What Documentation finalizes
Level 0 pattern close
The five-field pattern-close record, at close (the close is an early Escalation decision)
Nothing further: the five-field record is the whole record
Level 1 standard triage
The alert report’s escalation and disposition fields
The alert report, written as you go and finalized at close
Level 1 phishing or identity alert
The alert report’s escalation and disposition fields
The alert report with the phishing or identity-compromise variant pasted in after the activity summary
Level 2, closed
The closure record: the decision header, the closure check with its findings, the named gaps and reopen triggers, and the communication trail
The nine-section event report, assembled from the case record under that header
Any Level 2 case, while it is worked
Nothing yet: the case is still open
The case record, opened at Alert and filled phase by phase: the Subject handoff, the Scope boundary statement and the Risk verdict block land in it at each transition, and the packet or report is assembled from it
Any escalation
The handoff packet, at escalation
The triage-side event report, mapping the packet in and linking IR’s outputs
Any case still open at a shift change
Nothing yet: the case is still open
The shift handover, at every shift change (one per customer for an MSSP or MDR), linking each open case record rather than replacing it
A Level 2, P1/P2 or escalated-then-closed record before it is submitted
Nothing further
The closure review, run by a reviewer who is not the record’s author (Level 0 and 1 closes go through the weekly QA sample instead)
Whichever artifact applies, the investigative entries lock at handoff or close; corrections and reopenings are appended with author, time, and reason, never overwritten (see amending a locked record). The Cursor alert report above is the alert-level artifact; its facts later open that case’s event report. Each block below is rendered from the shipped file, so what you copy is exactly what you download. Each is plain Markdown: paste it into a case management system, a ticket, or a shared doc, or download the file and drop it into the team’s template library. Every field name and enum value in them is defined in the ASSURED terms glossary, and the verdict fields use its verdict vocabulary exactly. Lines marked optional (depth level, grouped member alerts, distribution, regulatory flags, the hypothesis ledger) are what make a record shareable and countable later; leave them out only when they do not apply. The optional regulatory flags block in the handoff packet and the event report records, for each regime that may apply, the data class and trigger observed, the candidate awareness timestamp, and when the owner was engaged; triage records the facts a clock may start from, and the regime’s owner decides whether it started (see the flags block on the notification-clocks page). The alert report’s timeline uses the five components above (timestamp, actor, action taken, rationale, outcome). The handoff packet’s and the event report’s timelines add a Source and a Confidence column, so each row names the record it came from and its label on the shared rubric, and their hypothesis ledgers carry a provenance column (the source and query behind the deciding evidence).
Which template when: the case record opens at Alert and gains one section per phase; the handoff packet and the event report are assembled from it, not written from scratch. Inside it, the phase records land in order: the Subject handoff at the end of Subject, the Scope boundary statement at the Scope transition, pinned above Uncover’s query window, and the Risk verdict block at the end of Risk. At Level 1 each of those is a few lines in the alert report instead, with the phishing or identity variant pasted in when the event type fits. The closure review is the reviewer’s checklist for a Level 2, P1/P2 or escalated-then-closed record before it is submitted; Level 0 and 1 closes go through the weekly QA sample instead. The shift handover goes out at every shift change, one per customer for an MSSP or MDR.
The escalation-criteria checklist is the run-at-every-phase companion to these: the four canonical categories as checkable items, with the escalation-tripwire decision rule at the bottom. The one-page reference carries the same checklist in printable form. The tuning request is what Documentation files to detection engineering after a verdict; the routing table picks its request type and owner for each verdict. The monthly triage report rolls the records’ key times and verdicts up into the team-level numbers described on Measuring triage. For practicing with the templates on synthetic cases before a real one lands, the hands-on exercises provide eight scenario packets with answer keys. Training materials (session checklist, alert set, anchors, capstone) live with the facilitator kit.
Machine-readable schemas
Every record template also ships as a JSON Schema (draft 2020-12) at /templates/schema/<name>.schema.json, linked from each template block below. The verdict, case-status, priority, matrix-cell, confidence and depth-level enums are defined once, in the shared vocabulary schema, and every template schema points at them, so a SOAR playbook or a case tool can load the fields and pick lists directly instead of retyping them. The build fails if a template, its schema and the vocabulary drift apart, so the schema always describes what the Markdown asks for.
OCSF: the schemas describe case records, not events. Keep the raw events in your OCSFOCSFOpen Cybersecurity Schema Framework: vendor-neutral event schema (classes such as Authentication, Process Activity, Network Activity) adopted by Amazon Security Lake and many SIEM pipelines. store (or ECS, ASIM or UDM) and cite them from the record by event ID. Where the platform models findings in OCSF, the record’s detection-axis and activity-axis verdicts and its priority map onto the Detection Finding and Incident Finding classes; check the attribute names against the OCSF version you ingest.
STIX: the indicators-and-observables section exports as STIXStructured Threat Information Expression (STIX)OASIS's JSON language for threat intelligence (STIX 2.1): indicators, attack patterns, threat actors and their relationships, usually exchanged over TAXII. Respect the sharing marking (TLP 2.0) on what you receive. 2.1 Indicator or Observed Data objects, with the record’s TLP marking carried as a STIX marking definition. ATT&CK technique IDs keep the ATT&CK version they were mapped against.
Versioning: the published schemas describe the current edition’s templates, and every template download carries a “Template version” line naming that edition. Renaming or removing a field or an enum value changes the meaning of an existing deliverable, so under the repository’s versioning policy it ships only in a major version, and the changelog lists every field change.
Level 0 pattern-close record
The five-field record from the fast path is the entire documentation burden of a Level 0 pattern close. A grouped case closes here only if every member alert passes the gate; list every member alert ID.
The companion pattern-entry template is the library side of the contract: discriminators, owner, review date, and any pattern-specific eligibility constraints, written down where a wrong pattern can be corrected in one place.
Alert report
The eight core fields described above, as a fill-in skeleton, with the optional lines that make the record shareable and countable.
Alert reportalert-report.md · 123 lines · Template version 2.0
The closure-time record: a decision header (verdict, priority, confidence, provenance), then the nine sections exactly as the Standards page defines them. This is a different artifact from the handoff packet above; when a packet exists, map it in per the crosswalk on the Standards page.
Event reportevent-report.md · 173 lines · Template version 2.0
For a rendered example of this report filled in, see the finance-team record in the Documentation working example, which fills all nine sections; the Cursor and token-theft cases on the same page show what changes for a documented close and for an identity compromise. Before a record is submitted, the reviewer runs it against the closure review checklist.
Shift handover
One record per shift change, and one per customer for an MSSP or MDR. It transfers ownership of the open cases and the clocks running on them, and links each case record rather than restating it; P1 and P2 cases also transfer warm. The shift handover section explains when and how it is used.
Shift handovershift-handover.md · 112 lines · Template version 2.0
The ten checks every reviewer runs against a Level 2, P1/P2 or escalated-then-closed record before it is submitted, from the closure review on the Standards page. The reviewer is not the record’s author; every box left open gets one line under Findings.
Closure review checklistclosure-review.md · 45 lines · Template version 2.0
A template is not a constraint; it is scaffolding. Templates make documentation faster, more consistent, and more complete. Time invested in designing the right template saves hours of inconsistent records, and the right alert-reporting template plus a timestamped action timeline cover most of what any audit, post-mortem, or shift handoff will ask for.