Home/SOC 2 controls checklist

Reference

The 35-control SOC 2 checklist for AWS startups

This is the control catalog we deploy in every engagement. Each control lists the Common Criteria it maps to, the AWS service or process that satisfies it, and the evidence an auditor will ask you to produce. Work through it and you will know your own gap before anyone quotes you.

Updated 17 August 202635 controls, 6 groupsSecurity (Common Criteria)

Read this first

SOC 2 does not prescribe controls. The AICPA publishes criteria; you design controls that meet them. This catalog is our standard set for a 5 to 100 person AWS-native SaaS company, calibrated to what auditors examining companies like yours actually test. A larger or more complex environment gets scoped individually. Availability and Confidentiality controls are added when your customer contracts commit you to them.

How to score yourself

Mark each control Pass, Partial, Fail, or N/A. Then count the fails, and separately count the fails that require your engineers to change something inside the application (rather than something we can deploy alongside it). That second number is the one that drives your timeline.

ProfileFailsWhat it means
Clean8 or fewer, at most 2 needing application changesStandard timeline. Most of the work is deployment and documentation
Typical9 to 16, at most 4 needing application changesStandard timeline, more ticket-and-verify cycles with your engineers
Complex17 or more, or 5+ needing application changes, or no infrastructure-as-code at allScoped individually. A phased approach is usually cheaper than forcing one window

Two findings override the count entirely: encryption-at-rest retrofits of existing production data stores, and AWS account restructures. Either one is a project with a maintenance window, and any honest provider re-scopes rather than absorbing it into a fixed price.

A. Governance and policies

The group founders most want to skip and auditors examine first. None of it is technical, and all of it is evidence a CPA can test directly.

IDControlCriteriaHow it's satisfiedEvidence
A1Information security policy suite approved and publishedCC1.1 to CC1.4, CC5.320+ policies written to how your team actually operates, approved by leadership, acknowledged by staffApproved policies with version history, acknowledgement records
A2Annual risk assessment performed and documentedCC3.1 to CC3.4Facilitated session producing a risk register with treatment decisionsRisk register, documented treatment decisions
A3Security awareness training at onboarding and annuallyCC1.4, CC2.2Training platform or a slide and quiz kit with automated remindersCompletion records for every employee
A4Vendor management program and vendor registerCC9.2Register of vendors with data access, review checklist, subprocessor trackingVendor register, vendor review records
A5Background checks for new hiresCC1.4Screening provider plus policy language covering scope and exceptionsCheck confirmations per hire
A6Leadership security oversight cadenceCC1.2, CC4.1Quarterly security review with a standing agenda. No board is not a gap; oversight sits with whoever actually holds itMeeting notes showing security topics discussed

B. Identity and access management

Where the most audit exceptions come from, and where the fixes take longest because application code depends on them.

IDControlCriteriaHow it's satisfiedEvidence
B1Centralized identity and SSO for core systemsCC6.1Google Workspace, Okta, or equivalent as the identity provider, with applications federated to itSSO configuration, application inventory showing coverage
B2MFA enforced on the identity provider, AWS, and GitHubCC6.1Enforcement at the identity provider, plus AWS and source control settings. Not "encouraged", enforcedEnforcement settings, coverage report showing zero exempt users
B3AWS IAM least privilege: no root use, password policy, no wildcard admin sprawlCC6.1 to CC6.3CloudFormation IAM baseline plus IAM Access Analyzer. Application-wired roles are tightened by your engineers from our findingsIAM credential report, policy diffs, Access Analyzer findings
B4Quarterly access reviews across AWS, source control, and core SaaSCC6.2 to CC6.3Auto-generated access inventory plus a review workflow with remindersSigned review records for every quarter in the window
B5Offboarding within one business dayCC6.2Offboarding checklist plus a deprovisioning script covering every system in the inventoryOffboarding tickets with timestamps proving the SLA was met
B6Secrets management: no secrets in code, managed store in useCC6.1AWS Secrets Manager or SSM Parameter Store, plus repository scanning. Existing secrets rotated and migratedScan results, secret store inventory

B4 is the control most often failed retroactively. A quarterly review is easy to write into a policy and impossible to backfill: a Type 2 auditor will ask for the records covering every quarter of the observation window. If you write "quarterly", run it quarterly starting the day the window opens.

C. AWS infrastructure and monitoring

The largest group and the most automatable. Almost all of it deploys as CloudFormation in an afternoon; the exceptions are marked.

IDControlCriteriaHow it's satisfiedEvidence
C1Organization-wide CloudTrail to a central log archiveCC7.2AWS Organizations trail delivering to a dedicated log archive account with S3 Object LockTrail configuration, log samples showing delivery
C2GuardDuty enabled in all accounts and regions with a delegated administratorCC7.2 to CC7.3Delegated admin in the security account, auto-enable for new accountsGuardDuty settings, findings workflow
C3AWS Config with conformance rulesCC7.1Config recorder in every region plus a curated rule set. A recorder with zero rules will not survive auditor scrutinyConfig dashboard, rule compliance summary
C4S3 account-level public access block and default encryptionCC6.6Account-level Block Public Access, plus remediation of any bucket-level exceptionAccount settings, full bucket inventory
C5Encryption at rest by default for EBS, RDS, and S3CC6.6Account defaults set by template. Existing unencrypted resources need a migration, which is a maintenance window, not a settingEncryption inventory across all resource types
C6Encryption in transit on public endpointsCC6.6 to CC6.7TLS policy on load balancers and CloudFront. Application endpoints fixed by your engineers where neededScan results, load balancer and CloudFront configurations
C7VPC flow logs on production VPCsCC7.2CloudFormation, delivering to the central archive with a defined retention periodFlow log configurations
C8Centralized security alertingCC7.2 to CC7.3EventBridge routing GuardDuty, Config, and CloudWatch alarms to Slack or PagerDutyAlert configuration, sample alerts with the responses to them
C9Automated backups plus at least one documented restore testCC7.5AWS Backup plans by tag, plus a restore test you actually run. The test is the part that gets skippedBackup configurations, restore test record with date and outcome
C10Vulnerability management: Inspector, image scanning, patch cadenceCC7.1Amazon Inspector and ECR scanning enabled, plus a triage workflow with a cadence you can meetScan reports, remediation records showing the cadence held
C11Security group hygiene: no 0.0.0.0/0 on management portsCC6.6Scanner plus optional auto-remediation, and a documented exception register for the rules you keepSecurity group audit report, exception register
C12Production and development environment separationCC8.1, CC6.6Architecture work. Separate accounts or at minimum separate VPCs with distinct credentials. Not a templateAccount and VPC structure documentation

D. Software development lifecycle

Auditors test change management by sampling actual production changes. If your process is real, this group is nearly free.

IDControlCriteriaHow it's satisfiedEvidence
D1Branch protection and required review on production repositoriesCC8.1Repository rulesets applied across every production repo, including the ones nobody remembersBranch protection settings, sample pull requests showing review
D2CI/CD-only deploys to productionCC8.1Deploy credentials removed from humans; the pipeline is the only pathPipeline configuration, deploy logs
D3Dependency and static analysis scanning in CICC7.1, CC8.1Dependabot or equivalent plus a static analyzer, wired into the pipelineScanner configuration, sample results with triage
D4Documented change management processCC8.1A lightweight written policy that matches your real pull request workflow. Write what you doPolicy plus sample change records that match it

E. Endpoints and people operations

IDControlCriteriaHow it's satisfiedEvidence
E1Device management: disk encryption, screen lock, updatesCC6.7 to CC6.8A lightweight MDM enrolling every laptop that touches production or customer dataDevice compliance report showing full enrollment
E2Onboarding checklist covering access, training, and policy acknowledgementCC6.2, CC1.4Checklist in your HR or task tooling, completed per hireCompleted checklists for every hire in the window
E3Acceptable use and endpoint policy acknowledged by all staffCC1.4Policy plus an acknowledgement workflow, including contractors with accessAcknowledgement records, complete against the personnel list

F. Operations and incident response

IDControlCriteriaHow it's satisfiedEvidence
F1Incident response plan with roles and severity levelsCC7.3 to CC7.4A plan written to your actual stack and on-call setup, not a generic templateApproved plan with version history
F2Annual incident response tabletop exerciseCC7.5A scenario walkthrough with the people who would actually respondExercise notes and the follow-up actions from them
F3Incident tracking and postmortem processCC7.4 to CC7.5Ticket template and postmortem document, used for real incidentsIncident records, or a documented attestation of none in the period
F4Uptime and operations monitoring on production servicesCC7.2CloudWatch dashboards and alarms on the services that matterDashboards, alert history showing the alarms fire

Availability and Confidentiality, when they apply

The 35 controls above cover Security, the Common Criteria that every SOC 2 report contains. Availability and Confidentiality bring additional criteria and about ten more controls, mostly around uptime commitments, capacity, replication, and the retention and disposal of confidential data.

The trigger is contractual, not technical. If your MSA carries an uptime SLA, you are already committed on Availability. If your DPA or MSA carries confidentiality obligations, the same applies to Confidentiality. We read the commitments you have actually signed during the gap assessment and scope in what they require, at no change in price. Privacy and Processing Integrity stay out of scope; they are separate programs.

One caution worth stating plainly: replication and retention retrofits of existing data stores are genuine engineering projects. Scoping Availability in because a contract requires it is routine. Discovering mid-engagement that meeting it needs a new replication architecture is a re-scope.

What can be automated and what can't

CategoryControlsWho does it
Deployable as infrastructure-as-codeC1, C2, C3, C4, C7, C8, C9, F4, plus baselines for B3 and B6A CloudFormation stack deployed alongside your infrastructure, in its own state, owned by you
Scriptable with admin access to your SaaSB1, B2, D1, D2, D3, E1Configuration in your identity provider, source control, and device management
Process scaffoldingA1 to A6, B4, B5, E2, E3, F1, F2, F3Templates, runbooks, and reminders we build; your team operates them. This is where Type 2 evidence is won or lost
Application-level, your engineers onlyParts of B3, B6, C5, C6, C10, C11, and all of C12Exact-fix tickets to your team, verified by rescan. Nobody outside your team should be changing your application

That split is the whole basis of a fixed price. The first two categories are predictable. The third is predictable if someone owns the calendar. The fourth is where estimates go wrong, which is why no honest quote arrives before the environment has been scanned.

Frequently asked questions

How many controls are required for SOC 2?

None specifically. The AICPA publishes criteria, not controls, and every company designs its own. Thirty-five is what a 5 to 100 person AWS-native SaaS company typically needs to cover the Security category in a way an auditor will accept. A company with a smaller footprint may need fewer; a company with a complex estate will need more.

Which SOC 2 controls can be automated on AWS?

Roughly 70 to 80% of the technical remediation deploys as CloudFormation: organization CloudTrail, GuardDuty, AWS Config, S3 public access block, encryption defaults, VPC flow logs, EventBridge alert routing, AWS Backup, and Amazon Inspector. What cannot be automated: IAM least privilege on application-wired roles, encryption retrofits of existing stores, environment separation, and every process control a human has to run on a schedule.

What evidence does a SOC 2 auditor ask for on AWS?

Configuration exports and screenshots for technical controls, plus records proving the process controls ran. The second half is what teams underestimate: signed access reviews, offboarding tickets with timestamps, training completion records, approved policies with version history, restore test records, incident postmortems. A Type 2 needs all of it covering the entire observation window. The evidence checklist walks through a real request list item by item.

Can we just buy a compliance platform and follow its checklist?

You can, and many teams do. The platform will show you which of these controls are failing and give you policy templates. It will not tighten an IAM policy your application depends on, restructure your accounts, or run your quarterly access review. That remaining work is the reason most first-audit teams end up hiring engineering help anyway. More on the split in platform vs engineer.

Get this scored against your actual environment

The $2,500 gap assessment runs a read-only scan across all 35 controls, adds the process interview the scan cannot do, and returns a prioritized gap report with a fixed readiness quote. Credited in full toward the engagement; the report is yours either way.

Book a 30-minute scoping call

Read-only access, external-ID protected, revocable by you at any time.