SOC 2 Evidence Collection: What Auditors Actually Look For
A practical guide to collecting, organizing, and presenting SOC 2 evidence — covering what counts, what doesn't, and how to build a continuous evidence trail that survives auditor scrutiny.
Evidence vs. Attestation
The single biggest misunderstanding in SOC 2 preparation: teams think *saying* a control exists is evidence. It isn't.
A written policy says you require MFA. Evidence is a screenshot of your IAM credential report showing every user has MFA enrolled, timestamped within the audit period.
Auditors are trained to distinguish between:
- Design evidence — proof that a control is configured
- Operating effectiveness evidence — proof that the control ran consistently over time
What Makes Evidence Valid
Good evidence has four characteristics:
Evidence by Control Category
Access Control (CC6)
What auditors want:
- Complete list of users with system access, their roles, and whether MFA is enabled
- Evidence of access reviews — who reviewed, when, what was changed as a result
- Offboarding records — when was access removed for departed employees?
- AWS IAM credential report (system-generated, timestamped, complete)
- HRIS offboarding tickets with access termination confirmation
- Quarterly access review meeting notes signed by reviewer
- "We reviewed access" without a record of what was reviewed and by whom
Change Management (CC8)
What auditors want:
- Evidence that changes to production systems go through a review and approval process
- Pull request records showing reviews before merge
- Deployment logs showing who deployed what and when
- GitHub PR history showing required reviewers approved before merge
- CI/CD pipeline logs showing tests passed before deployment
- A change management policy document without any deployment records to match it
Monitoring and Alerting (CC7)
What auditors want:
- Evidence that security events are logged and reviewed
- Proof that alerts fire when anomalies occur and that someone responds
- CloudTrail enabled with multi-region logging (SecureSpect checks this automatically)
- GuardDuty findings log with documented responses
- On-call incident records showing response to alerts
Encryption (CC6.7)
What auditors want:
- Encryption at rest for databases, object storage, and secrets
- Encryption in transit (TLS) for all external-facing endpoints
- RDS instance details showing
StorageEncrypted: true - S3 bucket policy enforcing
aws:SecureTransport - KMS key configuration with rotation enabled
Organizing Evidence for Submission
Create a folder structure mirroring the TSC control IDs:
SOC2-Evidence/
├── CC2 - Communication and Information/
│ ├── security-policy-v2.3.pdf
│ └── employee-training-completions-Q3-2026.csv
├── CC6 - Logical and Physical Access/
│ ├── iam-credential-report-2026-09-01.csv
│ ├── access-review-Q2-2026-signed.pdf
│ └── offboarding-tickets-2026.xlsx
├── CC7 - System Operations/
│ ├── cloudtrail-enabled-all-regions.png
│ └── guardduty-enabled-screenshot.png
├── CC8 - Change Management/
│ └── github-pr-policy-screenshot.png
└── CC9 - Risk Mitigation/
└── vendor-security-questionnaires/
Continuous vs. Point-in-Time Collection
The traditional approach — collecting evidence the week before an audit — creates three problems:
The better approach: collect evidence continuously throughout the observation period. SecureSpect does this for technical controls automatically — every sync produces timestamped, checksummed evidence that builds your audit trail day by day.
For manual controls (access reviews, training records), establish a recurring calendar reminder and file evidence immediately after each process runs.