Security

Real offensive depth

Testing and defence led by a published security researcher with five CVEs, including a CVSS 9.1 Mirai botnet kill-switch.

All security →
Compliance

Audit-ready, fixed scope

SOC 2, ISO, and the Canadian privacy stack, run end to end with an independent auditor.

All frameworks →
Resources

Learn the space

Original research, free tools, and plain-language guides on security and compliance, from a published security researcher.

Read the blog →
Compliance

Why SOC 2 Audits Fail (and How to Avoid It)

SOC 2 audits fail (or slip past their target date) almost always because of evidence gaps, not because the underlying security program is weak. Auditors do not grade intentions. They grade proof, and most companies discover too late that their policies describe a program their logs cannot back up.

The Real Reason SOC 2 Certification Attempts Fail: Evidence, Not Policy

Every company that starts a SOC 2 attestation has a security policy binder. Fewer have twelve months of consistent, timestamped evidence that the controls in that binder were actually followed. Auditors sample. If they pull a random week from your access review log and it is missing, or your offboarding ticket for an employee who left in March has no timestamp, that is a finding. Enough findings and you get a qualified opinion or, in the worst case, the auditor cannot issue a report at all.

This is the gap most founders and CTOs do not see coming. They assume the hard part is writing policies. The hard part is running the business in a way that generates clean, continuous evidence for six to twelve months before the auditor ever shows up.

Common Evidence Gaps That Sink a SOC 2 Audit

Across gap analyses we have run for Canadian tech companies, the same handful of evidence problems show up again and again:

  • Access reviews done once, not quarterly. A single access review at kickoff does not satisfy a Type II window. Auditors want proof the review happened on a cadence, every quarter, for the entire period.
  • Offboarding tickets with no timestamp or approver. If an employee's access was revoked "that week" but there is no ticket showing when and by whom, the control did not happen as far as the auditor is concerned.
  • Change management logs that stop mid-year. Engineering teams are diligent for the first few sprints, then the habit slips once the auditor is not actively watching.
  • Vendor risk assessments that were never re-run. A vendor questionnaire from two years ago does not cover a subprocessor you added last quarter.
  • Incident response plans that have never been tested. A tabletop exercise or a real incident with a documented postmortem is what auditors expect. A PDF nobody has opened is not evidence.

None of these are difficult to fix individually. The problem is that companies usually discover all five at once, in month ten of a twelve-month audit window, with no time left to close them.

Scope Creep and the Type I Versus Type II Trap

A second common failure mode is scoping the audit wrong from the start. Companies often commit to a Type II report (which covers a period of months, typically three to twelve) when what they actually need in the near term is a Type I (a point-in-time snapshot) to close a specific deal. Attempting a Type II before controls have been running long enough guarantees evidence gaps, because you cannot backfill six months of access logs that were never generated.

Scope also creeps when new products, new cloud environments, or new offices get added mid-audit without updating the system description. The auditor's job is to test what was scoped. If the environment moves and the paperwork does not, the mismatch becomes a finding.

The Say-Do Gap: When Policies Don't Match Practice

This is the most common single cause of SOC 2 failures we see: a policy says one thing and the team does another. A password policy requires MFA on all production systems, but one legacy admin panel is exempt and nobody updated the document. A vendor management policy requires security review before onboarding a new SaaS tool, but engineering signed up for a new logging service last month without telling anyone.

Auditors are trained to look for exactly this gap. It is not usually caught by reading the policy. It is caught by asking an engineer to walk through what actually happens, then comparing that to the document. Closing the say-do gap requires either changing the practice to match the policy, or updating the policy to match a defensible practice. Both are fine. Leaving them mismatched is not.

Doing this for a deal? SOC 2 in 75 Days is our fixed-scope readiness track, with the price and the timeline published before you call us. See SOC 2 in 75 Days

Why Canadian Companies Face Extra Timing Pressure

Canadian B2B SaaS companies moving up-market into the US carry an added layer most American peers do not deal with directly: they are managing SOC 2 evidence collection alongside PIPEDA obligations and, for companies with Quebec customers or employees, Law 25 requirements. A privacy impact assessment done for Law 25 compliance can double as supporting evidence for SOC 2's confidentiality criteria, but only if someone maps the overlap deliberately. Left unmapped, teams in Toronto, Waterloo, Ottawa, Vancouver, Calgary, and Montreal end up running two disconnected compliance efforts that duplicate work and still leave gaps in both.

How to Prevent a Failed SOC 2 Audit

The companies that pass cleanly on the first attempt share a few habits:

  • They run a formal gap analysis before booking an auditor, not after.
  • They fix control gaps first, then start the evidence collection clock, not the other way around.
  • They assign one internal owner (not a rotating cast of engineers) responsible for evidence collection every month of the audit window.
  • They treat the system description as a living document, updated whenever the environment changes.
  • They test their incident response plan at least once before the auditor asks to see it tested.

None of this requires a large compliance department. It requires sequencing the work correctly and being honest about where the gaps are before an auditor finds them for you.

Gap Analysis Before You Book the Auditor

The single highest-leverage step is a fixed-scope gap analysis run before you commit to an audit period. TrazTech runs this as a bounded engagement: we assess your current controls against the SOC 2 trust services criteria, flag exactly where the evidence will not hold up under sampling, and scope the remediation work needed to close each gap. Once controls are running cleanly, we coordinate with an independent CPA firm to run the actual attestation, so the same team that found the gaps is not the one grading whether you closed them. You can see how this fits into our broader approach on the compliance solutions page. Fintech companies in particular tend to face this timeline pressure from day one of a sales cycle, and we cover that in more detail on our fintech industry page.

Ready to De-Risk Your SOC 2 Timeline

A SOC 2 audit does not fail because a company is insecure. It fails because evidence was collected inconsistently, scope drifted, or policy and practice diverged somewhere along the way. All three are preventable with the right sequencing. If you are heading into a SOC 2 attestation and want a clear-eyed view of where your evidence will hold up and where it will not, contact traztech for a fixed-scope gap analysis before you book your auditor.

What "Fail" Actually Means on the Report

There is no pass or fail stamp on a SOC 2 report, which is part of why the conversation gets muddled. What you get is an opinion from a CPA firm, and it comes in four flavors. An unqualified opinion says the controls were suitably designed and, for Type II, operated effectively across the period. A qualified opinion says everything held except a named area, and the exception is described in the report your customers will read. An adverse opinion says the controls did not achieve the criteria. A disclaimer says the auditor could not gather enough evidence to form a view at all.

In practice the outcome most companies call a failure is a Type II report carrying two or three exceptions in the Section 4 test results, or an audit that gets paused and re-dated because evidence was not ready. Neither is fatal to a deal on its own. What kills deals is an exception in the control area the buyer cares most about, with no management response next to it explaining what changed. Security reviewers at your customers read the exceptions first, then the complementary user entity controls, then almost nothing else.

How Auditors Sample, and Why Population Completeness Sinks People

Understanding sampling mechanics is worth more than reading the trust services criteria end to end. For a control that runs continuously, such as change approval, the auditor asks you for a population: every production change in the period. They then select a sample, often 25 to 40 items for a high-frequency control, and test each one. For a quarterly control such as an access review, the population is four items and the sample is all four, which means a single missed quarter is a 25 percent exception rate.

The part that surprises teams is that the auditor tests the population itself before touching the sample. If you export a list of 412 pull requests from GitHub, they will want to know how you know that is all of them, and whether the export could have been filtered or edited. This is what auditors call information produced by the entity, and it is where a lot of first-time audits stall. A screenshot of a Jira board is weak evidence because it has no query, no timestamp, and no way to demonstrate completeness. A CSV export with the query string visible, taken by a named person on a dated call with the auditor, is strong evidence for the same control.

Two practical consequences follow. First, decide early which system of record proves each control, and stop generating evidence anywhere else. If change approval lives in GitHub, do not also point the auditor at a Notion page of release notes, because now there are two populations and they will not reconcile. Second, keep the ability to re-run an export with the same parameters months later. Tools that only show the last 90 days of activity are a real problem in a twelve-month window, and it is much cheaper to discover that in month one.

Subservice Organizations, Carve-Outs, and the CUEC Trap

Your system description has to say how you treat the vendors that sit inside your service, and most first-time reports get this wrong in a way the auditor catches late. Under the carve-out method, you name AWS or Azure or your payment processor, state that their controls are excluded from the scope of your report, and rely on their own SOC 2. Under the inclusive method you pull their controls into yours, which almost nobody does voluntarily. Carve-out is fine and normal. What is not fine is carving out a subservice organization and then having no evidence that you monitor it, because the criteria still require you to review their reports and track the exceptions in them.

The related trap is complementary user entity controls. These are the things your report tells your customers they must do for your controls to work, for example enforcing SSO on their own side or managing their own admin role assignments. Write them carelessly and you either push responsibility onto customers in a way their security reviewer will challenge during a deal, or you keep responsibility you did not intend to keep. Read your draft CUEC list as if you were a prospect's vendor risk analyst, because that is who reads it most closely.

What Happens When the Auditor Raises an Exception Mid-Fieldwork

The worst response to an exception is to argue with it. The auditor has a documented test procedure and a sample item that failed it, and lobbying rarely changes that. The productive response has three parts, and you have a narrow window to deliver them.

Start by understanding whether it is a design deficiency or an operating deficiency, because the remediation is completely different. A design deficiency means the control as written could not achieve the criterion even if followed perfectly, and the fix is to redesign the control, which usually means the period for that control restarts. An operating deficiency means the control was fine but somebody skipped it, and here you can sometimes narrow the exception by producing compensating evidence for the same objective. If a quarterly access review was missed in Q2 but you have a full user export and a documented reconciliation performed in early Q3, that may reduce the severity even if it does not remove the exception.

Then write the management response. Every exception in Section 4 can carry your own paragraph explaining the cause, the scope of what was affected, and the corrective action with a date. This is unpaid work that costs nothing and materially changes how the report reads to a buyer. A report with a clearly written management response beside each exception is a document a security reviewer can approve with conditions. A bare exception with silence next to it invites the reviewer to assume the worst.

Finally, decide with your auditor whether to shorten the period. If you are three months into a twelve-month Type II and the exceptions are structural, ending the period early, issuing a shorter Type II or a Type I, and starting a fresh window is often cheaper and faster than pushing through a report you cannot sell. That decision has to be made deliberately, not discovered in month eleven.

The Cost Drivers Nobody Quotes You

Audit fees are quoted against expected hours, and the things that move those hours are almost entirely within your control. The largest driver is the number of distinct systems in the boundary, because each one carries its own access review, its own logging evidence, and its own change process. The second is the number of trust services categories you elect. Security is mandatory. Adding availability, confidentiality, processing integrity, and privacy each pulls in more criteria and more testing, and privacy in particular is a significant jump in effort. Elect only the categories a customer has actually asked for in writing.

The third driver is how organized your evidence is when fieldwork starts. Auditors price disorganization because it genuinely costs them time, and a request list that takes four rounds of follow-up instead of one is billable in most engagement letters. On one engagement the audit firm reduced its own quote by $11,000 once the readiness position was documented, and the mechanism was nothing more exotic than showing the firm exactly which system proved which control before they scoped the work. The auditor vetting write-up covers how that conversation was run.

The fourth is bridge letters. If your report period ends in September and a customer signs in January, they will ask for a bridge letter covering the gap. That is a management assertion, not an auditor product, but writing one honestly means you must have kept your controls running in a period nobody was testing. Teams that treat the report date as a finish line find the bridge letter awkward to sign.

When You Should Not Pay Anyone for Readiness Help

If you have fewer than fifteen people, one cloud account, a single identity provider with SSO and MFA already enforced, and one engineer who genuinely enjoys process work, you can very likely run a first SOC 2 without a consultant. Buy an auditor, buy a low-tier compliance tool if you want the evidence collection automated, and spend the money you saved on the penetration test instead. The free traztech Workspace will hold your control mapping, evidence log, and treatment dates well enough for a boundary that size.

You should also not buy readiness help if your problem is a single named blocker rather than a program. If a prospect asked for a pentest report and nothing else, buy a pentest. If they asked whether you encrypt backups, answer the question. Companies routinely spend months on a full attestation when the deal in front of them needed one artifact and a security questionnaire answered properly.

Where outside help earns its cost is when the boundary spans multiple products or clouds, when the audit window is already running and evidence is thin, when nobody internally can be pulled off the roadmap for two days a week, or when a previous attempt produced exceptions you now have to explain to the same buyer. Those situations are about sequencing and authority rather than knowledge, and they are what our compliance work and the fixed-scope tracks on the pricing page are built around.

Doing this for a deal? SOC 2 in 75 Days is our fixed-scope readiness track, with the price and the timeline published before you call us.

See SOC 2 in 75 DaysOr talk about a retainer

Before you go

Want the rest of this by email?

If this was useful, I send a few short notes on SOC 2 and compliance. Unsubscribe in one click, and replies reach me directly.

From Jacob Masse, principal of traztech. No spam, unsubscribe in one click.

Want a second opinion on where you stand?

We run SOC 2, ISO 27001 and the rest of the compliance stack for startups and SMEs, and the security testing that sits behind it. The first call is free, and we will tell you if you are not ready to start yet.

Book a free call

Track record

Who is actually doing the work

5
Published CVEs, including a CVSS 9.1
76
Controls taken from nothing to a passed SOC 2 Type II
Zero
Exceptions on that Type II report
20+
Penetration testing engagements delivered

Published vulnerability research

Five published CVEs. CVE-2024-45163 (CVSS 9.1) is a flaw in the Mirai botnet itself, which gave defenders a way to shut down attacker infrastructure. CVE-2026-42626 takes HP ENVY 5000 printers offline from any unauthenticated device on the same network.

A SOC 2 Type II built from nothing

At Humera, a venture-backed US security company, Jacob built the compliance programme in-house from nothing: no report, no policies, no documented controls. It ended in a Type II attestation across 76 controls with zero exceptions, on a team of 15.