CyberFurl can load analytics only after you opt in. Core product features work without analytics consent.
SOC 2 Type II Compliance Guide: Requirements & Controls
Compliance
SOC 2 Compliance Explained: Controls, Criteria, and Audit Preparation
A deep, technical guide to achieving and maintaining SOC 2 Type II compliance. Learn about trust services criteria, technical controls, and continuous posture management.
System and Organization Controls (SOC) 2 is an auditing procedure developed by the American Institute of CPAs (AICPA) that ensures your service providers securely manage your data to protect the interests of your organization and the privacy of its clients. Specifically designed for technology service providers, SaaS companies, and cloud-hosted operations, SOC 2 evaluates an organization's information systems relevant to security, availability, processing integrity, confidentiality, and privacy.
Unlike highly prescriptive frameworks such as PCI DSS or HIPAA, which mandate exact technical settings (e.g., "password must be 12 characters"), SOC 2 is a principles-based framework. It defines the outcomes that must be achieved—known as the Trust Services Criteria (TSC)—but leaves the specific technical implementation up to the organization. This flexibility allows both a five-person startup and a global enterprise to achieve SOC 2 compliance, provided their controls are appropriately designed for their respective sizes and risk profiles.
A SOC 2 report is technically an attestation report produced by an independent CPA firm. The auditor evaluates the management's description of their system against the chosen Trust Services Criteria and issues a formal opinion on whether the controls are suitably designed (Type I) and operating effectively over time (Type II).
Why It Matters
In the modern B2B SaaS ecosystem, a SOC 2 Type II report is no longer a competitive differentiator; it is a fundamental prerequisite for doing business.
When an enterprise customer procures a SaaS application, they are fundamentally extending their own risk surface to include the vendor's infrastructure. If the vendor suffers a data breach, the enterprise customer's data is compromised. To mitigate this third-party risk, enterprise procurement teams require verifiable proof that the vendor takes security seriously. A SOC 2 report provides that proof in a standardized format.
Without a SOC 2 report, sales cycles stall. Enterprise security teams will force the vendor to fill out exhaustive, 500-question security questionnaires (such as the SIG Core or CAIQ). A clean SOC 2 Type II report allows vendors to bypass these questionnaires, accelerating deal velocity and demonstrating operational maturity to the market. Furthermore, preparing for a SOC 2 audit forces organizations to adopt rigorous engineering, HR, and IT practices early in their lifecycle, reducing technical debt and lowering the likelihood of catastrophic security incidents.
Core Principles
The SOC 2 framework revolves around five core principles, officially termed the Trust Services Criteria (TSC). When an organization undergoes an audit, they must include the Security criteria, but can choose to include any combination of the other four based on their business model and customer requirements.
Security (Mandatory): Also known as the Common Criteria, this principle evaluates whether the system is protected against unauthorized access, both physical and logical. It covers access controls, firewalls, two-factor authentication, endpoint protection, and intrusion detection. Every SOC 2 report must evaluate Security.
Availability (Optional): Evaluates whether the system is available for operation and use as committed or agreed. This involves assessing network performance, failover architecture, disaster recovery planning, data backups, and incident response procedures.
Processing Integrity (Optional): Evaluates whether system processing is complete, valid, accurate, timely, and authorized. This is critical for financial technology (FinTech) companies, payroll processors, and data analytics platforms where an incorrect calculation could cause massive financial damage.
Confidentiality (Optional): Evaluates whether information designated as confidential is protected as agreed. This involves encryption at rest, encryption in transit, strict access control lists (ACLs), data classification policies, and secure data deletion procedures.
Privacy (Optional): Evaluates whether personal information is collected, used, retained, disclosed, and disposed of in conformity with the organization's privacy notice and criteria set forth by the AICPA. This closely aligns with regulations like GDPR and CCPA.
Requirements
Achieving SOC 2 compliance requires an organization to implement a wide array of controls that satisfy the Common Criteria. The requirements are broad and touch every aspect of the business, not just the engineering department.
Control Environment: The organization must demonstrate a commitment to integrity and ethical values. This requires an employee handbook, a code of conduct, and a formal organizational structure with clear reporting lines.
Risk Assessment: The organization must formally identify, analyze, and mitigate risks to the achievement of its objectives. This requires an annual risk assessment matrix, vendor risk management policies, and fraud risk analysis.
Control Activities: The organization must deploy technical and operational controls to mitigate identified risks. This includes firewall configurations, encryption standards, vulnerability scanning, and patch management.
Information and Communication: The organization must generate and communicate information necessary to support the functioning of internal control. This involves security awareness training, incident reporting channels, and external communication policies.
Monitoring Activities: The organization must conduct ongoing evaluations to ascertain whether the components of internal control are present and functioning. This requires log aggregation, alerting systems, and continuous compliance monitoring platforms.
Implementation Guide
Translating the high-level Trust Services Criteria into concrete, auditable actions is the most challenging aspect of SOC 2 preparation. Below is a detailed implementation guide breaking down the necessary controls across technical, administrative, and operational domains.
Technical Controls
Technical controls are the software, hardware, and architectural configurations that enforce security policies.
Identity and Access Management (IAM):
Enforce Multi-Factor Authentication (MFA) across all systems, including the cloud provider (AWS/GCP), code repository (GitHub), identity provider (Okta/Google Workspace), and HR systems.
Implement Single Sign-On (SSO) to centralize access management and ensure that when an employee is terminated, their access to all downstream systems is instantly revoked.
Enforce the Principle of Least Privilege (PoLP). Developers should not have standing administrative access to production databases. Implement Just-In-Time (JIT) access protocols.
Infrastructure Security:
Segregate environments. Development, staging, and production environments must reside in separate VPCs or cloud accounts with strict firewall rules preventing cross-environment traffic.
Deploy Infrastructure as Code (IaC) using tools like Terraform or CloudFormation. Manual changes to production infrastructure (ClickOps) should be strictly prohibited.
Implement continuous vulnerability scanning on all container images, virtual machines, and dependencies.
Data Protection:
Encrypt all data at rest using strong cryptographic standards (e.g., AES-256). Utilize managed key management services (e.g., AWS KMS).
Encrypt all data in transit using TLS 1.2 or higher. Enforce HTTP Strict Transport Security (HSTS) to prevent downgrade attacks.
Endpoint Security:
Deploy Mobile Device Management (MDM) software (e.g., Jamf, Kandji) to all company-owned laptops.
Enforce full disk encryption (FileVault/BitLocker), strong screen lock passwords, and automatic screen timeout settings via the MDM.
Administrative Controls
Administrative controls are the policies, procedures, and documentation that govern human behavior within the organization.
Policies and Procedures:
Write and formally approve foundational security policies, including an Information Security Policy, Acceptable Use Policy, Data Classification Policy, and Incident Response Plan.
Ensure these policies are reviewed and signed by executive leadership annually.
Human Resources Security:
Conduct criminal background checks on all new hires before their start date, where legally permissible.
Require all employees and contractors to sign non-disclosure agreements (NDAs) and formally acknowledge the security policies during onboarding.
Implement an annual mandatory Security Awareness Training program covering phishing, password hygiene, and data handling.
Vendor Risk Management:
Maintain a comprehensive inventory of all third-party vendors and sub-processors.
Before onboarding a new vendor, require them to provide their own SOC 2 report or complete a security questionnaire. Annually review the security posture of critical vendors.
Operational Controls
Operational controls bridge the gap between technical configurations and human processes, ensuring the system operates securely day-to-day.
Change Management:
Enforce a strict Software Development Life Cycle (SDLC). All code changes must be peer-reviewed, pass automated tests, and be merged via pull requests before deploying to production.
Implement CI/CD pipelines to automate deployments. Developers should not deploy code from their local machines.
Incident Response:
Establish a formal security incident response team (SIRT).
Conduct an annual tabletop exercise to simulate a data breach, ransomware attack, or massive outage to test the effectiveness of the incident response plan.
Logging and Monitoring:
Centralize logs from cloud infrastructure, applications, network devices, and identity providers into a Security Information and Event Management (SIEM) system.
Configure automated alerts for anomalous activity, such as multiple failed login attempts, root API key usage, or unexpected firewall changes.
Common Mistakes
Many organizations struggle with their first SOC 2 audit because they misunderstand the intent of the framework or underestimate the operational overhead.
Treating SOC 2 as a Documentation Exercise: The most fatal mistake is writing beautiful, 50-page security policies that do not reflect reality. If your policy says "all access is reviewed quarterly," but you have no evidence of a quarterly review taking place, the auditor will issue an exception. Say what you do, and do what you say.
Over-scoping the Audit: Organizations often fail to define strict system boundaries, accidentally pulling non-critical internal tools or marketing websites into the audit scope. Keep the boundary tightly focused on the systems that store, process, or transmit customer data.
Ignoring the Observation Period: In a Type II audit, the auditor requires evidence that a control operated effectively over the entire observation period (e.g., Jan 1 to Jun 30). If you implement MDM on June 28th, you cannot claim the control was operating effectively for the period.
Failing to Manage Offboarding: Auditors meticulously scrutinize termination procedures. If an employee is fired on Tuesday, but their GitHub or AWS access is not revoked until Friday, that is an immediate audit exception. Automated offboarding via SSO is critical.
Compliance Checklist
Preparing for a SOC 2 audit requires tracking hundreds of distinct tasks. Use this high-level checklist to gauge your readiness:
[ ] Define the audit scope and select the Trust Services Criteria.
[ ] Draft, approve, and distribute core security policies.
[ ] Implement MFA on all critical systems and email accounts.
[ ] Deploy MDM to all employee laptops (encryption, screen lock).
[ ] Establish a formal HR onboarding and offboarding checklist.
[ ] Run background checks on all employees.
[ ] Ensure all employees complete security awareness training.
[ ] Configure infrastructure logging and establish alerting for critical events.
[ ] Enforce peer review and branch protections in the code repository.
[ ] Separate development, staging, and production environments.
[ ] Execute an annual risk assessment and document findings.
[ ] Inventory all third-party vendors and collect their compliance reports.
[ ] Perform an annual penetration test by an independent third party.
Mapping to Security Controls
Understanding how SOC 2 criteria map to specific technical configurations is vital for automated compliance monitoring.
| SOC 2 Criteria (CC) | Technical Control Objective | Implementation Example |
| :------------------ | :-------------------------- | :----------------------------------------------------------------- |
| CC6.1 | Logical Access Security | Enforce Okta SSO and hardware MFA for all production AWS access. |
| CC6.6 | External Threat Protection | Deploy Cloudflare WAF and run weekly internal vulnerability scans. |
| CC7.2 | Security Event Monitoring | Aggregate CloudTrail and VPC Flow Logs into a SIEM for alerting. |
| CC8.1 | Change Management | Require 1 approving reviewer on all GitHub pull requests. |
| CC9.2 | Incident Response | Document an IRP and conduct an annual tabletop exercise. |
Audit Preparation
Preparing for the actual audit engagement requires significant project management.
The Readiness Assessment: Before engaging an auditor for the official report, hire a consultant or use compliance automation software to conduct a readiness assessment. This identifies control gaps without the pressure of a formal audit.
Evidence Collection: Auditors will request hundreds of pieces of evidence, including screenshots of firewall configurations, lists of newly hired employees, pull request histories, and vulnerability scan results.
The Population Request: The auditor will ask for a "population"—a complete list of events that occurred during the period, such as a list of all employees hired or all code deployed. They will then select a random sample from that population and ask for the specific evidence (e.g., "Show me the background check for Employee #4 and the peer review for Deploy #12").
The Exception Process: If the auditor finds a control failure, it is noted as an "exception" in the final report. While a single exception (e.g., one missed background check out of fifty) rarely fails an audit, systemic exceptions (e.g., developers deploying straight to production) will result in an adverse opinion.
Real World Examples
Consider a fast-growing FinTech startup preparing for its first SOC 2 Type II audit. They have 50 employees, host their infrastructure on AWS, and use GitHub for version control.
Scenario 1: The Access Review Failure
The startup's security policy states that user access to AWS is reviewed every 90 days. During the audit, the auditor asks for the meeting minutes, tickets, and resulting access revocations for the last four quarters. The Director of Engineering realizes they only did the review twice this year. The auditor notes a formal exception under CC6.2. The startup must update their policy to require bi-annual reviews (to match reality) or implement automated access review tools.
Scenario 2: The Change Management Win
The auditor selects a random deployment that occurred on March 14th. The engineering team quickly retrieves the Jira ticket documenting the feature request, the GitHub pull request showing a peer approval by a senior engineer, the automated CI/CD pipeline logs showing passing unit tests, and the final merge commit. The auditor validates the complete chain of custody, satisfying CC8.1 effortlessly.
Compliance Impact
SOC 2 is often the cornerstone of an organization's compliance posture, but it interacts extensively with other global frameworks.
SOC2
The baseline for North American B2B SaaS. Once you achieve SOC 2 Type II, maintaining it requires annual audits. The controls implemented here serve as the foundation for all subsequent compliance efforts.
ISO27001
While SOC 2 is a reporting framework focused on historical proof, ISO 27001 is a certification focused on the implementation of an Information Security Management System (ISMS). There is massive overlap (~80%) between SOC 2 controls and ISO 27001 Annex A controls. Organizations often pursue both simultaneously using the same technical foundation.
NIST
The NIST Cybersecurity Framework (CSF) provides a high-level taxonomy (Identify, Protect, Detect, Respond, Recover) that maps perfectly to SOC 2 trust services criteria. Implementing SOC 2 inherently matures an organization's NIST CSF posture, making it easier to sell to federal entities.
CIS
The CIS Critical Security Controls provide the tactical implementation guidance that SOC 2 lacks. While SOC 2 says "monitor for security events," CIS Control 8 dictates exactly how to configure audit logs. Using CIS controls to implement SOC 2 requirements is an industry best practice.
Business Impact
The ROI of SOC 2 compliance is uniquely measurable compared to other security investments.
Revenue Unblocking: The immediate business impact is the ability to close enterprise deals. Major corporations (Fortune 500s, banks, healthcare providers) legally cannot ingest their data into a SaaS platform that lacks a SOC 2 Type II report.
Reduced Procurement Friction: Without a SOC 2, sales engineers spend hundreds of hours manually answering bespoke security questionnaires. A SOC 2 report acts as a universal pass, drastically reducing sales cycle length.
Operational Discipline: The hidden benefit of SOC 2 is organizational maturity. By forcing startups to implement MDM, enforce peer reviews, and document architecture, SOC 2 prevents the accumulation of technical debt that causes catastrophic outages as the company scales.
How CyberFurl Helps
Managing SOC 2 compliance manually using spreadsheets, Jira tickets, and thousands of screenshots is a massive drain on engineering resources and guarantees human error.
Through the CyberFurl Compliance Posture module, organizations can automate the continuous monitoring of their SOC 2 controls. CyberFurl integrates directly with your cloud providers, identity systems, and code repositories to continuously verify that MFA is active, S3 buckets are private, and pull requests are reviewed. Instead of scrambling for evidence during the audit window, CyberFurl provides real-time dashboards mapping technical state directly to AICPA Trust Services Criteria, instantly alerting you to control drift before the auditor finds it.
Deep Dive: The Common Criteria (CC1 to CC9)
To truly master SOC 2, organizations must move beyond the high-level principles and dive deep into the specific Common Criteria (CC) categories. The AICPA has structured the mandatory Security criteria into nine distinct families. Understanding the nuance of each family is the difference between barely passing an audit and building a resilient security culture.
CC1: Control Environment
The Control Environment is the foundation upon which all other security controls rest. It dictates the tone at the top. Auditors look for evidence that executive leadership genuinely prioritizes security, rather than treating it as a check-the-box exercise.
CC1.1: Commitment to Integrity and Ethical Values. This requires a formal Code of Conduct. The auditor will look for evidence that every employee has signed this document and that there are established mechanisms (like a whistleblower hotline) for reporting unethical behavior without fear of retaliation.
CC1.2: Board of Directors Independence. For larger organizations, the board must operate independently from management and actively oversee the development of internal controls. Meeting minutes where security risks are discussed at the board level serve as primary evidence.
CC1.3: Management Philosophy and Operating Style. Management must establish reporting lines and appropriate authorities. An up-to-date organizational chart is mandatory evidence here.
CC1.4: Commitment to Competence. Organizations must demonstrate they hire competent individuals. This is where job descriptions, formal interview rubrics, and continuous training programs (like secure coding training for developers) are audited.
CC1.5: Enforcing Accountability. If an employee violates the security policy, what happens? The auditor will look for a formal disciplinary policy and, if applicable, evidence of its enforcement.
CC2: Communication and Information
This category ensures that the organization generates high-quality information to support internal controls and communicates it effectively both internally and externally.
CC2.1: Generating Relevant Information. The system must generate logs and alerts that accurately reflect its security state. This ties heavily into SIEM deployments.
CC2.2: Internal Communication. Employees must know how to report a security incident. The auditor will verify that the Incident Response Plan is easily accessible (e.g., pinned in a central Slack channel or Confluence page) and that employees are trained on how to use it.
CC2.3: External Communication. How does the organization communicate security events to customers, vendors, and regulators? A formal incident communication matrix detailing who gets notified (and within what timeframe) during a data breach is required.
CC3: Risk Assessment
Risk assessment cannot be a static, one-time event. It must be an ongoing, formalized process.
CC3.1: Specifying Objectives. The organization must clearly define its operational and security objectives so that risks to those objectives can be identified.
CC3.2: Identifying and Analyzing Risks. This requires an annual formal risk assessment. The organization must maintain a Risk Register detailing identified risks (e.g., "Compromise of AWS Root Account"), their likelihood, their potential impact, and the mitigating controls.
CC3.3: Assessing Fraud Risk. The risk assessment must explicitly consider the potential for internal or external fraud. How could an employee embezzle funds or steal customer data? What controls prevent this?
CC3.4: Identifying Significant Changes. When the organization undergoes a major change (e.g., migrating from AWS to GCP, or acquiring another company), a delta risk assessment must be performed to identify new vulnerabilities introduced by the change.
CC4: Monitoring Activities
An organization cannot simply deploy controls and walk away; it must continuously monitor them for effectiveness.
CC4.1: Ongoing and Separate Evaluations. The organization must use continuous monitoring tools (like AWS Security Hub, Datadog, or CyberFurl) to evaluate control effectiveness in real-time. Additionally, separate evaluations, such as annual third-party penetration tests, are required.
CC4.2: Evaluating and Communicating Deficiencies. When a control fails (e.g., an S3 bucket is accidentally made public), there must be a formal process for logging the deficiency, investigating the root cause, and communicating it to the parties responsible for remediation. Jira ticketing workflows are excellent evidence here.
CC5: Control Activities
This is where the theoretical meets the practical. CC5 mandates the specific technical and operational mechanisms that mitigate the risks identified in CC3.
CC5.1: Selecting and Developing Control Activities. Management must select controls that mitigate risks to acceptable levels. This involves deploying firewalls, configuring WAFs, and establishing endpoint protection.
CC5.2: IT General Controls. The organization must control its underlying IT infrastructure. This includes managing the network architecture, deploying patches, and securing the physical environment (even if the "physical environment" is entirely managed by AWS, the responsibility for securing the VPC configuration remains with the organization).
CC5.3: Policies and Procedures. Every technical control must be backed by a written policy. If you enforce MFA, you must have an Access Control Policy that explicitly mandates MFA. The auditor tests the technical control against the written policy.
CC6: Logical and Physical Access Controls
CC6 is typically where the most audit exceptions occur. Managing access in a dynamic, cloud-native environment is exceedingly difficult.
CC6.1: Logical Access Security. The organization must implement logical access controls (SSO, MFA, strong passwords) to prevent unauthorized access. This includes managing API keys, service accounts, and database credentials.
CC6.2: User Provisioning and Deprovisioning. There must be a formal process for granting access to new hires, modifying access when roles change, and revoking access upon termination. As previously noted, termination access revocation must happen immediately (often defined as within 24 hours).
CC6.3: Role-Based Access Control (RBAC). Access must be granted based on the Principle of Least Privilege. Developers should not have production SSH access unless actively troubleshooting an incident.
CC6.4: Physical Access. For cloud-native companies, this criteria is largely outsourced to the cloud provider (evidenced by reviewing the AWS SOC 2 report). However, if the organization maintains a physical office, they must secure physical access to networking closets and employee workstations.
CC6.5: Discontinued Systems. When a system or hardware asset is decommissioned, all data must be securely wiped. MDM remote wipe logs and AWS EBS volume deletion logs serve as evidence.
CC6.6: Boundary Protection. The organization must protect its external boundaries. This means deploying Web Application Firewalls (WAF), configuring strict Security Groups, and utilizing bastion hosts or VPNs for administrative access.
CC6.7: Data Transmission. All sensitive data must be encrypted in transit using industry-standard protocols (TLS 1.2+).
CC6.8: Rogue Software and Malware Protection. Anti-malware and Endpoint Detection and Response (EDR) solutions must be deployed across the fleet of employee devices and, where applicable, production servers.
CC7: System Operations
CC7 ensures that the system operates continuously and that deviations are rapidly detected and resolved.
CC7.1: Configuration Management. The organization must maintain a known, secure baseline configuration for its systems. Tools like Terraform (IaC) and Ansible are critical here to prevent configuration drift.
CC7.2: Security Event Monitoring. The system must be continuously monitored for security anomalies. This requires centralized log aggregation and automated alerting for suspicious behavior, such as a sudden spike in failed API authentication attempts.
CC7.3: Incident Detection and Response. The organization must evaluate security events to determine if they constitute a formal incident. If an incident is declared, the formal Incident Response Plan (IRP) must be activated, detailing containment, eradication, and recovery steps.
CC7.4: Incident Containment and Remediation. The organization must have procedures in place to rapidly contain a breach and remediate the underlying vulnerability. This often requires retaining an external digital forensics and incident response (DFIR) firm on retainer.
CC7.5: Post-Incident Review. After an incident is resolved, a formal post-mortem must be conducted to identify lessons learned and update security controls to prevent recurrence.
CC8: Change Management
CC8 is fundamentally about the Software Development Life Cycle (SDLC). Auditors want to see that malicious or buggy code cannot easily be introduced into the production environment.
CC8.1: Authorization and Design. All changes must be authorized by management. This typically means an engineer creates a Jira ticket outlining the proposed change, which is then prioritized by a product manager.
CC8.2: Testing and Approval. Code must be thoroughly tested before deployment. This requires automated unit tests, integration tests, and a formal peer review process. The auditor will look for pull request approvals in GitHub or GitLab.
CC8.3: Deployment Segregation. The deployment process must be segregated from development. Developers should push code to a repository, and an automated CI/CD pipeline (e.g., GitHub Actions, Jenkins) should handle the actual deployment to production. Direct git push to production servers is a major violation.
CC9: Risk Mitigation
The final criteria focuses on advanced risk mitigation strategies.
CC9.1: Business Interruption Planning. The organization must identify risks that could cause a massive business interruption (e.g., an AWS region outage or a ransomware attack) and develop strategies to mitigate them, such as multi-region active-active architectures or immutable offline backups.
CC9.2: Vendor Risk Management. The organization must assess the risk posed by its vendors. If a critical vendor experiences a breach, how does it impact the organization? This requires collecting SOC 2 reports from all critical vendors (AWS, Okta, Datadog) and reviewing their Complementary User Entity Controls (CUECs).
Infrastructure as Code (IaC) Examples for SOC 2
To satisfy the stringent requirements of SOC 2, modern organizations rely heavily on Infrastructure as Code. Below are examples of how specific SOC 2 technical controls can be enforced programmatically using Terraform.
Enforcing Encryption at Rest (CC6.1)
SOC 2 mandates that all sensitive data be encrypted at rest. Relying on engineers to manually click the "Encrypt" button in the AWS console is prone to failure. Instead, this should be codified.
By codifying this, the auditor can review the Terraform repository and gain absolute assurance that every newly provisioned S3 bucket is encrypted by default, eliminating the need to manually sample bucket configurations in the AWS console.
Restricting Network Access (CC6.6)
Boundary protection requires strict control over inbound traffic. A common SOC 2 violation is leaving port 22 (SSH) or port 3306 (MySQL) open to the public internet (0.0.0.0/0).
# AWS Security Group restricting database access
resource "aws_security_group" "rds_access" {
name = "rds-secure-access"
description = "Allow inbound traffic only from the application tier"
vpc_id = aws_vpc.main.id
ingress {
description = "MySQL access from application subnets"
from_port = 3306
to_port = 3306
protocol = "tcp"
# STRICTLY RESTRICTED: Only allow traffic from the App Security Group
security_groups = [aws_security_group.app_tier.id]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}
This configuration proves to the auditor that the database is isolated from the public internet and can only be accessed by authorized application servers, directly satisfying the CC6.6 boundary protection requirement.
Automating Log Aggregation (CC7.2)
Security event monitoring requires all infrastructure logs to be centralized. In AWS, this means ensuring CloudTrail is active and streaming logs to a secure, tamper-proof location.
# Enable AWS CloudTrail globally
resource "aws_cloudtrail" "global_audit_trail" {
name = "global-audit-trail"
s3_bucket_name = aws_s3_bucket.cloudtrail_logs.id
include_global_service_events = true
is_multi_region_trail = true
enable_log_file_validation = true # CRITICAL for proving log integrity to the auditor
# Encrypt logs with KMS
kms_key_id = aws_kms_key.cloudtrail_key.arn
}
The enable_log_file_validation flag is particularly crucial for SOC 2. It creates a cryptographic hash of every log file delivered by CloudTrail. If an attacker attempts to delete or alter a log file to hide their tracks, the validation check will fail, alerting the security team. Auditors explicitly look for this configuration during the CC7.2 review.
The Evidence Collection Lifecycle
In a Type II audit, the sheer volume of evidence required can crush an unprepared engineering team. Understanding the lifecycle of evidence collection is critical for maintaining operational velocity during the audit period.
System Generated Reports (SGR): Auditors will not blindly trust a spreadsheet you hand them. If you provide a list of active users, you must also provide proof of how that list was generated (the SQL query, the script, or the Okta dashboard export). The auditor must verify the completeness and accuracy of the report before they can use it as evidence.
Screenshots and Time Stamps: The bane of manual compliance. When providing a screenshot of a configuration (e.g., showing that MFA is enforced in Google Workspace), the screenshot must capture the system time (the clock in the corner of your screen) to prove the configuration was active during the observation period.
Continuous Compliance Platforms: To eliminate manual screenshotting, organizations deploy continuous compliance platforms (like CyberFurl, Vanta, or Drata). These platforms connect to AWS, GitHub, and Okta via read-only APIs. They continuously pull the configuration state and map it to the SOC 2 controls, automatically generating cryptographically verifiable evidence that the auditor can review in a dedicated portal.
The CUEC Review: As a SaaS provider, you rely on other SaaS providers. Your SOC 2 report will include Complementary User Entity Controls (CUECs). These are controls that you expect your customers to implement. Conversely, you must review the CUECs in the SOC 2 reports of your vendors (like AWS). A common AWS CUEC states: "It is the user entity's responsibility to configure strong passwords for IAM users." The auditor will ask for documented proof that you reviewed the AWS SOC 2 report and implemented the required CUECs.
Architecting for Compliance
Achieving SOC 2 compliance should not be an afterthought retrofitted onto a fragile architecture. It requires fundamentally designing the system with compliance in mind.
Immutable Infrastructure: By treating infrastructure as disposable, you drastically simplify change management (CC8). If a server is misbehaving, you do not SSH into it and manually tweak configurations (which requires a complex audit trail). Instead, you destroy the server and let the auto-scaling group provision a new one from a known-good, hardened image.
Zero Trust Architecture: Assume the internal network is hostile. Implementing Zero Trust means enforcing strict identity verification and micro-segmentation for every request, regardless of whether it originates from inside or outside the VPC. This architectural paradigm automatically satisfies numerous logical access and boundary protection criteria.
Data Minimization: The easiest way to protect sensitive data is to not collect it. Architect systems to rapidly process and purge sensitive data, or tokenize it immediately upon ingestion. Reducing the footprint of sensitive data drastically reduces the scope and complexity of the SOC 2 audit.
Frequently Asked Questions
What is the difference between SOC 2 Type I and Type II?
Type I assesses the design of your security controls at a single point in time. Type II assesses the operational effectiveness of those controls over a sustained period, typically 6 to 12 months. Most enterprise customers require a Type II report.
How much does a SOC 2 audit cost?
The auditor fees typically range from $20,000 to $40,000 for a Type II. However, the total cost including internal engineering time, compliance automation platforms, and remediation tools often exceeds $100,000 for a first-year program.
Are all five Trust Services Criteria mandatory?
No. Security (often called the Common Criteria) is mandatory for every SOC 2 report. The other four (Availability, Processing Integrity, Confidentiality, Privacy) are optional and should be selected based on your customer commitments.
Can I use AWS/GCP's SOC 2 report instead of getting my own?
No. You can rely on your cloud provider's SOC 2 to cover physical data center security and hypervisor controls, but you must obtain your own SOC 2 to cover your application logic, access controls, SDLC, and employee onboarding processes.
How long does it take to get SOC 2 compliant?
A typical startup takes 3 to 6 months to implement the controls, followed by a 3 to 6 month observation period for a Type II report, meaning the total timeline is often 9 to 12 months from start to final report.
1
Define the System Boundary
Identify exactly which applications, databases, cloud accounts, and internal processes fall within the scope of the audit. Exclude non-critical environments to reduce audit fatigue.
2
Select Trust Services Criteria
Start with the mandatory Security criteria. Only add Availability or Confidentiality if your enterprise contracts explicitly demand them.
3
Perform a Readiness Assessment
Conduct an internal gap analysis to identify missing controls. This is where you will discover that you lack formal onboarding checklists, MDM enforcement, or documented risk assessments.
4
Implement Technical and Administrative Controls
Deploy MDM to all laptops, enforce MFA everywhere, document your incident response plan, and configure continuous monitoring tools.
5
Execute the Audit
Engage a CPA firm, provide the requested evidence over the observation period, and address any exceptions before the final report is issued.
Related reading
Keep the research trail connected so the next control or failure mode is one click away.