7 August 20266 min read

A SOC 2 evidence collection checklist that survives fieldwork

What to collect for each Trust Services Criteria section, in what form, and how often — organised by the thing an auditor will actually ask you to produce.

Rony Shulkin · Software Engineer

On this page
  1. The rule that governs everything below
  2. CC1 — Control environment
  3. CC2 — Communication and information
  4. CC3 — Risk assessment
  5. CC4 — Monitoring activities
  6. CC5 / CC6 — Control activities and logical access
  7. CC7 — System operations
  8. CC8 — Change management
  9. CC9 — Risk mitigation and vendors
  10. Additional categories
  11. A cadence you can actually keep
  12. Two things to do before the period starts

Most SOC 2 checklists list controls. This one lists artefacts — the files, exports and records you will be asked to hand over — because the gap that sinks audits is almost never a missing control. It is a control that worked and left nothing behind.

Assumes SOC 2 Type II against the Trust Services Criteria, Security category, with notes where the additional categories change things.

The rule that governs everything below

Every artefact needs four properties, and an artefact missing any of them is weak evidence:

  1. What control it answers. Not "access control" — the specific criterion.
  2. What population it was drawn from, and how you know that population is complete.
  3. When it was collected, from the system, not from memory.
  4. Who collected it.

A dated system export beats a screenshot every time, because a screenshot proves the state at an unknown moment. If you take a screenshot, capture the clock and the URL in the frame.

CC1 — Control environment

ArtefactFormCadence
Org chart with reporting linesExport or dated PDFQuarterly
Board or advisory minutes covering security oversightSigned minutesPer meeting
Code of conduct, with acknowledgement recordsPer-person acknowledgement with dateOn hire, annually
Background check recordsCompletion confirmations, not the reportsOn hire
Job descriptions for security-responsible rolesCurrent versionsAnnually

The acknowledgement records are the ones teams miss. A published code of conduct is a document; a list of who accepted it and when is evidence.

CC2 — Communication and information

ArtefactFormCadence
Published security policies with version historyApproval trail showing who approved and whenOn change
Evidence policies reached staffTraining completion, acknowledgementsAnnually
Security training recordsPer-person completion with datesAnnually + on hire
External commitments (trust page, DPAs, contract terms)Current published versionsOn change
Internal channel for reporting concernsScreenshot plus a real example if you have oneOnce

CC3 — Risk assessment

ArtefactFormCadence
Risk register with scoring and ownersExport with datesQuarterly review
Risk assessment meeting recordsMinutes or ticket trailAt least annually
Fraud risk considerationDocumented, even if briefAnnually
Change-driven reassessmentsRecords tied to the triggering changeOn major change

The register needs movement. A risk register with identical scores for twelve months reads as a document nobody used. Show items being added, rescored and closed.

CC4 — Monitoring activities

ArtefactFormCadence
Internal control self-assessmentsDated resultsQuarterly
Continuous monitoring results, with historyTime series, not current stateDaily/weekly
Deficiencies found and remediatedTicket trail from discovery to closeAs they occur
Prior audit findings and their remediationTracker with evidence of closurePer finding

Retention is the trap. See continuous control monitoring vs point-in-time audit — a dashboard that shows only current state produces no evidence of the period.

CC5 / CC6 — Control activities and logical access

This is the heaviest section and where most sampling happens.

ArtefactFormCadence
Complete user listing for in-scope systems, with grant datesSystem exportQuarterly
Access request approvalsTicket showing approval before grantPer grant
Access reviewsReviewer, date, and the resulting removalsQuarterly
Termination records against access revocationJoined HR + IdP export showing revocation timingPer leaver
Privileged access listing with justificationExportQuarterly
MFA enforcement configurationConfig export plus a compliance reportQuarterly
Password policy configurationConfig exportAnnually
Encryption at rest and in transitConfig export, TLS scan resultsQuarterly
Key management, including rotationRotation recordsPer policy
Firewall and security group rulesConfig export with change historyQuarterly

The leavers artefact needs care: the assertion is that access was removed promptly, so the evidence has to show both the termination date and the revocation date. Two separate exports that cannot be joined do not demonstrate the interval.

CC7 — System operations

ArtefactFormCadence
Logging configuration and continuityConfig plus proof it was never disabledQuarterly
Vulnerability scan resultsFull results with datesMonthly
Remediation of findings, against SLATicket trail with timestampsPer finding
Penetration test reportFull report plus retestAnnually
Alert configuration and firing historyAlarm history exportQuarterly
Incident recordsFull lifecycle: detection, triage, response, closurePer incident
Incident response plan testTabletop record with participantsAnnually

The detail for cloud logging is in AWS CloudTrail evidence for SOC 2 CC7 controls.

If you had no incidents, say so explicitly and show the detection capability. Silence reads as a gap.

CC8 — Change management

ArtefactFormCadence
Complete listing of production changesCI/CD export for the whole periodContinuous
Peer review on sampled changesPull request showing reviewer and approval timePer change
Branch protection configurationConfig exportQuarterly
Test evidence for sampled changesCI run resultsPer change
Emergency change recordsThe exception path, with retrospective approvalPer occurrence
Separation between author and deployerConfig or role evidenceQuarterly

Watch squash-merges with deleted branches. The control operated; the reviewer became invisible. Check that a sampled deploy from month one is still traceable today.

CC9 — Risk mitigation and vendors

ArtefactFormCadence
Vendor inventory with criticality tiersExport — see choosing a questionnaireQuarterly
Due diligence per vendor, proportionate to tierQuestionnaire, SOC 2, or documented rationaleOn onboard, annually
Contracts with security and privacy termsExecuted agreementsOn signing
Vendor review recordsDated review with outcomeAnnually
Offboarding recordsAccess and data disposal confirmationOn termination

Additional categories

Availability: capacity monitoring, backup execution and restoration testing, BCP/DR test records with results. The restoration test is the one that gets skipped — a backup nobody has restored is a hypothesis.

Confidentiality: data classification, retention schedules with evidence of execution, secure disposal records.

Processing integrity: input validation, reconciliations, error handling and correction records.

Privacy: notice, consent records, data subject request handling with timings.

A cadence you can actually keep

Continuously — configuration monitoring with retained history; change and deploy records; incident records as they occur.

Monthly — vulnerability scans and remediation status.

Quarterly — access reviews, privileged access, firewall rules, self-assessments, vendor tiering, risk register review.

Annually — penetration test, policy review, training, BCP/DR test, vendor reassessment, IR tabletop.

Once, then on change — classification, retention schedules, org structure, contracts.

Two things to do before the period starts

The mechanics of how those samples get drawn are in what auditors actually ask for.

Dry-run three controls. Write the population, generate it, pick five at random, produce the evidence. You will find a gap. Finding it now is a task; finding it in month eleven is a finding.

Make every population query repeatable. If your complete list of production access takes two days of manual joining, it will take two days again next year and be subtly different. A query beats a spreadsheet.

The controls are usually fine. It is the evidence that goes missing.

Filed underEvidence