Playbook: suspected insider data exfiltration
Coordinate legal, HR, privacy, identity, endpoint, and data evidence without tipping off the subject or exceeding authorised monitoring.
Scope
For organisations with a credible report or technical signal of unauthorised internal data removal.
Start with the situation, not the slogan
A playbook is a decision aid for tired people working with incomplete information. Playbook: suspected insider data exfiltration therefore names owners, evidence, containment and exit criteria instead of pretending every incident follows a flowchart. Read it before the incident, tailor the contacts and systems, and exercise the awkward branches.
The first objective is shared situational awareness: what is known, who owns the incident, what business process is at risk, and which decision is due next. A chat channel full of competent people is not the same as command. Assign a coordinator and a note taker, even when the organisation is small enough for both to use the same kettle.
Insider investigations have high legal, privacy, employment, and evidence-integrity stakes. Technical teams should not improvise surveillance or confront the subject without authorised direction.
Composite scenario
How this usually reaches the desk
The playbook should activate when the team can establish its entry conditions, including: Legal authority, investigation owner, need-to-know group, preservation scope, and communication restrictions are defined. If the report remains ambiguous, open a low-severity record and time-box validation rather than ignoring it or declaring the end of civilisation. Escalate as evidence, privilege, spread or business impact increases.
This scenario combines common operational patterns; it is not presented as a report of one named incident.
What to look for
Begin with preserved, comparable evidence. One signal is rarely proof; use independent observations and a reliable timeline before declaring scope or intent.
Legal authority, investigation owner, need-to-know group, preservation scope, and communication restrictions are defined.
Confirm this condition from an authoritative source and note who supplied it. Mark assumptions as assumptions; they have an unfortunate habit of becoming facts in copied status updates.
Data classification, access rights, business context, and normal role behaviour are available.
Identify the decision that depends on the information and the deadline for obtaining it. Evidence is most useful when it changes action rather than merely decorating the timeline.
Identity, endpoint, cloud, email, removable media, print, and data-access evidence can be preserved lawfully.
Check coverage and retention before containment. If a source is unavailable, record the gap and use independent evidence rather than silently treating absence as innocence.
Working examples
Run it, read it, decide what changes
These examples use documentation addresses, test identities and bounded targets. Replace placeholders only inside systems you own or are explicitly authorised to operate. Read the expected result and next action before running the command; a successful command is evidence, not yet a conclusion.
Create a UTC evidence note and hash
- Prerequisites
- A directory that only the responder can write to.
mkdir -p incident-evidence
date -u +"%Y-%m-%dT%H:%M:%SZ" | tee incident-evidence/collection-time.txt
sha256sum suspicious-file 2>/dev/null | tee incident-evidence/file.sha256The note contains an absolute UTC time and the hash line contains 64 hexadecimal characters plus the filename.
The hash identifies the collected bytes; it does not say whether they are malicious. A changed hash means the file changed or a different file was collected.
Make the evidence directory read-only, record who collected it, and work on a copy. On macOS use `shasum -a 256` if `sha256sum` is unavailable.
Emit a structured security event
- Prerequisites
- A logger that serialises objects as JSON and a request correlation ID.
logger.warn({
event: 'authorisation_denied',
actor_id: req.user.id,
resource_type: 'invoice',
resource_id: req.params.id,
request_id: req.id,
outcome: 'deny'
});One parseable event contains stable names and the decision context without passwords or tokens.
Logging raw request headers or bodies can leak credentials and personal data. A log call does not prove delivery.
Generate one denial, find it in the central platform, verify time and fields, then alert on a bounded meaningful pattern.
Check local users and groups
- Prerequisites
- Permission to query local account data.
SELECT u.username, u.uid, u.directory, g.groupname
FROM users u
LEFT JOIN user_groups ug ON u.uid=ug.uid
LEFT JOIN groups g ON ug.gid=g.gid
ORDER BY u.username, g.groupname;Local users and group memberships are listed.
Directory identities and cloud roles may not appear. Built-in service accounts are normal on many systems.
Diff against an approved baseline and verify unexpected privileged membership through native identity logs.
Response sequence
Read the whole sequence before starting. Several workstreams may run in parallel, but their evidence, authority and expected outcomes still need to be explicit. Every step below points back to a concrete example; use the example as implementation evidence, not as permission to operate outside the stated scope.
Operational judgement
Run the playbook as a checklist with judgement, not as a spell. For Insider risk, Playbook and Data, localise tenant names, log locations, provider contacts, legal thresholds, emergency credentials and business priorities. A generic document becomes operational only when the people on duty can find the required access without consulting the person currently on holiday.
Use a decision log separate from the task list. For each consequential action, note time, owner, evidence, choice, expected effect and observed result. This gives later reviewers something better than a reconstructed story and helps the next shift understand why a seemingly obvious action was delayed or rejected.
Handover
Make the result useful to the next person
Prepare the playbook package before an incident: primary and deputy owners, current contact routes, system inventory, evidence locations, delegated authority, provider escalation, legal and privacy triggers, secure communication, and emergency credentials. Keep a printable or otherwise independent copy where an identity or collaboration outage cannot hide it. Review contact details during exercises; telephone numbers appear to age faster than almost any cryptographic primitive.
For this playbook, the incident record should open with “Escalate to the authorised legal, HR, privacy, security, and executive decision group before intrusive collection or account action.” and drive deliberately towards “Apply proportionate access changes through the authorised owner, protect the investigation, and plan communication and recovery.” A shift handover must state confirmed facts, open hypotheses, business impact, containment already applied, evidence at risk, approvals pending and the next scheduled update. After closure, turn lessons into owned changes to controls, documentation and exercises. A lesson without an owner and a date is simply a well-written regret.
Validate before you close
Exit when authorised decision-makers accept the findings, evidence is preserved, access and data risk are handled, required notifications are complete, and control gaps have owners.
Capture the test, the expected result and the observed result. Where a person or business owner must accept restored service, name them in the record. A green dashboard can confirm that a component is answering; it cannot confirm that invoices, identities or restored data are trustworthy.
Finish with a compact closure note: the original trigger, confirmed scope, evidence retained, controls changed, tests passed, known gaps, residual risk, and the people responsible for the remaining work. Schedule a review while the timeline is still fresh enough to challenge. The purpose is not to find a person to blame; computers already perform blame with admirable efficiency. The purpose is to make the next response faster, safer and less dependent on one person remembering where the useful log was hidden.
Common mistakes
- Running the playbook without assigning a decision owner and note taker.
- Containing too early or too late because evidence and business impact were not compared.
- Closing the incident without documenting recovery checks and follow-up owners.
These errors usually come from haste, unclear ownership or misplaced confidence. Build the safeguard into the runbook: a required evidence field, a second-person review, a rollback test or a specific exit criterion.
Questions people ask when the clock is running
Who may activate the playbook?
Define that locally before an incident. Help desk or monitoring staff should be able to open a record and escalate; containment authority may sit with incident command, service ownership or an executive depending on impact.
Must every step be completed in order?
No. Evidence, containment, communication and recovery often run in parallel. Keep dependencies explicit and do not let a later checkbox imply that an earlier decision was actually verified.
What is the exit condition?
Exit when authorised decision-makers accept the findings, evidence is preserved, access and data risk are handled, required notifications are complete, and control gaps have owners. Residual risk, communication and improvement actions still need named owners even after service is restored.
Safety boundary
Use these steps only on systems you own or are explicitly authorised to assess. Preserve evidence, follow your organisation’s legal and regulatory obligations, and prefer reversible actions when the situation is not yet understood.
Primary references
- SP 800-61 Rev. 3: Incident Response Recommendations and ConsiderationsNIST
- Cybersecurity Framework 2.0NIST
- osquery Documentationosquery Foundation
Editorial status: first edition. Review the linked vendor documentation for product- and version-specific changes before acting.