Nothing is broken yet.

That is the most expensive sentence in software.
Read a real finding

Most code survives the demo. Our software audit services exist for the gap between those two sentences.

You've got a platform somebody else built, and nobody left a map
You've got a test suite that is "on the roadmap"
You've got a board asking whether it's safe to scale, and nobody in the room who can answer that with a straight face

Most code reviews come back saying the code is fine. Fine is not a measurement. Fine is what everyone said about the last platform too, right up until the first weekend it had to carry real traffic.

We read it four ways: the way an attacker will, the way the next developer will, the way a regulator will when somebody files a deletion request, and the way your CFO will when the invoice marked "unexpected" arrives.

What is a production-readiness audit, really?

It isn’t a code review and it isn’t a penetration test. A code review asks whether the code is tidy. A pen test asks whether one door is locked. A questionnaire records what you say your system does with personal data; an audit checks whether the code agrees with you.

It asks the only question that matters once your name is on the deployment: can this system be run, changed and defended by people who did not write it? Defended now includes defended to a regulator.
A data privacy audit is the same exercise pointed at personal data.

Policies are written in prose. Systems are written in code. That gap is where enforcement notices come from, and it is visible in the repository. So we trace the data, not the documentation:

  • whether a withdrawn consent stops the processing, or only hides the checkbox,
  • retention and deletion as implemented rather than promised, traced end to end: what deletes, what archives, and what survives in backups, logs and a vendor's bucket,
  • special-category data in logs and event payloads, where nobody declared it,
  • for registered data brokers: the DROP cycle, hashing and status reporting.

Every finding, security or privacy, carries a file, a line, a severity and the steps to reproduce it. Every audit ends with a maintenance figure in person-days per month, because “it works” and “it is affordable to keep working” are two different findings and only one shows up in a demo. The regulation-by-regulation version of that list, written for people who have to plan around it, is our compliance checklist.

An audit that comes back as opinions with no line numbers is a second opinion with better formatting. That goes for privacy findings too.

Split-level shot of iceberg, not all you see at first point and this os how our software audit services read a system.

What’s under the hood

Binoculars that let you see more - just like our software audit services.

We read code the way auditors read ledgers.

No vibes. Line numbers.

Security findings with severity and CVSS

Dependency and supply-chain risk (SBOM)

Authorisation and tenant isolation

Input validation and injection surface

CI/CD pipeline and release safety

Architecture, coupling and blast radius

Infrastructure, secrets management, deploy path

Documentation and the cost of onboarding one developer

Exposed secrets, keys and credentials

Authentication and session handling

GDPR exposure, including special-category data

CCPA, CPRA, the Delete Act and DROP deletion requests, and the state patchwork behind them

Consent capture versus consent enforcement in code

Retention and deletion, as implemented rather than as documented

Processors, sub-processors and where the data actually goes

Test coverage and the gaps it hides

Static analysis, linting and type safety

Database schema, indexing and query cost

Observability - logs, metrics, alerting

Maintenance load, in person-days per month

Security findings with severity and CVSS

Dependency and supply-chain risk (SBOM)

Authorisation and tenant isolation

Input validation and injection surface

CI/CD pipeline and release safety

Architecture, coupling and blast radius

Infrastructure, secrets management, deploy path

Documentation and the cost of onboarding one developer

Exposed secrets, keys and credentials

Authentication and session handling

GDPR exposure, including special-category data

CCPA, CPRA, the Delete Act and DROP deletion requests, and the state patchwork behind them

Consent capture versus consent enforcement in code

Retention and deletion, as implemented rather than as documented

Processors, sub-processors and where the data actually goes

Test coverage and the gaps it hides

Static analysis, linting and type safety

Database schema, indexing and query cost

Observability - logs, metrics, alerting

Maintenance load, in person-days per month

Why Sanddev?

Your code is read by people who built the things it depends on

Our founders came out of Nokia, Tieto and Microsoft, and have been running Sanddev for a decade. All senior engineers, no juniors practising on your platform, and no audit signed off by someone who has never had to carry a release at two in the morning.

We measured the thing nobody measures

The cleanest codebase we audited this year (128 files, one low-severity finding) costs 10 to 15 person-days a month to maintain. A far messier platform with seven findings costs two to four. Maintenance is driven by missing tests, CI and documentation, not by vulnerabilities. Every report we write now carries that number, because it's the one your CFO feels.

We've been the vendor on the other side of this report

We build ad servers, DSPs, trading platforms and AI systems that run in production - OpenAI recognised us for processing over ten billion tokens in live workloads. So we can tell a deliberate shortcut from a panicked one. Auditors who have never shipped under a deadline flag everything with equal alarm, which is how you end up with 200 findings and no decisions.

We have built the consent layer, not just read it

Our day job is building consent frameworks, identity graphs, suppression lists and deletion pipelines that have to work at traffic rather than in a policy document. So when we read your consent flow, we are reading something we have had to make survive production ourselves. That is a different kind of attention from reading it against a checklist, and it is the reason our privacy findings come with a file and a line instead of a paragraph number.

You choose who does the repairs

We'll fix what we found, on a fixed scope quoted from the report. Or a senior engineer of ours supervises your own team doing it - cheaper, and the knowledge stays in your building. Hiring the auditor to sell the remedy creates an incentive neither side enjoys explaining. So we offer the other door.

Technical due diligence before a funding round

Technical due diligence is the same audit read by a different audience. An investor does not want a severity list; they want to know whether the thing they are buying can be run by someone other than its author, what it costs to keep running, and which findings become their problem after closing. We produce one report that answers both: the engineering version your CTO acts on, and the summary your board and the other side's advisors can read without a translator. Turnaround is usually one to two weeks, which is the window most rounds leave for it.

Stop guessing. Start measuring.

How a software audit runs, from scope to re-test

A striped depth marker standing in shallow water, the measure-before-you-quote step in our software audit services.
1
Scope before price: you give us read access and a file count. We tell you which band you're in and what it costs before anyone signs anything.
A diving mask and snorkel: the automated scan, then a senior engineer looking properly.
2
The audit: automated scanning, then manual review by a senior engineer. Every finding reproduced by a second pair of eyes before it reaches your report.
A postcard, standing for one audit report both your CTO and your board can read.
3
The readout: one document your CTO can act on this week and your board can read without a translator - findings, severities, effort estimates, and the maintenance figure.
A wooden signpost with arrows pointing two ways, the two fixed prices you choose between after the report.
4
Stage two, your call: we fix it on a fixed scope quoted from the findings, or our senior engineer supervises your team while they fix it. Same report, two prices, no pressure toward the expensive one.
An hourglass with sand running through it, the quarterly re-test that keeps our software audit services honest.
5
The re-test: we re-run the audit and show what moved - quarterly, if you want it to stay honest.

If it's going to production and your name is on it, you're our people

CTOs who inherited a platform built by somebody cheaper. Founders two weeks from technical due diligence. Teams about to scale a system nobody has ever stress-read. Boards who were promised a number and got a reassurance. Companies whose previous vendor has gone quiet. Data protection officers holding a policy they have no way to verify. Registered data brokers with a 45-day clock running and no independent read on whether the pipeline behind it works. Anyone who has been told "it's fine" by the people who wrote it.

Not sure you're in that list? Send the repository anyway. We'll tell you if there's nothing worth charging you for.

What it costs, before you ask 🪙

Need it cheaper? We'll tell you which findings can safely wait.