Nothing is broken yet.

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

Most code survives the demo. We check whether it survives the year.

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 three ways: the way an attacker will, the way the next developer will, 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. An audit 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?

That question has a number attached. Every finding we raise 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 of them shows up in a demo.

If an audit comes back as a list of opinions with no line numbers, it isn't an audit. It's a second opinion with better formatting.

What’s under the hood

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

Full data privacy & compliance

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

Full data privacy & compliance

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 linting, 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.

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.

Stop guessing. Start measuring.

The expensive codebase is usually the tidy one.

This year our tidiest audit carried the heaviest monthly maintenance, and the messiest the lightest. Vulnerability count predicted nothing. Tests, CI and documentation predicted everything.



So we do:

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.
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.
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.
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.
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. 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.