
Soc2 Compliance Expert
- 118 installs
- 451 repo stars
- Updated July 21, 2026
- borghei/claude-skills
Prepare SaaS products for SOC 2 audits by mapping controls, policies, evidence collection, gap remediation, and security practices to Trust Services Criteria.
About
SOC 2 compliance expert skill from borghei/claude-skills helping teams achieve and maintain SOC 2 readiness through control design, gap analysis, policy drafting, evidence planning, and security remediation tailored to SaaS and API businesses.
- SOC 2 Trust Services Criteria mapping
- Control gap analysis and remediation
- Policy and evidence documentation
- Access, logging, and change management
- Audit preparation for enterprise buyers
Soc2 Compliance Expert by the numbers
- 118 all-time installs (skills.sh)
- Ranked #963 of 2,203 Security skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/borghei/claude-skills --skill soc2-compliance-expertAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 118 |
|---|---|
| repo stars | ★ 451 |
| Last updated | July 21, 2026 |
| Repository | borghei/claude-skills ↗ |
What it does
Prepare SaaS products for SOC 2 audits by mapping controls, policies, evidence collection, gap remediation, and security practices to Trust Services Criteria.
Files
SOC 2 Compliance Expert
SOC 2 Type I and Type II compliance management covering all Trust Services Criteria (TSC), infrastructure security validation, evidence collection, and end-to-end audit preparation.
---
SOC 2 Overview
Type I vs Type II
| Aspect | Type I | Type II |
|---|---|---|
| Scope | Design of controls at a point in time | Design AND operating effectiveness over a period |
| Duration | Single date (snapshot) | Observation period (3-12 months, typically 6-12) |
| Cost | $20K-$60K (first audit) | $40K-$150K (first audit) |
| Timeline | 1-3 months | 6-15 months (includes observation period) |
| Customer Preference | Early-stage acceptable | Enterprise customers require |
Start with Type I to validate control design, then transition to Type II within 6 months.
Trust Services Criteria Summary
| Category | Focus | Controls |
|---|---|---|
| CC1-CC5 | Common Criteria (COSO-based) | Control environment, communication, risk, monitoring, control activities |
| CC6 | Logical and Physical Access | Authentication, authorization, physical security, encryption |
| CC7 | System Operations | Vulnerability management, monitoring, incident response, BCP |
| CC8 | Change Management | Authorization, testing, deployment controls |
| CC9 | Risk Mitigation | Vendor management, business disruption, risk transfer |
| A1 | Availability | Capacity planning, DR, recovery testing |
| PI1 | Processing Integrity | Data validation, error handling, reconciliation |
| C1 | Confidentiality | Classification, encryption, disposal |
| P1 | Privacy | Notice, consent, data subject rights, retention |
For detailed control requirements per category, see REFERENCE.md.
---
Readiness Assessment Workflow
The agent guides organizations through SOC 2 readiness from gap analysis through audit completion.
Workflow: Phase 1 -- Gap Analysis (Weeks 1-4)
1. Define scope -- determine which TSC categories to include (Security is mandatory), define system boundaries, identify subservice organizations (carve-out vs. inclusive), document principal service commitments. 2. Assess current state -- inventory existing policies and procedures, map current controls to TSC requirements, interview process owners and control operators. 3. Run automated gap analysis using scripts/soc2_readiness_checker.py. 4. Document gaps -- missing controls, controls lacking evidence, controls not operating effectively. 5. Prioritize gaps by risk level and remediation effort. 6. Validation checkpoint: Gap analysis covers all in-scope TSC categories; each gap has severity rating and remediation owner assigned.
Workflow: Phase 2 -- Remediation (Weeks 5-16)
1. Develop/update policies -- information security policy, supporting procedures per control domain, policy review and approval workflows. 2. Implement technical controls -- configure IdP with SSO/MFA enforcement, deploy endpoint security (MDM, EDR, disk encryption), implement SIEM logging and monitoring, configure backup and DR, harden cloud infrastructure. 3. Establish processes -- access review procedures, change management workflow, incident response procedures, vendor management program, security awareness training. 4. Set up evidence collection -- configure automated collection, establish repository structure, define refresh cadence per TSC category. 5. Validation checkpoint: All identified gaps remediated; technical controls verified via scripts/soc2_infrastructure_auditor.py; evidence collection producing artifacts.
Workflow: Phase 3 -- Pre-Audit (Weeks 17-20)
1. Conduct internal readiness assessment -- mock audit against all in-scope TSC, validate evidence completeness and quality, run infrastructure auditor for technical validation. 2. Remediate pre-audit findings -- address remaining gaps, strengthen evidence. 3. Select and engage CPA firm -- negotiate scope, timeline, fees; schedule kickoff; prepare system description draft. 4. Validation checkpoint: Mock audit passes with no critical gaps; system description reviewed; auditor engaged.
Workflow: Phase 4 -- Audit Execution
1. Type I audit (if applicable) -- auditor reviews control design; management provides assertions; address findings before Type II. 2. Type II observation period (3-12 months) -- controls operate consistently, evidence collected continuously, quarterly self-assessments, regular auditor check-ins. 3. Fieldwork (2-4 weeks) -- auditor selects samples, tests controls, interviews personnel; draft report review; final report issuance. 4. Validation checkpoint: Clean opinion received; any findings have management response and remediation plan.
---
Evidence Collection Framework
Evidence by TSC Category
| TSC | Evidence Type | Collection Method | Refresh |
|---|---|---|---|
| CC1 | Code of conduct acknowledgments | HR system export | Annual |
| CC2 | Security awareness training records | LMS export | Ongoing |
| CC3 | Risk assessment report, risk register | GRC platform | Annual/Quarterly |
| CC4 | Penetration test reports, vulnerability scans | Third-party/scanner | Annual/Monthly |
| CC5 | Policy documents with version history | Policy management | Annual review |
| CC6 | Access reviews, MFA enrollment, offboarding | IAM/IdP/HRIS | Quarterly/Per event |
| CC7 | Vulnerability remediation, incident records | Ticketing/ITSM | Ongoing |
| CC8 | Change tickets with approvals, code reviews | ITSM/Git | Per change |
| CC9 | Vendor risk assessments, vendor SOC 2 reports | GRC platform | Annual |
| A1 | Uptime reports, DR tests, backup logs | Monitoring/backup | Monthly/Semi-annual |
| PI1 | Data validation/reconciliation reports | Application logs | Per process |
| C1 | Data classification inventory, encryption configs | Manual/automated | Annual/Quarterly |
| P1 | PIAs, DSR response tracking | Privacy tool | Per event |
Example: Evidence Collection Command
# Generate evidence checklist for all TSC categories
python scripts/evidence_collector.py --generate-checklist --categories all
# Track evidence status
python scripts/evidence_collector.py --status evidence-tracker.json
# Update specific evidence item
python scripts/evidence_collector.py --update evidence-tracker.json \
--item CC6.1-MFA --status collected
# Generate readiness dashboard
python scripts/evidence_collector.py --dashboard evidence-tracker.json
# Export for auditor review
python scripts/evidence_collector.py --export evidence-tracker.json --format jsonAutomation Strategies
GRC Platforms: Vanta, Drata, Secureframe, Laika, AuditBoard -- automated evidence collection via API integrations, continuous control monitoring, auditor collaboration portals.
Infrastructure-as-Evidence: Cloud configuration snapshots (AWS Config, Azure Policy, GCP Org Policies), Terraform state as configuration evidence, Git history as change management evidence, CI/CD pipeline logs as deployment control evidence.
---
Infrastructure Security Validation
The agent validates infrastructure configurations against SOC 2 requirements.
Quick Reference: Infrastructure Checks
| Domain | Key Checks | SOC 2 Mapping |
|---|---|---|
| Cloud (AWS/Azure/GCP) | Encryption, IAM, logging, network, backup, secrets | CC6, CC7, A1, C1 |
| DNS | SPF, DKIM, DMARC, DNSSEC, CAA | CC6.6, CC2.2 |
| TLS/SSL | TLS 1.2+, AEAD ciphers, HSTS, auto-renewal | CC6.7 |
| Endpoint | MDM, disk encryption, EDR, patching, screen lock | CC6.1, CC6.8, CC7.1 |
| Network | Segmentation, WAF, DDoS, VPN/ZTNA, egress filtering | CC6.6, A1.1 |
| Container | Image scanning, minimal base, no privileged, RBAC | CC6.1, CC7.1 |
| CI/CD | Signed commits, branch protection, SAST/DAST, SBOM | CC7.1, CC8.1 |
| Secrets | Vault storage, rotation policies, git scanning | CC6.1 |
For detailed per-provider control mappings, see REFERENCE.md.
Example: Infrastructure Audit Command
# Full infrastructure audit
python scripts/soc2_infrastructure_auditor.py --config infra-config.json
# Audit specific domains only
python scripts/soc2_infrastructure_auditor.py --config infra-config.json \
--domains dns tls cloud
# JSON output with severity ratings
python scripts/soc2_infrastructure_auditor.py --config infra-config.json --format json
# Generate sample configuration template
python scripts/soc2_infrastructure_auditor.py --generate-template---
Audit Timeline
Typical Timeline (First SOC 2)
| Phase | Duration | Activities |
|---|---|---|
| Scoping | 2-4 weeks | Define TSC, system boundaries, auditor selection |
| Gap Analysis | 2-4 weeks | Assess current controls, identify gaps |
| Remediation | 8-16 weeks | Implement missing controls, policies, procedures |
| Type I Audit | 2-4 weeks | Point-in-time control design assessment |
| Type II Observation | 3-12 months | Controls operate, evidence collected continuously |
| Type II Fieldwork | 2-4 weeks | Auditor testing, evidence review, interviews |
| Report Issuance | 2-4 weeks | Draft review, management response, final report |
Annual Renewal
- Begin renewal planning 3 months before observation period ends
- Maintain continuous compliance between audit periods
- Address prior-year findings before new observation period
- Bridge letters available for gaps between reports
---
Incident Response Requirements
IRP Structure
1. Preparation -- IR team defined, communication channels established, runbooks for common incidents, legal/PR contacts on retainer. 2. Detection and Analysis -- monitoring/alerting coverage, severity classification (SEV1-SEV4), triage procedures, escalation matrix. 3. Containment, Eradication, Recovery -- isolate affected systems, preserve evidence, identify root cause, restore and validate. 4. Post-Incident -- blameless post-mortem within 5 business days, lessons learned, control improvements, notification assessment (MTTD, MTTR, MTTC tracking).
For severity level definitions and breach notification timelines, see REFERENCE.md.
---
Tools
SOC 2 Readiness Checker
# Full readiness assessment
python scripts/soc2_readiness_checker.py --config org-controls.json
# JSON output for programmatic use
python scripts/soc2_readiness_checker.py --config org-controls.json --format json
# Check specific TSC categories
python scripts/soc2_readiness_checker.py --config org-controls.json \
--categories security availability
# Include cloud provider control mapping
python scripts/soc2_readiness_checker.py --config org-controls.json --cloud-mappingEvidence Collector
# Generate checklist and track status
python scripts/evidence_collector.py --generate-checklist --categories all
python scripts/evidence_collector.py --status evidence-tracker.json
python scripts/evidence_collector.py --dashboard evidence-tracker.jsonInfrastructure Auditor
# Validate infrastructure against SOC 2 requirements
python scripts/soc2_infrastructure_auditor.py --config infra-config.json
python scripts/soc2_infrastructure_auditor.py --config infra-config.json --format json---
References
| Document | Description |
|---|---|
| REFERENCE.md | Detailed TSC controls, infrastructure checks, access control specs, vendor management, training, IRP, BC/DR |
| Trust Services Criteria Guide | Complete TSC reference with control objectives and audit questions |
| Infrastructure Security Controls | Cloud, DNS, TLS, endpoint, container, CI/CD security configurations |
| Audit Preparation Playbook | End-to-end audit prep guide with timelines, checklists, cost estimation |
---
Troubleshooting
| Problem | Likely Cause | Resolution |
|---|---|---|
| Readiness checker scores are 0% across all categories | Controls JSON missing config_key values or all set to false | Verify the input JSON maps each TSC control to a boolean value under the correct config_key. Run --generate-sample > sample-config.json to see the expected structure. |
| Infrastructure auditor reports all checks as "fail" | Infrastructure config JSON is empty or uses wrong key names | Run --generate-template to produce a valid template. Populate DNS, TLS, cloud, endpoint, and other sections with actual infrastructure state. |
| Evidence collector checklist missing categories | --categories flag filtering output | Use --categories all to generate the complete checklist. Available categories: security, availability, processing_integrity, confidentiality, privacy. |
| Evidence tracker status not updating | Tracker file path incorrect or file not writable | Verify the path passed to --status or --update points to an existing tracker JSON file. Check file permissions. |
| Cloud mapping not appearing in readiness report | --cloud-mapping flag not included | Add --cloud-mapping to the readiness checker command to include AWS/Azure/GCP control mappings in the output. |
| Type II observation period too short for auditor | Observation period is less than 3 months | Most CPA firms require a minimum 3-month observation period for Type II. A 6-12 month period carries more weight. Plan the observation window during the scoping phase. |
| Auditor requests evidence not in the tracker | Evidence catalog does not cover all TSC subcriteria for the selected scope | Supplement the auto-generated checklist with auditor-specific evidence requests. Each CPA firm may have additional requirements beyond the standard TSC evidence items. |
---
Success Criteria
- SOC 2 scope defined with all applicable TSC categories selected, system boundaries documented, and subservice organizations identified (carve-out vs inclusive)
- Gap analysis completed with every identified gap assigned a severity rating, remediation owner, and target completion date
- Readiness score of 80%+ across all in-scope TSC categories before engaging the CPA firm, trending to 95%+ before Type II fieldwork
- Evidence collection framework operational with centralized repository, defined refresh cadence per TSC category, and automated collection where possible
- Infrastructure audit passes with no critical or high-severity findings in DNS, TLS, cloud, endpoint, or access control domains
- Type II observation period of at least 6 months with continuous control operation, quarterly self-assessments, and no significant control failures
- Clean SOC 2 Type II opinion received with any findings addressed by management response and documented remediation plans
---
Scope & Limitations
In Scope:
- SOC 2 Type I and Type II readiness assessment against all TSC categories (CC1-CC9, A1, PI1, C1, P1)
- Infrastructure security validation (DNS, TLS, cloud, endpoint, network, container, CI/CD, secrets)
- Evidence collection framework generation and tracking
- Gap analysis with severity-rated findings and remediation guidance
- Audit timeline planning and CPA firm engagement preparation
- Incident response plan structure and requirements
- Continuous compliance program design
Out of Scope:
- CPA firm audit execution (the tools prepare for audit; the actual Type I/II report requires an independent CPA firm)
- SOC 1 (ICFR) assessment (SOC 1 covers financial reporting controls, not security/availability/privacy)
- SOC 3 report generation (SOC 3 is a public-facing summary derived from SOC 2; it requires a completed SOC 2 audit)
- Penetration testing execution (use infrastructure-compliance-auditor or engage a third-party pentest firm)
- GRC platform selection or implementation (the skill is compatible with Vanta, Drata, Secureframe, etc., but does not implement them)
- Legal advice on customer contractual requirements for SOC 2 reports
- Physical security assessments (the infrastructure auditor covers logical controls; physical data center audits require on-site assessment)
---
Integration Points
| Skill | Integration |
|---|---|
| infrastructure-compliance-auditor | Provides Vanta-level infrastructure checks across cloud, DNS, TLS, endpoints, access controls, and CI/CD that map directly to SOC 2 TSC requirements |
| nist-csf-specialist | NIST CSF functions map to SOC 2 TSC categories; use the control mapper to build unified control matrices for organizations pursuing both |
| information-security-manager-iso27001 | ISO 27001 Annex A controls provide a management system backbone that satisfies many SOC 2 requirements; shared evidence reduces audit burden |
| pci-dss-specialist | PCI DSS requirements overlap with SOC 2 CC6 (access), CC7 (operations), CC8 (change management); shared controls for payment-processing organizations |
| gdpr-dsgvo-expert | GDPR requirements align with SOC 2 Privacy (P1) criteria; organizations processing EU personal data can leverage shared privacy controls |
| nis2-directive-specialist | NIS2 minimum security measures overlap with SOC 2 security criteria; EU entities can map shared incident response, access control, and encryption controls |
---
Tool Reference
soc2_readiness_checker.py
Evaluates organizational controls against SOC 2 Trust Services Criteria with per-category scoring.
| Flag | Required | Description |
|---|---|---|
--config | Yes (or --generate-sample) | Path to organization controls JSON file with boolean values for each TSC control |
--format | No | Output format: json for structured output, omit for human-readable text |
--categories | No | Space-separated TSC categories to assess (e.g., security availability). Omit for all. |
--cloud-mapping | No | Include cloud provider (AWS/Azure/GCP) control mappings in the output |
--generate-sample | No | Generate a sample controls JSON template (pipe to file with > sample-config.json) |
evidence_collector.py
Generates evidence collection checklists and tracks evidence gathering status.
| Flag | Required | Description |
|---|---|---|
--generate-checklist | No | Generate an evidence collection checklist for the specified categories |
--categories | No | Space-separated TSC categories: security, availability, processing_integrity, confidentiality, privacy, or all |
--status | No | Path to evidence tracker JSON file to display collection status |
--update | No | Path to evidence tracker JSON file to update (use with --item and --status) |
--item | No | Evidence item identifier to update (e.g., CC6.1-MFA) |
--dashboard | No | Path to evidence tracker JSON file to generate a readiness dashboard |
--export | No | Path to evidence tracker JSON file to export |
--format | No | Export format: json for structured output |
soc2_infrastructure_auditor.py
Audits infrastructure configurations against SOC 2 requirements with severity-rated findings.
| Flag | Required | Description |
|---|---|---|
--config | Yes (or --generate-template) | Path to infrastructure configuration JSON file with DNS, TLS, cloud, endpoint, and other domain settings |
--format | No | Output format: json for structured findings with severity ratings, omit for human-readable text |
--domains | No | Space-separated infrastructure domains to audit (e.g., dns tls cloud). Omit for all domains. |
--generate-template | No | Generate a sample infrastructure configuration template (pipe to file with > infra-config.json) |
SOC 2 Compliance Reference Material
Detailed Trust Services Criteria controls, infrastructure security checks, access control specifications, and operational requirements. Referenced by the main SKILL.md.
---
Trust Services Criteria -- Control Details
CC1: Control Environment
COSO Principles: Commitment to integrity/ethics (1), Board oversight (2), Organizational structure (3), Commitment to competence (4), Accountability enforcement (5).
| Control | Description | Evidence |
|---|---|---|
| CC1.1 | Code of conduct/ethics policy | Signed acknowledgments, policy document |
| CC1.2 | Board/management oversight structure | Org chart, board meeting minutes, committee charters |
| CC1.3 | Defined roles and responsibilities | Job descriptions, RACI matrices |
| CC1.4 | Hiring and competency standards | Background check policy, training records |
| CC1.5 | Performance evaluation and accountability | Review templates, disciplinary procedures |
Board Oversight Requirements:
- Documented board or committee charter for risk oversight
- Quarterly security briefings to the board or audit committee
- Board review and approval of information security policy annually
- Independent directors with cybersecurity expertise (recommended)
CC2: Communication and Information
| Control | Description | Evidence |
|---|---|---|
| CC2.1 | Internal communication of objectives and responsibilities | Security awareness materials, policy portal |
| CC2.2 | External communication with customers and regulators | Privacy policy, security page, breach notification procedures |
| CC2.3 | System description accuracy and completeness | Documented system boundaries, data flow diagrams |
System Description (Section III of SOC 2 Report):
- Principal service commitments and system requirements
- Components of the system (infrastructure, software, people, procedures, data)
- System boundaries and interconnections
- Complementary user entity controls (CUECs)
- Complementary subservice organization controls (CSOCs)
CC3: Risk Assessment
| Control | Description | Evidence |
|---|---|---|
| CC3.1 | Risk identification for business objectives | Risk register, annual risk assessment |
| CC3.2 | Fraud risk assessment | Fraud risk matrix, anti-fraud controls |
| CC3.3 | Change management risk identification | Change impact assessments, regulatory monitoring |
| CC3.4 | Risk assessment of significant changes | M&A risk reviews, new product security assessments |
Risk Identification Process: 1. Asset inventory and classification (data, systems, people) 2. Threat identification (internal, external, environmental) 3. Vulnerability assessment (technical, procedural, human) 4. Likelihood and impact scoring (qualitative or quantitative) 5. Risk treatment decisions (accept, mitigate, transfer, avoid) 6. Residual risk documentation and acceptance
Fraud Risk Considerations: Segregation of duties analysis, management override controls, financial reporting fraud risks, data manipulation risks, social engineering vulnerability assessment, insider threat program.
CC4: Monitoring Activities
| Control | Description | Evidence |
|---|---|---|
| CC4.1 | Ongoing monitoring and separate evaluations | Continuous monitoring dashboards, periodic control testing |
| CC4.2 | Deficiency communication and remediation | Finding reports, remediation tracking, management reporting |
Ongoing Monitoring: SIEM, IDS/IPS, real-time alerting, KPI/KRI dashboards, cloud posture management, continuous vulnerability scanning.
Separate Evaluations: Internal audit (annual minimum), penetration testing (annual minimum, quarterly recommended), third-party assessments, control self-assessments, tabletop exercises.
CC5: Control Activities
| Control | Description | Evidence |
|---|---|---|
| CC5.1 | Selection and development of control activities | Control design documentation, risk-control mapping |
| CC5.2 | Technology general controls | IT general controls documentation |
| CC5.3 | Policy and procedure deployment | Policy management system, version control, acknowledgments |
Control Activity Categories:
- Preventive: Access controls, input validation, encryption
- Detective: Logging, monitoring, anomaly detection, auditing
- Corrective: Incident response, backup restoration, patch management
- Compensating: Additional controls when primary controls have gaps
CC6: Logical and Physical Access Controls
| Control | Description | Evidence |
|---|---|---|
| CC6.1 | Logical access security (authentication, authorization) | IAM configurations, SSO setup, MFA enforcement |
| CC6.2 | Access provisioning based on role | Role definitions, access request workflows |
| CC6.3 | Access modification and removal | Joiner/mover/leaver procedures, access reviews |
| CC6.4 | Physical access restrictions | Badge system logs, visitor logs, data center controls |
| CC6.5 | Logical access to assets removed upon termination | Offboarding checklists, access removal evidence |
| CC6.6 | External access points protection | Firewall rules, VPN configurations, WAF rules |
| CC6.7 | Data transmission encryption | TLS configurations, encryption standards |
| CC6.8 | Unauthorized or malicious software prevention | Endpoint protection, application whitelisting |
Authentication Requirements:
- MFA enforced for all users
- Password policy: minimum 12 characters, complexity requirements
- Account lockout after 5 failed attempts
- Session timeout: 15 minutes (sensitive), 30 minutes (general)
- SSO via SAML 2.0 or OIDC for all SaaS applications
MFA Standards:
- TOTP: Minimum acceptable
- FIDO2/WebAuthn: Preferred (phishing-resistant)
- Hardware security keys: Required for privileged access
- SMS-based MFA: Not acceptable (SIM swap vulnerability)
Access Review Cadence: Privileged (quarterly), Standard (semi-annual), Service accounts (quarterly), Third-party (quarterly), Dormant accounts (monthly automated detection).
Physical Security: Biometric + badge + escort for data center visitors, badge system with audit trail for offices, visitor sign-in/sign-out, environmental controls (fire, HVAC, water detection), CCTV 90-day retention at entry/exit.
CC7: System Operations
| Control | Description | Evidence |
|---|---|---|
| CC7.1 | Vulnerability management and detection | Vulnerability scan reports, patch management records |
| CC7.2 | Security event monitoring and anomaly detection | SIEM configurations, alert rules, monitoring dashboards |
| CC7.3 | Security incident evaluation and response | Incident response plan, incident tickets, post-mortems |
| CC7.4 | Business continuity planning | BCP document, DR runbooks, test results |
| CC7.5 | Recovery from incidents and disasters | Recovery procedures, RTO/RPO documentation, test results |
Vulnerability Management SLAs: Critical (24h), High (7d), Medium (30d), Low (90d).
Change Management: CAB process for significant changes, emergency change procedures with post-hoc review, rollback plans required, testing in non-production environments, change calendar and blackout windows.
CC8: Change Management
| Control | Description | Evidence |
|---|---|---|
| CC8.1 | Change authorization, design, development, and testing | Change tickets, approval workflows, test results |
Change Authorization Process: 1. Change request with business justification 2. Impact assessment (security, performance, compliance) 3. Peer code review (min 1 reviewer, 2 for critical) 4. Approval from change authority 5. Testing in staging/pre-production 6. Deployment with rollback plan 7. Post-deployment validation 8. Change record closure
Deployment Controls: Automated CI/CD pipelines, separation of dev/staging/production, restricted production access, deployment audit trail, automated rollback capability.
CC9: Risk Mitigation
| Control | Description | Evidence |
|---|---|---|
| CC9.1 | Vendor risk identification and assessment | Vendor risk assessments, due diligence records |
| CC9.2 | Business disruption risk management | BIA results, insurance certificates, risk transfer documentation |
A1: Availability
| Control | Description | Evidence |
|---|---|---|
| A1.1 | Capacity planning and performance monitoring | Capacity plans, monitoring dashboards, auto-scaling configs |
| A1.2 | Disaster recovery and business continuity | DR plan, failover testing, backup verification |
| A1.3 | Recovery testing and validation | DR test results, RTO/RPO achievement records |
Backup Requirements: Daily minimum for production, point-in-time recovery for databases, encrypted at rest/transit, monthly restoration testing, 30-day retention minimum (90 recommended), air-gapped/immutable for ransomware protection.
SLA Management: 99.9% uptime minimum, scheduled maintenance windows, real-time status page, SLA credit structure, monthly reporting.
PI1: Processing Integrity
| Control | Description | Evidence |
|---|---|---|
| PI1.1 | Completeness, accuracy, timeliness, authorization | Data validation rules, reconciliation, processing logs |
| PI1.2 | Error detection and correction | Error handling procedures, exception reports |
| PI1.3 | Input and output verification | Input validation rules, output reconciliation |
| PI1.4 | Processing authorization and scheduling | Job scheduling, approval workflows |
| PI1.5 | Data quality and integrity monitoring | Data quality dashboards, integrity checks |
C1: Confidentiality
| Control | Description | Evidence |
|---|---|---|
| C1.1 | Confidential information identification and classification | Data classification policy, labels |
| C1.2 | Confidential information disposal | Retention schedule, disposal procedures, destruction certificates |
Data Classification: Public, Internal, Confidential, Highly Confidential/Restricted.
Encryption Requirements: AES-256 at rest, TLS 1.2+ in transit (1.3 preferred), TDE or field-level for databases, HSM for production keys, annual key rotation (90 days for high-sensitivity).
P1: Privacy
| Control | Description | Evidence |
|---|---|---|
| P1.1 | Privacy notice and consent | Privacy policy, cookie consent, ToS |
| P1.2 | Choice and consent management | Consent records, opt-out mechanisms |
| P1.3 | Personal information collection limitation | Data minimization, collection justification |
| P1.4 | Use, retention, and disposal | Retention schedules, purpose limitation |
| P1.5 | Access rights for data subjects | DSR procedures, response tracking |
| P1.6 | Disclosure to third parties | Subprocessor agreements, DPAs |
| P1.7 | Data quality assurance | Accuracy procedures, correction workflows |
| P1.8 | Monitoring and enforcement | PIAs, compliance monitoring |
Data Subject Rights: Access (30 days), correction/rectification, deletion/erasure, portability (machine-readable), restrict processing, object to processing, automated decision-making transparency.
---
Infrastructure Security Checks
Cloud Provider Security
AWS Security Controls
| Control | AWS Service | SOC 2 Mapping |
|---|---|---|
| Encryption at rest | KMS, S3 default encryption | CC6.1, C1.1 |
| Encryption in transit | ACM, ALB/NLB TLS termination | CC6.7, C1.1 |
| Access management | IAM, SSO, Organizations | CC6.1-CC6.3 |
| Logging | CloudTrail, CloudWatch, VPC Flow Logs | CC7.2, CC4.1 |
| Network security | Security Groups, NACLs, WAF | CC6.6 |
| Configuration compliance | AWS Config, Security Hub | CC4.1, CC5.2 |
| Backup | AWS Backup, S3 versioning | A1.2 |
| Secrets | Secrets Manager, Parameter Store | CC6.1 |
Azure Security Controls
| Control | Azure Service | SOC 2 Mapping |
|---|---|---|
| Encryption at rest | Azure Key Vault, Storage encryption | CC6.1, C1.1 |
| Encryption in transit | Application Gateway, Front Door | CC6.7, C1.1 |
| Access management | Azure AD, PIM, Conditional Access | CC6.1-CC6.3 |
| Logging | Azure Monitor, Log Analytics, NSG Flow Logs | CC7.2, CC4.1 |
| Network security | NSGs, Azure Firewall, WAF | CC6.6 |
| Configuration compliance | Azure Policy, Defender for Cloud | CC4.1, CC5.2 |
| Backup | Azure Backup, geo-redundant storage | A1.2 |
| Secrets | Key Vault | CC6.1 |
GCP Security Controls
| Control | GCP Service | SOC 2 Mapping |
|---|---|---|
| Encryption at rest | Cloud KMS, default encryption | CC6.1, C1.1 |
| Encryption in transit | Cloud Load Balancing, Certificate Manager | CC6.7, C1.1 |
| Access management | Cloud IAM, Identity Platform, BeyondCorp | CC6.1-CC6.3 |
| Logging | Cloud Audit Logs, Cloud Logging | CC7.2, CC4.1 |
| Network security | VPC Firewall, Cloud Armor | CC6.6 |
| Configuration compliance | Security Command Center, Policy Intelligence | CC4.1, CC5.2 |
| Backup | Cloud Storage, persistent disk snapshots | A1.2 |
| Secrets | Secret Manager | CC6.1 |
DNS Security
| Check | Requirement | SOC 2 Mapping |
|---|---|---|
| SPF | v=spf1 record, -all qualifier | CC6.6, CC2.2 |
| DKIM | 2048-bit RSA minimum, annual key rotation | CC6.6, CC2.2 |
| DMARC | Policy p=reject or p=quarantine | CC6.6, CC2.2 |
| DNSSEC | Domain signed, DS records at registrar | CC6.6 |
| CAA | CAA records restricting certificate issuance | CC6.6 |
TLS/SSL Configuration
| Check | Requirement | SOC 2 Mapping |
|---|---|---|
| Minimum TLS | TLS 1.2 (TLS 1.3 preferred) | CC6.7 |
| Cipher suites | AEAD only (AES-GCM, ChaCha20-Poly1305) | CC6.7 |
| Certificate | SHA-256+, 2048-bit RSA or P-256 ECDSA | CC6.7 |
| HSTS | max-age=31536000; includeSubDomains; preload | CC6.7 |
| Certificate management | Automated renewal (Let's Encrypt, ACM) | CC6.7 |
| OCSP stapling | Enabled | CC6.7 |
Endpoint Security
| Check | Requirement | SOC 2 Mapping |
|---|---|---|
| MDM enrollment | All company devices enrolled | CC6.8 |
| Disk encryption | FileVault (macOS), BitLocker (Windows) | CC6.1, C1.1 |
| EDR/Antivirus | CrowdStrike, SentinelOne, or equivalent | CC6.8 |
| OS patching | Critical patches within 14 days | CC7.1 |
| Screen lock | Auto-lock after 5 minutes | CC6.1 |
| Firewall | Host firewall enabled | CC6.6 |
| USB restrictions | Removable media blocked or monitored | C1.1 |
Network, Container, and CI/CD Security
Network: Production/staging/development segmented, WAF on public endpoints, DDoS protection, VPN/ZTNA for remote access, egress filtering.
Container: Image scanning on every build, minimal hardened base images, no privileged containers, private registry with access controls, K8s RBAC and network policies, external secrets operator.
CI/CD: GPG-signed commits, branch protection with PR approvals, SAST on every PR, DAST in staging, dependency scanning on every build, secret scanning (pre-commit + CI), SBOM generation, immutable deployment logs.
---
Access Control Deep-Dive
Identity Provider Configuration
SSO: SAML 2.0 or OIDC for all SaaS, centralized IdP (Okta, Azure AD, Google Workspace, OneLogin), JIT provisioning, group-based access, 8-12h max session duration.
SCIM Provisioning: Automated provisioning/deprovisioning, group sync, real-time deprovisioning on termination, attribute mapping standardization.
MFA Enforcement
| Method | Security Level | Use Case |
|---|---|---|
| SMS/Voice | Not Acceptable | Deprecated - SIM swap risk |
| Email OTP | Not Acceptable | Phishing risk |
| TOTP | Acceptable | Standard user access |
| Push notification | Good | Standard user with IdP app |
| FIDO2/WebAuthn | Excellent | All users (phishing-resistant) |
| Hardware key (YubiKey) | Excellent | Privileged access, admin accounts |
Privileged Access Management
Just-in-Time (JIT) Access: No standing privileged access, time-bound grants (max 8h), approval workflow, automated revocation, full session recording.
Break-Glass Procedures: Accounts in secure vault (sealed), dual-custody (two approvers), usage triggers immediate review, credentials rotated after use, annual testing.
Service Account Governance: Inventory with owners, no interactive login, 90-day API key rotation, quarterly reviews, no shared credentials, secrets in vault.
Secret Rotation Schedule
| Secret Type | Maximum Lifetime | Rotation Method |
|---|---|---|
| API keys | 90 days | Automated via vault |
| Database credentials | 90 days | Dynamic secrets (Vault) |
| SSH keys | 1 year | Certificate-based preferred |
| TLS certificates | 1 year (90 days recommended) | Automated via ACME/ACM |
| Encryption keys | 1 year | Key management service |
| OAuth tokens | Per session | Refresh token rotation |
| Personal access tokens | 90 days | Developer self-service |
---
Vendor and Third-Party Risk Management
Vendor Risk Tiers
| Tier | SOC 2 Report | Security Questionnaire | Pen Test | Contract Review | Reassessment |
|---|---|---|---|---|---|
| Critical | Required | Full SIG | Review results | Full legal | Annual |
| High | Required | SIG Lite | Request summary | Security addendum | Annual |
| Medium | Preferred | Custom short-form | Not required | Standard terms | Biennial |
| Low | Not required | Not required | Not required | Standard terms | As needed |
Contractual Requirements
- Data Processing Agreement (DPA)
- Security requirements addendum
- Right to audit clause
- Breach notification (24-72h)
- Data return/destruction on termination
- Subprocessor notification and approval
- Insurance requirements
---
Employee Security Awareness Training
| Training Type | Audience | Frequency | Duration |
|---|---|---|---|
| Security awareness | All employees | Annual + onboarding | 30-60 min |
| Phishing simulation | All employees | Monthly | Ongoing |
| Secure development | Engineering | Annual | 2-4 hours |
| Incident response | IR team | Quarterly tabletop | 1-2 hours |
| Privacy awareness | Data handlers | Annual | 30-60 min |
| Privileged access | Admins/SREs | Annual | 1-2 hours |
Tracking: 100% completion required (30-day grace for new hires), LMS tracking, non-completion escalated to manager then HR, phishing failure triggers additional training.
---
Incident Response Plan
Severity Levels
| Severity | Definition | Response Time | Update Frequency |
|---|---|---|---|
| SEV1 | Critical business impact, data breach | 15 minutes | Every 30 minutes |
| SEV2 | Major impact, service degradation | 30 minutes | Every 1 hour |
| SEV3 | Moderate impact, partial degradation | 4 hours | Every 4 hours |
| SEV4 | Low impact, no customer effect | Next business day | Daily |
Breach Notification Requirements
- Internal: Immediately upon confirmation
- Customer: Within 72 hours (per contract/regulation)
- Regulatory: Per applicable law (GDPR 72h, CCPA expedient)
- Law enforcement: As required by legal counsel
- Insurance carrier: Per policy terms (typically 24-48h)
---
Business Continuity and Disaster Recovery
DR Strategy by Tier
| Tier | RTO | RPO | Strategy | Example |
|---|---|---|---|---|
| Tier 1 | < 1h | < 15 min | Active-active multi-region | Core API, database |
| Tier 2 | < 4h | < 1h | Warm standby | Internal tools, admin |
| Tier 3 | < 24h | < 24h | Backup/restore | Reporting, analytics |
| Tier 4 | < 72h | < 72h | Rebuild from IaC | Dev/staging environments |
DR Testing Requirements
- Full DR failover: Annual minimum
- Tabletop exercise: Semi-annual
- Backup restoration: Monthly
- Communication tree: Semi-annual
- Results documented with lessons learned
- RTO/RPO achievement tracking
---
Common Audit Findings
| # | Finding | Severity | Remediation |
|---|---|---|---|
| 1 | Incomplete or untimely access reviews | High | Automate via IGA platform |
| 2 | Missing MFA for some systems | High | Enforce via IdP conditional access |
| 3 | Incomplete security awareness training | Medium | Automate enrollment and escalation |
| 4 | Change management bypasses | High | Enforce branch protection |
| 5 | Vendor SOC 2 reports not collected | Medium | Maintain vendor review calendar |
| 6 | Incomplete system description | Medium | Engage auditor early |
| 7 | Missing or outdated policies | Medium | Policy management tool + annual cycle |
| 8 | Insufficient logging coverage | High | Centralize in SIEM, alert on gaps |
| 9 | No DR testing evidence | High | Schedule semi-annual tests |
| 10 | Terminated user access not removed promptly | Critical | Automate via SCIM |
---
SOC 2 Report Structure
Report Components
1. Section I: Independent Service Auditor's Report (opinion letter) 2. Section II: Management's Assertion 3. Section III: Description of the System 4. Section IV: Trust Services Criteria, Controls, Tests, and Results (Type II) 5. Section V: Other Information (optional)
Report Distribution
| Report | Content | Distribution |
|---|---|---|
| SOC 2 Type I | Control design at a point in time | Restricted use (NDA required) |
| SOC 2 Type II | Control design + operating effectiveness | Restricted use (NDA required) |
| SOC 3 | General use summary (no control details) | Public distribution |
Best Practices: Require mutual NDA, use secure portal (not email), track recipients, watermark with recipient name, share only current-period reports.
SOC 2 Audit Preparation Playbook
End-to-end guide for preparing, executing, and maintaining SOC 2 compliance, from initial scoping through post-audit continuous compliance.
---
Pre-Audit Checklist
90-Day Milestone (T-90 Days)
Scope and Planning:
- [ ] Define TSC categories in scope (Security is mandatory; add Availability, Processing Integrity, Confidentiality, Privacy as needed)
- [ ] Define system boundaries (which systems, data stores, networks are in scope)
- [ ] Identify subservice organizations (AWS, GCP, Azure, SaaS vendors)
- [ ] Decide carve-out vs. inclusive method for subservice organizations
- [ ] Document principal service commitments and system requirements
- [ ] Identify complementary user entity controls (CUECs)
- [ ] Determine audit type (Type I first, then Type II, or directly to Type II)
- [ ] Establish SOC 2 project team with executive sponsor
Gap Analysis:
- [ ] Inventory all existing policies and procedures
- [ ] Map current controls to TSC requirements (use
soc2_readiness_checker.py) - [ ] Interview process owners for each control domain
- [ ] Review existing security assessments, pen tests, and audits
- [ ] Document all gaps with severity and remediation effort estimates
- [ ] Create prioritized remediation roadmap
Auditor Selection (begin process):
- [ ] Research CPA firms with SOC 2 experience in your industry
- [ ] Request proposals from 2-3 firms
- [ ] Evaluate based on: experience, methodology, team, timeline, cost
- [ ] Check references from similar-sized companies
- [ ] Negotiate scope, timeline, and fees
60-Day Milestone (T-60 Days)
Policy and Procedure Development:
- [ ] Information security policy (comprehensive, board-approved)
- [ ] Acceptable use policy
- [ ] Access control policy
- [ ] Data classification and handling policy
- [ ] Change management policy
- [ ] Incident response plan
- [ ] Business continuity / disaster recovery plan
- [ ] Vendor management policy
- [ ] Data retention and disposal policy
- [ ] Password and authentication policy
- [ ] Encryption policy
- [ ] Privacy policy (if Privacy in scope)
- [ ] Employee handbook security section
- [ ] Deploy all policies via centralized policy management system
- [ ] Collect employee acknowledgments for all policies
Technical Controls Implementation:
- [ ] Identity provider configured (SSO, MFA enforced for all users)
- [ ] SIEM deployed with log sources from all critical systems
- [ ] Endpoint security deployed (EDR, MDM, disk encryption)
- [ ] Vulnerability scanning configured (internal + external, monthly)
- [ ] Network security configured (firewalls, WAF, segmentation)
- [ ] Encryption at rest enabled for all data stores
- [ ] TLS 1.2+ enforced on all endpoints
- [ ] Backup and recovery configured with encryption
- [ ] CI/CD pipeline security (branch protection, code review, SAST)
- [ ] Secret scanning enabled (pre-commit + CI)
- [ ] DNS security configured (SPF, DKIM, DMARC, DNSSEC, CAA)
Process Implementation:
- [ ] Access request and approval workflow operational
- [ ] Access review schedule defined and first review completed
- [ ] Change management workflow operational
- [ ] Incident response team designated and trained
- [ ] Vendor risk assessment program launched
- [ ] Security awareness training deployed
- [ ] Offboarding/deprovisioning process documented and tested
30-Day Milestone (T-30 Days)
Evidence Collection Setup:
- [ ] Evidence repository structure created (organized by TSC category)
- [ ] Evidence collection calendar established
- [ ] Evidence owners assigned per control domain
- [ ] Automated evidence collection configured (GRC platform or manual process)
- [ ] Initial evidence collection completed for all controls
- [ ] Evidence gaps identified and collection plans in place
Pre-Audit Readiness:
- [ ] Internal readiness assessment completed (mock audit)
- [ ] Run
soc2_infrastructure_auditor.pyfor technical validation - [ ] Run
evidence_collector.pyto verify evidence completeness - [ ] All critical and high gaps remediated
- [ ] System description draft completed
- [ ] Management assertion drafted
- [ ] Auditor engagement letter signed
- [ ] Audit kickoff meeting scheduled
- [ ] Key personnel briefed on auditor interactions
Training and Preparation:
- [ ] All employees completed security awareness training
- [ ] Control owners prepared for auditor interviews
- [ ] FAQ document for common auditor questions distributed
- [ ] Interview preparation sessions conducted
- [ ] Evidence request list reviewed and pre-staged
---
Auditor Selection Criteria
Evaluation Framework
| Criterion | Weight | Key Questions |
|---|---|---|
| SOC 2 Experience | 25% | How many SOC 2 audits annually? Industry-specific experience? |
| Team Quality | 20% | CPA credentials? CISA certifications? Dedicated engagement team? |
| Methodology | 15% | How is evidence collected? What is the testing approach? Technology used? |
| Timeline | 15% | Can they meet our target timeline? Flexibility for observation period? |
| Cost | 10% | Total engagement cost? Payment structure? Included vs. additional fees? |
| References | 10% | References from similar companies? Retention rate? |
| Communication | 5% | Responsiveness? Dedicated point of contact? Collaboration tools? |
Key Questions for Prospective Auditors
1. How many SOC 2 engagements has your firm completed in the past year? 2. Do you have experience in our specific industry/technology stack? 3. What does your evidence collection process look like? Do you use a GRC platform? 4. How do you handle exceptions and qualified findings? 5. What is your typical turnaround time from fieldwork completion to report issuance? 6. Can you provide a sample report (redacted) for reference? 7. What is the engagement team structure (partner, manager, staff)? 8. How do you handle questions or disagreements during fieldwork? 9. What is included in the engagement fee vs. billed separately? 10. Do you offer a readiness assessment as a pre-engagement service?
Red Flags in Auditor Selection
- Firm has limited SOC 2 experience (fewer than 20 engagements annually)
- Cannot provide references from similar-sized companies
- Unwilling to share methodology or sample report
- Significantly lower price than competitors (may indicate less thorough testing)
- High staff turnover on engagement teams
- No dedicated technology or platform for evidence collection
- Inflexible timeline with no accommodation for observation period
---
System Description Preparation
Required Content (Section III)
The system description is the most time-intensive document for first-time SOC 2 reports. It must cover:
1. Services Provided
- Description of the services your organization provides
- Customer types and markets served
- Service delivery model (SaaS, PaaS, managed services)
2. Principal Service Commitments
- Security commitments (data protection, access controls)
- Availability commitments (uptime SLAs, recovery objectives)
- Processing integrity commitments (data accuracy, timeliness)
- Confidentiality commitments (data classification, encryption)
- Privacy commitments (data handling practices)
3. System Components
Infrastructure:
- Cloud providers and services used
- Data center locations
- Network architecture (high-level)
- Production environment description
Software:
- Core application technology stack
- Third-party software and services
- Monitoring and security tools
- Database technologies
People:
- Organizational structure for system operations
- Key roles (CISO, CTO, engineering leads, security team)
- Training requirements
- Background check policies
Procedures:
- Access management procedures
- Change management procedures
- Incident response procedures
- Monitoring and alerting procedures
- Backup and recovery procedures
Data:
- Types of data processed
- Data classification levels
- Data flow overview (how data enters, moves through, and exits the system)
- Data retention practices
4. System Boundaries
- What is IN scope (systems, data, locations)
- What is OUT of scope (with justification)
- Interconnections with other systems
5. Subservice Organizations
- List of subservice organizations relied upon
- Services provided by each
- Carve-out or inclusive treatment
- Relevant controls (CSOCs)
6. Complementary User Entity Controls (CUECs)
- Controls customers are expected to implement
- Examples: securing their own credentials, configuring their own access controls, managing their own backup of exported data
System Description Best Practices
- Engage the auditor to review the draft system description before fieldwork
- Use diagrams (data flow, network architecture) to supplement text
- Be specific about technologies and configurations
- Update the system description for any significant changes during the observation period
- Have the system description reviewed by engineering, security, and legal teams
- Version control the system description with change tracking
---
Management Assertion Writing
Structure
The management assertion is a formal statement from the organization's management that accompanies the SOC 2 report.
Required Elements: 1. Statement that the system description is fairly presented 2. Statement that controls are suitably designed (Type I) / designed and operating effectively (Type II) 3. Statement regarding the criteria used (Trust Services Criteria) 4. Description of the period covered
Template
Management's Assertion
>
We have prepared the accompanying description of [Company Name]'s [System Name] system (the "System Description") throughout the period [Start Date] to [End Date] (the "Period"), based on the criteria for a description of a service organization's system in DC Section 200, 2018 Description Criteria for a Description of a Service Organization's System in a SOC 2 Report.
>
We confirm, to the best of our knowledge and belief, that:
>
a. The description fairly presents the [System Name] system that was designed and implemented throughout the Period.
>
b. The controls stated in the description were suitably designed and operating effectively to provide reasonable assurance that the service commitments and system requirements were achieved based on the applicable trust services criteria throughout the Period.
>
c. The criteria we used in making this assertion were the Trust Services Criteria established by the AICPA (TSP Section 100, 2017 Trust Services Criteria for Security, Availability, Processing Integrity, Confidentiality, and Privacy).
---
Evidence Organization Strategies
Folder Structure
soc2-evidence/
├── 01-control-environment/
│ ├── CC1.1-code-of-conduct/
│ │ ├── code-of-conduct-policy-v2.1.pdf
│ │ └── employee-acknowledgments-2026.csv
│ ├── CC1.2-board-oversight/
│ │ ├── board-meeting-minutes-Q1-2026.pdf
│ │ └── security-committee-charter.pdf
│ └── ...
├── 02-communication/
├── 03-risk-assessment/
├── 04-monitoring/
├── 05-control-activities/
├── 06-access-controls/
├── 07-system-operations/
├── 08-change-management/
├── 09-risk-mitigation/
├── 10-availability/
├── 11-processing-integrity/
├── 12-confidentiality/
├── 13-privacy/
├── system-description/
│ ├── system-description-v1.0.docx
│ ├── data-flow-diagram.png
│ └── network-architecture.png
└── management-assertion/
└── management-assertion-signed.pdfNaming Conventions
Format: [TSC-ID]_[Description]_[Date].[ext]
Examples:
CC6.1_MFA-enrollment-report_2026-03.pdfCC7.1_vuln-scan-external_2026-02.pdfCC8.1_change-tickets-sample_2026-Q1.xlsxA1.2_DR-test-results_2026-01.pdf
Evidence Quality Checklist
For each evidence artifact, verify:
- [ ] Dated within the observation period
- [ ] Shows the complete control (not partial)
- [ ] Clearly readable (not blurry screenshots)
- [ ] Sensitive data redacted (PII, passwords, keys)
- [ ] Consistent with system description
- [ ] Attribution clear (who performed the control)
- [ ] Standalone comprehensible (auditor can understand without explanation)
---
Common Deficiency Types and Responses
Deficiency Classification
| Type | Definition | Report Impact |
|---|---|---|
| Exception | Control operated but a specific instance failed | Noted in report but may not affect opinion |
| Deficiency | Control design gap or consistent operating failure | Noted in report, may affect opinion |
| Significant Deficiency | Deficiency severe enough to warrant attention | Prominently noted, likely affects opinion |
| Material Weakness | Reasonable possibility of material misstatement | Qualified or adverse opinion |
Top Deficiency Categories and Mitigation
1. Access Control Deficiencies (Most Common)
Examples:
- Terminated user access not removed within 24 hours
- MFA not enforced for all users
- Access reviews not completed on schedule
Mitigation:
- Automate deprovisioning via HRIS-IdP integration (SCIM)
- Enforce MFA at IdP level with no exceptions
- Automate access review scheduling with escalation
2. Change Management Deficiencies
Examples:
- Changes deployed without documented approval
- Code reviews bypassed
- Emergency changes without post-hoc review
Mitigation:
- Enforce branch protection (approvals required, no bypass)
- Implement CI/CD gates that block without approval
- Create emergency change tracking with 48-hour review requirement
3. Monitoring Deficiencies
Examples:
- Insufficient log coverage
- Alerts not responded to within SLA
- Vulnerability scan gaps
Mitigation:
- Audit log sources against system inventory monthly
- Implement alert response SLAs with tracking
- Automate vulnerability scanning schedule
4. Vendor Management Deficiencies
Examples:
- Critical vendor SOC 2 reports not collected
- Vendor risk assessments not performed annually
- Missing DPAs
Mitigation:
- Create vendor review calendar with automated reminders
- Template vendor security questionnaire for efficiency
- Centralize vendor management in GRC platform
5. Documentation Deficiencies
Examples:
- Policies not reviewed within 12 months
- System description inaccurate
- Missing evidence for controls
Mitigation:
- Implement policy management system with review reminders
- Update system description with every significant change
- Establish evidence collection calendar and ownership
Responding to Auditor Findings
1. Do not argue the finding. Understand what the auditor observed. 2. Provide context. Explain any compensating controls or mitigating circumstances. 3. Accept the finding and commit to a remediation timeline. 4. Document the root cause (process gap, tool limitation, human error). 5. Implement the fix and document evidence of remediation. 6. Verify the fix addresses the root cause, not just the symptom.
Management Response Template
Finding: [Auditor's description of the deficiency]
>
Management Response: Management acknowledges this finding. The root cause was [explanation]. We have implemented [remediation actions] effective [date]. Specifically:
- [Action 1 with owner and completion date]
- [Action 2 with owner and completion date]
>
We believe these actions adequately address the identified deficiency and will prevent recurrence. We will verify effectiveness through [monitoring approach].
---
Post-Audit Remediation Tracking
Remediation Register
| Finding ID | Category | Severity | Description | Root Cause | Remediation Action | Owner | Target Date | Status | Evidence |
|---|---|---|---|---|---|---|---|---|---|
| F-001 | CC6.3 | High | Access review not completed in Q2 | Manual process, no calendar | Automate review scheduling | IAM Lead | 2026-04-15 | Complete | Screenshot |
| F-002 | CC8.1 | Medium | 2 changes without approval | Emergency process unclear | Define emergency change criteria | Eng Manager | 2026-04-30 | In Progress | Policy draft |
Remediation SLAs
| Severity | SLA | Escalation |
|---|---|---|
| Critical | 30 days | CISO + Executive sponsor |
| High | 60 days | CISO |
| Medium | 90 days | Security Manager |
| Low | Next audit cycle | Security Analyst |
---
Continuous Compliance Maintenance
Monthly Activities
- [ ] Review security monitoring alerts and response metrics
- [ ] Verify vulnerability scanning completed (internal + external)
- [ ] Check MFA enrollment report (100% compliance)
- [ ] Review access provisioning/deprovisioning tickets
- [ ] Verify backup success and test restoration
- [ ] Review change management tickets for compliance
- [ ] Update evidence repository with monthly artifacts
- [ ] Check phishing simulation results
- [ ] Review endpoint compliance (EDR, encryption, patches)
- [ ] Verify log ingestion and SIEM health
Quarterly Activities
- [ ] Complete privileged access review
- [ ] Service account access review
- [ ] Conduct incident response tabletop exercise
- [ ] Review vendor security (critical vendors)
- [ ] Update risk register
- [ ] Security metrics report to management
- [ ] Review and update system description (if changes occurred)
- [ ] Third-party access review
- [ ] Review and test DR/backup procedures
Semi-Annual Activities
- [ ] Complete standard user access review
- [ ] DR failover test
- [ ] Communication tree test
- [ ] Review and update BIA
- [ ] Security program effectiveness assessment
- [ ] Review insurance coverage adequacy
Annual Activities
- [ ] Comprehensive risk assessment
- [ ] Policy review and update cycle (all policies)
- [ ] Penetration testing (external, may be quarterly)
- [ ] Security awareness training (refresh for all employees)
- [ ] Board/committee annual security briefing
- [ ] Code of conduct acknowledgment renewal
- [ ] Background check compliance review
- [ ] Vendor reassessment (all critical and high vendors)
- [ ] SOC 2 report renewal planning (begin 3 months before observation period ends)
- [ ] Privacy impact assessment review
- [ ] Data retention schedule review
- [ ] Encryption key rotation verification
- [ ] Incident response plan update
- [ ] DR plan update
Compliance Calendar Template
| Month | Week 1 | Week 2 | Week 3 | Week 4 |
|---|---|---|---|---|
| Jan | Vuln scan, MFA check | Access review (Q4 priv) | Risk register update | Security metrics report |
| Feb | Vuln scan, MFA check | Backup test | Vendor review (critical) | IR tabletop |
| Mar | Vuln scan, MFA check | Standard access review | Policy review cycle starts | DR failover test |
| Apr | Vuln scan, MFA check | Access review (Q1 priv) | Risk register update | Security metrics report |
| May | Vuln scan, MFA check | Backup test | Vendor review | IR tabletop |
| Jun | Vuln scan, MFA check | Pen test planning | Annual risk assessment | Communication tree test |
| Jul | Vuln scan, MFA check | Access review (Q2 priv) | Pen test execution | Security metrics report |
| Aug | Vuln scan, MFA check | Backup test | Vendor review (critical) | IR tabletop |
| Sep | Vuln scan, MFA check | Standard access review | Policy update completion | DR failover test |
| Oct | Vuln scan, MFA check | Access review (Q3 priv) | Risk register update | Security metrics report |
| Nov | Vuln scan, MFA check | Backup test | Vendor review | IR tabletop |
| Dec | Vuln scan, MFA check | Annual security training | Board security briefing | Year-end compliance review |
---
Cost Estimation Framework
First-Year SOC 2 Costs
| Cost Category | Type I | Type II | Notes |
|---|---|---|---|
| Audit fees | $20K-$60K | $40K-$100K | Varies by firm, scope, and company size |
| GRC platform | $10K-$30K/yr | $10K-$30K/yr | Vanta, Drata, Secureframe, Laika |
| Security tooling | $5K-$50K/yr | $5K-$50K/yr | SIEM, EDR, vulnerability scanner (may already exist) |
| Penetration test | $10K-$30K | $10K-$30K | Annual, scope-dependent |
| Internal labor | 200-500 hours | 400-1000 hours | Policy writing, evidence collection, remediation |
| Consulting (optional) | $10K-$40K | $15K-$50K | Readiness assessment, gap remediation support |
| Training | $2K-$5K | $2K-$5K | Security awareness platform |
| Total (estimated) | $40K-$120K | $80K-$250K | First year including setup costs |
Annual Renewal Costs
| Cost Category | Annual Cost | Notes |
|---|---|---|
| Audit fees | $30K-$80K | Typically lower than first year |
| GRC platform | $10K-$30K/yr | Ongoing subscription |
| Security tooling | $5K-$50K/yr | Ongoing licensing |
| Penetration test | $10K-$30K | Annual requirement |
| Internal labor | 200-400 hours | Evidence maintenance, remediation |
| Total (estimated) | $55K-$150K | Annual ongoing cost |
Cost Optimization Strategies
1. Use a GRC platform to automate evidence collection (saves 200+ hours annually) 2. Start with Type I to validate control design before committing to Type II observation period 3. Scope carefully -- only include TSC categories required by customers 4. Use cloud-native security tools (many are included in cloud provider pricing) 5. Combine audits if pursuing multiple certifications (ISO 27001 + SOC 2 unified audit) 6. Negotiate multi-year audit contracts for reduced annual fees 7. Invest in automation (automated access reviews, SCIM provisioning, CI/CD security gates)
ROI Justification
| Benefit | Impact |
|---|---|
| Shorter sales cycles | Enterprise deals close 2-4 weeks faster with SOC 2 |
| Reduced security questionnaires | SOC 2 report answers 80%+ of customer security questions |
| Competitive advantage | Required by most enterprise buyers (eliminates deals lost to competitors with SOC 2) |
| Insurance premiums | Cyber insurance premiums may decrease 5-15% |
| Incident prevention | Controls reduce likelihood and impact of security incidents |
| Regulatory readiness | SOC 2 controls align with GDPR, HIPAA, PCI-DSS requirements |
Timeline to Revenue Impact
| Milestone | Timeline | Revenue Impact |
|---|---|---|
| SOC 2 Type I report | 3-6 months | Unlocks mid-market deals |
| SOC 2 Type II report | 9-18 months | Unlocks enterprise deals |
| Continuous compliance | Ongoing | Faster renewals, reduced churn |
---
GRC Platform Comparison
| Platform | Pricing (approx.) | Strengths | Best For |
|---|---|---|---|
| Vanta | $10K-$30K/yr | Most integrations, easy setup | Startups, SMBs |
| Drata | $10K-$25K/yr | Good UX, automated evidence | Growth-stage companies |
| Secureframe | $10K-$25K/yr | Multi-framework support | Companies needing SOC 2 + ISO |
| Laika | $15K-$30K/yr | Compliance-as-a-service | Companies wanting managed compliance |
| Tugboat Logic (OneTrust) | $15K-$35K/yr | Policy templates, risk management | Mid-market companies |
| AuditBoard | $25K-$75K/yr | Enterprise GRC, internal audit | Large enterprises |
| Sprinto | $8K-$20K/yr | Automated testing, good value | Cost-conscious startups |
Selection Criteria:
- Number of native integrations with your technology stack
- Automated evidence collection coverage
- Auditor collaboration portal
- Multi-framework support (if pursuing SOC 2 + ISO 27001)
- Policy management and employee acknowledgment tracking
- Pricing model (per-user, flat-rate, or scope-based)
---
Common Mistakes to Avoid
1. Starting the observation period before controls are ready. Every control must be operational before the clock starts. Gaps during observation become findings.
2. Treating SOC 2 as a one-time project. SOC 2 requires continuous compliance. Build sustainable processes, not one-time fixes.
3. Over-scoping. Include only the TSC categories your customers require. Each additional category adds cost and complexity.
4. Under-investing in evidence collection. Auditors need evidence. If you cannot prove a control exists and operates, it effectively does not exist.
5. Waiting until fieldwork to prepare evidence. Start collecting evidence from day one of the observation period. Do not scramble during fieldwork.
6. Ignoring complementary user entity controls (CUECs). If your service requires customers to implement certain controls (e.g., securing their credentials), document these in the system description.
7. Not preparing employees for auditor interviews. Auditors will interview control owners. Prepare employees with common questions and ensure they know what controls they operate.
8. Choosing the cheapest auditor. A poor audit experience wastes time and may require rework. Choose auditors with relevant experience and good communication.
9. Not addressing prior-year findings. If you had findings in a previous audit, address them before the next observation period. Repeat findings raise auditor concerns.
10. Manual processes that cannot scale. Automate where possible (access reviews, evidence collection, vulnerability scanning). Manual processes break under growth.
Infrastructure Security Controls Reference
Comprehensive reference for infrastructure security configurations required for SOC 2 compliance, covering cloud providers, DNS, TLS, endpoints, network, containers, CI/CD, hardware security keys, and secrets management.
---
Cloud Security Configurations
AWS Security Controls
IAM and Access Management
| Service | Configuration | SOC 2 Mapping | Priority |
|---|---|---|---|
| AWS IAM | Enable IAM Access Analyzer for unused permissions | CC6.1 | High |
| AWS IAM | Enforce MFA for all IAM users (hardware MFA for root) | CC6.1 | Critical |
| AWS IAM | Enable credential report and audit unused credentials | CC6.3 | High |
| AWS Organizations | Use SCPs to enforce guardrails across accounts | CC5.2 | High |
| AWS IAM Identity Center | Configure SSO with corporate IdP (SAML 2.0) | CC6.1 | High |
| AWS IAM | Enforce password policy: 14 chars, complexity, 90-day rotation | CC6.1 | High |
Key AWS IAM Policies:
{
"MinimumPasswordLength": 14,
"RequireSymbols": true,
"RequireNumbers": true,
"RequireUppercaseCharacters": true,
"RequireLowercaseCharacters": true,
"MaxPasswordAge": 90,
"PasswordReusePrevention": 12,
"AllowUsersToChangePassword": true
}Encryption
| Service | Configuration | SOC 2 Mapping |
|---|---|---|
| AWS KMS | Create CMKs for each workload, enable automatic key rotation | CC6.1, C1.1 |
| S3 | Enable default encryption (SSE-KMS), block public access | CC6.1, C1.1 |
| RDS | Enable encryption at rest, enforce SSL connections | CC6.1, C1.1, CC6.7 |
| EBS | Enable default EBS encryption in all regions | CC6.1, C1.1 |
| DynamoDB | Enable encryption at rest with CMK | CC6.1, C1.1 |
| ElastiCache | Enable encryption at rest and in transit | CC6.1, C1.1, CC6.7 |
Logging and Monitoring
| Service | Configuration | SOC 2 Mapping |
|---|---|---|
| CloudTrail | Enable in all regions, log to centralized S3 bucket | CC7.2, CC4.1 |
| CloudTrail | Enable log file integrity validation | CC7.2 |
| CloudWatch | Configure alarms for security-relevant metrics | CC7.2 |
| VPC Flow Logs | Enable for all VPCs, log to CloudWatch or S3 | CC7.2, CC6.6 |
| AWS Config | Enable in all regions, deploy conformance packs | CC4.1, CC5.2 |
| GuardDuty | Enable in all regions for threat detection | CC7.2 |
| Security Hub | Enable with CIS and AWS Foundational benchmarks | CC4.1 |
| Access Analyzer | Enable for all accounts to detect external access | CC6.1, CC4.1 |
Network Security
| Service | Configuration | SOC 2 Mapping |
|---|---|---|
| Security Groups | Deny-by-default, restrict SSH/RDP to bastion/VPN only | CC6.6 |
| NACLs | Restrict egress to known destinations | CC6.6 |
| AWS WAF | Deploy on ALB/CloudFront, enable managed rule groups | CC6.6 |
| AWS Shield | Enable Shield Advanced for DDoS protection | A1.1 |
| VPC | Separate VPCs for production, staging, development | CC6.6 |
| PrivateLink | Use for inter-service communication within AWS | CC6.6, CC6.7 |
Azure Security Controls
Identity and Access
| Service | Configuration | SOC 2 Mapping |
|---|---|---|
| Azure AD | Enable Conditional Access policies | CC6.1 |
| Azure AD | Enforce MFA for all users via security defaults or CA | CC6.1 |
| PIM | Enable Privileged Identity Management for JIT access | CC6.1, CC6.2 |
| Managed Identities | Use for all Azure service authentication | CC6.1 |
| RBAC | Use custom roles with least privilege | CC6.2 |
Encryption and Key Management
| Service | Configuration | SOC 2 Mapping |
|---|---|---|
| Azure Key Vault | Centralize key management, enable soft delete and purge protection | CC6.1, C1.1 |
| Storage Encryption | Enable with customer-managed keys (CMK) | C1.1 |
| Transparent Data Encryption | Enable for all SQL databases | C1.1 |
| Disk Encryption | Enable Azure Disk Encryption for all VMs | C1.1 |
Monitoring
| Service | Configuration | SOC 2 Mapping |
|---|---|---|
| Azure Monitor | Configure diagnostic settings for all resources | CC7.2, CC4.1 |
| Log Analytics | Centralize logs with 90-day minimum retention | CC7.2 |
| Microsoft Sentinel | Deploy SIEM with built-in detection rules | CC7.2 |
| Defender for Cloud | Enable for all subscriptions, enforce secure score | CC4.1, CC7.1 |
| NSG Flow Logs | Enable for all NSGs | CC7.2, CC6.6 |
GCP Security Controls
Identity and Access
| Service | Configuration | SOC 2 Mapping |
|---|---|---|
| Cloud IAM | Enforce least privilege, use custom roles | CC6.1, CC6.2 |
| Identity Platform | Configure SSO with corporate IdP | CC6.1 |
| BeyondCorp Enterprise | Deploy Zero Trust access (context-aware) | CC6.6 |
| Workload Identity | Use for GKE pod authentication (no service account keys) | CC6.1 |
| Organization Policies | Enforce constraints across organization | CC5.2 |
Encryption
| Service | Configuration | SOC 2 Mapping |
|---|---|---|
| Cloud KMS | Create key rings per environment, enable automatic rotation | CC6.1, C1.1 |
| Cloud HSM | Use for highest-sensitivity keys (FIPS 140-2 Level 3) | CC6.1, C1.1 |
| CMEK | Enable customer-managed encryption keys for all services | C1.1 |
| Cloud SQL | Enable SSL enforcement, encryption at rest with CMEK | CC6.7, C1.1 |
Monitoring
| Service | Configuration | SOC 2 Mapping |
|---|---|---|
| Cloud Audit Logs | Enable Admin Activity and Data Access logs | CC7.2, CC4.1 |
| Cloud Logging | Configure sinks to centralized storage | CC7.2 |
| Security Command Center | Enable Premium tier for vulnerability/threat detection | CC4.1, CC7.1, CC7.2 |
| VPC Flow Logs | Enable on all subnets with 1.0 sampling rate | CC7.2, CC6.6 |
| Policy Intelligence | Use recommender for IAM policy optimization | CC6.1 |
---
DNS Security
SPF (Sender Policy Framework)
Purpose: Specifies which mail servers are authorized to send email for your domain.
Required Configuration:
v=spf1 include:_spf.google.com include:amazonses.com -allBest Practices:
- Use
-all(hard fail) instead of~all(soft fail) in production - Keep DNS lookups under 10 (SPF lookup limit)
- Include all legitimate sending services
- Monitor SPF validation failures via DMARC aggregate reports
- Review quarterly for accuracy
SOC 2 Mapping: CC6.6, CC2.2
DKIM (DomainKeys Identified Mail)
Purpose: Adds a digital signature to outgoing emails for authenticity verification.
Required Configuration:
selector._domainkey.example.com IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."Best Practices:
- Minimum 2048-bit RSA key (1024-bit is considered weak)
- Rotate DKIM keys annually
- Configure DKIM for all email sending services
- Test with
dig selector._domainkey.example.com TXT - Consider Ed25519 keys for modern implementations
SOC 2 Mapping: CC6.6, CC2.2
DMARC (Domain-based Message Authentication, Reporting, and Conformance)
Purpose: Instructs receiving servers how to handle emails that fail SPF/DKIM checks.
Required Configuration (production):
_dmarc.example.com IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-agg@example.com; ruf=mailto:dmarc-forensic@example.com; pct=100; adkim=s; aspf=s"Deployment Path: 1. p=none - Monitor only (collect data for 30-60 days) 2. p=quarantine; pct=10 - Gradually increase percentage 3. p=reject - Full enforcement (target state for SOC 2)
Best Practices:
- Start with
p=noneto identify legitimate email sources - Analyze aggregate reports before increasing enforcement
- Use strict alignment (
adkim=s; aspf=s) for maximum protection - Monitor forensic reports for attack attempts
SOC 2 Mapping: CC6.6, CC2.2
DNSSEC
Purpose: Cryptographically signs DNS records to prevent DNS spoofing.
Required Configuration:
- Enable DNSSEC signing at DNS provider
- Publish DS records at domain registrar
- Verify with:
dig +dnssec example.com
Best Practices:
- Enable for all production domains
- Verify DS record propagation after enabling
- Test DNSSEC validation with online tools
- Monitor for DNSSEC validation failures
SOC 2 Mapping: CC6.6
CAA (Certificate Authority Authorization)
Purpose: Restricts which Certificate Authorities can issue certificates for your domain.
Required Configuration:
example.com. IN CAA 0 issue "letsencrypt.org"
example.com. IN CAA 0 issue "amazon.com"
example.com. IN CAA 0 issuewild "letsencrypt.org"
example.com. IN CAA 0 iodef "mailto:security@example.com"Best Practices:
- List only CAs you actually use
- Use
issuewildto control wildcard certificate issuance - Configure
iodeffor violation notifications - Review after any CA changes
SOC 2 Mapping: CC6.6
MTA-STS (Mail Transfer Agent Strict Transport Security)
Purpose: Enforces TLS encryption for inbound SMTP connections.
Required Configuration:
_mta-sts.example.com IN TXT "v=STSv1; id=20260101"Policy file at https://mta-sts.example.com/.well-known/mta-sts.txt:
version: STSv1
mode: enforce
mx: mx1.example.com
mx: mx2.example.com
max_age: 604800---
TLS/SSL Best Practices
Minimum Protocol Version
| Version | Status | Recommendation |
|---|---|---|
| SSL 2.0 | Broken | Disable immediately |
| SSL 3.0 | Broken (POODLE) | Disable immediately |
| TLS 1.0 | Deprecated (2020) | Disable |
| TLS 1.1 | Deprecated (2020) | Disable |
| TLS 1.2 | Active | Minimum acceptable |
| TLS 1.3 | Active | Preferred |
Recommended Cipher Suites
TLS 1.3 (all are AEAD, all are acceptable):
- TLS_AES_256_GCM_SHA384
- TLS_AES_128_GCM_SHA256
- TLS_CHACHA20_POLY1305_SHA256
TLS 1.2 (recommended AEAD only):
- ECDHE-ECDSA-AES256-GCM-SHA384
- ECDHE-RSA-AES256-GCM-SHA384
- ECDHE-ECDSA-AES128-GCM-SHA256
- ECDHE-RSA-AES128-GCM-SHA256
- ECDHE-ECDSA-CHACHA20-POLY1305
- ECDHE-RSA-CHACHA20-POLY1305
Cipher suites to disable:
- All RC4 ciphers (broken)
- All DES/3DES ciphers (weak)
- All CBC mode ciphers (vulnerable to padding oracle)
- All export-grade ciphers
- All NULL ciphers
- All anonymous (ADH/AECDH) ciphers
HSTS Configuration
Recommended Header:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload| Directive | Value | Purpose |
|---|---|---|
max-age | 31536000 (1 year) | Duration browsers enforce HTTPS |
includeSubDomains | Present | Apply to all subdomains |
preload | Present | Submit to browser preload list |
Deployment Path: 1. Set max-age=300 (5 min) to test 2. Increase to max-age=86400 (1 day) 3. Increase to max-age=31536000 (1 year) 4. Add includeSubDomains 5. Add preload and submit to hstspreload.org
Certificate Management
| Aspect | Requirement | Best Practice |
|---|---|---|
| Signature | SHA-256 minimum | SHA-384 for high-security |
| Key size | 2048-bit RSA or P-256 ECDSA | P-384 ECDSA preferred |
| Validity | 1 year maximum | 90 days (Let's Encrypt) |
| Renewal | Automated | ACME protocol (certbot, Caddy) |
| Monitoring | Certificate transparency logs | Deploy CT monitoring |
| Revocation | OCSP stapling enabled | CRL distribution points |
| Inventory | Complete certificate inventory | Automated discovery |
Additional TLS Headers
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 0
Content-Security-Policy: default-src 'self'; script-src 'self'
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()---
Endpoint Security
MDM Platforms
| Platform | OS Support | Key Features |
|---|---|---|
| Jamf Pro | macOS, iOS | FileVault management, software deployment, conditional access |
| Microsoft Intune | Windows, macOS, iOS, Android | Conditional access, BitLocker, compliance policies |
| Kandji | macOS, iOS | Blueprint-based management, auto-remediation |
| Mosyle | macOS, iOS | Zero-touch deployment, security compliance |
| VMware Workspace ONE | All platforms | Unified endpoint management |
Disk Encryption Requirements
| OS | Technology | Configuration |
|---|---|---|
| macOS | FileVault 2 | Enable via MDM, escrow recovery key to MDM |
| Windows | BitLocker | Enable via Intune/GPO, escrow key to Azure AD |
| Linux | LUKS/dm-crypt | Configure at OS install, manage keys centrally |
| iOS/Android | Native encryption | Enforce via MDM policy (enabled by default on modern devices) |
SOC 2 Requirement: 100% of company-managed devices must have disk encryption enabled. Verify via MDM compliance reports.
EDR Solutions
| Solution | Capabilities | Deployment |
|---|---|---|
| CrowdStrike Falcon | EDR, XDR, threat intelligence, vulnerability management | Agent-based |
| SentinelOne Singularity | EDR, XDR, automated response | Agent-based |
| Microsoft Defender for Endpoint | EDR, threat analytics, auto-investigation | Agent + cloud |
| Carbon Black (VMware) | EDR, NGAV, audit/remediation | Agent-based |
Minimum Requirements:
- Real-time malware detection and prevention
- Behavioral analysis for zero-day threats
- Automated response capabilities (isolate, kill process)
- Central management console with alerting
- 100% endpoint coverage
Patch Management SLAs
| Severity | SLA | Verification |
|---|---|---|
| Critical (CVSS 9.0+) | 14 days | MDM compliance report |
| High (CVSS 7.0-8.9) | 30 days | MDM compliance report |
| Medium (CVSS 4.0-6.9) | 60 days | MDM compliance report |
| Low (CVSS 0.1-3.9) | 90 days | MDM compliance report |
Patch Management Process: 1. Vulnerability advisory intake (vendor notifications, NVD) 2. Severity assessment and SLA assignment 3. Testing in pilot group (24-48 hours) 4. Phased rollout (pilot > general > production) 5. Compliance verification and exception management
---
Network Security
Network Segmentation
Required Separation:
| Zone | Purpose | Access |
|---|---|---|
| Production | Customer-facing services and data | Restricted to operations team |
| Staging | Pre-production testing | Development and QA team |
| Development | Engineering environments | Development team |
| Management | Admin tools, CI/CD, monitoring | Platform/SRE team |
| DMZ | Public-facing load balancers, WAF | Internet-accessible (restricted) |
Implementation:
- Separate VPCs/VNets per environment (preferred) or separate subnets with strict NSG/SG rules
- No direct connectivity between production and development
- All inter-zone traffic through firewall with logging
- Production data never copied to non-production (use synthetic data)
WAF Configuration
| Rule Category | Examples | Action |
|---|---|---|
| OWASP Top 10 | SQL injection, XSS, SSRF | Block |
| Rate limiting | >100 requests/second per IP | Block |
| Bot protection | Known bad bots, credential stuffing | Block |
| Geo-blocking | High-risk countries (if applicable) | Block/Challenge |
| IP reputation | Known malicious IPs | Block |
| Custom rules | Application-specific protections | Block/Log |
DDoS Protection
| Layer | Protection | Service |
|---|---|---|
| L3/L4 | Volumetric attacks | AWS Shield, Azure DDoS, Cloud Armor |
| L7 | Application-layer attacks | WAF rate limiting, Cloudflare |
| DNS | DNS amplification | Route 53 Shield, Cloudflare DNS |
VPN and Zero Trust
| Approach | Use Case | Implementation |
|---|---|---|
| Site-to-site VPN | Office to cloud connectivity | AWS VPN, Azure VPN, Cloud VPN |
| Client VPN | Remote employee access | WireGuard, Tailscale, Cloudflare WARP |
| ZTNA | Application-level access | Cloudflare Access, Zscaler, BeyondCorp |
Zero Trust Principles:
- Never trust, always verify
- Least privilege access
- Microsegmentation
- Continuous authentication
- Device posture assessment
- Encrypted connections everywhere
---
Container Security
Image Scanning Tools
| Tool | Type | Integration |
|---|---|---|
| Trivy | Open source | CI/CD, registry, runtime |
| Grype | Open source | CI/CD integration |
| Snyk Container | Commercial | CI/CD, IDE, registry |
| Docker Scout | Commercial | Docker Desktop, CI/CD |
| Amazon ECR scanning | Cloud-native | AWS ECR |
| Azure Defender for Containers | Cloud-native | Azure ACR |
| GCP Artifact Analysis | Cloud-native | GCP Artifact Registry |
Container Best Practices
Image Security:
- Use minimal base images (distroless, Alpine, scratch)
- Pin image versions (never use
latesttag) - Scan images on every build in CI/CD
- Sign images with cosign/Notary
- Private registry with access controls
- Rebuild images regularly (weekly minimum) for base image updates
Runtime Security:
# Kubernetes Pod Security Standards (Restricted)
securityContext:
runAsNonRoot: true
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
seccompProfile:
type: RuntimeDefaultKubernetes Security:
| Control | Configuration | SOC 2 Mapping |
|---|---|---|
| RBAC | Namespace-scoped roles, no cluster-admin for developers | CC6.1 |
| Network Policies | Deny-by-default, explicit allow rules | CC6.6 |
| Pod Security Standards | Enforce Restricted profile | CC6.1, CC6.8 |
| Secrets | External Secrets Operator, never in pod spec | CC6.1 |
| Admission Control | OPA/Gatekeeper or Kyverno for policy enforcement | CC5.2 |
| Service Mesh | Istio/Linkerd for mTLS between services | CC6.7 |
| Audit Logging | Enable Kubernetes audit logging | CC7.2 |
| Etcd Encryption | Enable encryption at rest for etcd | C1.1 |
Container Registry Security
- Private registry (not public Docker Hub)
- Access control with RBAC
- Vulnerability scanning on push
- Image signing and verification
- Retention policies for old images
- Geo-replication for availability
---
CI/CD Security
Branch Protection Rules
GitHub Configuration:
Required status checks: [ci/build, ci/test, security/sast, security/dependency-check]
Required reviewers: 1 (2 for critical repos)
Dismiss stale reviews: true
Require review from code owners: true
Restrict who can push: [release-managers]
Force push: disabled
Deletion: disabled
Require signed commits: true (recommended)
Require linear history: true (recommended)GitLab Configuration:
- Protected branches with merge request approvals
- Code owners approval required
- No force push allowed
- Pipeline must succeed before merge
SAST Tools
| Tool | Languages | Integration |
|---|---|---|
| Semgrep | 30+ languages | CI/CD, IDE, pre-commit |
| SonarQube | 30+ languages | CI/CD, IDE |
| CodeQL | 10+ languages | GitHub native |
| Checkmarx | 25+ languages | CI/CD, IDE |
| Snyk Code | 10+ languages | CI/CD, IDE |
DAST Tools
| Tool | Type | Use Case |
|---|---|---|
| OWASP ZAP | Open source | CI/CD, manual testing |
| Burp Suite | Commercial | Manual penetration testing |
| Nuclei | Open source | Automated vulnerability scanning |
| StackHawk | Commercial | CI/CD integration |
Dependency Scanning (SCA)
| Tool | Features | Integration |
|---|---|---|
| Dependabot | Auto-PRs for updates | GitHub native |
| Snyk | Vulnerability database, fix PRs | CI/CD, IDE |
| Renovate | Auto-updates, merge confidence | CI/CD |
| OWASP Dependency-Check | Open source | CI/CD |
| Socket | Supply chain attack detection | GitHub, npm |
Secret Scanning
Pre-commit:
- gitleaks - Comprehensive secret detection
- truffleHog - Entropy-based and regex detection
- detect-secrets - Yelp's pre-commit hook
CI-level:
- GitHub Secret Scanning (native)
- GitLab Secret Detection
- Snyk Code (includes secret detection)
Configuration (gitleaks):
[allowlist]
description = "Allowlisted files"
paths = ["test/fixtures/"]
[[rules]]
description = "AWS Access Key"
regex = '''AKIA[0-9A-Z]{16}'''SBOM Generation
Tools:
- Syft (Anchore) - Generates SPDX and CycloneDX SBOMs
- Trivy - SBOM generation + vulnerability scanning
- CycloneDX CLI - Standard SBOM format
- Microsoft SBOM Tool - Cross-platform SBOM generation
Best Practice: Generate SBOM on every release, store with release artifacts, scan for new vulnerabilities periodically.
---
Hardware Security Keys
YubiKey 5 Series
| Model | Interfaces | Protocols | Use Case |
|---|---|---|---|
| YubiKey 5 NFC | USB-A + NFC | FIDO2, U2F, OTP, PIV, OpenPGP | Standard users |
| YubiKey 5C NFC | USB-C + NFC | FIDO2, U2F, OTP, PIV, OpenPGP | USB-C laptops |
| YubiKey 5 Nano | USB-A (nano) | FIDO2, U2F, OTP, PIV, OpenPGP | Always-in key |
| YubiKey 5C Nano | USB-C (nano) | FIDO2, U2F, OTP, PIV, OpenPGP | USB-C always-in |
| YubiKey 5Ci | USB-C + Lightning | FIDO2, U2F, OTP, PIV, OpenPGP | iOS + laptop |
| YubiKey Bio | USB-A/C + fingerprint | FIDO2 with biometric | Biometric MFA |
FIDO2/WebAuthn Configuration
Identity Provider Setup (Okta example): 1. Enable FIDO2 (WebAuthn) as MFA factor 2. Set attestation preference to "direct" (verify key authenticity) 3. Configure user verification to "required" (PIN or biometric) 4. Restrict allowed authenticators to FIDO2 certified devices 5. Configure resident key preference based on passwordless strategy
Browser Support:
- Chrome 67+ (full support)
- Firefox 60+ (full support)
- Safari 13+ (full support)
- Edge 18+ (full support)
SOC 2 Recommendation:
- Require hardware security keys for: root accounts, admin accounts, production access, break-glass accounts
- Issue two keys per user (primary + backup)
- Store backup keys in secure location
- Register both keys with all services
- Document lost key procedures
Phishing Resistance
| MFA Method | Phishing Resistant | SOC 2 Acceptable |
|---|---|---|
| SMS OTP | No (SIM swap) | No |
| Email OTP | No (email compromise) | No |
| TOTP (Authenticator) | No (real-time phishing) | Yes (minimum) |
| Push notification | Partial (MFA fatigue) | Yes |
| FIDO2/WebAuthn | Yes (origin-bound) | Yes (preferred) |
| Hardware key (YubiKey) | Yes (physical presence) | Yes (required for admins) |
---
Secrets Management
HashiCorp Vault
Architecture:
- Deploy in HA mode (3+ nodes) for production
- Enable audit logging to external SIEM
- Use auto-unseal with cloud KMS
- Enable Sentinel policies for governance
Key Features for SOC 2:
| Feature | SOC 2 Benefit | Configuration |
|---|---|---|
| Dynamic secrets | Eliminates long-lived credentials | Database, AWS, Azure, GCP secret engines |
| Secret rotation | Automated credential rotation | Rotation period per mount |
| Audit logging | Complete access audit trail | File, syslog, or socket audit devices |
| Access policies | Least privilege enforcement | Path-based ACL policies |
| Namespaces | Multi-tenant isolation | Namespace per team/environment |
| Sentinel | Policy-as-code governance | Restrict operations, require MFA |
AWS Secrets Manager
| Feature | Configuration |
|---|---|
| Automatic rotation | Lambda function, 30/60/90-day rotation |
| Cross-region replication | Replicate secrets for DR |
| IAM policies | Restrict access by role/service |
| CloudTrail logging | All API calls logged |
| Encryption | KMS CMK encryption at rest |
Azure Key Vault
| Feature | Configuration |
|---|---|
| Access policies | RBAC or vault access policies |
| Soft delete | 7-90 day retention, purge protection |
| Key rotation | Notification-based rotation |
| Managed HSM | FIPS 140-2 Level 3 validation |
| Diagnostic logs | Azure Monitor integration |
GCP Secret Manager
| Feature | Configuration |
|---|---|
| IAM | Fine-grained access with conditions |
| Versioning | Automatic version management |
| Rotation | Pub/Sub notification for rotation |
| CMEK | Customer-managed encryption keys |
| Audit logging | Cloud Audit Logs integration |
Secret Rotation Policies
| Secret Type | Maximum Lifetime | Rotation Method | Automation |
|---|---|---|---|
| Database passwords | 90 days | Dynamic secrets (Vault) | Fully automated |
| API keys | 90 days | Vault rotation or manual + alert | Semi-automated |
| OAuth client secrets | 1 year | Provider rotation | Manual with tracking |
| SSH keys | 1 year | Certificate-based preferred | Automated |
| TLS certificates | 90 days (recommended) | ACME protocol | Fully automated |
| Encryption keys | 1 year | Cloud KMS auto-rotation | Fully automated |
| Service account keys | 90 days | Workload identity preferred | Eliminated |
| Personal access tokens | 90 days | Developer self-service | Semi-automated |
Git Secret Prevention
Pre-commit hook (gitleaks):
# .pre-commit-config.yaml
repos:
- repo: https://github.com/gitleaks/gitleaks
rev: v8.18.0
hooks:
- id: gitleaksCI Pipeline (GitHub Actions):
- name: Gitleaks
uses: gitleaks/gitleaks-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}Response to Detected Secrets: 1. Immediately rotate the compromised credential 2. Audit access logs for unauthorized usage 3. Remove from git history (git-filter-repo) 4. Notify security team 5. Update pre-commit hooks to prevent recurrence 6. Document incident
---
Compliance Mapping Summary
| Infrastructure Area | SOC 2 Controls | Evidence Type |
|---|---|---|
| Cloud IAM | CC6.1, CC6.2, CC6.3 | Configuration screenshots, access reviews |
| Cloud Encryption | CC6.1, C1.1 | KMS configuration, encryption status |
| Cloud Logging | CC7.2, CC4.1 | Log configuration, sample alerts |
| Cloud Network | CC6.6 | Security group rules, network diagrams |
| DNS Security | CC6.6, CC2.2 | DNS record verification |
| TLS/SSL | CC6.7 | SSL Labs report, HSTS configuration |
| Endpoint Security | CC6.8, CC6.1, C1.1 | MDM reports, EDR coverage, encryption status |
| Network Security | CC6.6, A1.1 | Firewall rules, WAF logs, DDoS config |
| Container Security | CC6.1, CC7.1, CC6.6 | Image scan results, K8s policies |
| CI/CD Security | CC8.1, CC7.1 | Branch protection, scan results, pipeline config |
| Hardware Keys | CC6.1 | MFA enrollment report, key inventory |
| Secrets Management | CC6.1 | Vault configuration, rotation evidence |