← All guides
SOC 212 min read30 May 2026

SOC 2 Evidence Collection: What Auditors Actually Need to See

A practical guide to collecting and organising SOC 2 evidence for Type I and Type II audits — by control area, with exact evidence items, naming conventions, and collection steps for AWS, GitHub, and common SaaS tools.

The moment your auditor sends the PBC (Provided By Client) list, most SaaS teams realise they've been thinking about SOC 2 backwards. They spent months writing policies — and then discovered that auditors want evidence that the policies were actually operating.

This guide covers exactly what SOC 2 auditors look for, organised by Trust Service Criteria control area, with specific collection steps for the tools most SaaS companies use.

How SOC 2 Evidence Works

SOC 2 auditors don't check everything. They sample. For a Type II audit over 12 months, auditors will typically:

  • Select 15–25 user access provisioning/deprovisioning events and ask for evidence of approval
  • Sample 5–10 production deployments and ask for code review evidence
  • Review 2–3 vendor assessment records
  • Check that security training was completed by all staff (all employees, no sample)
  • Verify that monitoring alerts fired and were addressed during the period

This means consistency matters more than perfection. An auditor who sees 11 months of clean evidence and 1 month of gaps will note the exception period. An auditor who sees 12 months of consistently documented (even if imperfect) controls will pass you.

Type I vs Type II: Different Evidence Requirements

AspectType I (point-in-time)Type II (operational — 6-12 months)
What auditors checkAre controls suitably designed as of audit date?Did controls operate effectively throughout the audit period?
Evidence requiredCurrent state documentation and configurationTime-stamped records showing consistent operation
PoliciesMust be current and approvedMust be current + evidence of staff acknowledgement during period
Access reviewsEvidence of process designCompleted access reviews during audit period (quarterly)
TrainingTraining programme existsCompletion records for all employees during the audit period
IncidentsIRP exists and is designed correctlyIncident log + evidence of process followed for any incidents
Vulnerability scanningScanning tool configuredPeriodic scan results + evidence of remediation tracking

Evidence by Control Area

CC1: Control Environment — HR, Policies, Tone at the Top

What auditors check: that your organisation takes security seriously, communicates it to employees, and holds people accountable.

Evidence ItemFormatHow to Collect
Org chart / team listSpreadsheet or PDFHR system export or manual list with roles
Security policy acknowledgementsSpreadsheet with name, date, document versionDocuSign report, Notion sign-off log, or LMS export
Background check policy + evidencePolicy PDF + completion recordsBackground check provider report (Checkr, HireRight, etc.)
Security awareness training completionCompletion report by employeeKnowBe4 / training platform export; or Google Form completion log
Employee offer letter templatePDF (redacted)Template used, redacted to remove personal data

Small-team reality check: If you're a 5-person startup, auditors know you don't have a dedicated HR team. A 1-page security responsibilities document signed by all team members is a reasonable equivalent to a formal security handbook. Document it properly and apply it consistently.

CC6: Logical and Physical Access Controls — The Heaviest Section

CC6 is where most evidence requests live. Auditors look for proof that access is granted on need, reviewed regularly, and revoked promptly when no longer needed.

Evidence ItemFormatHow to Collect — GitHub / AWS / GCP
MFA enforcementScreenshot with timestampGitHub: Org → Settings → Authentication security → "Require two-factor authentication"; AWS: IAM → Account settings; GCP: Admin console → Security → 2-step verification
User access list (production)Spreadsheet: name, role, access level, date grantedAWS IAM: Users list export; GitHub: Org → Members export; GCP: IAM → Permissions export
Access provisioning recordsTicket/email/Slack thread showing approvalFilter GitHub Issues or Linear tickets tagged 'access request'; export Slack thread
Access termination recordsDate, employee, who revoked, systemsOffboarding checklist with completion date; IDP (Okta/Google Workspace) deactivation log
Quarterly access reviewSpreadsheet with date, reviewer, changes madeExport current user list → review for continued need → document changes → save with date
Privileged access listNamed list with justificationAWS: IAM → filter for admin policies; GitHub: org owners list
Encryption at restScreenshots of settingsAWS: S3 bucket properties → server-side encryption; RDS encryption enabled; GCP: Cloud Storage encryption settings
Encryption in transit (TLS)SSL Labs test resultRun ssllabs.com/ssltest on your domain; screenshot A/A+ grade; HSTS header evidence

CC7: System Operations — Logging, Monitoring, and Incident Response

Auditors want to see that you'd know if something went wrong, and that you'd respond to it correctly.

Evidence ItemFormatHow to Collect
Centralised audit log configurationDashboard screenshot with timestampAWS: CloudTrail → Trails → active trail screenshot; GCP: Admin Activity logs enabled; or Datadog / Logtail dashboard
Security alert rulesList of configured alerts with conditionsExport alert rules from CloudWatch / PagerDuty / Datadog; screenshot of alert configurations
Sample security alert notificationScreenshot of real alertScreenshot an alert email or Slack notification that fired during the audit period
Vulnerability scan resultsDated report PDF or screenshotSnyk: Project → export report; GitHub: Security → Dependabot alerts export; AWS Inspector: export findings
Vulnerability remediation trackingSpreadsheet or ticket system exportGitHub Issues / Linear / Jira: filter tickets tagged 'security' or 'vulnerability'; export to CSV
Penetration test reportPDF (executive summary + findings, redacted)Provided by pen test firm; include letter of engagement and final report; retest evidence if critical findings
Incident registerLog with date, severity, description, resolutionEven a Google Sheet is fine: Date | Severity | Description | Root Cause | Resolution Date | Owner
Incident response evidenceCommunication records, timelineSlack thread, email chain, post-incident review document for any significant incidents

CC8: Change Management — Code Review and Deployment Controls

Auditors want to see that changes to production go through a controlled, reviewed process — not that a developer can push directly to main at 2 AM.

Evidence ItemFormatHow to Collect
Branch protection rules (GitHub)Screenshot of settingsGitHub: Org repo → Settings → Branches → Branch protection rules → show required reviewers, status checks
Sample pull requests with reviewPDF or screenshot of 3–5 PRsGitHub: filter closed PRs; export or screenshot showing review approval before merge
CI/CD pipeline configurationPipeline config file or screenshotGitHub Actions workflow file; Vercel deployment settings; test/staging gates in pipeline
Deployment logList with date, deployer, environmentGitHub: Deployments tab export; Vercel: deployments history export; AWS CodeDeploy log
Separation of dutiesEvidence or risk acceptanceShow that self-merge is disabled in branch protection, OR document a risk acceptance if exception made

CC9: Risk and Vendor Management

Evidence ItemFormatHow to Collect
Vendor inventorySpreadsheet: vendor, purpose, data accessed, risk tier, last reviewedManual build; review all SaaS subscriptions + cloud providers
Vendor SOC 2 reports (critical vendors)PDF (one per critical vendor)AWS: aws.amazon.com/artifact; GCP: cloud.google.com/security/compliance; Stripe: stripe.com/docs/security
DPAs with data processorsSigned DPA PDF per processorMost modern vendors provide click-through DPA via their privacy portal; download and file
Annual vendor review recordsDated spreadsheet or meeting notesAnnual review document: vendor list reviewed on [date] by [person], changes noted, SOC 2 reports checked
Risk registerSpreadsheet: risk, likelihood, impact, owner, treatmentManual build; reviewed at least annually; show date of last review

Evidence Organisation: The PBC Folder Structure

Most auditors will provide a PBC (Provided By Client) list. Organise your evidence in advance so you can respond quickly. A standard structure:

  • 1-Policies/ — all policy PDFs, version-controlled, dated
  • 2-Access-Management/ — user lists, access reviews, MFA screenshots, provisioning/offboarding records
  • 3-Monitoring-Logging/ — log config screenshots, alert rules, sample alerts
  • 4-Vulnerability-Management/ — scan results, pen test report, remediation tracking
  • 5-Change-Management/ — branch protection screenshots, sample PRs, deployment log
  • 6-Vendor-Management/ — vendor register, SOC 2 reports, DPAs
  • 7-HR-Training/ — training completion logs, background check policy, acknowledgement records
  • 8-Incidents-BCP/ — incident register, IRP, BCP/DRP, backup test records

Name files clearly: MFA-Enforcement-GitHub-2026-05-30.png is better than screenshot.png. Auditors receive evidence from multiple clients simultaneously — clear naming helps everyone.

The 5 Most Common Evidence Gaps

  1. Access reviews not performed during the audit period: The policy exists but quarterly reviews weren't actually done. Fix: calendar a quarterly access review, treat it like a board meeting.
  2. Policy acknowledgements missing: Policies exist but there's no record that staff signed them. Fix: use DocuSign, Notion, or even a Google Form with name + date + document version.
  3. Vulnerability scanning is reactive, not periodic: You fix vulnerabilities when they come up, but there's no evidence of a regular scan schedule. Fix: set up Dependabot weekly scans + export a monthly report.
  4. Pen test not done or too old: The most common gap. Type II auditors expect an annual pen test. Most SaaS companies budget $10K–$25K for external pen tests. Providers: Cobalt, Synack, Detectify, or local security firms.
  5. No incident register: Nothing happened this year — great. But the absence of a register means auditors can't verify that. Fix: start an incident log today. Add a "no incidents" entry if nothing happened.

Build Your SOC 2 Compliance Stack

⚠️ This article is for informational purposes only. SOC 2 audit requirements vary by firm and Trust Service Criteria selection. Your auditor's PBC list takes precedence over this guide. Consult your audit firm for their specific requirements.