Skip to content

SOC 2 Alignment

Rack Gateway provides security controls that align with SOC 2 Type II Trust Services Criteria. This guide maps gateway features to SOC 2 requirements.

SOC 2 is organized into five Trust Services Categories:

CategoryDescriptionGateway Support
Security (CC)Protection against unauthorized accessStrong
Availability (A)System availability as committedPartial
Processing Integrity (PI)Complete and accurate processingPartial
Confidentiality (C)Protection of confidential informationStrong
Privacy (P)Personal information protectionPartial
CriterionRequirementGateway Implementation
CC1.1Demonstrate commitment to integrity and ethicsDocumentation, access controls
CC1.2Board oversightAudit logs for review
CC1.3Establish structure and authorityRBAC role hierarchy
CC1.4Commitment to competenceN/A (organizational)
CC1.5AccountabilityUser attribution in audit logs
CriterionRequirementGateway Implementation
CC2.1Information qualityStructured audit logging
CC2.2Internal communicationSlack/email notifications
CC2.3External communicationN/A (organizational)
CriterionRequirementGateway Implementation
CC3.1Specify objectivesConfigurable security settings
CC3.2Identify risksRBAC denials logged
CC3.3Consider fraudAnomaly detection in logs
CC3.4Identify changesChange tracking in audit logs
CriterionRequirementGateway Implementation
CC5.1Select control activitiesRBAC, MFA, session management
CC5.2Select technology controlsOAuth, encryption, audit logging
CC5.3Deploy policiesConfigurable security policies
CriterionRequirementGateway ImplementationEvidence
CC6.1Logical access securityOAuth + MFA authenticationAuthentication logs
CC6.2User access provisioningRBAC role assignmentsUser/role records
CC6.3Access removalSession revocation, account lockRevocation logs
CC6.4Access reviewUser/token listing and auditAccess reports
CC6.5Restrict accessPrivate network deploymentNetwork configuration
CC6.6Manage credentialsToken hashing, rotationToken management
CC6.7Restrict privileged accessAdmin role restrictionsRBAC configuration
CC6.8Prevent malicious softwareN/A (SaaS model)-

Key Controls for CC6:

  1. Authentication (CC6.1)

    • Google OAuth 2.0 with PKCE
    • Domain restriction to organization
    • Session tokens with idle timeout
  2. Authorization (CC6.2)

    • Role-based access control
    • Five distinct roles (viewer → admin)
    • Inheritance-based permissions
  3. De-provisioning (CC6.3)

    • Immediate session revocation
    • Account lock capability
    • API token deletion
  4. Review (CC6.4)

    • User list with roles
    • Active session visibility
    • API token inventory
CriterionRequirementGateway ImplementationEvidence
CC7.1Detect security eventsReal-time audit loggingAudit logs
CC7.2Monitor infrastructureCloudWatch integrationMetrics/alarms
CC7.3Evaluate eventsRBAC decision loggingDecision logs
CC7.4Respond to incidentsLock accounts, revoke sessionsIncident records
CC7.5Recover from incidentsSession revocation, re-authRecovery actions

Key Controls for CC7:

CriterionRequirementGateway Implementation
CC8.1Manage changesDeploy approval workflow

Deploy Approvals for Change Control:

  • CI/CD deployments require human approval
  • Approvers separate from deployers
  • Full audit trail of approvals
CriterionRequirementGateway Implementation
CC9.1Risk mitigationDefense in depth
CC9.2Consider vendorsN/A (self-hosted)
CriterionRequirementGateway Implementation
C1.1Identify confidential dataEnvironment variable protection
C1.2Dispose of confidential dataSession expiration + token revocation

Protection Mechanisms:

  • Automatic secret redaction in logs
  • Protected environment variables
  • Token hashing (secrets never stored in plaintext)
  • HTTPS-only communication

Rack Gateway automatically generates evidence:

Evidence TypeSourceFrequency
Authentication logsAudit databasePer request
RBAC decisionsAudit databasePer request
User access recordsUsers tableOn change
Role assignmentsUsers tableOn change
Token inventoryAPI tokens tableOn change
Session recordsuser_sessions tableOn change
Configuration changesAudit databaseOn change
Terminal window
# User access for a date range (custom)
curl -b "session_token=TOKEN" \
"https://gateway.example.com/api/v1/audit-logs?range=custom&start=2024-01-01T00:00&end=2024-03-31T23:59"
# RBAC denials
curl -b "session_token=TOKEN" \
"https://gateway.example.com/api/v1/audit-logs?status=denied&range=30d"
# User list with roles
curl -b "session_token=TOKEN" \
"https://gateway.example.com/api/v1/users"
# API token inventory
curl -b "session_token=TOKEN" \
"https://gateway.example.com/api/v1/api-tokens"
ReportDescriptionQuery Period
User Access ReportAll users with rolesCurrent snapshot
Activity ReportActions by user90-day rolling
Denied Access ReportFailed authorization90-day rolling
Admin Activity ReportPrivileged operations90-day rolling
Token ReportAPI token inventoryCurrent snapshot
Session ReportActive sessionsCurrent snapshot
  • OAuth configured with Google Workspace
  • Domain restriction enabled
  • MFA required for privileged roles
  • RBAC roles assigned appropriately
  • Session timeout configured (≤15 min recommended)
  • API tokens have appropriate roles
  • Unused tokens reviewed/removed
  • Audit logging enabled
  • CloudWatch integration configured
  • Alerts for failed logins
  • Alerts for RBAC denials
  • Weekly log review process
  • Incident response runbook
  • Deploy approvals enabled
  • Approvers != Deployers
  • CI/CD uses dedicated tokens
  • Change log maintained
  • Protected env vars configured
  • HTTPS enforced
  • Tokens not in source control
  • Secrets redacted in logs

Q: How are users authenticated? A: OAuth 2.0 with Google Workspace, with optional MFA via TOTP or WebAuthn.

Q: How is access controlled? A: Role-based access control with five roles in a hierarchy. Each request is checked against the user’s role.

Q: How are privileged users managed? A: Admin role is restricted to few users. All admin actions are logged.

Q: How are access requests logged? A: All API requests are logged with user, action, resource, decision, and timestamp.

Q: How long are logs retained? A: Retention is operator-managed. Use database policies plus S3 WORM anchors (AUDIT_ANCHOR_RETENTION_DAYS) for compliance.

Q: How are secrets protected in logs? A: Automatic regex-based redaction before logging. Patterns include passwords, tokens, and keys.

Q: How is the audit log protected from tampering? A: Audit events are cryptographically chained, and optional S3 Object Lock anchors preserve chain integrity.