On this page
- Why Organize Evidence by Source Instead of by Control?
- The Coverage Map: One Pull, Several Answers
- 1. Identity Provider (Okta, Azure AD/Entra ID, Google Workspace)
- 2. Cloud Console (AWS, GCP, Azure)
- 3. Git and CI/CD (GitHub, GitLab, Jenkins, CircleCI, GitHub Actions)
- 4. HR System / HRIS
- 5. Endpoint Management (MDM: Jamf, Intune)
- 6. Ticketing / ITSM (Jira, ServiceNow, PagerDuty)
- 7. SIEM / Monitoring (Datadog, Splunk, cloud-native like GuardDuty)
- 8. Vulnerability Scanner (Tenable, Qualys, Wiz, or equivalent)
- 9. Vendor / GRC Inventory
- 10. Documents, Records and the Application
- Putting It Together Before Fieldwork Starts
- FAQ
A SOC 2 evidence request list is easiest to work through source by source, not control by control. Nine systems typically hold most of the evidence: the identity provider (provisioning, MFA, access reviews), the cloud console (encryption, logging, IAM), Git and CI/CD (change management), the HR system (training, onboarding and offboarding), endpoint management (device encryption, patch status), ticketing (incidents, changes, vulnerability remediation), the SIEM (monitoring and alerting), a vulnerability scanner (scan and remediation history), and a vendor or GRC inventory (subservice organizations, vendor SOC 2 reports on file). One clean pull from any of these typically answers several separate requests at once. Each section below lists, for that system, the evidence to pull and the SOC 2 criteria each item answers, with links to the controls library. A final section covers the documents and records that live outside the nine systems.
An auditor’s SOC 2 request list is usually written control by control: one block of requests for access provisioning, another for change management, another for incident response. That is the right lens for understanding what the Trust Services Criteria require, and our SOC 2 audit checklist covers that ground control by control.
The systems that answer those requests are not organized that way. Each one holds evidence for many controls at once, and a team rarely works from a spreadsheet sorted by criterion number. They log into Okta, then AWS, then GitHub, then whatever the HR platform is called this year, and pull what each system will give them.
This guide follows the systems: nine that commonly hold SOC 2 evidence, plus a final section for the documents and records that live outside them. A clean, complete pull from the right system can clear several line items on the request list at once, because that system is the record of more than one control.
To work from the controls side instead, filter the same controls to your stack and download them as Excel, PDF or CSV.
Why Organize Evidence by Source Instead of by Control?
An auditor’s SOC 2 evidence request list is usually written control by control, but almost every system in a typical stack is the system of record for more than one control.
The map below shows where that overlap falls.
The Coverage Map: One Pull, Several Answers
Read it by row. Each row is one system: “Primary evidence for” lists the control areas it is typically the main evidence source for, and “Supporting evidence for” lists areas where it contributes supporting or cross-referenced evidence. A control area missing from a row just means that system usually isn’t where an auditor would look for that particular control.
| Evidence source | Primary evidence for | Supporting evidence for |
|---|---|---|
| Identity provider | Access control | Monitoring |
| Cloud console | Monitoring, Data protection | Access control, Vulnerability management, Vendor risk |
| Git and CI/CD | Change management | Access control, Vulnerability management |
| HR system (HRIS) | Training | Access control |
| Endpoint management (MDM) | Data protection | Vulnerability management |
| Ticketing / ITSM | Change management, Monitoring, Vulnerability management | None |
| SIEM / monitoring | Monitoring | Access control, Vulnerability management |
| Vulnerability scanner | Vulnerability management | Monitoring |
| Vendor / GRC inventory | Vendor risk | None |
1. Identity Provider (Okta, Azure AD/Entra ID, Google Workspace)
Your identity provider is the backbone of access control evidence. Pull the full population of provisioning, role change, and termination events for the observation period, not just a handful of examples. From that population the auditor selects a sample (our guide to SOC 2 sample size covers how that number gets set) and traces each one back to an approval.
The same export usually carries the termination test too: the timestamp an account was disabled, compared against the timestamp HR recorded as the employee’s last day. A long gap between the two is a common finding, worth checking before the auditor does.
MFA enforcement is a separate, smaller pull: a screenshot or configuration export showing MFA is required, not just available, for every user. Advisory-mode MFA, where a user can decline the prompt, usually won’t satisfy the control, even when adoption looks high.
If access reviews run through the identity provider, or a platform synced to it, the review records (reviewer, date, systems covered, sign-off) usually live here too. One clean export from this system usually answers provisioning, termination, MFA, and most of the access review requirement.
Beyond the provisioning and termination populations, the rows below cover MFA enforcement, SSO coverage, and checks that every account belongs to one named person.
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Identity provider policy export showing MFA required, not optional, for all users | 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. | CC6.1 |
| List of in-scope applications connected to SSO, with any exceptions and their compensating controls | 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. | CC6.1 |
| User list showing one named account per person and no shared logins | 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. | CC6.1 |
| Account creation timestamps to compare against each approval time | 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. | CC6.2 |
| Account deactivation timestamps for the same people | 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. | CC6.2 |
| Export of current user-to-role and group assignments | 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. | CC6.3, CC5.2 |
| Dated export of the accounts and permissions used for each review | 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. | CC6.2, CC6.3 |
| Export of connected apps and OAuth grants with their scopes and the user who authorized each | 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. | CC6.1, CC6.6 |
| Admin setting restricting which users may approve new third-party apps | 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. | CC6.1, CC6.6 |
| Device posture rules in the identity provider blocking devices that miss the baseline | 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. | CC6.1, CC6.8 |
2. Cloud Console (AWS, GCP, Azure)
The cloud console is the second major evidence hub, because a cloud account is simultaneously your infrastructure inventory, your encryption configuration, and one of your primary log sources.
Pull a current resource inventory (every storage bucket, database, and compute or network resource in scope) alongside encryption-at-rest configuration for each one. Resources provisioned mid-period are worth checking separately: an unencrypted bucket or database spun up during the period is a common finding, surfaced by comparing your inventory against a live cloud export.
IAM policies and role assignments answer part of the access picture too, though they’re usually secondary to the identity provider unless cloud access is managed independently. Logging configuration (CloudTrail or the GCP/Azure equivalent), along with network and firewall rules, covers monitoring evidence directly.
One more item belongs in this pull even though it doesn’t come from your own console: the cloud provider’s own SOC 2 report, which typically satisfies physical data center access for a company running on rented infrastructure and belongs in the vendor file alongside your subservice organization disclosure. Our guide to the Google Cloud SOC 2 report shows what to check when you read one.
The rows below add backup configuration and AI model provider settings to the console items covered above.
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Settings for accounts outside SSO, such as the cloud root account, showing MFA enforced Source: Cloud console | 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. | CC6.1 |
| Secrets manager configuration and access policy showing who can read production secrets Source: Cloud console | 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. | CC6.1 |
| Service account inventory with owner, purpose and last rotation date Source: Cloud console | 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. | CC6.1 |
| List of admin and production-access accounts with the justification for each Source: Cloud console | 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. | CC6.1, CC6.3 |
| Access settings showing elevated rights are time-limited or need a separate role Source: Cloud console | 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. | CC6.1, CC6.3 |
| Cloud resource export used to confirm the inventory is complete Source: Cloud console | 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. | CC2.1, CC6.1 |
| Firewall, security group or platform network settings showing the inbound traffic allowed Source: Cloud console | 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. | CC6.6 |
| Network layout showing production separated from other environments and internal services Source: Cloud console | 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. | CC6.6 |
| Remote-access path configuration showing SSO and MFA required Source: Cloud console | 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. | CC6.6, CC6.1 |
| Network rules showing SSH and RDP closed to the internet Source: Cloud console | 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. | CC6.6, CC6.1 |
| Configuration findings measured against the baseline Source: Cloud console | 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. | CC7.1 |
| Logging configuration showing audit logs enabled in every cloud account and region in use Source: Cloud console | 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. | CC7.2, CC2.1 |
| List of people with direct write access to production, with the reason for each Source: Cloud console | 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. | CC8.1, CC5.2 |
| Cloud account or project structure showing separate production and non-production environments Source: Cloud console | 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. | CC8.1, C1.1 |
| Encryption-at-rest settings for each data store, backup and replica Source: Cloud console | 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. | CC6.1, C1.1 |
| Key policies showing who can use and who can administer each key Source: Cloud console | 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. | CC6.1, C1.1 |
| Architecture settings or restore design showing how the targets can be met, such as multi-zone deployment Source: Cloud console | 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. | A1.2 |
| Access settings limiting who can modify stored processing data Source: Cloud console | 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. | PI1.5 |
| Backup configuration showing schedule, retention, encryption and storage location Source: Backup system | 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. | A1.2, CC9.1 |
| Backup job history across the period, with failures and their follow-up Source: Backup system | 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. | A1.2, CC9.1 |
| Restore test record with date, data restored, time taken and how the result was validated Source: Backup system | 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. | A1.3 |
| Provider account settings showing training opt-out, retention period and data region Source: AI model provider console | 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. | CC6.7, C1.1 |
3. Git and CI/CD (GitHub, GitLab, Jenkins, CircleCI, GitHub Actions)
Version control and the pipeline that deploys from it are the system of record for change management, and one of the cleanest evidence sources on the list, because most of what an auditor wants is already generated as a byproduct of normal engineering work.
Pull branch protection configuration showing peer review is required before a merge to production, plus a sample of pull requests from the observation period with visible approvals. Add pipeline logs showing automated tests passed before deployment, and a deployment log tying each release to a commit hash and a timestamp.
This source also carries a good share of segregation-of-duties evidence: branch protection rules that block a single developer from approving and merging their own change answer that question directly, more convincingly than a policy document alone. See our change management controls guide for the complete change trail end to end.
A common gap sits around the tool, not in it: an emergency hotfix pushed straight to production with no ticket and no retroactive review. A genuine break-glass path should be documented as its own controlled exception, not an unexplained gap in an otherwise clean population.
Beyond branch protection and pull request approvals, the rows below include secret-scanning and dependency-scanning results from the pipeline.
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Secret-scanning results for code repositories, with each detected secret revoked | 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. | CC6.1 |
| Automated tests or code review records covering tenant isolation on data queries | 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. | CC6.1 |
| List of apps and integrations installed in the code host, with their permissions | 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. | CC6.1, CC6.6 |
| Dependency scanning results from the CI pipeline | 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. | CC7.1 |
| Branch protection settings requiring approval and blocking self-approval and force pushes | 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. | CC8.1, CC5.1 |
| List of pull requests merged during the period with reviewer and approval time | 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. | CC8.1, CC5.1 |
| List of who can bypass branch protection, and a log of each bypass | 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. | CC8.1, CC5.1 |
| CI configuration showing the checks required on the production branch | Run automated tests and security checks in the CI pipeline on every change, and block the merge or deploy when they fail. | CC8.1 |
| Pipeline run history showing checks passed for each deployed change | Run automated tests and security checks in the CI pipeline on every change, and block the merge or deploy when they fail. | CC8.1 |
| Deployment log linking each release to a commit, an approved change and a timestamp | 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. | CC8.1, CC5.2 |
| Redaction rules or field allowlist applied before requests reach a model | 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. | CC6.7, C1.1 |
| Pull requests or tickets for prompt and model changes, with approval | 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. | CC8.1 |
| Evaluation results run before each release | 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. | CC8.1 |
| Version history of prompts and model configuration | 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. | CC8.1 |
| Validation rules in code or configuration | 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. | PI1.2 |
| Test cases for processing logic with their expected results | Test every change to processing logic, such as calculations and data transformations, against expected results before release, hotfixes included. | PI1.3 |
| Release records showing those tests passed before deployment | Test every change to processing logic, such as calculations and data transformations, against expected results before release, hotfixes included. | PI1.3 |
| Validation rules that check key personal fields, such as email and date of birth, when they are collected | 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. | P5.2, P7.1 |
4. HR System / HRIS
The HR platform, whatever runs payroll, onboarding, and people records, is the primary source for personnel security and training evidence, and it’s the cross-reference partner for the identity provider’s termination test.
Pull onboarding records showing when each new hire started, alongside training completion records showing when required security training finished, typically within the window your policy sets after the start date (30 days is a common choice). Add background check completion records where policy requires them, and annual policy acknowledgment records showing every employee has signed off.
Offboarding records are the other half: the date HR recorded as an employee’s last day, lined up against the timestamp the identity provider shows access was revoked. A gap between the two is a common access control exception, even though the root cause usually sits in the handoff between HR and IT rather than either system alone.
Contractors are easy to miss. An HR platform tracks employees by default, so part-time or project-based contractors may fall outside training and policy tracking. If a contractor can touch production or customer data, they belong in these records too.
The org chart and performance review records also come from this system and appear in the rows below.
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Signed code of conduct and confidentiality agreement for each hire, dated on or before the day access was granted | 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. | CC1.1, C1.1 |
| Annual acknowledgment report listing every active employee and contractor with the date each signed | 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. | CC1.1, C1.1 |
| Current org chart with reporting lines, dated or under version control | 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. | CC1.3 |
| Background check completion records with the completion date for each in-scope hire | 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. | CC1.4 |
| Dated performance review records showing reviews were completed for current employees | 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. | CC1.5 |
| Record of each policy violation in the period and the action taken | 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. | CC1.5 |
| Termination list showing each person's last day | 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. | CC6.2 |
| Cross-training or succession record naming a backup for each critical role | 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. | CC9.1, CC1.4 |
5. Endpoint Management (MDM: Jamf, Intune)
Endpoint management tools answer a narrower but still distinct question: whether the laptops and phones your employees use are hardened the way policy says.
Pull an enrollment report showing every company-managed device is enrolled, alongside a compliance report showing disk encryption (FileVault or BitLocker), screen lock, and automatic updates are enforced, not merely recommended. Patch compliance data, showing how current each device is against your defined SLA, is the other half.
This source’s main overlap is with vulnerability management: a device out of compliance on patching is functionally the same finding whether it surfaces through the MDM compliance report or a vulnerability scan. Keeping both sources in sync avoids submitting evidence that quietly contradicts itself.
Lost or stolen device handling is a separate, small pull: a documented process for remote lock, wipe, and recovery. Have it ready, since auditors may ask for it.
The rows below include the asset inventory, since the enrollment report has to reconcile with it.
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Remote wipe confirmation for each managed device Source: Endpoint management (MDM) | 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. | CC6.5, C1.2 |
| Enrollment report compared with the device inventory Source: Endpoint management (MDM) | 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. | CC6.1, CC6.8 |
| Compliance report showing encryption, screen lock and OS version for each device Source: Endpoint management (MDM) | 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. | CC6.1, CC6.8 |
| Endpoint protection coverage report listing devices, agent status and last check-in Source: Endpoint management (MDM) | 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. | CC6.8 |
| Device settings or reports that restrict or monitor software installation and local admin rights Source: Endpoint management (MDM) | 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. | CC6.8 |
| System and data store inventory with owner, environment and data classification Source: Asset inventory | 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. | CC2.1, CC6.1 |
| Device inventory with assigned user and serial number Source: Asset inventory | 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. | CC2.1, CC6.1 |
| Disposal log linked to the asset inventory, with method, date and the person who performed it Source: Asset inventory | 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. | CC6.5, C1.2 |
| Destruction certificate from the disposal vendor listing serial numbers Source: Asset inventory | 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. | CC6.5, C1.2 |
| Inventory of public endpoints and domains with an owner for each Source: Asset inventory | 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. | CC6.6 |
| Data inventory showing where confidential information is stored and how it is classified Source: Asset inventory | 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. | C1.1 |
6. Ticketing / ITSM (Jira, ServiceNow, PagerDuty)
Ticketing is the clearest case for organizing by source. A well-run ticketing system is simultaneously the system of record for change management, incident response, and vulnerability remediation tracking, so one clean export can answer three sections of the request list at once.
For change management, pull the population of change tickets tied to production deployments, each linked to its pull request and deployment record (see the Git and CI/CD section for the other half). For vulnerability management, pull remediation tickets for critical and high findings, each with a creation date, an owner, and a resolution date the auditor can compare against your remediation SLA. For incident response, pull the incident log itself: every entry with a severity, detection date, response actions, and resolution date.
A common gap across all three is work that was handled but never recorded in the ticketing system. An engineer fixes a critical vulnerability the same day it’s found and never opens a ticket. An incident gets resolved in a chat thread with no follow-up record. An auditor cannot tell undocumented work from work that never happened.
Ticket exports reach beyond change and incidents: the rows below also cover access requests, risk reviews, and control deficiencies.
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Risk review ticket or note for each significant change, with the date and the decision | 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. | CC3.4 |
| Tickets opened for failed control tests, with owner and resolution date | 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. | CC4.1 |
| Management response to each finding with owner and due date | 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. | CC4.1 |
| Deficiency log or tickets with severity, owner, due date and closure evidence | 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. | CC4.2 |
| Access request tickets showing requester, approver, systems, access level and approval time | 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. | CC6.2 |
| Offboarding tickets showing access removed from systems outside SSO and devices returned | 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. | CC6.2 |
| Approval tickets for permissions granted outside a standard role | 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. | CC6.3, CC5.2 |
| Quarterly access review sign-off listing the reviewer, the accounts reviewed, the decisions and the changes made | 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. | CC6.2, CC6.3 |
| Removal records showing access marked for removal was actually removed | 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. | CC6.2, CC6.3 |
| Review record listing the apps removed and the date | 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. | CC6.1, CC6.6 |
| Dated quarterly review of inbound rules with the changes made | 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. | CC6.6 |
| Tickets for non-compliant devices with the fix and the date | 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. | CC6.1, CC6.8 |
| Remediation tickets for critical and high findings with open date, owner and close date | 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. | CC7.1 |
| Remediation tickets for each finding, closed or formally accepted | 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. | CC4.1, CC7.1 |
| Alert records with acknowledgment time, triage notes and outcome | 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. | CC7.2, CC7.3 |
| Tickets or plan revisions made from the exercise findings | 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. | CC7.4, CC7.5 |
| Incident tickets with detection, containment, recovery and closure times | 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. | CC7.4, CC7.5 |
| Post-incident reviews with root cause and corrective actions | 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. | CC7.4, CC7.5 |
| Corrective action tickets tracked to completion | 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. | CC7.4, CC7.5 |
| Emergency change tickets with after-the-fact review and approval dates | 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. | CC8.1 |
| Tickets for production data changes with the approval and the script or query run | 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. | CC8.1 |
| Tickets for gaps found in testing | 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. | A1.3 |
| Capacity review notes or tickets with the actions taken | Monitor use of compute, storage and database capacity against set thresholds, alert before limits are reached, and review capacity needs on a set cadence. | A1.1 |
| Outage tickets with start and end times, cause and customer impact | 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. | A1.1, CC7.2, CC2.3 |
| Exception tickets showing cause, reprocessing and resolution | Monitor processing jobs for failures, delays and incomplete runs, alert an owner, and record how each exception was fixed or the data reprocessed. | PI1.3 |
7. SIEM / Monitoring (Datadog, Splunk, cloud-native like GuardDuty)
The SIEM, or whatever aggregates logs and generates alerts, is the primary evidence source for monitoring. The question is whether it caught things during the observation period, not just whether it exists.
Pull the alert configuration showing rules exist for security-relevant events (failed login thresholds, privilege escalation, unusual access patterns), then a sample of alerts that actually fired during the period with evidence each was acknowledged and resolved. Add the log retention configuration, confirmed against the full observation period, since a retention window that doesn’t reach the start of the audit period is a finding regardless of how good the alerting is.
A common gap is missing coverage: a new cloud account or service that was never connected to the SIEM. It’s the monitoring equivalent of the encryption gap in the cloud console section: something new got provisioned faster than the checklist caught up.
The rows below also cover admin activity logs and malware alert logs, not only security alerts.
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Admin activity log tying privileged actions to named people, including each break-glass use and its review | 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. | CC6.1, CC6.3 |
| Session logs for production connections made through that path | 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. | CC6.6, CC6.1 |
| Malware alert log with the investigation and outcome for each alert | 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. | CC6.8 |
| List of log sources feeding the central store, compared with the system inventory | 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. | CC7.2, CC2.1 |
| Retention and access settings for the log store | 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. | CC7.2, CC2.1 |
| Alert rule configuration listing what triggers each alert and where it is sent | 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. | CC7.2, CC7.3 |
| On-call schedule or alert routing in effect during the period | 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. | CC7.2, CC7.3 |
| Database audit log of changes made outside the application | 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. | CC8.1 |
| Logging configuration for AI calls showing the fields captured | 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. | CC7.2 |
| Sample log entries tying requests to users and model versions | 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. | CC7.2 |
| Retention and access settings for logs holding prompts or outputs | 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. | CC7.2 |
| Monitoring dashboards and alert thresholds for capacity metrics | Monitor use of compute, storage and database capacity against set thresholds, alert before limits are reached, and review capacity needs on a set cadence. | A1.1 |
| Uptime monitor setup showing the endpoints checked, the interval and where alerts go | 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. | A1.1, CC7.2, CC2.3 |
| Availability measured for each reporting interval and compared with customer commitments | 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. | A1.1, CC7.2, CC2.3 |
| Job monitoring dashboard and alert settings | Monitor processing jobs for failures, delays and incomplete runs, alert an owner, and record how each exception was fixed or the data reprocessed. | PI1.3 |
8. Vulnerability Scanner (Tenable, Qualys, Wiz, or equivalent)
A dedicated vulnerability scanner is the primary source for the vulnerability management requirement, and it overlaps directly with the endpoint-hardening evidence covered above.
Pull scan reports across the full observation period, not just the most recent one, showing scans ran on a consistent cadence with dated, scoped results. The trace from a specific finding to its remediation matters most: the corresponding ticket (see the ticketing section above), the date it was opened, the date the fix shipped, and a follow-up scan confirming it cleared.
A common exception is a vulnerability that shows up in three consecutive months of reports with no ticket and no documented risk acceptance. If a finding genuinely can’t be remediated on schedule, a formal, signed risk acceptance is the difference between a documented decision and a finding that looks ignored.
The rows below include penetration test reports alongside scanner output.
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| TLS scan results for public endpoints showing the protocol versions accepted Source: Vulnerability scanner | 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. | CC6.7 |
| Dated scan reports from across the period with the assets each scan covered Source: Vulnerability scanner | 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. | CC7.1 |
| Follow-up scan showing each fixed finding cleared Source: Vulnerability scanner | 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. | CC7.1 |
| Penetration test results covering authentication and cross-tenant access Source: Penetration test or external assessment | 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. | CC6.1 |
| Penetration test report with scope, dates, tester, method and findings Source: Penetration test or external assessment | 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. | CC4.1, CC7.1 |
| Retest report or letter confirming high-severity fixes Source: Penetration test or external assessment | 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. | CC4.1, CC7.1 |
9. Vendor / GRC Inventory
The vendor or GRC inventory, whether it’s a dedicated register, a spreadsheet, or a module inside a compliance platform, is the primary source for third-party risk management. Unlike the other sources, it is a document that has to stay current on its own, not a system export.
Pull the vendor inventory with a risk tier assigned to each vendor, then current SOC 2 reports on file for every critical-tier vendor, meaning any vendor with direct access to production or customer data. “Current” needs care: a report covering a period that ended well over a year ago reads as a gap in assurance, even for an otherwise reputable vendor.
This is also where subservice organizations get documented: the vendors your own SOC 2 report will describe as either carved out of scope or included within it, a distinction detailed in our guide to carve-out versus inclusive reporting. The mirror image, the controls your own customers are expected to run on their end, is covered in our guide to complementary user entity controls.
A common gap in this source is a vendor onboarded mid-period without a security review, typically because a contract got signed before security was looped in. Keeping the inventory as a gate in vendor onboarding, not a document updated after the fact, is what keeps it current.
The rows below cover vendor reviews and offboarding, plus the control monitoring records a compliance platform keeps.
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Current SOC 2 report for each hosting provider, with the period it covers Source: Vendor inventory | 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. | CC6.4, A1.2 |
| Review note recording physical and environmental protection results, exceptions and the customer controls you rely on Source: Vendor inventory | 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. | CC6.4, A1.2 |
| Vendor inventory with risk tier, owner, data shared and contract dates Source: Vendor inventory | 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. | CC9.2 |
| Offboarding records for vendors removed in the period, showing access revoked and data returned or deleted Source: Vendor inventory | 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. | CC9.2 |
| Vendor review records with date, reviewer, report period covered and conclusion Source: Vendor inventory | 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. | CC9.2 |
| Current SOC 2 report for each provider the service runs on, or a record of what was checked instead and the risk decision Source: Vendor inventory | 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. | CC9.2 |
| List of controls each key vendor expects you to run, and how you meet them Source: Vendor inventory | 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. | CC9.2 |
| Approved list of AI providers and tools with the data types permitted in each Source: Vendor inventory | 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. | CC9.2 |
| Security review for each AI provider covering its assurance reports and data terms Source: Vendor inventory | 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. | CC9.2 |
| Vendor confirmations of deletion where a vendor held the data Source: Vendor inventory | 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. | C1.2 |
| Vendor review notes on each vendor's privacy practices Source: Vendor inventory | Sign data processing terms with every vendor that receives personal information, requiring privacy commitments that match yours and prompt notice of any unauthorized disclosure. | P6.4, P6.5 |
| Control monitoring log or dashboard export showing each control's test results and dates Source: Compliance platform | 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. | CC4.1 |
| Dated signed attestation from each person using a personal device Source: Compliance platform | 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. | CC6.1, CC6.8 |
10. Documents, Records and the Application
Not every request comes from one of the nine systems. Policies, board and management records, the risk register, training and policy acknowledgment records, customer and vendor contracts, customer communications, privacy records, physical security records, exercise and test records, and the application’s own data stores sit in shared drives, document tools, and the product itself. Auditors ask for them because the criteria on governance, risk, privacy, and customer commitments test two things: whether a decision was made, approved, and communicated, and whether the product behaves as described. A system export cannot show either. Dates and approvals matter most here, since a policy with no approval date or a risk register with no review date tends to read as a document nobody maintained.
Policy repository
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Current code of conduct with its approval date and the consequences for violations | 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. | CC1.1, C1.1 |
| Responsibility matrix naming the security owner and the approvers for access, changes and risk acceptance | 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. | CC1.3 |
| Policy set with version history, owner, approval date and next review date for each policy | 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. | CC5.3 |
| Procedures and runbooks that carry out each policy, such as the offboarding checklist and incident runbook | 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. | CC5.3 |
| Internal handbook page listing current policies and the channel for reporting security concerns | 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. | CC2.2 |
| Notice sent to staff when a policy changed materially, with the date sent | 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. | CC2.2 |
| Hiring procedure stating which roles are screened and what the check covers in each country | 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. | CC1.4 |
| Disciplinary procedure referenced by the security policies | 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. | CC1.5 |
| Role-to-access mapping used to set default access for each job | 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. | CC6.2 |
| Role matrix listing each role and the permissions it grants in each system | 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. | CC6.3, CC5.2 |
| Break-glass procedure stating who holds the credentials and when the account may be used | 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. | CC6.1, CC6.3 |
| Network and data-flow diagrams with a revision date | 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. | CC2.1, CC6.1 |
| Data handling rule naming approved transfer methods and barring personal email or storage for customer data | 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. | CC6.7 |
| Device security standard stating the baseline and which devices it covers | 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. | CC6.1, CC6.8 |
| Configuration baseline or hardening standard, including the security settings of any managed platform | 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. | CC7.1 |
| Severity criteria for deciding when an event is an incident | 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. | CC7.2, CC7.3 |
| Incident response plan with owner, version and last review date | 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. | CC7.4 |
| Current contact list for responders, legal counsel and critical vendors | 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. | CC7.4 |
| Notification procedure listing the contractual and legal notice deadlines that apply | 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. | CC2.3, CC7.4 |
| Emergency change procedure stating who can use it and the follow-up deadline | 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. | CC8.1 |
| Test data rule and the approval for each copy of production data made | 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. | CC8.1, C1.1 |
| Business continuity plan with owner and last review date | 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. | CC9.1, CC1.4 |
| Acceptable-use rule for AI tools, acknowledged by staff | 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. | CC9.2 |
| Data-flow diagram showing which customer data is sent to each model | 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. | CC6.7, C1.1 |
| Disaster recovery plan with recovery time and recovery point targets, roles and recovery steps | 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. | A1.2 |
| Data classification policy with handling rules for each class | 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. | C1.1 |
| Retention schedule by data type, including backup expiry | 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. | C1.2 |
| Request handling procedure, including when requests pass to the customer who controls the data | 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. | P5.1 |
Board and management records
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Board or advisory charter, or a written note of who provides oversight and how independent they are from management | 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. | CC1.2 |
| Dated minutes or briefing deck showing security and risk discussed, with the questions raised and follow-up actions | 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. | CC1.2 |
| Record of management approval for the latest review, such as a signed approval page or approval ticket | 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. | CC5.3 |
| Statement of the service commitments and system requirements the assessment started from | 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. | CC3.1, CC3.2 |
| Management sign-off on the completed assessment and on any risks accepted rather than treated | 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. | CC3.1, CC3.2 |
| Record of the annual matrix review showing controls added, changed or retired | 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. | CC5.1, CC5.2, CC1.5 |
| Dated evaluation report naming the evaluator, the controls covered, the method used and the findings | 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. | CC4.1 |
| Management or board report showing open deficiencies and their status | 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. | CC4.2 |
Exercise and test records
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Exercise record with date, scenario, participants and findings | 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. | CC7.4, CC7.5 |
| Recovery test report comparing results with recovery targets, with lessons learned | 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. | A1.3 |
Risk register
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Dated risk register listing each risk, its rating, treatment decision, owner and linked controls | 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. | CC3.1, CC3.2 |
| Fraud scenarios in the risk register with ratings and the controls that mitigate each | 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. | CC3.3 |
| Assessment notes showing who considered insider misuse, management override and payment or billing fraud | 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. | CC3.3 |
| Risk register entries added or updated as a result of each review | 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. | CC3.4 |
| Control matrix listing each control with its owner, cadence, the risks it addresses and the criteria it maps to | 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. | CC5.1, CC5.2, CC1.5 |
| Signed risk acceptances for findings left open past their deadline | 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. | CC7.1 |
| Business impact analysis listing critical processes and their dependencies | 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. | CC9.1, CC1.4 |
Training platform
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Acknowledgment report showing each person, the policy version acknowledged and the date | 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. | CC2.2 |
| Training completion report listing each person, the course and the completion date | 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. | CC1.4, CC2.2 |
| Course content covering phishing, data handling, incident reporting and acceptable use | 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. | CC1.4, CC2.2 |
| Role-specific completion records, such as secure coding training for engineers | 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. | CC1.4, CC2.2 |
Physical security records
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Badge system user list compared with current staff, or a key issuance log | 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. | CC6.4 |
| Visitor log for the period | 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. | CC6.4 |
| Badge or key removal records for departed staff | 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. | CC6.4 |
Application and data stores
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Application authentication settings or code showing password rules, lockout and session timeouts | 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. | CC6.1 |
| Log or tickets for bulk exports of customer data | 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. | CC6.7 |
| Processing specifications or data dictionary for each in-scope workflow | 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. | PI1.1 |
| Rejected-input logs or error queues with how each record was resolved | 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. | PI1.2 |
| Reconciliation reports with any differences and their resolution | Reconcile outputs to inputs using record counts or control totals, and deliver outputs only to the intended recipients through approved channels. | PI1.4 |
| Output delivery settings showing recipients and access restrictions | Reconcile outputs to inputs using record counts or control totals, and deliver outputs only to the intended recipients through approved channels. | PI1.4 |
| Audit trail or change history settings for in-scope records | 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. | PI1.5 |
| Retention settings for inputs and outputs | 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. | PI1.5 |
| Deletion records or job logs for departed customers and expired data | 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. | C1.2 |
| Screenshots of the consent and choice points in the product | 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. | P2.1, P3.2 |
| Deletion job logs and deletion request records with completion dates | Set retention periods for personal information, delete or anonymize it when the period ends or a valid deletion request arrives, and record each deletion. | P4.2, P4.3 |
| Product settings or support workflow that lets users update their own data | 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. | P5.2, P7.1 |
Customer and vendor contracts
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Customer agreement or terms showing your security, availability and confidentiality commitments | 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. | CC2.3 |
| Customer contract clauses setting notification commitments | 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. | CC2.3, CC7.4 |
| Signed agreements or data processing addenda with security and breach-notice clauses | Include security, confidentiality, breach notification and data return or deletion terms in contracts with vendors that handle customer data or affect the service. | CC9.2, CC2.3 |
| Contract checklist or template listing the terms required for each vendor tier | Include security, confidentiality, breach notification and data return or deletion terms in contracts with vendors that handle customer data or affect the service. | CC9.2, CC2.3 |
| Cyber insurance policy, or the documented decision not to carry one | 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. | CC9.1, CC1.4 |
| Provider data terms or enterprise agreement confirming training and retention commitments | 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. | CC6.7, C1.1 |
| Customer contract clauses identifying information you must treat as confidential | 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. | C1.1 |
| Signed data processing agreements for each vendor that receives personal information | Sign data processing terms with every vendor that receives personal information, requiring privacy commitments that match yours and prompt notice of any unauthorized disclosure. | P6.4, P6.5 |
Customer communications
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Published security contact and vulnerability reporting route, such as a security page or security.txt file | 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. | CC2.3 |
| Customer documentation of the controls customers run themselves, such as managing their own users and SSO | 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. | CC2.3 |
| Dated notices to customers about material changes, such as new subprocessors or changed commitments | 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. | CC2.3 |
| Copies of notices sent, with dates, to compare against the incident timeline | 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. | CC2.3, CC7.4 |
| Subprocessor list entries for each AI provider that receives customer data | 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. | CC9.2 |
| Status page history showing outage notices and updates | 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. | A1.1, CC7.2, CC2.3 |
| Customer documentation describing processing commitments | 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. | PI1.1 |
| Published subprocessor list with its change history | 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. | P6.1, P6.2, P6.7 |
| Copies of notifications sent, with dates | 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. | P6.3, P6.6 |
| Privacy contact channel published in the notice | 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. | P8.1 |
Privacy records
| Evidence to pull | What it proves | Criteria |
|---|---|---|
| Current privacy notice with version history and effective dates | 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. | P1.1 |
| Review record comparing the notice with actual data flows | 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. | P1.1 |
| Consent records showing the person, what they agreed to, the notice version and a timestamp | 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. | P2.1, P3.2 |
| Opt-out and withdrawal requests with the date each took effect | 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. | P2.1, P3.2 |
| Personal data inventory or record of processing with the purpose for each category | 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. | P3.1, P4.1 |
| Privacy review records for new features and new data uses | 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. | P3.1, P4.1 |
| Retention schedule for each type of personal information | Set retention periods for personal information, delete or anonymize it when the period ends or a valid deletion request arrives, and record each deletion. | P4.2, P4.3 |
| Request log with received date, identity check, response date and outcome | 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. | P5.1 |
| Correction request log with outcome and date | 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. | P5.2, P7.1 |
| Disclosure log for sharing outside the subprocessor list, such as legal requests | 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. | P6.1, P6.2, P6.7 |
| Responses to individuals who asked who received their data | 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. | P6.1, P6.2, P6.7 |
| Privacy incident log with date, data involved, assessment and notice decision | 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. | P6.3, P6.6 |
| Disclosure notices received from vendors and how each was handled | Sign data processing terms with every vendor that receives personal information, requiring privacy commitments that match yours and prompt notice of any unauthorized disclosure. | P6.4, P6.5 |
| Inquiry and complaint log with resolution dates | 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. | P8.1 |
| Annual privacy compliance review with findings and remediation | 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. | P8.1 |
Putting It Together Before Fieldwork Starts
These nine sources overlap, and the overlaps are where cross-checks happen. A termination event only fully resolves when the HR timestamp and the identity provider’s revocation timestamp agree; a vulnerability finding only resolves when the scanner, the ticket, and the endpoint report all tell the same story. An evidence folder organized by source, with a note on which requests each export answers, tends to surface these cross-references before the auditor does. The same exports also back the answers you give in customer security questionnaires; our vendor security questionnaire guide covers that workflow. The SOC 2 compliance checklist places the evidence-repository step and the monthly evidence close during a Type 2 window in the full audit sequence, while this page lists what to pull from each system.
For the deeper, per-control version of this list, our SOC 2 compliance checklist covers the ten control areas with the evidence each one produces and the fieldwork steps, and our SOC 2 documentation guide covers the written policies and procedures that sit alongside the system exports covered here.
FAQ
What is a SOC 2 evidence request list?
A SOC 2 evidence request list is the set of specific artifacts an auditor asks a company to produce during fieldwork: population exports, configuration screenshots, tickets, and sign-off records proving a control operated as described. Auditors usually write it control by control; the same evidence can also be organized by the system it comes from.
Do we need to prepare separate evidence for every control, or can one export cover several?
One export very often covers several. A population export from an identity provider typically answers the provisioning test, the termination test, the MFA test, and most of the access review requirement at once, since all four draw on the same system of record.
Do we need all nine evidence sources if my company is small?
Usually, in some form. For a SOC 2 audit the tooling can be lightweight, such as a shared inbox standing in for a dedicated ITSM tool. Whatever tool is used needs to produce a dated, attributable record, not a chat message.
What is the fastest way to organize evidence before fieldwork starts?
Build a folder or index by source system rather than by control, pull the full population, not a handful of examples, for the observation period from each one, and note next to each export which specific requests it answers. When the request list arrives, many items map directly to an export already staged. Compliance platforms can pull several of these exports automatically; compare SOC 2 compliance software if you are choosing one.
What happens if one evidence source can’t produce clean evidence for the full observation period?
That gap typically becomes an audit exception rather than something to paper over during fieldwork. If a system was only recently connected to logging or brought under a formal review cadence, flag the gap before fieldwork starts and discuss it with the auditor directly.
How is organizing evidence by source different from a general SOC 2 evidence collection guide?
A control-by-control guide covers what each control needs to show. This guide organizes the same evidence by the system it comes from, and each item lists the SOC 2 criteria it answers.
Once your evidence is staged, the next decision is which firm reviews it. SOC2Auditors compares verified SOC 2 audit firms on pricing, timelines, and the frameworks they cover. Visit SOC2Auditors to compare firms and request quotes.
More in Audit Preparation