๐งฑ SOC 2 Readiness
Purpose: surface what we already do that maps to SOC 2 Trust Services Criteria, what's missing, and what the realistic path looks like. Meant for internal use before engaging Vanta / Drata / an auditor.
What SOC 2 actually buysโ
- Credibility with B2B buyers, coaching academies, federation partners.
- A structured excuse to formalise controls that we informally already do.
- Shortens security questionnaires from clients by 80%.
What SOC 2 does not buyโ
- GDPR compliance (separate regime, but substantial overlap).
- Better security on its own โ SOC 2 is documentation of controls, not a magic shield.
- Fast turnaround. Expect 3โ6 months to a Type I, 6โ12 months to a Type II.
Trust Services Criteria โ where we standโ
Rough self-assessment. ๐ข in place ยท ๐ก partial ยท ๐ด missing.
Security (CC โ Common Criteria, mandatory for all SOC 2)โ
| CC | Control | Status | Evidence / gap |
|---|---|---|---|
| CC1.1 | Board / leadership demonstrates integrity + ethical values | ๐ก | Values documented informally; need a signed Code of Conduct |
| CC1.2 | Governance structure with oversight | ๐ก | Small team; governance is implicit. Doc it. |
| CC2.1 | Information security policy | ๐ด | No formal InfoSec policy yet โ draft required |
| CC2.2 | Internal comms re: security | ๐ข | Slack #security channel, on-call rota |
| CC2.3 | External comms (customers, regulators) | ๐ข | dpo@, privacy@, accessibility@ live |
| CC3.1 | Risk assessment process | ๐ก | DPIA exists for privacy risk (compliance/dpia.md); need broader security risk register |
| CC3.2 | Identifies + analyses risk (fraud, IT) | ๐ด | Not formal yet |
| CC4.1 | Ongoing monitoring | ๐ก | Firebase + Google Cloud logging; no SIEM / alerting runbook |
| CC5.1 | Logical + physical access controls | ๐ข | IAM on Firebase; no physical offices to secure |
| CC6.1 | Logical access โ authentication | ๐ข | Firebase Auth; Sign in with Apple; 2FA on all admin accounts |
| CC6.2 | Prior to issuing credentials | ๐ข | Developer onboarding checklist (informal) โ needs formalisation |
| CC6.3 | Access to data / functions | ๐ข | Firestore + Storage rules; Cloud Function admin isolation |
| CC6.6 | Transmission + disposal of confidential info | ๐ข | TLS 1.3 everywhere; Storage objects age-out at 30 days |
| CC6.7 | System boundaries | ๐ก | Architecture doc at architecture/overview.md โ needs a security-boundary overlay |
| CC6.8 | Malware protection | ๐ข | N/A for server-side Cloud Functions; macOS devs use XProtect; no Windows machines |
| CC7.1 | Threat detection | ๐ก | Firebase App Check available but not enforced on all callables |
| CC7.2 | Incident response | ๐ข | compliance/breach-response.md is the runbook |
| CC7.3 | System monitoring | ๐ก | Basic Cloud Logging; no uptime pager for non-prod alerts |
| CC7.4 | Incident recovery | ๐ก | Backup strategy relies on Firestore point-in-time recovery; not tested |
| CC7.5 | Security reviews | ๐ด | No recurring pen-test / security review cadence |
| CC8.1 | Change management | ๐ก | Git + PR reviews; no formal change-advisory log |
| CC9.1 | Risk mitigation (identified risks) | ๐ก | Tracked in commit history; needs a risk register |
| CC9.2 | Vendor + sub-processor oversight | ๐ก | Sub-processor DPAs in flight (see compliance/dpas/) |
Availability (optional category โ relevant for subscription SaaS)โ
| Criterion | Status | Gap |
|---|---|---|
| A1.1 Capacity planning | ๐ก | Firebase auto-scales; RunPod pods autoscale; no documented capacity model |
| A1.2 Recovery objectives (RTO / RPO) | ๐ด | Not defined |
| A1.3 Recovery testing | ๐ด | Not performed |
Confidentialityโ
| Criterion | Status | Gap |
|---|---|---|
| C1.1 Classification + restriction | ๐ข | Data classification implicit in Firebase rules + compliance docs |
| C1.2 Disposal | ๐ข | 30-day Storage aging + account-deletion cascade via deleteUserDocument |
Processing Integrity + Privacyโ
- Processing Integrity: not a priority target โ our processing is not financial / transactional in the way SOC 2 PI intends.
- Privacy: largely covered by the GDPR alignment and our privacy docs. If a customer asks for SOC 2 Privacy, we'll layer it on.
Gap remediation planโ
Ordered by effort ร impact.
- Formal InfoSec policy (CC2.1) โ 1-day doc, blocks several downstream items.
- Security risk register (CC3.1 + CC9.1) โ spreadsheet / Notion; quarterly review.
- Code of Conduct + acknowledgement (CC1.1) โ short doc, signed on hire.
- Change management log (CC8.1) โ GitHub issue template + release-notes discipline.
- App Check enforcement on all
https.onCallendpoints (CC7.1) โ minor code change. - Backup + recovery test (A1.3 + CC7.4) โ one scheduled exercise; document results.
- Security review cadence (CC7.5) โ either annual pen-test (~$8โ15k) or quarterly Dependabot + advisory review (free).
- SIEM / alerting on Cloud Logs (CC4.1 + CC7.3) โ lightweight: Cloud Logging log-based metrics โ alerting policies.
Engagement path (when ready)โ
- Pick a compliance automation platform: Vanta ($12โ20k/yr), Drata ($15โ25k/yr), Secureframe, or Thoropass. They connect to Firebase + GitHub + 1Password + Slack and auto-collect evidence.
- Remediate gaps over 1โ3 months using the platform's checklist.
- Engage a CPA firm for the attestation: PrescientAssurance, Sensiba, A-LIGN, Barr Advisory. Expect $8โ25k for Type I.
- Type I โ Type II transition: six months of operational evidence = Type II readiness.
Current postureโ
- Ready for a security questionnaire: yes โ could answer 80% of a typical SaaS DDQ today from the docs in this directory.
- Ready for a SOC 2 Type I attestation: no โ ~6โ8 weeks of remediation + platform setup needed first.
- Should we start now: only if there is a specific B2B sale gated on SOC 2. Otherwise keep the readiness doc fresh and pull the trigger when revenue justifies the ~$25โ45k first-year spend.
Approver sign-offโ
| Role | Name | Decision | Date |
|---|---|---|---|
| Founder / CEO | (to assign) | โ | โ |
| Eng Lead | (to assign) | โ | โ |
Draft โ not yet approved.
Was this page helpful?