Skip to main content

SOC 2 Controls Gap Analysis & Coverage Report

Document Status: Living Document Last Updated: 2025-12-19 Version: 1.2 Owner: Security & Compliance Team Review Cycle: Quarterly


Document Purpose​

This document analyzes CloudForge CI's SOC 2 Trust Services Criteria (TSC) implementation, identifying:

  • ✅ Controls that are fully automated via infrastructure
  • ⚠️ Controls that are partially automated
  • ❌ Controls that require manual implementation
  • Infrastructure verification and evidence locations
  • Gap remediation roadmap

Audience: Security teams, compliance officers, auditors, and engineering leadership

Scope note: This analysis maps infrastructure controls to SOC 2 criteria. It distinguishes three things: controls CloudForge configures, validation that checks those controls at synthesis time (Soc2Rules, enabled with auditManagerEnabled and complianceFrameworks: soc2), and SOC 2 attestation, which only an independent CPA firm can provide. Procedure documents referenced here are templates that an organization must adopt, operate, and evidence itself.


Table of Contents​

  1. Executive Summary
  2. SOC 2 Framework Overview
  3. Implementation Architecture
  4. Detailed Control Mapping
  5. Infrastructure Verification
  6. Gap Analysis
  7. Coverage Metrics
  8. Remediation Roadmap
  9. Testing Status
  10. Maintenance & Updates

Executive Summary​

Overall Coverage​

CloudForge CI implements SOC 2 Trust Services Criteria controls at the infrastructure level with a multi-layered enforcement approach:

MetricValueStatus
Total TSC Criteria~64 criteria (2017 AICPA Framework)-
Automated Controls17 criteria (~27%)✅ Infrastructure
Partially Automated0 criteria (0%)-
Manual Controls Required47 criteria (~73%)❌ Organizational
Infrastructure CoverageEstimated ~70-80% of automatable technical controls✅ Infrastructure
Production TestedInfrastructure controls only⚠️ Auth not tested

Procedure templates are provided for CC4, CC5, C1.2, and PI1.4:

Infrastructure Controls​

  • ✅ Security (CC) technical controls: encryption, network segmentation, logging, and monitoring configured by the security profile
  • ✅ Layered checks: validation rules, cfn-guard policies, AWS Config, and security profiles
  • ✅ Evidence sources: CloudTrail, AWS Config, and Audit Manager integration
  • ✅ Availability (A): Multi-AZ, auto-scaling, automated backups
  • ✅ Confidentiality (C): Encryption at rest and in transit, key management

Critical Gaps​


SOC 2 Framework Overview​

Trust Services Categories (2017 AICPA)​

The SOC 2 framework consists of 5 Trust Services Categories with 64 criteria across ~300 points of focus:

  1. Common Criteria (CC) - Security (Mandatory) - CC1.0 through CC9.0
  2. Availability (A) (Optional) - A1.1 through A1.3
  3. Processing Integrity (PI) (Optional) - PI1.1 through PI1.4
  4. Confidentiality (C) (Optional) - C1.1 through C1.2
  5. Privacy (P) (Optional) - P1.0 through P8.0

Note: Security (Common Criteria) is mandatory for all SOC 2 reports. Additional categories are selected based on the nature of services provided.


Implementation Architecture​

CloudForge CI implements SOC 2 controls through 4 enforcement layers:

Layer 1: Validation Rules (Pre-Synthesis)​

File: cloudforge-api/src/main/java/com/cloudforgeci/api/core/rules/Soc2Rules.java

  • Java-based validation executed during CDK synthesis
  • Validates security profile configuration against SOC 2 requirements
  • Blocks deployment if mandatory controls are missing (ENFORCE mode)
  • Provides warnings for recommended controls (ADVISORY mode)

Controls Validated:

  • CC6.1/CC6.2: Access controls, authentication, encryption
  • CC6.6/CC6.7: Network security, data transmission
  • CC7.2: System monitoring (CloudTrail, GuardDuty, Config, Flow Logs)
  • CC8.1: Change management
  • A1.2: High availability (Multi-AZ, auto-scaling)
  • A1.3: Backup and recovery
  • C1.1/C1.2: Confidentiality (encryption, access restrictions)

Layer 2: CloudFormation Guard Policies (Pre-Deployment)​

File: cloudforge-api/src/main/resources/cfn-guard/frameworks/soc2-trust-services.guard

  • Policy-as-Code validation of CloudFormation templates
  • Enforces security controls before infrastructure creation
  • 15 validation rules covering encryption, access control, monitoring, backups

Key Rules:

  • soc2_s3_block_public: S3 public access prevention (CC6.1)
  • soc2_s3_encryption: S3 bucket encryption (C1.1)
  • soc2_rds_encryption: RDS storage encryption (C1.1)
  • soc2_cloudtrail_enabled: CloudTrail logging (CC7.2)
  • soc2_cloudwatch_log_retention: 365+ day retention (CC7.2)
  • soc2_dynamodb_pitr: Point-in-time recovery (A1.3)

Layer 3: AWS Config Rules (Runtime Monitoring)​

File: cloudforge-api/src/main/java/com/cloudforgeci/api/observability/ComplianceFactory.java

  • Continuous compliance monitoring via AWS Config
  • 16 AWS Config managed rules for SOC 2
  • Automatic remediation via SSM Automation Documents
  • Evidence collection for Audit Manager

Rule Categories:

  • Base Controls (9 rules): Always deployed regardless of framework
  • SOC2-Specific Controls (7 rules): Conditional on complianceFrameworks: "SOC2"

Layer 4: Security Profile Configuration (Infrastructure Defaults)​

File: cloudforge-api/src/main/java/com/cloudforgeci/api/core/security/ProductionSecurityProfileConfiguration.java

  • Production-grade security defaults
  • Enforces encryption, monitoring, backups, high availability
  • 2-year log retention, Multi-AZ enforcement, MFA required

Detailed Control Mapping​

Common Criteria (CC) - Security (Mandatory)​

CC6.1 - Logical and Physical Access Controls​

Sub-ControlRequirementImplementationStatusEvidence
CC6.1.1Restrict logical accessIAM policies, security groups, NACLs✅ AutomatedSoc2Rules.java
CC6.1.2Identify and authenticate usersIAM password policy, MFA✅ AutomatedAWS Config: iam-password-policy, iam-user-mfa-enabled
CC6.1.3Remove access when no longer requiredAccess key rotation (90 days)✅ AutomatedAWS Config: access-keys-rotated
CC6.1.4Restrict access to dataS3 bucket policies, encryption✅ AutomatedAWS Config: s3-bucket-public-read-prohibited

Infrastructure Implementation:

// Soc2Rules.java - IAM access controls validation
if (ctx.iamProfile == null) {
rules.add(ComplianceRule.fail(
"SOC2-CC6.1-IAM",
"IAM access controls required",
"IAMPasswordPolicyRule",
"Implement role-based access control (RBAC)..."
));
}

Config Rules Deployed:

  • iam-password-policy - Enforces 12+ char password, complexity
  • iam-root-access-key-rule - No root access keys
  • iam-user-no-policies - Users must use groups
  • access-keys-rotated - 90-day key rotation

CC6.2 - Access Management​

Sub-ControlRequirementImplementationStatusEvidence
CC6.2.1User authenticationOIDC, Cognito, MFA⚠️ Implemented, not testedSoc2Rules.java
CC6.2.2MFA for privileged accessIAM MFA, Cognito MFA⚠️ Implemented, not testedProductionSecurityProfileConfiguration.java

Infrastructure Implementation:

// Soc2Rules.java - Authentication validation
AuthMode authMode = ctx.cfc.authMode();
if (authMode == AuthMode.NONE) {
rules.add(ComplianceRule.fail(
"SOC2-CC6.2-Auth",
"User authentication required for customer-facing systems",
"Configure authMode = 'alb-oidc', 'jenkins-oidc', or 'application-oidc'..."
));
}

Authentication Options (authMode):

  • alb-oidc: ALB-integrated OIDC (Amazon Cognito, AWS IAM Identity Center, or another OIDC provider)
  • application-oidc: Application-level OIDC, for applications that support it natively

Cognito user pools with MFA are provisioned with cognitoAutoProvision and cognitoMfaEnabled. SAML federation is an incomplete feature and is not selectable through authMode.

The validator's remediation message still lists jenkins-oidc, which is not an authMode value.

Action Required: Test Cognito and OIDC integrations in production environment


CC6.6 - Network Segmentation​

Sub-ControlRequirementImplementationStatusEvidence
CC6.6.1Network segmentationVPC, private subnets, security groups✅ AutomatedSoc2Rules.java
CC6.6.2Firewall protectionWAF, security groups✅ AutomatedSoc2Rules.java

Infrastructure Implementation:

  • VPC with public/private subnet isolation
  • Security groups with least-privilege rules
  • NACLs for additional network layer protection
  • AWS WAF for web application firewall (optional, recommended)

Config Rules Deployed:

  • vpc-default-security-group-closed - Default SG has no rules
  • restricted-ssh - SSH not open to 0.0.0.0/0
  • restricted-common-ports - Common ports restricted

CC6.7 - Data Transmission Security​

Sub-ControlRequirementImplementationStatusEvidence
CC6.7.1Encryption in transitTLS 1.2+, HTTPS✅ AutomatedSoc2Rules.java
CC6.7.2Certificate managementACM, auto-renewal✅ AutomatedAuditManagerControlRegistry.java

Infrastructure Implementation:

// Soc2Rules.java - SSL/TLS enforcement
if (!ctx.cfc.enableSsl()) {
rules.add(ComplianceRule.fail(
"SOC2-CC6.7-SSL",
"SSL/TLS must be enabled for encrypted data transmission (CC6.7)",
"Set enableSsl=true for production SOC2 compliance."
));
}

Encryption Controls:

  • ALB HTTPS listeners with TLS 1.2+ minimum
  • EFS encryption in transit (TLS)
  • ACM certificates with automatic renewal
  • Certificate expiration monitoring

Guard Policy: soc2_alb_https - Validates HTTPS/TLS protocol on port 443


CC7.2 - System Monitoring​

Sub-ControlRequirementImplementationStatusEvidence
CC7.2.1Security monitoringCloudWatch, GuardDuty, Config✅ AutomatedSoc2Rules.java
CC7.2.2Threat detectionGuardDuty✅ AutomatedSoc2Rules.java
CC7.2.3Audit loggingCloudTrail, Flow Logs, ALB logs✅ AutomatedSoc2Rules.java
CC7.2.4Configuration monitoringAWS Config✅ AutomatedSoc2Rules.java

Infrastructure Implementation:

  • CloudTrail: All API calls logged to S3 (2-year retention)
  • VPC Flow Logs: Network traffic monitoring (all traffic)
  • ALB Access Logs: HTTP request logging
  • GuardDuty: Threat detection with auto-start
  • AWS Config: Continuous compliance monitoring with 16 rules

Config Rules Deployed:

  • cloudtrail-enabled - CloudTrail logging active
  • vpc-flow-logs-enabled - Flow logs enabled
  • guardduty-enabled-centralized - GuardDuty active

Guard Policies:

  • soc2_cloudtrail_enabled - CloudTrail IsLogging = true
  • soc2_cloudwatch_log_retention - 365+ day retention

CC8.1 - Change Management​

Sub-ControlRequirementImplementationStatusEvidence
CC8.1.1Change trackingCloudTrail, Git version control✅ AutomatedSoc2Rules.java
CC8.1.2Configuration change detectionAWS Config✅ AutomatedSoc2Rules.java
CC8.1.3Infrastructure as CodeCDK (CloudFormation)✅ AutomatedSoc2Rules.java

Infrastructure Implementation:

  • Git repository provides version control and audit trail
  • CloudTrail logs all infrastructure changes
  • AWS Config tracks configuration drift
  • CDK provides immutable infrastructure deployments

CC1, CC2, CC3, CC4, CC5, CC9 - Organizational Controls​

ControlDescriptionStatusRemediation
CC1Control Environment (governance, ethics, integrity)✅ DocumentedSee SOC2_CC1_CONTROL_ENVIRONMENT.md
CC2Communication & Information (policies, communication)✅ DocumentedSee SOC2_CC2_COMMUNICATION.md
CC3Risk Assessment (risk analysis, change processes)✅ DocumentedSee SOC2_CC3_RISK_ASSESSMENT.md
CC4Monitoring Activities (control effectiveness)✅ DocumentedSee SOC2_CC4_MONITORING_PROCEDURES.md
CC5Control Activities (operational procedures)✅ DocumentedSee SOC2_CC5_OPERATIONAL_PROCEDURES.md
CC9Risk Mitigation (vendor management)❌ Not AutomatedImplement vendor assessment program, third-party SOC 2 reviews

Why Not Automated: These controls require organizational structure, governance processes, human decision-making, and policy documentation that cannot be infrastructure-automated.

Action Required: Document policies, procedures, and governance structures


CC7.1, CC7.3, CC7.4, CC7.5 - Additional System Operations​

ControlDescriptionStatusEvidence
CC7.1Vulnerability detection and remediation✅ AutomatedAWS Config, Inspector (via VULNERABILITY_MANAGEMENT control)
CC7.3Environmental protections✅ AutomatedMulti-AZ, backups (see A1.2, A1.3)
CC7.4Incident response✅ DocumentedSee SOC2_CC7_INCIDENT_RESPONSE.md
CC7.5Incident resolution✅ DocumentedSee SOC2_CC7_INCIDENT_RESPONSE.md

CC7.1 Implementation:

  • AWS Config continuous compliance monitoring
  • Security Hub (optional) for centralized findings
  • Inspector (optional) for vulnerability scanning

CC7.4/7.5 Gap: Automated detection exists (GuardDuty, Config), but response procedures require documentation


Availability (A) (Optional Category)​

A1.2 - System Availability​

Sub-ControlRequirementImplementationStatusEvidence
A1.2.1High availability architectureMulti-AZ deployment✅ AutomatedSoc2Rules.java
A1.2.2Auto-scalingAuto-scaling groups✅ AutomatedSoc2Rules.java

Infrastructure Implementation:

// ProductionSecurityProfileConfiguration.java
public boolean isMultiAzEnforced() {
return true; // Always enforced for production
}

public boolean isAutoScalingEnabled() {
return true; // Always enabled for production
}

public int getMinInstanceCount() {
return 2; // Minimum for high availability
}

Config Rules Deployed:

  • elb-deletion-protection-enabled - Prevents accidental ALB deletion
  • rds-multi-az-support - Enforces Multi-AZ for databases

A1.3 - Recovery Capabilities​

Sub-ControlRequirementImplementationStatusEvidence
A1.3.1Automated backupsEBS snapshots, RDS backups✅ AutomatedSoc2Rules.java
A1.3.2Cross-region backupS3 cross-region replication✅ AutomatedSoc2Rules.java
A1.3.3Backup retention90-day retention✅ AutomatedProductionSecurityProfileConfiguration.java

Infrastructure Implementation:

  • Automated backups always enabled for production
  • 90-day retention for backup data
  • Cross-region backup for disaster recovery
  • S3 versioning for data recovery

Config Rules Deployed:

  • s3-bucket-versioning-enabled - S3 versioning for recovery
  • dynamodb-pitr-enabled - DynamoDB point-in-time recovery

Guard Policies:

  • soc2_s3_versioning - S3 versioning enabled
  • soc2_rds_backups - RDS backup retention ≥ 7 days
  • soc2_dynamodb_pitr - DynamoDB PITR enabled

A1.1 - Availability Commitments​

ControlStatusRemediation
A1.1❌ Not AutomatedDocument SLA commitments, uptime targets

Confidentiality (C) (Optional Category)​

C1.1 - Confidentiality Commitments​

Sub-ControlRequirementImplementationStatusEvidence
C1.1.1Encryption at restEBS, EFS, S3 encryption (AES-256)✅ AutomatedSoc2Rules.java
C1.1.2Key managementKMS key rotation✅ AutomatedAuditManagerControlRegistry.java
C1.1.3Access restrictionsPrivate network mode✅ AutomatedSoc2Rules.java

Infrastructure Implementation:

  • All storage encrypted by default (EBS, EFS, S3, RDS)
  • KMS customer-managed keys with automatic rotation
  • Private subnet deployment for confidential systems
  • No public database access

Config Rules Deployed:

  • encrypted-volumes - EBS encryption
  • s3-bucket-encryption - S3 encryption
  • rds-storage-encrypted - RDS encryption
  • dynamodb-encryption-enabled - DynamoDB encryption
  • kms-key-rotation-enabled - Annual key rotation

Guard Policies:

  • soc2_s3_encryption - S3 BucketEncryption exists
  • soc2_rds_encryption - RDS StorageEncrypted = true
  • soc2_ebs_encryption - EBS Encrypted = true
  • soc2_dynamodb_encryption - DynamoDB SSEEnabled = true

C1.2 - Information Disposal​

Sub-ControlRequirementImplementationStatusEvidence
C1.2.1Secure data deletionS3 lifecycle policies + procedures✅ DocumentedSOC2_C1.2_DATA_DISPOSAL_PROCEDURES.md

Implementation: S3 lifecycle policies automate data disposal. The procedure template covers manual disposal, key destruction, and verification.

Documentation: See SOC2_C1.2_DATA_DISPOSAL_PROCEDURES.md for complete disposal procedures


Processing Integrity (PI) (Optional Category)​

ControlDescriptionStatusRemediation
PI1.1Processing objectives❌ Not AutomatedApplication-level validation required
PI1.2Input completeness/accuracy❌ Not AutomatedApplication-level input validation
PI1.3Processing completeness/accuracy❌ Not AutomatedApplication-level processing validation
PI1.4Error detection and correction✅ DocumentedSee SOC2_PI1.4_ERROR_DETECTION.md

Why Not Automated: PI1.1-PI1.3 depend on application-specific business logic and data validation rules.

PI1.4 Implementation: Infrastructure monitoring (CloudWatch, alarms) + application error handling requirements documented in SOC2_PI1.4_ERROR_DETECTION.md


Privacy (P) (Optional Category)​

ControlDescriptionStatusRemediation
P1.0Privacy notice and communication✅ DocumentedSee SOC2_PRIVACY_PROCEDURES.md
P2.0Choice and consent✅ DocumentedSee SOC2_PRIVACY_PROCEDURES.md
P3.0Collection✅ DocumentedSee SOC2_PRIVACY_PROCEDURES.md
P4.0Use, retention, and disposal✅ DocumentedSee SOC2_PRIVACY_PROCEDURES.md
P5.0Access✅ DocumentedSee SOC2_PRIVACY_PROCEDURES.md
P6.0Disclosure to third parties✅ DocumentedSee SOC2_PRIVACY_PROCEDURES.md
P7.0Quality✅ DocumentedSee SOC2_PRIVACY_PROCEDURES.md
P8.0Monitoring and enforcement✅ DocumentedSee SOC2_PRIVACY_PROCEDURES.md

Note: Privacy procedures are documented but require organizational implementation and legal review.

Action Required: If Privacy category is claimed, implement the procedures documented and conduct legal review


Infrastructure Verification​

AWS Config Rules Deployment​

Base Controls (Always Deployed)​

Rule NameAWS Managed RuleTSC MappingPurposeRemediation
encrypted-volumesENCRYPTED_VOLUMESCC6.1, C1.1EBS encryption enforcementAuto-enable via SSM
s3-bucket-public-read-prohibitedS3_BUCKET_PUBLIC_READ_PROHIBITEDCC6.1S3 public read preventionManual
s3-bucket-public-write-prohibitedS3_BUCKET_PUBLIC_WRITE_PROHIBITEDCC6.1S3 public write preventionManual
iam-password-policyIAM_PASSWORD_POLICYCC6.1, CC6.2Password complexityManual
iam-user-mfa-enabledIAM_USER_MFA_ENABLEDCC6.2User MFA enforcementManual
root-account-mfa-enabledROOT_ACCOUNT_MFA_ENABLEDCC6.2Root account MFAManual
access-keys-rotatedACCESS_KEYS_ROTATEDCC6.190-day key rotationManual
cloudtrail-enabledCLOUD_TRAIL_ENABLEDCC7.2, CC8.1API audit loggingAuto-enable via SSM
vpc-flow-logs-enabledVPC_FLOW_LOGS_ENABLEDCC7.2Network traffic monitoringManual

SOC2-Specific Controls (Conditional)​

Rule NameAWS Managed RuleTSC MappingPurposeCondition
s3-bucket-versioning-enabledS3_BUCKET_VERSIONING_ENABLEDA1.3Backup and recoverysoc2Condition
s3-bucket-encryptionS3_DEFAULT_ENCRYPTION_KMSC1.1S3 encryptionsoc2Condition
guardduty-enabled-centralizedGUARDDUTY_ENABLED_CENTRALIZEDCC7.2Threat detectionsoc2Condition
kms-key-rotation-enabledCMK_BACKING_KEY_ROTATION_ENABLEDC1.1Key managementsoc2Condition
elb-deletion-protection-enabledELB_DELETION_PROTECTION_ENABLEDA1.2High availabilitysoc2Condition
rds-multi-az-supportRDS_MULTI_AZ_SUPPORTA1.2Database HAsoc2RdsCondition
rds-storage-encryptedRDS_STORAGE_ENCRYPTEDC1.1Database encryptionsoc2RdsCondition

Total Rules: 16 (9 base + 7 SOC2-specific)

Deployment Logic: See ComplianceFactory.java


CloudFormation Guard Policies​

File: soc2-trust-services.guard

Validation Rules (15 total):

Access Control Rules​

  • soc2_s3_block_public - CC6.1: S3 public access blocks
  • soc2_rds_no_public - CC6.1: RDS not publicly accessible
  • soc2_kms_key_rotation - C1.1: KMS key rotation enabled

Encryption at Rest Rules​

  • soc2_s3_encryption - C1.1: S3 BucketEncryption exists
  • soc2_rds_encryption - C1.1: RDS StorageEncrypted = true
  • soc2_rds_cluster_encryption - C1.1: RDS Cluster encrypted
  • soc2_ebs_encryption - C1.1: EBS Encrypted = true
  • soc2_dynamodb_encryption - C1.1: DynamoDB SSEEnabled = true

Encryption in Transit Rules​

  • soc2_alb_https - CC6.7: ALB HTTPS/TLS protocol

Monitoring Rules​

  • soc2_cloudtrail_enabled - CC7.2: CloudTrail IsLogging = true
  • soc2_cloudwatch_log_retention - CC7.2: Retention ≥ 365 days

Backup and Recovery Rules​

  • soc2_s3_versioning - A1.3: S3 versioning enabled
  • soc2_rds_backups - A1.3: RDS backup retention ≥ 7 days
  • soc2_dynamodb_pitr - A1.3: DynamoDB PITR enabled

Security Profile Enforcement​

File: ProductionSecurityProfileConfiguration.java

Production Defaults:

With soc2 selected and complianceMode other than disabled, controls that ComplianceMatrix marks as REQUIRED for SOC2 are enabled regardless of the deployment context value.

ControlConfigurationTSCOverridable
Log RetentionProfile default 6 years; Soc2Rules requires at least 365 daysCC7.2Yes (via logRetentionDays, minimum 365)
Flow LogsEnabled (all traffic)CC7.2No (REQUIRED)
CloudTrailEnabledCC7.2, CC8.1No (REQUIRED)
GuardDutyEnabled by profile defaultCC7.2Yes (via guardDutyEnabled; ADVISORY for SOC2)
AWS ConfigValidated by Soc2RulesCC7.2, CC8.1Via awsConfigEnabled
Audit ManagerREQUIRED for SOC2 in ComplianceMatrixAllAssessments and validators are created only when auditManagerEnabled is true
EBS EncryptionMandatoryC1.1No
EFS Encryption (transit)MandatoryCC6.7No (REQUIRED)
EFS Encryption (rest)MandatoryC1.1No
S3 EncryptionMandatoryC1.1No
Multi-AZEnforcedA1.2No
Auto-scalingEnabledA1.2No
Automated BackupEnabledA1.3No (REQUIRED)
Cross-region BackupEnabledA1.3No (REQUIRED)
MFA RequiredAlwaysCC6.2No
Password Length14 characters (profile); IAM account policy 12 characters for SOC2CC6.2No
Password Rotation90 daysCC6.2No
Session Timeout1 day443CC6.2

Control Registry & Evidence Mapping​

File: AuditManagerControlRegistry.java

20 Infrastructure Controls mapped to SOC 2:

Control IDDescriptionTSC MappingConfig RulesEvidence Sources
ENCRYPTION_AT_RESTEBS, EFS, S3 encryptionCC6.1, C1.1EbsEncryptionRule, S3BucketEncryptionRuleconfig, cloudtrail
ENCRYPTION_IN_TRANSITTLS/SSLCC6.7ALBHttpsOnlyconfig, cloudtrail
NETWORK_SEGMENTATIONVPC, security groupsCC6.6VpcDefaultSecurityGroupClosedconfig, vpc-flowlogs
ACCESS_CONTROLIAM, least privilegeCC6.1, CC6.2IAMPasswordPolicyRuleconfig, cloudtrail, iam
AUTHENTICATIONSSO, OIDC, MFACC6.2IAMMfaEnabledconfig, cloudtrail, iam
AUDIT_LOGGINGCloudTrail, Flow LogsCC7.2CloudTrailEnabledRulecloudtrail, vpc-flowlogs
LOG_RETENTION1-6 year retentionCC7.2CloudWatchLogGroupRetentioncloudtrail, s3
SECURITY_MONITORINGGuardDuty, ConfigCC7.2GuardDutyEnabledconfig, guardduty
THREAT_DETECTIONGuardDutyCC7.2GuardDutyEnabledguardduty, cloudtrail
WAF_PROTECTIONAWS WAFCC6.6WafEnabledconfig, waf
BACKUP_RECOVERYAutomated backupsA1.3, CC7.3EfsBackupEnabledconfig, backup, s3
HIGH_AVAILABILITYMulti-AZ, auto-scalingA1.2RdsMultiAzEnabledconfig, cloudwatch
CHANGE_MANAGEMENTIaC, change trackingCC8.1CloudTrailEnabledRulecloudtrail, config
VULNERABILITY_MANAGEMENTConfig complianceCC7.1ConfigEnabledconfig, inspector
KEY_MANAGEMENTKMS rotationCC6.1, C1.1KmsKeyRotationEnabledkms, cloudtrail
CERTIFICATE_MANAGEMENTTLS/SSL lifecycleCC6.7CertificateExpirationAlarmacm, cloudwatch
DATABASE_SECURITYDB encryption, backupCC6.1, A1.3RdsEncryptionAtRestEnabledrds, config
ADVANCED_MONITORINGSecurity Hub, InspectorCC7.2, CC7.3SecurityHubEnabledsecurityhub, inspector
INCIDENT_RESPONSEIR plan, DRCC7.4, CC7.5, A1.2IncidentResponsePlanDocumentedcloudtrail, cloudwatch
THREAT_PROTECTIONMalware, intrusion detectionCC7.2, CC7.3GuardDutyEnabledguardduty, waf

Gap Analysis​

Critical Gaps (Require Manual Implementation)​

1. Organizational Controls (CC1, CC2, CC3)​

Gap: CC1 (Control Environment), CC2 (Communication), CC3 (Risk Assessment)

Impact: ~30% of Common Criteria

Requirement:

  • CC1: Organizational structure, ethics policies, board oversight, governance
  • CC2: Security policy documentation, incident communication procedures
  • CC3: Formal risk assessments, risk management processes, change management procedures

Remediation:

Priority: HIGH
Timeline: 4-6 weeks

Tasks:
1. Document organizational structure and reporting lines
2. Create code of conduct and ethics policy
3. Document board/leadership security oversight
4. Create security policy manual (access control, encryption, incident response)
5. Implement risk assessment framework (annual + change-driven)
6. Document change management procedures

Evidence Required:

  • Organizational charts
  • Code of conduct (signed by employees)
  • Board meeting minutes discussing security
  • Security policy manual
  • Risk assessment reports
  • Change advisory board (CAB) meeting minutes

2. Incident Response Procedures (CC7.4, CC7.5)​

Gap: Documented incident response plan, escalation procedures, playbooks

Impact: ~10% of Common Criteria

Current State: Technical detection exists (GuardDuty, Config), but response procedures not documented

Remediation:

Priority: HIGH
Timeline: 2-3 weeks

Tasks:
1. Create incident response plan (IRP) document
2. Define incident severity levels (P0, P1, P2, P3)
3. Document escalation procedures and on-call rotation
4. Create incident playbooks for common scenarios:
- GuardDuty findings (cryptocurrency mining, unauthorized access)
- Config non-compliance (encryption disabled, public S3)
- Security group changes
- IAM changes (new users, role escalation)
5. Conduct tabletop exercise to test IRP

Evidence Required:

  • Incident response plan document
  • Incident playbooks
  • Tabletop exercise report
  • Incident tickets showing IRP execution

3. Vendor Management (CC9)​

Gap: Vendor risk assessment, third-party SOC 2 reviews, vendor contracts

Impact: ~10% of Common Criteria

Remediation:

Priority: MEDIUM
Timeline: 4-6 weeks
Owner: Procurement + Security

Tasks:
1. Create vendor inventory (AWS, third-party tools)
2. Document vendor assessment process
3. Collect SOC 2 reports from critical vendors
4. Review vendor contracts for security requirements
5. Establish vendor review cadence (annual)

Evidence Required:

  • Vendor inventory spreadsheet
  • Vendor assessment questionnaires
  • Third-party SOC 2 reports
  • Vendor contracts with security clauses

4. Privacy Controls (P1-P8) (If Privacy Category Claimed)​

Gap: Privacy policy, consent management, DSAR procedures, data retention

Impact: 100% of Privacy category

Remediation:

Priority: HIGH (if Privacy claimed)
Timeline: 6-8 weeks
Owner: Legal + Compliance

Tasks:
1. Create privacy policy and privacy notice
2. Implement consent management system
3. Document data collection and usage practices
4. Create data retention and disposal policy
5. Implement DSAR (data subject access request) procedures
6. Document third-party data sharing
7. Create privacy incident response procedures

Evidence Required:

  • Privacy policy (published on website)
  • Consent records
  • Data inventory and processing records
  • DSAR procedures and response logs
  • Data retention policy

Partial Gaps (Enhance Existing Controls)​

1. C1.2 - Information Disposal​

Current State: S3 lifecycle policies exist for log retention

Gap: Comprehensive secure deletion procedures not documented

Remediation:

Priority: MEDIUM
Timeline: 1-2 weeks
Owner: Engineering + Security

Tasks:
1. Document secure deletion procedures for each data type
2. Implement S3 Intelligent-Tiering with automatic deletion
3. Create object lifecycle policies for all S3 buckets
4. Document EBS/EFS deletion procedures
5. Add data disposal to offboarding checklist

Evidence Required:

  • S3 lifecycle policies for all buckets
  • Data disposal procedures document
  • Deletion logs (CloudTrail)

2. PI1.4 - Error Detection and Correction​

Current State: Infrastructure monitoring (CloudWatch, Config) exists

Gap: Application-level error detection and data validation

Remediation:

Priority: LOW (unless Processing Integrity claimed)
Timeline: Ongoing (application-specific)
Owner: Application Teams

Tasks:
1. Implement application error logging
2. Add data validation for input/output
3. Create error handling procedures
4. Monitor application error rates

3. Authentication Testing (CC6.2)​

Current State: Cognito and OIDC implemented but not production-tested

Gap: Production validation of authentication controls

Remediation:

Priority: HIGH
Timeline: 1-2 weeks
Owner: Engineering

Tasks:
1. Test Cognito authentication in production environment
2. Validate MFA enforcement (TOTP + SMS)
3. Test OIDC integrations (Identity Center, Google, Okta)
4. Verify session management and timeout
5. Test password policy enforcement
6. Document authentication flows

Testing Checklist:

  • Cognito User Pool creation and user registration
  • MFA enrollment (TOTP via authenticator app)
  • MFA enrollment (SMS)
  • MFA challenge on login
  • Session timeout after 12 hours
  • Password complexity enforcement (14 chars, complexity)
  • Password rotation after 90 days
  • ALB-OIDC with Identity Center
  • ALB-OIDC with Google Workspace
  • Application-OIDC integration

Coverage Metrics​

Overall TSC Coverage​

CategoryTotal CriteriaAutomatedPartialManualCoverage %
Common Criteria (CC)~4510035~22%
Availability (A)~530260%
Confidentiality (C)~3300100%
Processing Integrity (PI)~4103~25%
Privacy (P)~70070%
TOTAL~6417047~27%

Infrastructure Coverage​

Automatable Technical Controls: ~18-20 controls Automated: 13-15 controls Infrastructure Coverage: ~70-80% ✅

Control Layer Coverage​

LayerControlsCoverageStatus
Validation Rules28 checks100%✅ Complete
Guard Policies15 rules100%✅ Complete
AWS Config16 rules100%✅ Complete
Security Profile25 settings100%✅ Complete

Testing Coverage​

Control CategoryImplementedProduction TestedStatus
Encryption (at-rest)✅ Yes✅ YesComplete
Encryption (in-transit)✅ Yes✅ YesComplete
Network Security✅ Yes✅ YesComplete
Access Control (IAM)✅ Yes✅ YesComplete
Authentication (Cognito/OIDC)✅ Yes⚠️ NoAction Required
Audit Logging✅ Yes✅ YesComplete
Threat Detection✅ Yes✅ YesComplete
Configuration Monitoring✅ Yes✅ YesComplete
High Availability✅ Yes✅ YesComplete
Backup/Recovery✅ Yes✅ YesComplete

Remediation Roadmap​

Phase 1: Critical Gaps (Weeks 1-8)​

Goal: Address high-priority manual controls required for SOC 2 compliance

TaskOwnerTimelineDeliverable
Document organizational controls (CC1, CC2, CC3)Compliance + LegalWeeks 1-6Policy manual, org charts, risk assessment
Create incident response plan (CC7.4, CC7.5)SecurityWeeks 2-3IRP document, playbooks, tabletop report
Test authentication (Cognito/OIDC)EngineeringWeeks 1-2Test report, authentication documentation
Implement vendor management (CC9)Procurement + SecurityWeeks 4-6Vendor inventory, SOC 2 reports

Success Criteria: All critical manual controls documented, authentication tested in production


Phase 2: Enhancements (Weeks 9-16)​

Goal: Strengthen partial controls and add optional category controls

TaskOwnerTimelineDeliverable
Document data disposal procedures (C1.2)Engineering + SecurityWeeks 9-10Disposal procedures, S3 lifecycle policies
Implement application error detection (PI1.4)Application TeamsWeeks 10-16Error logging, validation rules
Privacy controls (if claiming Privacy)Legal + ComplianceWeeks 9-16Privacy policy, consent system, DSAR procedures
Advanced monitoring dashboards (CC4)EngineeringWeeks 12-14CloudWatch dashboards, governance reports

Success Criteria: All partial controls enhanced, optional categories documented


Phase 3: Continuous Improvement (Ongoing)​

Goal: Maintain compliance, conduct regular reviews

TaskFrequencyOwnerDeliverable
Risk assessmentsAnnual + change-drivenComplianceRisk assessment report
Vendor reviewsAnnualProcurementUpdated vendor assessments
Incident response testingQuarterlySecurityTabletop exercise reports
Policy reviewsAnnualCompliance + LegalUpdated policy manual
Control effectiveness reviewsQuarterlySecurity + ComplianceControl review reports
Audit Manager evidence collectionContinuousAutomatedEvidence in S3 buckets

Success Criteria: Continuous compliance monitoring, regular evidence collection, proactive gap identification


Testing Status​

Production-Tested Controls ✅​

ControlTest EnvironmentTest DateStatus
EBS EncryptionProduction2025-Q4✅ Pass
EFS Encryption (at-rest)Production2025-Q4✅ Pass
EFS Encryption (in-transit)Production2025-Q4✅ Pass
S3 EncryptionProduction2025-Q4✅ Pass
RDS EncryptionProduction2025-Q4✅ Pass
TLS/SSL (ALB)Production2025-Q4✅ Pass
VPC Network SegmentationProduction2025-Q4✅ Pass
Security GroupsProduction2025-Q4✅ Pass
IAM Password PolicyProduction2025-Q4✅ Pass
Access Key RotationProduction2025-Q4✅ Pass
CloudTrail LoggingProduction2025-Q4✅ Pass
VPC Flow LogsProduction2025-Q4✅ Pass
GuardDutyProduction2025-Q4✅ Pass
AWS Config (16 rules)Production2025-Q4✅ Pass
Multi-AZ DeploymentProduction2025-Q4✅ Pass
Auto-scalingProduction2025-Q4✅ Pass
Automated BackupsProduction2025-Q4✅ Pass

Not Yet Tested (Implemented) ⚠️​

ControlImplementation StatusTest RequirementPriority
Cognito Authentication✅ ImplementedProduction validationHIGH
Cognito MFA✅ ImplementedMFA enrollment and challengeHIGH
ALB-OIDC (Identity Center)✅ ImplementedEnd-to-end authentication flowHIGH
ALB-OIDC (Generic providers)✅ ImplementedGoogle, Okta, custom OIDCMEDIUM
Session Timeout✅ Implemented12-hour timeout validationMEDIUM
WAF Rules✅ ImplementedSQL injection, XSS protectionMEDIUM
Cross-region Backup Failover✅ ImplementedDisaster recovery drillLOW

Test Plan for Authentication (High Priority)​

Timeline: 1-2 weeks Owner: Engineering Team

Test Scenarios:

  1. Cognito User Pool

    • Create user pool with MFA enabled
    • Register new user
    • Enroll TOTP (authenticator app)
    • Enroll SMS MFA
    • Login with MFA challenge
    • Verify password policy enforcement (14 chars, complexity)
    • Test session timeout (1-hour token expiry, 1-day refresh)
  2. ALB-OIDC (Identity Center)

    • Configure ALB listener with OIDC
    • Authenticate via AWS Identity Center
    • Verify user claims in headers
    • Test session management
  3. ALB-OIDC (Google Workspace)

    • Configure ALB listener with Google OIDC
    • Authenticate via Google
    • Verify group-based access control
  4. Application-Level OIDC

    • Configure Jenkins OIDC plugin
    • Authenticate via OIDC provider
    • Verify role-based access control (RBAC)

Success Criteria: All authentication flows tested, MFA enforced, session management validated


Maintenance & Updates​

Document Review Schedule​

Review TypeFrequency
Gap Analysis UpdateQuarterly
Control Mapping VerificationQuarterly
Testing Status UpdateMonthly
Remediation Roadmap ProgressMonthly
TSC Framework UpdatesAnnually

Change Log​

VersionDateChangesAuthor
1.02025-12-14Initial gap analysisCloudForge CI maintainers
1.12025-12-16Upgraded CC4, CC5, C1.2, PI1.4 from partial to fully documentedCloudForge CI maintainers
1.22025-12-19Updated coverage metrics to reflect documented procedures; corrected inconsistenciesCloudForge CI maintainers

Maintenance Procedures​

Quarterly Review Process​

  1. Update Testing Status

    • Review newly tested controls
    • Update production testing matrix
    • Document test results
  2. Verify Control Implementation

    • Audit AWS Config rule deployment
    • Verify Guard policy enforcement
    • Check security profile settings
  3. Gap Analysis Refresh

    • Identify new gaps from infrastructure changes
    • Update remediation priorities
    • Review roadmap progress
  4. Framework Updates

    • Check for AICPA TSC updates
    • Review AWS Config managed rule changes
    • Update control mappings

When to Update This Document​

Immediate Updates Required:

  • New control implementation completed
  • Control testing completed (move from ⚠️ to ✅)
  • TSC framework version change
  • Critical gap identified

Quarterly Updates:

  • Remediation roadmap progress
  • Control effectiveness metrics
  • Testing coverage statistics

Annual Updates:

  • Complete gap analysis refresh
  • Framework mapping verification
  • Coverage metrics recalculation

References​

Official SOC 2 Documentation​

Internal Documentation​

Code References​


Appendix: Quick Reference​

SOC 2 Compliance Checklist​

Infrastructure Controls (Automated) ✅​

  • CC6.1: IAM password policy, access key rotation
  • CC6.2: MFA enforcement (implemented, needs testing)
  • CC6.6: VPC, security groups, network segmentation
  • CC6.7: TLS/SSL, encryption in transit
  • CC7.2: CloudTrail, GuardDuty, Config, Flow Logs
  • CC8.1: CloudTrail change tracking, IaC (Git)
  • A1.2: Multi-AZ, auto-scaling
  • A1.3: Automated backups, cross-region
  • C1.1: Encryption at rest (EBS, EFS, S3, RDS)

Manual Controls (Documentation Required) ❌​

  • CC1: Organizational structure, governance, ethics
  • CC2: Security policies, communication procedures
  • CC3: Risk assessment framework, processes
  • CC7.4/7.5: Incident response plan, playbooks
  • CC9: Vendor management, third-party reviews
  • A1.1: SLA documentation, uptime commitments
  • C1.2: Data disposal procedures (partially automated)
  • PI1.1-PI1.4: Processing integrity controls (if claimed)
  • P1.0-P8.0: Privacy controls (if claimed)

Document End

For questions or updates to this document, contact the Security & Compliance Team.