title: SOC 2 Compliance

SOC 2 Compliance

SOC 2 (System and Organization Controls 2) evaluates an organization's controls against the AICPA Trust Services Criteria. Vigo maps its technical controls to 32 SOC 2 criteria across all five Trust Services categories.

Coverage Summary

Category Criteria Mapped Status
CC1 — Control Environment 3 Satisfied / Partial
CC2 — Communication and Information 2 Satisfied
CC3 — Risk Assessment 3 Satisfied / Partial
CC4 — Monitoring Activities 2 Satisfied
CC5 — Control Activities 3 Satisfied
CC6 — Logical and Physical Access 6 Satisfied
CC7 — System Operations 5 Satisfied
CC8 — Change Management 1 Satisfied
CC9 — Risk Mitigation 1 Satisfied
A1 — Availability 2 Satisfied / Partial
C1 — Confidentiality 2 Satisfied
PI1 — Processing Integrity 2 Satisfied

Quick Start

# Copy SOC 2 modules and pre-built role
cp example-configs/stockpile/modules/compliance/soc2/*.vgo.example /srv/vigo/stockpile/modules/
for f in /srv/vigo/stockpile/modules/soc2-*.vgo.example; do mv "$f" "${f%.example}"; done
cp example-configs/stockpile/compliance-roles.vgo.example /srv/vigo/stockpile/compliance-roles.vgo

Assign the soc2 role to nodes in your node mappings:

envoys:
  - match: "*.example.com"
    roles: [soc2]

Then publish and verify: vigocli config publish && vigocli report soc2

Control Mapping

CC1 — Control Environment (COSO Principles)

Criterion Title Status Evidence
CC1.1 Integrity and Ethics Partial Tamper-evident audit trail enforces accountability; organizational ethics policy required
CC1.2 Board Oversight Partial Compliance dashboards provide oversight visibility; board governance is organizational
CC1.3 Management Structure Satisfied RBAC with 13 fine-grained permissions, admin/viewer roles, segregation of duties

CC2 — Communication and Information

Criterion Title Status Evidence
CC2.1 Internal Communication of Objectives Satisfied Config-as-code documents desired state; drift detection identifies deviations

| CC2.2 | Internal Communication of Policies | Satisfied | YAML modules are the executable policy; version-controlled, auditable |

CC3 — Risk Assessment

Criterion Title Status Evidence
CC3.1 Risk Identification and Analysis Satisfied Continuous drift detection, 5-level compliance status, fleet dashboards
CC3.2 Fraud Risk Assessment Partial Tamper-evident audit trail detects unauthorized changes; fraud risk assessment is organizational
CC3.3 Change Risk Assessment Satisfied Blast radius limits, compliance threshold monitoring, auto-rollback on regression

CC4 — Monitoring Activities

Criterion Title Status Evidence
CC4.1 Ongoing and Separate Evaluations Satisfied Continuous convergence on every agent check-in; compliance monitor every 60s
CC4.2 Communication of Deficiencies Satisfied Webhook + SMTP alerts on compliance threshold breaches, drift, stale nodes

CC5 — Control Activities

Criterion Title Status Evidence
CC5.1 Selection of Control Activities Satisfied 73 idempotent resource executors enforce desired state across all platforms
CC5.2 Technology General Controls Satisfied mTLS, ED25519 signatures, AES-256-GCM encryption, bcrypt password hashing
CC5.3 Deployment of Control Activities Satisfied Stage → publish workflow with modlint validation, change approval, audit trail

CC6 — Logical and Physical Access Controls

Criterion Title Status Evidence
CC6.1 Logical Access Security Satisfied Authentication required (basic/OIDC/isowebauth), TOTP MFA, 15-min idle timeout
CC6.2 User Registration and Authorization Satisfied Per-user accounts with unique UUIDs, role-based defaults, admin approval required
CC6.3 Role-Based Access and Least Privilege Satisfied 13 permissions: fleet.read, config.publish, users.manage, etc.
CC6.6 Restriction of Access to System Assets Satisfied File executor enforces permissions/ownership; firewall executor enforces network access
CC6.7 Management of Credentials Satisfied 12-char complexity, bcrypt hashing, AES-256-GCM storage, API tokens (vgot_ prefix)
CC6.8 Prevention of Unauthorized Software Satisfied Package pinning, repository enforcement prevents unauthorized changes

CC7 — System Operations

Criterion Title Status Evidence
CC7.1 Detection of Security Events Satisfied Continuous drift detection, compliance monitoring, failed login tracking with IP
CC7.2 Monitoring for Anomalies Satisfied Relapsed/diverged detection (2/3-run threshold), compliance threshold alerts
CC7.3 Evaluation of Security Events Satisfied Tamper-evident audit trail with event classification; SIEM export
CC7.4 Response to Security Events Satisfied Incident response plan, emergency access procedure, remediation workflow
CC7.5 Recovery from Security Events Satisfied Encrypted backups, disaster recovery, config-as-code rapid rebuild

CC8 — Change Management

Criterion Title Status Evidence
CC8.1 Change Management Process Satisfied Stage → live separation, git-tracked, modlint validation, change approval

CC9 — Risk Mitigation

Criterion Title Status Evidence
CC9.1 Risk Mitigation Activities Satisfied Automated remediation, blast radius limits, auto-rollback on compliance drop

A1 — Availability

Criterion Title Status Evidence
A1.1 Availability Commitments Satisfied Litestream continuous backup, disaster recovery docs, peer replication for HA
A1.2 Environmental Protections Partial Agent offline convergence (cached policy); physical protections are organizational

C1 — Confidentiality

Criterion Title Status Evidence
C1.1 Identification of Confidential Info Satisfied secret: prefix identifies sensitive values; never in logs, config, or DB plaintext
C1.2 Disposal of Confidential Info Satisfied Documented decommissioning with cascade delete and secure media disposal

PI1 — Processing Integrity

Criterion Title Status Evidence
PI1.1 Data Processing Accuracy Satisfied Idempotent executors check before acting; ED25519 signatures verify integrity
PI1.2 Monitoring of Processing Satisfied SHA-256 hash chain audit trail tracks all processing events

Generating SOC 2 Reports

CLI

# JSON report
vigocli report soc2

# HTML report (printable, Vigo-branded)
vigocli report soc2 --format html --output soc2-report.html

REST API

# JSON
curl -s https://vigo:8443/api/v1/report/soc2 | jq .

# HTML
curl -s https://vigo:8443/api/v1/report/soc2.html > soc2-report.html

SOC 2 Type I vs Type II

  • Type I — Point-in-time assessment of control design. Vigo reports provide the evidence snapshot.
  • Type II — Assessment over a period (typically 6-12 months). Schedule weekly reports via cron and provide the archive to your auditor:
# Weekly SOC 2 evidence snapshot
0 2 * * 1 /usr/local/bin/vigocli report soc2 --format html \
  --output /evidence/soc2-$(date +\%Y\%m\%d).html

Cross-Reference

SOC 2 HIPAA HITRUST Description
CC6.1 164.312(a)(1) 01.b Access control
CC6.3 164.312(a)(1) 01.c Least privilege
CC6.7 164.308(a)(5)(ii)(D) 01.d Password management
CC7.1 164.312(b) 06.g Security event detection
CC7.3 164.312(b) 09.q Audit logging
CC8.1 164.312(e)(2)(i) 09.b Change management
CC5.2 164.312(a)(2)(iv) 10.f Cryptographic controls
CC7.5 164.312(a)(2)(ii) 12.c Recovery procedures

Criteria Not Covered

SOC 2 criteria that require organizational policies (not technical controls):

  • CC1.4-CC1.5 — Commitment to competence, accountability (HR policies)
  • CC2.3 — External communication (customer-facing communication)
  • CC6.4-CC6.5 — Physical access controls (data center)
  • P1 — Privacy criteria (consent, notice, data subject rights)