Skip to main content
Technical Due Diligence: Prep Your Codebase
Strategy

Technical Due Diligence: Prep Your Codebase

The term sheet is agreed, and then the investor's technical adviser emails: could they have read access to the repository, an architecture overview, and a list of everyone who has ever contributed code? For many founders it is the first time anyone outside the team has looked under the bonnet. Here is what reviewers examine, what they forgive, and how to prepare.

What do investors check in technical due diligence?

Investors check that your company owns its code outright, that nothing in it creates legal or security liability, and that the product can be run and scaled by people other than the ones who built it.

There is no fixed standard: a seed investor might send an adviser for an hour's call, while an acquirer might commission a specialist review lasting weeks. Nobody is grading code style. Reviewers look for anything that makes the company worth less than it appears, and for evidence that you know your weaknesses and have a credible plan for them.

The commercial side — traction, retention, unit economics — is covered in whether your SaaS is ready to raise.

The technical due diligence checklist

What reviewers commonly probe, and the first fix we'd make:

AreaWhat reviewers look forRed flagQuick fix
IP ownershipAll code assigned to the company in writingAgency or freelancer code with no assignmentConfirmatory assignments from every contributor
RepositoriesA company-owned organisation, current team onlyRepos on a personal or agency accountTransfer repos, prune access, enforce MFA
Open-source licencesA dependency and licence inventoryUnreviewed copyleft (GPL, AGPL) codeLicence scan; replace or isolate problem packages
SecuritySecrets out of the code, dependencies patched, MFA everywhereKeys in git history, known critical vulnerabilities, shared admin loginsRotate keys, switch on scanning, enforce MFA
ArchitectureA clear view of what breaks first at 10xNo diagram, or "we'll rewrite it after the round"A one-page overview with known limits
Tests and CICritical paths tested on every changeNo tests; deploys from someone's laptopCI plus tests on auth, payments and the core flow
DocumentationNew engineers productive within daysSetup knowledge in one person's headA README from clone to running app
Infrastructure and costCompany-owned accounts, spend in line with usageProduction in the agency's cloud accountTransfer accounts; know the bill without credits
Data protectionWhat personal data you hold, where and whyNo DPAs; production data on laptopsData map, processor DPAs, an accurate privacy policy
Key-person risk (bus factor)Knowledge spread beyond one personOnly one developer can deployA company password manager and a second deployer

On licences, permissive ones such as MIT and Apache 2.0 rarely worry anyone. Copyleft can: the GPL may require you to publish source code when you distribute software built on it (a mobile app counts), and the AGPL can extend that to software used over a network, which covers every SaaS product. Whether either applies depends on how the code is combined with yours, so reviewers want proof someone has checked.

Who owns your code?

Your company owns its code only if everyone who wrote it was an employee at the time or has signed a written assignment — and gaps here are the most common deal-blocker in technical diligence.

In the UK, copyright belongs to whoever wrote the code unless they wrote it as an employee in the course of their employment. That default catches:

  • Agencies and freelancers. Paying the invoice does not transfer ownership; without a signed assignment, they may still own your product.
  • Founders. Code written before incorporation belongs to the founder personally, and without an employment contract, later code may too.
  • Early helpers. The friend who built the backend one weekend is an author too.

Run git shortlog -sne --all on every repository. Each name — plus anyone whose work arrived as a zip file — should map to an employment contract or a signed assignment. Where one is missing, get a confirmatory assignment signed now, while relationships are friendly. Discovering an unreachable contractor during exclusivity is far worse.

For new work, fix it in the contract; our software development contract checklist covers the clauses.

General guidance, not legal advice. Have a solicitor draft anything material.

What counts as a red flag versus normal technical debt?

Normal technical debt is a cost a reviewer can see and size; a red flag is a risk they can't bound — usually legal, security, or a dependency on one person.

Every startup codebase carries debt, and experienced reviewers expect it. Messy modules, thin tests outside the critical paths, manual operational steps: none is a red flag on its own. A tidy monolith reads as sound judgement, not weakness — see monolith vs microservices for an MVP.

Red flags are different in kind:

  • Anything legal. Unassigned IP, unreviewed copyleft, personal data with no lawful basis.
  • Anything that exposes customers. Secrets in the repository, missing authorisation checks, no tenant isolation.
  • Anything hidden. Undisclosed debt reads as concealment. The same debt in a one-page register, with a plan per item, reads as competence.
  • Anything that blocks what the round funds. If the money is for enterprise sales and the product can't pass a security questionnaire, that isn't debt. It's the roadmap.

Tempted to start again? Weigh up whether to rebuild or refactor your MVP first. A rewrite announced mid-raise tells a reviewer their asset is about to be thrown away.

What does good enough look like at seed versus Series A?

There is no official bar, but as a rule of thumb it rises with the cheque:

AreaGood enough at seedReasonable by Series A
SecurityNo secrets in code, MFA on, criticals patchedScanning in CI, access reviews, a pen test if selling to enterprises
Tests and CICritical paths tested, automated deploysTests enforced in CI, a staging environment
DocumentationA README that gets an engineer runningArchitecture notes and incident runbooks
Key-person riskCompany-owned credentials, two people who can deployNo system that only one engineer understands

Ownership is the exception: it must be clean at every stage.

How far ahead should you prepare?

Start two to three months before you plan to raise, and start on IP ownership immediately, because it depends on people you don't control.

Diligence usually happens after a term sheet, against a deadline — the worst time to find a missing assignment or a leaked key. Most technical fixes fit into a few sprints alongside feature work, but tracking down a freelancer from three years ago can take weeks.

Build a technical data room as you go — architecture overview, licence inventory, contributor contracts, debt register — so a reviewer gets an organised folder on day one.

Then stay clean: security scanning, uptime monitoring and backups are what our fixed-price maintenance plans cover. If you're earlier than all this — still working out how to fund your MVP — just set things up properly from the first commit.

Your pre-due-diligence checklist

Copy this and work through it before you raise:

  • Every name in git shortlog -sne --all, founders included, has a contract or IP assignment
  • Repositories and cloud accounts owned by the company, former contributors removed
  • MFA on code hosting, cloud, email, payments and the domain registrar
  • No secrets in the code or its history; anything ever committed rotated
  • Dependency and secret scanning on, criticals patched, GPL and AGPL usage reviewed
  • One-page architecture overview, including what breaks first at 10x
  • CI running tests on auth, payments and the core flow
  • A README that takes a new engineer from clone to running app
  • Data map, processor DPAs, and a backup you have actually restored
  • Two people can deploy; a one-page debt register with a plan per item

Frequently asked questions

Can technical debt kill a funding round?

Ordinary debt rarely does — hidden debt, security holes and ownership gaps are what stop deals. Reviewers expect rough edges in a young codebase. Debt turns dangerous when it is undisclosed, when it blocks the roadmap the money is for, or when fixing it means an unbudgeted rewrite.

Should I get an independent code audit before raising?

Yes — an audit before the round finds the problems while you still control the timeline. Better to hear about a leaked key from someone you hired than from someone deciding whether to invest. A short paid audit is how we'd start: a few days of senior engineering time, ending in a written, prioritised fix list that our software development team can work through, or hand to yours.

What if an agency or freelancer built our product?

Get a signed IP assignment from them first — without one, they may still own your code. Most reputable agencies sign a confirmatory assignment without fuss once invoices are settled. Ask at the same time for repository and cloud account transfers, credentials and documentation, and involve a solicitor early if they won't cooperate.

The bottom line

Technical due diligence is not an exam you pass with perfect code. Own your code outright, keep secrets out of the repository, know your licences, write down your architecture and your debt, and make sure more than one person can run the product.

Raising in the next six months? Book a free scoping call and we'll scope a pre-due-diligence code audit: a written verdict on what a reviewer will find, while there's still time to fix it.

Sameer AhmadCo-Founder & CTO, Coderacle

Sameer is the co-founder and CTO of Coderacle, a London software studio building SaaS MVPs for UK founders. He leads engineering and architecture on every build — stack decisions, scalable foundations, and getting products to production without the usual rewrites.

Leave a comment