← Journal
03 Jul 2026 · 9 min read

Your startup doesn't need a SOC 2 audit, it needs a threat model

SOC 2, ISO 27001, GDPR readiness — startups collect certifications like badges, spending months and tens of thousands on audits that do not make them more secure. Here is what actually does.

A founder raised Series A and the first thing their investor said was: “You need SOC 2.” So they spent six months and forty thousand dollars on a SOC 2 Type I audit. They filled out spreadsheets, wrote policies nobody would read, and hired a compliance officer whose job was to make auditors happy. At the end, they had a report that said they had controls in place. They still had not threat-modelled their application. They did not know what their highest-value assets were, who their most likely attackers were, or what the realistic attack paths through their infrastructure looked like.

They were certified. They were not secure.

The compliance trap

Compliance frameworks are not security. They are evidence of security, and often weak evidence at that. SOC 2 Type I attests that you have controls at a point in time. Type II attests that you operated them over a period. Neither tells you whether those controls actually reduce risk in your specific system, against your specific threats, for your specific users.

The trap is that compliance feels like progress. It produces artifacts: policies, audit reports, evidence collection, a dashboard with green checkmarks. Engineering teams spend weeks answering auditor questions instead of fixing vulnerabilities. The audit becomes the goal, and security becomes a side effect that may or may not happen.

I have audited infrastructure for companies that had SOC 2 reports and still ran containers as root, had no network policies in their Kubernetes cluster, and stored database credentials in environment variables in plaintext. The audit did not catch these because the audit checked whether they had a policy that said “do not run containers as root.” They had the policy. They just did not enforce it.

What a threat model actually gives you

A threat model is simpler than compliance and more useful. It answers four questions:

  1. What are we building?
  2. What can go wrong?
  3. What are we going to do about it?
  4. Did we do a good enough job?

That is it. No spreadsheets, no auditor fees, no certification. Just a structured conversation about what your system does, where it is vulnerable, and what you are doing about it.

For a startup running a Kubernetes cluster on AWS with a web frontend, a Postgres database, and a background worker, a threat model might take two hours and produce the following:

  • Asset: Customer data in Postgres. Highest value. If it leaks, the company is done.
  • Threat: A compromised pod with database access exfiltrating data via an outbound connection.
  • Control: Network policy restricting egress from the database pod to known endpoints only. Pod security standards preventing privilege escalation. Database credentials mounted as secrets, not environment variables.
  • Gap: No egress firewall on the cluster. Any pod can call any external endpoint.
  • Action: Implement Calico or Cilium network policies. Block all egress by default. Allow specific endpoints per namespace.

That took ten minutes to think through and it identifies a real, exploitable gap that a SOC 2 audit would never find. The audit checks whether you have a data classification policy. The threat model checks whether someone can actually steal your customer data.

The minimum viable security baseline

For startups that want to be secure without spending six months on compliance, here is the baseline I recommend:

Infrastructure:

  • No containers running as root. Enforce via Pod Security Standards or Kyverno.
  • Network policies on every namespace. Default deny, explicit allow.
  • Secrets in a real secret manager (Vault, AWS Secrets Manager), not environment variables.
  • Container images from a private registry, scanned for vulnerabilities.
  • Cluster auto-upgrades enabled. Do not run EOL Kubernetes versions.

Access:

  • No shared credentials. Every human gets their own account.
  • RBAC scoped per namespace. No cluster-admin for developers.
  • Audit logging enabled. You should be able to answer “who did what to what and when” for any production change.
  • MFA on everything. No exceptions for founders.

Code:

  • Dependency scanning in CI. Trivy or Snyk, does not matter which.
  • Signed deployments. Cosign if you want to be thorough.
  • No secrets in repos. Pre-commit hooks that scan for leaked credentials.
  • PR reviews required for production changes. No direct commits to main.

That baseline takes two to four weeks to implement, costs almost nothing, and makes you more secure than 80% of the companies I audit. A SOC 2 audit on top of that baseline is meaningful. A SOC 2 audit without it is paper.

When you actually need compliance

You need SOC 2 or ISO 27001 when a customer or partner requires it as a condition of doing business. Enterprise procurement teams ask for it. Some regulated industries require it. If you are selling to banks, healthcare, or government, compliance is a market access tool, not a security tool.

The mistake is doing compliance before you have done security. The right order is:

  1. Threat model your system.
  2. Fix the gaps you find.
  3. Implement the baseline above.
  4. Then, if a customer requires it, get the certification.

When you do it in that order, the audit is fast because you already have the controls. The policies you write for the auditor describe what you already do. The evidence collection is automated because your logging and audit trails are already in place.

When you do it in the wrong order, you write policies that describe what you wish you did, you scramble to implement controls two weeks before the audit, and the certification becomes a fiction that everyone maintains because nobody wants to admit the gap between the report and reality.

The question I ask first

When a client says they need to be SOC 2 compliant, I ask: “What are you trying to protect, and from whom?”

If they can answer that question, we threat model first and certify second. If they cannot answer it, I tell them to figure it out before spending money on an audit. An auditor will not ask you that question. They will ask you whether you have a policy titled “Information Security Program.” That is a different question entirely.

Threat model vs SOC 2: Left side shows SOC 2 audit with policies checked but real security gaps unchecked. Right side shows threat model with assets, threats, controls and gaps identified in 2 hours.