On this page
- Download the SOC 2 Controls Matrix (Excel, PDF, CSV)
- SOC 2 Control Examples Mapped to Evidence
- Security Controls (CC1–CC9) Mapped to Evidence
- Availability Controls (A1.1–A1.3) Mapped to Evidence
- Processing Integrity Controls (PI1.1–PI1.5) Mapped to Evidence
- Confidentiality Controls (C1.1–C1.2) Mapped to Evidence
- Privacy Controls (P1–P8 series) Mapped to Evidence
- What Are SOC 2 Controls?
- What Are the Five SOC 2 Trust Services Criteria?
- Gap Checks Before You Mark a Control Ready
- How Do You Implement and Document SOC 2 Controls?
- How Do You Prepare for a SOC 2 Audit?
- Answering Your Top SOC 2 Control Questions
There is no official SOC 2 controls list. The AICPA’s 2017 Trust Services Criteria set 61 criteria, not controls: 33 Common Criteria, which make up Security and apply to every report, plus 28 across Availability, Processing Integrity, Confidentiality, and Privacy, which you add by scope. Your organization designs the controls that meet them. Our free library maps 82 example controls to all 61 criteria, each with the evidence an auditor may request and a common gap. Filter it to your scope below.
Download the matrix: Excel, PDF or CSV, free with no signup.
Download the SOC 2 Controls Matrix (Excel, PDF, CSV)
A SOC 2 controls matrix is a spreadsheet that lines each control up with the criteria it addresses, the evidence that shows it works, and an owner. SOC 2 has no official matrix, so this one starts as example controls that you tailor to your systems, assign, and attach evidence to.
| What it holds | Who fills it in | |
|---|---|---|
library_control_id | The example control’s ID in our library, such as AC-06, shown on its row in the tables below. | Filled in by us |
category, criterion_reference | The Trust Services category and the criteria the example control maps to, such as CC6.2. | Filled in by us |
example_control | The control written as an action you can adopt or rewrite. | Filled in by us |
evidence_example, evidence_source | What an auditor may request, and the system each item comes from, such as the identity provider, ticketing tool, or cloud console. | Filled in by us |
type_2_period_evidence | What must exist across the audit period for a Type 2 report. | Filled in by us |
cadence, common_gap | A suggested cadence to replace with your own, and a gap that is common for that control. | Filled in by us |
system_scope, tailored_control_statement, applicability | Your boundary, your own wording of the control, and whether it applies and why. | Blank for you |
organization_control_id, owner, policy_or_risk_reference, status, notes | Your identifier, the person responsible, the policy or risk it traces to, and progress. | Blank for you |
evidence_reference, gap_decision, remediation_action | Links to your dated artifacts, whether a gap is open, and the fix, owner, and due date. | Blank for you |
The Excel template and the CSV have the same columns. The Excel file adds a status dropdown, a frozen header row, an Instructions sheet, and a criteria-coverage sheet that lists the example controls mapped to each of the 61 criteria. The PDF is a printable copy grouped by category.
This editable starter matrix is SOC2Auditors’ implementation guidance, not an official AICPA control list. It contains criterion identifiers, our own short labels, and our examples, not AICPA criterion or points-of-focus wording. An example mapped to a criterion does not show that your organization meets it. Use the official AICPA Trust Services Criteria resource, and confirm applicability, evidence, and testing with your CPA firm, which sets the actual requests and samples.
Also available as an editable CSV and a PDF. All three hold the same 82 controls.
| Category | Criteria | Add it when | Example controls | Jump to |
|---|---|---|---|---|
| Security | CC1.1 to CC9.2 (33 criteria) | Almost always. Its Common Criteria apply to every SOC 2 report. | 60 | Security controls |
| Availability | A1.1 to A1.3 (3 criteria) | You commit to uptime or recovery. | 4 | Availability controls |
| Processing Integrity | PI1.1 to PI1.5 (5 criteria) | Customers rely on your processing being complete and accurate. | 6 | Processing Integrity controls |
| Confidentiality | C1.1 to C1.2 (2 criteria) | You hold data designated as confidential. | 2 | Confidentiality controls |
| Privacy | P1.1 to P8.1 (18 criteria) | You collect personal information directly from individuals. | 10 | Privacy controls |
Jump to a Common Criteria series: CC1 (1.1 to 1.5), CC2 (2.1 to 2.3), CC3 (3.1 to 3.4), CC4 (4.1 to 4.2), CC5 (5.1 to 5.3), CC6 (6.1 to 6.8), CC7 (7.1 to 7.5), CC8 (8.1), CC9 (9.1 to 9.2).
SOC 2 Control Examples Mapped to Evidence
Each row pairs an example control with the criteria it maps to, the evidence an auditor may request, what must exist across a Type 2 audit period, a suggested cadence, and a common gap. The Security rows answer the Common Criteria, which apply to every SOC 2 report; the Availability, Processing Integrity, Confidentiality, and Privacy rows apply when the report includes those categories. The SOC 2 requirements overview sets out which parts are mandatory and which are optional. For detailed access and operations design, use the CC6/CC7 security controls guide. For the order of work from scoping to report, see the SOC 2 compliance checklist.
All rows show until you change a filter. Untick the categories outside your report, and turn on the switches that describe you (solo founder, PaaS only, no office, no device management, no hosted AI models) to hide controls that would not apply; rows that a switch can hide say why in their Control column. Two options hide nothing: the HIPAA add-on marks controls that overlap the HIPAA Security Rule, and your stack choices name the system each piece of evidence comes from. The filtered list downloads as a CSV.
Showing all 82 controls.
See the same evidence grouped by the system you pull it from
Security Controls (CC1–CC9) Mapped to Evidence
Security has 33 Common Criteria, CC1.1 through CC9.2, and each one has at least one example control below. Some controls answer several criteria and some criteria take several controls, so the number of rows is not the number of criteria. The cadences shown are common choices; set yours, including the risk assessment schedule and access-removal deadlines, from your documented risks and policies, not a fixed SOC 2 schedule.
| Criteria | Control | Evidence auditors request | Common gap |
|---|---|---|---|
| GV-01 Publish a code of conduct and a confidentiality agreement. Every employee and contractor signs both before receiving system access and re-acknowledges the code of conduct each year. |
| New hires sign days or weeks after they were given system access, or contractors are left out of the acknowledgment. |
| GV-02 Brief your board on security risks, incidents and control status at least annually, and record questions and agreed actions in minutes. With no board, name an outside advisor or investor to do this; founders reviewing their own work are not independent. |
| Security never reaches the board agenda, or the minutes record a presentation with no questions, decisions or follow-up. |
| GV-03 Maintain an org chart and written role descriptions that name who owns security, who they report to, and who may approve access, changes and risk exceptions. |
| Nobody is formally named as security owner, so approvals in tickets come from people with no assigned authority to give them. |
| PL-01 Keep written security policies covering topics such as access, change, incident response, vendors, data handling and acceptable use, with procedures that put each into practice. Management approves them and reviews them at least annually. |
| Policies are templates describing tools, cadences or roles the company does not use, so testing finds the written control and actual practice disagree. |
| PL-02 Publish policies where every employee and contractor can find them, have each person acknowledge them at hire and annually, and tell staff how to report a security concern or policy violation. |
| A policy changed mid-period but staff only ever acknowledged the old version, or contractors with system access acknowledged nothing. |
| PL-03 Tell customers what you commit to and what they must do themselves: state security commitments in contracts or a trust page, publish a security contact, and notify customers of changes that affect them. |
| Customer responsibilities assumed in the system description are never communicated to customers, or the security contact goes to an unmonitored inbox. |
| HR-01 Run background checks, where local law allows, on employees and contractors who will have access to production or customer data, and complete each check before that access is granted. |
| Checks finish after the person already has production access, or contractors and staff hired through agencies bypass the process. |
| HR-02 Train every employee and contractor on security at hire and annually, and give engineers and support staff extra training on secure coding and handling customer data. |
| New hires finish training weeks after starting, or the completion report leaves out contractors and people who left during the period. |
| HR-03 Review each employee's performance at least annually, including how they carry out assigned security responsibilities, and apply a documented disciplinary process when someone breaks a policy. |
| Performance reviews at an early-stage company are informal conversations, so there is no dated record for the auditor to inspect. |
| RA-01 Each year, write down your service commitments and security objectives, identify threats to them (including vendor risks), rate each risk's likelihood and impact, and record a treatment decision and owner for every risk. |
| The register is a template that never changes from year to year, or its risks are not linked to the controls meant to treat them. |
| RA-02 Include fraud in the risk assessment: consider how staff, contractors or outsiders could misuse access, alter records or billing, or override controls, and name the controls that address each scenario. |
| The risk assessment covers outside attackers only and never considers insider misuse or management overriding a control. |
| RA-03 Before a significant change, such as a new product line, a major architecture change, an acquisition or a new critical vendor, assess its effect on security risk and update the risk register and controls. |
| Major changes such as a new cloud region or an AI feature ship with no record that their risks were considered until the next annual assessment. |
| RA-04 Maintain a control matrix that links each risk to the controls that treat it, including technology controls over infrastructure, access and software development, and names an owner and cadence for every control. |
| A control has no owner, or the named owner left the company, so nobody performed it for part of the period. |
| CE-01 Monitor whether each control ran on its cadence, using automated tests where available and a dated checklist where not, and have a named owner review the results at least monthly. |
| A compliance platform shows tests failing for weeks with no ticket or owner response, so the monitoring control looks as if it did not operate. |
| CE-02 Once a year, have someone independent of the control owners, such as an internal auditor or outside consultant, evaluate whether key controls are designed and operating as described. The SOC 2 audit itself does not count. |
| The only evaluation is a self-assessment by the people who run the controls, or its scope skips the controls most likely to fail. |
| CE-03 Log every control failure, audit finding and test exception as a deficiency with an owner, severity and due date, report open items to management, and track each one to closure. |
| Deficiencies get fixed with no record, or sit open past their due dates with no escalation to management. |
| AC-01 Require multi-factor authentication for every workforce account on in-scope systems, through single sign-on where the system supports it, and turn off sign-in methods that bypass it, such as local passwords. Give each person a unique user ID, with no shared accounts. |
| MFA is offered but not enforced, or root, break-glass (emergency admin) and non-SSO accounts still sign in with a password alone. |
| AC-02 Store secrets, API keys and service-account credentials in a secrets manager, give each service account a named owner, and rotate or revoke credentials when an owner leaves or a key is exposed. |
| Long-lived service account keys have no owner and were never rotated, or secrets sit in source code and committed configuration files. |
| AC-03 Grant access to in-scope systems only after a recorded approval from the person's manager or the system owner, at the level the role needs. Apply this to employees, contractors and vendor users alike. |
| Accounts are created before approval is recorded, or access is granted over chat and the ticket is written afterward. |
| AC-04 Remove all access for departing employees and contractors by the deadline in your access policy, triggered by the HR termination record, and recover company devices. |
| Accounts outside SSO, such as the cloud console, the database or a shared admin tool, stay active after the identity provider account is disabled. |
| AC-05 Define roles with the minimum permissions each job needs, assign access through those roles or groups rather than one-off grants, and require approval for anything beyond the role. |
| Most users hold an admin or owner role because it was easier, so the documented role matrix does not match real permissions. |
| AC-06 Each quarter, have system owners review every account and its permissions on production and other in-scope systems, record a keep or remove decision for each, and remove unneeded access by a set deadline. |
| Reviewers approve the whole list without checking actual permissions, or removals decided in the review are never carried out. |
| AC-07 Limit admin and production data access to named people with a recorded need, use separate or time-limited elevated sessions for admin work, keep a monitored break-glass (emergency admin) account, and log privileged actions. |
| Shared admin credentials or the cloud root account are used for routine work, so actions cannot be tied to a person. |
| AC-08 Protect customer logins to your product: enforce password rules, offer MFA or SSO, throttle repeated failed attempts, expire idle sessions, and check tenant boundaries on every data request. |
| Tenant isolation is enforced only in the user interface, so a signed-in user can fetch another customer's records through the API. |
| AC-09 Each quarter, review the third-party apps and OAuth grants connected to your workspace, code host and chat tools, remove any that are unused or unapproved, and limit who can authorize new ones. |
| Old integrations keep broad access to email, files or repositories long after the person who connected them has left. |
| PE-01 Restrict entry to offices and to any room holding network or storage equipment to authorized people, log visitors, and remove badge or key access when people leave. |
| Badges stay active after people leave, or a shared office has no record of who can enter. |
| PE-02 As part of the vendor review, read your cloud and hosting providers' SOC 2 reports each year for their physical and environmental protection results, note any exceptions, and confirm you perform the controls they expect of customers. |
| The provider's report is downloaded but never read, so its exceptions and the customer controls it expects go unaddressed. |
| AM-01 Maintain an inventory of in-scope systems, cloud accounts, SaaS tools, data stores and company devices with an owner for each, plus a current network and data-flow diagram. |
| Resources created during the period, such as a new database or cloud account, never reach the inventory and so miss logging, backups and reviews. |
| AM-02 Before a device or storage medium is reused, returned or thrown away, wipe or destroy it by a method suited to the data it held, and record the asset, method, date and who did it. |
| Laptops from departed staff are reissued or sold without a recorded wipe, or the destruction certificate lists no serial numbers. |
| NS-01 Expose to the internet only the endpoints the service needs, keep admin interfaces and databases off public networks, segment internal networks so production is separate, use provider protections such as a web firewall or rate limits, and review exposure rules each quarter. |
| Broad inbound rules, such as an open database port, were added for testing and never removed, or production shares a flat network with everything else. |
| NS-02 Reach production servers and networks only through an authenticated, logged path such as a bastion host (a hardened jump server), VPN, zero-trust proxy or the cloud provider's session manager, never through SSH or RDP exposed to the internet. |
| SSH is open to the internet with shared keys, so production access is neither tied to a person nor logged. |
| NS-03 Encrypt data in transit on every external connection with TLS 1.2 or later, turn off older protocols, and let customer data leave production only through approved transfer methods that leave a record. |
| A legacy endpoint still accepts TLS 1.0, or engineers export customer data to laptops and spreadsheets with no record. |
| EP-01 Enroll every company laptop in device management and enforce disk encryption, screen lock, automatic OS updates and remote wipe, with alerts when a device falls out of compliance. |
| Contractors' laptops are never enrolled, or non-compliant devices stay that way for months because nobody acts on the alerts. |
| EP-02 Run malware protection on laptops and on servers where the platform allows it, restrict or monitor software installation on company devices, and investigate and close every malware alert. |
| Some devices never installed the agent or stopped reporting, unnoticed because coverage was never compared with the inventory. |
| EP-03 Set a minimum baseline for any device that reaches company systems, including personal ones: disk encryption, screen lock, a supported OS and malware protection. Check it with device posture rules or signed attestations. |
| Personal devices are allowed but the policy says nothing about them, so the auditor finds devices with no proof of encryption or updates. |
| VM-01 Set secure configuration baselines for cloud accounts and hosts or containers, or for your managed platform's security settings. Scan for vulnerabilities, misconfigurations and outdated dependencies on a set schedule and after major changes, across every in-scope environment. |
| Scans cover only part of the environment, such as one cloud account, or the schedule lapsed for a month with no record of why. |
| VM-02 Fix vulnerabilities and apply security patches within deadlines set by severity in your policy, track each finding in a ticket, and record a signed risk acceptance for anything that cannot meet its deadline. |
| The same critical finding appears in several months of scans with no ticket and no recorded risk acceptance. |
| VM-03 Commission an independent penetration test of the in-scope application and infrastructure at least annually and after major changes, then fix the findings and retest the serious ones. |
| The test scope leaves out the production application or its API, or findings are filed with no remediation record or retest. |
| LG-01 Send security-relevant logs from the cloud, identity provider, application and other in-scope systems to a central store, protect them from change, and keep them long enough that the start of the audit period is still available when the auditor tests it. |
| A cloud account or service added during the period was never connected to logging, or retention deletes the period's first months before fieldwork. |
| LG-02 Alert on suspicious activity such as repeated failed logins, privilege changes and unusual data access, route alerts to an on-call owner, and record a triage decision for each against written severity criteria. |
| Alerts land in a chat channel nobody owns, so there is no record that anyone looked at them or decided whether they were incidents. |
| IR-01 Keep an incident response plan that defines severity levels, roles, escalation, containment, evidence preservation, and customer and regulator communications, and review it at least annually. |
| The plan names people who have left or tools the company no longer uses, so it has not been kept current. |
| IR-02 Test the incident response plan at least once a year with a tabletop exercise or simulation that includes recovery steps, then update the plan with what the exercise showed. |
| The plan was never exercised, or a tabletop happened but nothing records who took part or what changed afterward. |
| IR-03 Record every security incident with its timeline, the actions taken, the systems restored and how their integrity was confirmed, and complete a post-incident review with corrective actions for significant incidents. |
| Incidents were handled in chat with no ticket, so nothing shows the response or recovery, or corrective actions were never finished. |
| IR-04 Notify affected customers, and regulators where required, about security incidents within the time frames set by your contracts and applicable law, and keep a copy of each notice. |
| Contracts promise notice within a set number of hours that the incident plan never mentions, so nobody tracks that deadline. |
| CM-01 Require a pull request reviewed and approved by someone other than the author before any code or infrastructure-as-code change merges to the production branch, enforced by branch protection. |
| Admins can bypass branch protection and did, or infrastructure is changed in the cloud console instead of through reviewed code. |
| CM-02 Run automated tests and security checks in the CI pipeline on every change, and block the merge or deploy when they fail. |
| Tests run but are not required, so changes merge with failing or skipped checks. |
| CM-03 Deploy to production only through the pipeline from the approved branch, restrict who can change production directly, and record each deployment with its commit and time. |
| Engineers deploy from their laptops or edit production directly, leaving changes with no review or record. |
| CM-04 Define an emergency change path that lets an urgent fix ship first, then requires review, test evidence and approval within a set number of business days. |
| Hotfixes go straight to production with no ticket and no later review, and nobody can list which changes were emergencies. |
| CM-05 Keep development and test environments separate from production, and keep real customer data out of them unless it is masked or the copy is approved. |
| A production database snapshot was restored to staging for debugging and left there under weaker access controls. |
| CM-06 Make manual changes to production data, such as fixes run as scripts or edits in a database console, only through an approved ticket, and keep a record of exactly what was run. |
| Support engineers fix customer records directly in the database with no ticket, so the changes cannot be matched to an approval. |
| VR-01 Keep an inventory of vendors that hold or can reach customer data or affect the service, with a risk tier, an owner and the data each receives. Update it as vendors change, and revoke access when one leaves. |
| Tools bought on a company card or by a single team never reach the inventory, so they skip review entirely. |
| VR-02 Assess each vendor's security before signing, and yearly for high-risk ones. Review the SOC 2 report of every provider your service runs on; where none exists, record what you checked instead and a risk decision. Note exceptions and the controls each vendor expects of you. |
| Vendors are signed before security reviews them, or a critical provider has no SOC 2 report and nothing records what was checked instead. |
| VR-03 Include security, confidentiality, breach notification and data return or deletion terms in contracts with vendors that handle customer data or affect the service. |
| Click-through terms with key vendors were never checked, so there is no breach-notice commitment the company can rely on. |
| BC-01 Back up production databases and other critical data automatically, encrypt the backups, store them apart from the primary system, and alert an owner when a backup fails. |
| A database added mid-period was never added to the backup schedule, or failure alerts go to no one. |
| BC-05 Keep a business continuity plan that covers losing key people, vendors, offices or systems, cross-train or name a successor for each critical role, decide which risks to transfer through insurance, and review the plan annually. |
| The plan covers a data center outage but not losing the one engineer who knows how to deploy, or an outage at a critical vendor. |
| DP-01 Encrypt customer data at rest in databases, storage, backups and replicas, manage keys in your provider's key management service, and limit who can use or change the keys. |
| A storage bucket or replica created mid-period was left unencrypted, and the gap surfaces when the inventory is compared with a live export. |
| AIM-01 Approve each hosted AI model provider and AI tool before customer data is sent to it, review its security, data use and retention terms, keep an approved list staff must follow, and list providers that receive customer data as subprocessors. |
| Staff paste customer data into AI tools nobody approved, so the vendor inventory misses providers that now hold customer data. |
| AIM-02 Configure each AI provider so customer data is not used for training, retention is the shortest available and data stays in committed regions. Redact or allowlist the fields sent to models. Recheck quarterly and when terms change. |
| A developer account on default terms runs in production, so prompts may be retained or used for training against customer commitments. |
| AIM-03 Log AI requests made by the product with timestamp, model and version, the calling user or service, and any tool actions taken. Store prompt content only where needed, and restrict access to logs that contain customer data. |
| Raw prompts containing customer data are kept indefinitely in a general log store that most of the company can read. |
| AIM-04 Treat changes to prompts, model versions, retrieval sources and AI tool permissions as production changes: review, test against an evaluation set, approve and record each one. |
| Prompts are edited in a provider dashboard outside source control, so changes have no review, test or history. |
These controls are hidden because Security is not selected above.
Access reviews and deprovisioning are useful places to check before fieldwork because both produce dated evidence an auditor can sample. For AI vendors, include model providers, training-data flows, and subprocessors in the CC9.2 risk assessment rather than treating the cloud infrastructure as the whole vendor boundary.
To go deeper on individual rows, use the access control policy template and the MFA section of the CC6/CC7 security controls guide for CC6.1 to CC6.3, the encryption requirements for stored and transmitted data, security awareness training for staff communication, logging, monitoring and incident response for CC7 (covered in the same guide), change management controls for CC8.1, and vendor management requirements for CC9.2.
Worked Example: Privileged-Access Review
This illustrative entry tailors one library row, the quarterly access review (CC6.2 and CC6.3, in the Security table above), to a single population: production cloud administrators. Replace each value with your own.
| Matrix fields | Example entry |
|---|---|
| Scope, ID, and tailored control | Production cloud administrative access; AC-06. The assigned engineering owner reviews the administrative-access population on the access policy’s cadence, approves retain/revoke decisions, and verifies required removals by the policy deadline. |
| Owner, cadence, and policy reference | Director of Engineering; quarterly; Access Control Policy, section 4 (privileged access reviews). |
| Evidence reference | Dated export of production administrator accounts; the owner’s retain/revoke decisions; a removal ticket for each revoked account. Linked artifacts, not just filenames. |
| Applicability, gap decision, and remediation | Applicable to production cloud administrators. Gap decision: open evidence gap if any removal ticket is missing. Remediation: owner assigned, due date set, closure tracked. An access export alone does not prove review or completed removal. |
Availability Controls (A1.1–A1.3) Mapped to Evidence
| Criteria | Control | Evidence auditors request | Common gap |
|---|---|---|---|
| BC-02 Document a disaster recovery plan with recovery time and recovery point targets that match customer commitments, and design production so it can meet them, for example with multi-zone deployment or a tested restore path. |
| Recovery targets in customer contracts are tighter than anything the architecture or backup schedule could deliver. |
| BC-03 Test recovery at least annually by restoring backups and walking through the disaster recovery plan, compare the results with recovery targets, and fix the gaps found. |
| Backups run every day but nobody has ever restored one, so the plan's recovery times are untested assumptions. |
| BC-04 Monitor use of compute, storage and database capacity against set thresholds, alert before limits are reached, and review capacity needs on a set cadence. |
| Dashboards exist but no thresholds are defined, so nobody is alerted until customers notice slowdowns. |
| BC-06 Monitor availability with external uptime checks, handle outages through the incident process, keep customers informed on a status page, and measure availability against the targets you commit to. The trust services criteria set no uptime number; your commitments do. |
| Contracts promise an uptime percentage that nobody measures, or outages were fixed with no status update and no record of how long they lasted. |
These controls are hidden because Availability is not selected above.
A dated recovery-test result shows that the procedure operated; a disaster-recovery document alone does not. Our SOC 2 business continuity controls guide covers backups, failover, and recovery testing.
Processing Integrity Controls (PI1.1–PI1.5) Mapped to Evidence
| Criteria | Control | Evidence auditors request | Common gap |
|---|---|---|---|
| PRC-01 Document each in-scope process: the inputs it accepts, what it does to them, the outputs it produces, and the accuracy and timing you promise customers. |
| Processing logic lives only in code and in engineers' heads, so the auditor has nothing to test the outputs against. |
| PRC-02 Validate inputs on the server for type, format, range and required fields, reject or hold bad records, and log each rejection so it can be corrected. |
| Validation runs only in the browser, so API callers can submit records that skip it. |
| PRC-03 Monitor processing jobs for failures, delays and incomplete runs, alert an owner, and record how each exception was fixed or the data reprocessed. |
| Failed jobs retry silently or drop records, and nobody can show that every input was processed. |
| PRC-04 Test every change to processing logic, such as calculations and data transformations, against expected results before release, hotfixes included. |
| Hotfixes to processing logic skip the test suite, so calculation errors can reach customers. |
| PRC-05 Reconcile outputs to inputs using record counts or control totals, and deliver outputs only to the intended recipients through approved channels. |
| Output reports are checked for format but never reconciled to inputs, so missing records go unnoticed. |
| PRC-06 Protect stored inputs, in-process data and outputs from unauthorized change, keep an audit trail of changes to those records, and retain them as long as your specifications require. |
| Records can be edited with no history, so nobody can show that stored outputs still match what was originally produced. |
These controls are hidden because Processing Integrity is not selected above.
For reconciliation controls, retain evidence that traces inputs through processing to outputs, including errors and their resolution. An output report alone may not show whether the full input population was processed.
Confidentiality Controls (C1.1–C1.2) Mapped to Evidence
| Criteria | Control | Evidence auditors request | Common gap |
|---|---|---|---|
| DP-02 Classify your data, mark which customer and business information is confidential, and set handling rules for each class covering where it may be stored, who may access it and how it may be shared. |
| There is no classification scheme, so nobody can say which data the confidentiality terms in customer contracts actually cover. |
| DP-03 Delete confidential information when its retention period ends or a customer leaves, including copies in exports and with vendors, let backups expire on schedule, and record each deletion. |
| Deletion is promised in contracts but never done, or done in the main database while copies remain in exports and analytics tools. |
These controls are hidden because Confidentiality is not selected above.
For a disposal control, keep evidence of completed deletion and relevant sub-processor disposal records. A retention policy states the rule; it does not show that deletion occurred.
Privacy Controls (P1–P8 series) Mapped to Evidence
Privacy adds 18 individual criteria across eight series: notice (P1), choice and consent (P2), collection (P3), use, retention and disposal (P4), access (P5), disclosure and notification (P6), quality (P7), and monitoring and enforcement (P8). Each of the 18 has at least one example control below, and some controls answer more than one: the third-party disclosure row covers P6.1, P6.2, and P6.7.
| Criteria | Control | Evidence auditors request | Common gap |
|---|---|---|---|
| PV-01 Publish a privacy notice covering what personal information you collect, why, how long you keep it, who receives it and people's rights, and update it before practices change. For data you process for customers, describe your handling in your terms or processing agreement. |
| The notice was copied from a template and lists uses or retention periods that do not match what the product does. |
| PV-02 Show people their choices when you collect personal information, record consent where law or your notice requires it (explicit for sensitive data), and honor withdrawals by the deadline your notice or the law sets. |
| Consent is captured but stored without a timestamp or notice version, so the company cannot show what a person agreed to. |
| PV-03 Keep an inventory of the personal information you hold, each field's purpose and where it flows, and review new features before they collect it or use it for a new purpose. Use personal information customers send you only for the purposes in your contract with them. |
| Analytics and support tools collect fields the notice never mentions, so collection goes beyond the stated purposes. |
| PV-04 Set retention periods for personal information, delete or anonymize it when the period ends or a valid deletion request arrives, and record each deletion. |
| No retention periods are defined, so personal information is kept indefinitely across databases, logs and backups. |
| PV-05 Handle requests from individuals to see their personal information: verify identity, respond within legal and committed deadlines, and log each request and response. Route requests about data you hold for a customer to that customer. |
| Requests arrive by email and are answered ad hoc with no log, so neither timeliness nor identity checks can be shown. |
| PV-06 Let individuals correct their personal information, validate key fields when they are collected, pass corrections on to vendors that received the data, and route requests about customer-held data to that customer. |
| Corrections update the main database but not the copies held by vendors or downstream systems. |
| PV-07 Share personal information with third parties only for purposes your notice describes or with consent, keep a list of subprocessors, and record disclosures so you can tell a person who received their data. |
| New subprocessors are added without updating the public list or notifying customers as their contracts require. |
| PV-08 Log every unauthorized disclosure of personal information and assess whether notice is required. Where a customer controls the data, notify that customer, who notifies individuals and regulators. Where you control it, notify them yourself. Meet legal and contractual deadlines. |
| Small disclosures, such as an email sent to the wrong customer, are never logged, so the record of unauthorized disclosures is empty. |
| PV-09 Sign data processing terms with every vendor that receives personal information, requiring privacy commitments that match yours and prompt notice of any unauthorized disclosure. |
| The vendor list and the signed processing agreements do not match, leaving some vendors with personal data and no privacy terms. |
| PV-10 Give individuals a way to send privacy questions and complaints, log and resolve each one, forward complaints about customer-controlled data to that customer, and review privacy compliance at least annually with fixes tracked. |
| Complaints reach support as ordinary tickets and are never flagged as privacy issues, so nobody reviews them for patterns or fixes the cause. |
These controls are hidden because Privacy is not selected above.
What Are SOC 2 Controls?
A control is a defined action or process that addresses a risk and maps to applicable criteria. A policy states the requirement; the control implements it; evidence records its design or performance. MFA enforcement, access reviews, and recovery tests are examples. A control description is not itself evidence that the control operated.
What Are the Five SOC 2 Trust Services Criteria?
The five Trust Services categories are Security, Availability, Processing Integrity, Confidentiality, and Privacy. Every SOC 2 report covers the Common Criteria behind Security, and nearly every report includes Security as a category. You add the other four according to the commitments you make to customers. The at-a-glance table near the top of this page lists each category’s criteria, when to add it, and how many example controls our library maps to it.
Which Categories to Add
Add Availability if you commit to uptime or recovery, Processing Integrity if customers rely on your processing being complete and accurate, Confidentiality if you hold data designated as confidential, and Privacy if you collect personal information directly from individuals. The Trust Services Criteria guide explains how to choose categories against customer commitments. For the wider framework, see the SOC 2 compliance guide.
Gap Checks Before You Mark a Control Ready
Use these checks alongside the tables; they describe gaps to investigate, not measured exception rates.
- Connect each control to an identified risk, an applicable criterion, and a responsible owner. Reassess scope when systems or vendor data flows change; for AI services, include model providers and training-data flows where relevant.
- For access, check all in-scope access paths, approved exceptions, dated review decisions, and completed removal records against your policy’s deadline. Keep physical access and asset disposal evidence separate.
- For changes, retain approval and testing evidence, including the emergency-change process. For incidents, retain response/recovery records or exercise outcomes and follow-up actions.
- For monitoring, demonstrate that your designed evaluations ran and that identified deficiencies were assessed and followed up. Choose the evaluation approach for your scope and risks; tooling alone does not demonstrate performance.
- Where scoped, test recovery against your commitments, trace processing inputs to outputs, verify confidential-data disposal, and connect privacy notices, consent, access requests, and disclosure processes to actual practice. Keep dated results and unresolved findings.
Testing and monitoring evidence has its own guides: SOC 2 penetration testing requirements, with red team assessments for broader testing. For identity and email threats, see the access control policy template and security awareness training.
How Do You Implement and Document SOC 2 Controls?
Work through the blank columns in the Excel template or CSV in this order. Blank means undecided; it does not mean a control is implemented or out of scope.
- Tailor each example control to your actual system and risk. Fill system_scope and tailored_control_statement with the boundary, action, population, and how completion is checked.
- Map the control to an internal policy or risk reference. Record applicability and the reason for including or excluding the example.
- Assign an owner and operating cadence. Use organization_control_id for your internal identifier, and replace the suggested cadence with the schedule or event trigger your policy defines.
- Attach dated evidence and record the current exception status. Put artifact links or repository paths in evidence_reference; use gap_decision to distinguish missing control design, missing performance evidence, unresolved remediation, or no identified gap. In remediation_action, record the action, responsible person, due date, and closure evidence.
Keep policies, tailored control descriptions, and evidence linked but distinct. Type 1 evaluates design as of a specified date; Type 2 also tests operating effectiveness over an agreed period. For Type 2, retain the relevant populations and performance records across that period rather than replacing them with a final screenshot. The Type 2 controls guide explains populations and sampling. To write the procedure behind a control, use our SOC 2 internal control procedure template. For collecting and organizing the evidence itself, see the SOC 2 evidence request list; SOC 2 compliance software compared covers tools that automate it.
How Do You Prepare for a SOC 2 Audit?
Once the inventory exposes gaps, use the SOC 2 compliance checklist, which has a free Excel, PDF, and CSV, for the wider preparation sequence, or the SOC 2 readiness assessment to see which gaps matter before fieldwork. If you would rather not close them alone, you can compare SOC 2 readiness firms that help with remediation. Compare scope and fees in the SOC 2 audit cost guide and Type 2 cost guide. To compare CPA firms by industry and engagement fit, browse the auditor directory or request matched quotes.
Answering Your Top SOC 2 Control Questions
Is There an Official AICPA SOC 2 Controls List?
No. The AICPA publishes criteria, not controls. The 2017 Trust Services Criteria with revised points of focus (2022) define 61 criteria: 33 Common Criteria under Security (CC1–CC9), plus 28 supplemental criteria for Availability, Processing Integrity, Confidentiality, and Privacy. Privacy has 18 of them, across the P1–P8 series. Your organization designs controls for its applicable criteria. Our library maps example controls to all 61, but your auditor tests your own controls and evidence, not the examples.
Is There a Free SOC 2 Controls List in Excel?
Yes. The Excel template maps 82 example controls to all 61 criteria, with the evidence, the Type 2 period evidence, and a common gap for each, and it is free with no signup. Download it from the matrix section above, or take the PDF or CSV. The workbook adds a status dropdown, an Instructions sheet, and a criteria-coverage sheet. The files are starting points, so tailor each control and confirm applicability with your CPA firm.
How Many SOC 2 Controls Do I Really Need?
There is no fixed number. Our library holds 82 example controls across all five categories, as a starting inventory rather than a target. Linford & Company, a CPA firm, wrote in February 2025 that a report covering the Security criteria alone usually involves about 60 to 80 controls, with more for each added category. Your own count depends on your services, risks, system boundaries, and scope. Check coverage of the applicable criteria and whether each control works as designed, rather than aiming for a number.
What Evidence Do SOC 2 Auditors Request for Each Control?
Evidence depends on the control, scope, and report type. Examples include MFA settings, dated access-review decisions and removal tickets, scan reports with remediation records, approved changes, recovery-test results, reconciliation reports, and deletion logs. Type 1 evaluates design as of a specified date; Type 2 also tests operating effectiveness over an agreed period. Your CPA firm sets the actual requests and samples.
What’s the Difference Between a Control and a Policy?
A policy defines the requirement; a control is the action that implements it. For example, a policy may require MFA for human administrative access to production systems. An implementing control enforces MFA for that defined population, checks approved exceptions, and retains configuration and review evidence. This is an illustrative access-policy example, not a universal SOC 2 prescription.
Can I Just Use a Template for My Controls?
Use a template to start an inventory, then tailor the scope, action, owner, cadence, and evidence. Review applicable-criterion coverage with your CPA firm; a filled spreadsheet does not prove that coverage or operation.
How Often Should We Review Our SOC 2 Controls?
Define review cadences according to your risks, commitments, and policies. Reassess when products, systems, vendor relationships, or data handling change. Record the review, decisions, and follow-up; a calendar entry shows only that a review was scheduled.
More in Audit Preparation