Skip to content

Software DeliveryOct 22, 2026 · 9 min read

Technical Due Diligence: What an Audit Covers

Abidhusain ChidiFounder and CEO

Technical due diligence cover: a hand-drawn magnifying glass over a code card beside a findings sheet graded critical, high, medium and low, with SBOM, tests and cloud bill tags

Key takeaways

  • Technical due diligence covers seven areas: architecture, code and tests, licences, security, infrastructure and cost, delivery process, and the bus factor.
  • Ask for an SBOM and a licence inventory, and check AGPL-3.0 first: a modified copy in a hosted product can force you to publish your changes or replace it.
  • We grade every finding Critical, High, Medium or Low and attach evidence and a remediation estimate, so the price talk centres on the few that count.
  • A useful report opens with a one-page verdict, then the risk register, the SBOM, the real architecture diagram and the cost of fixing what it found.
  • Most seller preparation takes days: generate an SBOM, rotate committed secrets, build from a clean checkout, restore a backup, record who can deploy.

Technical due diligence is an outside review of a company’s code, infrastructure, security and team, done before money or ownership changes hands. Investors order it before a round, acquirers before signing, and sensible founders order it on themselves before they scale.

Our senior team in Ahmedabad runs a two-week codebase audit before any scaling work, so we sit on the inspecting side of this process. If you are about to audit a codebase before scaling it, most of the questions are the ones a buyer’s reviewer will ask. We read the code, the data model, the infrastructure and the cloud bill, then write down what we found, ranked by what it costs. Below is what a review inspects, how we grade findings, what the buyer receives and how a seller can prepare.

When technical due diligence happens

The trigger changes the depth, not the method. A buyer about to sign wants more than a founder checking their own work, but both are asking whether the product is what the pitch says it is.

SituationWho commissions itThe question it answersTypical depth
AcquisitionThe buyer, with its lawyersDoes the product run, and do we own what we are paying for?Full: code, licences, security, team
Funding roundThe lead investorCan this stack carry the plan in the deck?Focused: architecture, security, key-person risk
Pre-scaling self-auditThe founders or CTOWhat breaks first when load or headcount grows?Full, with a remediation plan
Vendor handoverThe client taking software in-houseCan our team run and change this without the agency?Code, documentation, access

One case sits outside the table. When a project is already failing, with missed releases and a team that cannot say why, you need a recovery plan rather than a review. We cover that in how to rescue a failing software project.

What a technical due diligence audit inspects

A review works through seven areas. The checklists we read while preparing this post use much the same headings, so the useful part is what gets measured under each one.

Architecture and the load it can carry

We start with a diagram of the system as it runs today, not as the pitch deck draws it. After that come the data model, how tenants are separated, where state lives and which single points of failure exist. One database host with no replica is a finding. So is a queue that only one process can drain.

Underneath sits a plain question: what breaks at ten times today’s traffic or customer count? In the products we review, the answer is seldom the clever part. Instead it tends to be a query without an index, a report that locks a table while it runs, or one tenant whose data volume dwarfs everyone else’s. Problems like these can usually be fixed without a rewrite, so the report should say which ones are of that kind.

Code quality and test coverage

First, we build the project from a clean checkout. If that takes a day of questions to the original developer, we have learned something before reading a line of code. Then we look at structure, naming, duplication and how far the code has drifted from its own conventions.

Tests get the same treatment. A high headline coverage figure tells us little when the billing path has none, so we check coverage on the paths that lose money when they fail: sign-up, payments, permissions and data export.

Technical debt is not a verdict by itself, but it has a running cost. For example, in Stripe’s Developer Coefficient survey of September 2018, developers estimated that 17.3 hours of a 41.1-hour working week went on maintenance: bad code and errors, debugging, refactoring and modifying. That figure is self-reported, but it gives a sense of the drag a buyer is pricing.

Dependencies, licences and the SBOM

A software bill of materials, or SBOM, is a machine-readable list of the components inside a product. The NTIA’s minimum elements report of July 2021 names seven data fields: supplier name, component name, version, other unique identifiers, dependency relationship, author of the SBOM data and a timestamp.

Governments have started asking for them. Executive Order 14028, signed on 12 May 2021, directed NIST to issue guidance on securing the software supply chain, and it listed providing a purchaser an SBOM for each product among the practices that guidance should cover. That order is aimed at software the US federal government buys; it does not by itself oblige a private buyer or seller to produce one. The EU’s Cyber Resilience Act (Regulation (EU) 2024/2847) goes further. It entered into force on 10 December 2024, and its reporting obligations have applied since 11 September 2026. Once the main obligations apply on 11 December 2027, manufacturers of products with digital elements must draw up an SBOM covering at least the top-level dependencies.

Which licences carry deal risk

In a deal, though, the SBOM matters most because it feeds the licence inventory. Licences fall into families, and each family carries a different risk for a SaaS product:

Licence familyWhat it asks of youDeal risk for a SaaS product
Permissive (MIT, Apache-2.0)Keep the copyright and licence notices; Apache-2.0 also asks you to pass on a NOTICE file when the component has one, and it includes a patent licence from contributorsLow. Record it and move on
Copyleft (GPL)Share source when you distribute the softwareModerate. Mostly bites if you ship code to customers, such as an on-premise or mobile build
Network copyleft (AGPL-3.0)Section 13: if you modify the program, offer everyone who uses it over a network the source of your modified versionHigh once you have modified it, because a hosted product is the case section 13 addresses

AGPL is the row we look at first. A single modified AGPL component inside a hosted product can force a choice between publishing your changes and replacing the component, and a buyer will price that replacement. Whether a particular use triggers the clause is a legal question, so take it to counsel. The audit’s job is to find the component and show where it sits.

Security

We begin with the mistakes we would least want a buyer to find. Secrets committed to the repository, including ones deleted later but still in the history. Access control that checks the login but not who owns the record. Dependencies with known vulnerabilities. Logs too thin to reconstruct an incident from.

The OWASP Top 10:2025 is a fair guide to what else to check. It puts Broken Access Control first and Software Supply Chain Failures third (A03). The supply chain risk is real, too: Sonatype’s 2026 report says it identified more than 454,600 new malicious packages during 2025.

Log4Shell makes a good test case. Apache rated CVE-2021-44228 at CVSS 10.0, the maximum. So the reviewer’s question is not whether you were hit. It is whether, within an hour, someone could say whether you ship that library version and where. With a current SBOM, that answer comes from a file. Without one, somebody starts searching repositories and build images by hand.

Infrastructure and cloud cost

Here we count the environments and check whether they match, whether infrastructure is defined in code or clicked together in a console, and when a backup was last restored. If the honest answer to that last one is “never”, nobody actually knows whether the backups work.

Next comes the bill. Set a cloud invoice against actual usage and it shows services paid for out of habit, oversized databases and test environments nobody switched off. We pay the hosting bills for four of our own SaaS products, so we read invoices the way an owner does. Our post on cloud-first infrastructure for startups covers the design side.

Delivery process

How does code reach production? To find out, we trace one change from commit to live. Along the way we look for code review, automated checks on every merge, a way to roll back, and a release rhythm the team can keep up. Incident history, however, says more than any process document. Ask when production last broke, how long recovery took and what changed afterwards.

The bus factor and documentation

The bus factor, or truck factor, counts how many people would have to leave before a project stalls. Avelino and colleagues estimated it for 133 popular GitHub projects in a 2016 paper and found that 65% had a truck factor of two or less. Those were open-source projects, so a private codebase has to be measured directly.

That is why we ask who can deploy, who understands billing, and who holds the DNS and cloud root accounts. Then we test the documentation bluntly: could a new engineer run the product locally from the README alone? If not, the knowledge lives in someone’s head, and the buyer is acquiring that head as well.

How technical due diligence findings are graded

Every finding in the report gets one of four grades. This is our scheme, not an industry standard, but it follows what a deal can actually do with a problem.

How technical due diligence findings are graded: Critical means fix before signing or walk away, High moves price, escrow or a warranty, Medium goes into the post-close plan, Low goes to the backlog
Every finding carries evidence, a grade and a remediation estimate
GradeExample findingWhat it usually does to the deal
CriticalLive credentials in a public repository; an AGPL core with no way to complyFix before signing, or walk away
HighNo tested backup restore; a payment path with no testsMoves the price, an escrow or holdback, or a specific warranty
MediumOutdated framework version; slow CIGoes into a budgeted post-close plan
LowInconsistent naming; thin commentsBacklog. Noted, not negotiated

Each finding also carries the evidence and a remediation estimate in engineer-weeks. Of the three, evidence matters most. “Security is weak” is an opinion, whereas “the production database password sits in this commit, on this date” is something the other side can check in a minute.

Grades keep the conversation honest as well. Hand a buyer forty unranked findings and all forty become leverage. Rank them, and both sides end up arguing about the three that count.

What the buyer or investor receives

A technical due diligence report is a written document rather than a slide of traffic lights. A useful one has these parts:

  • A one-page summary with a verdict a non-engineer can act on.
  • The risk register: every finding with its evidence, grade and effort estimate.
  • The SBOM and licence inventory, with anything copyleft flagged.
  • The architecture diagram as it is, with the weak points marked.
  • The total cost of remediation, split by grade.
  • A list of questions for management that the code could not answer.

After that, the grades decide the next step. Critical items go back to the seller to fix or explain. High items tend to become a lower price, a holdback released once the fix is verified, or a warranty covering a named risk. Medium items turn into the first quarter of the engineering plan. Counsel drafts the contract wording, while the report supplies the facts it rests on.

Preparing your company for technical due diligence

Preparation will not hide a problem, and it should not try to. What it buys you is the chance to explain each problem before a reviewer finds it. Most of this list is days of work, not months:

  • Generate your own SBOM and run a licence scan, so you meet any AGPL surprise first.
  • Rotate every secret that was ever committed, even if the file was later deleted.
  • Build the product from a clean checkout on a fresh machine and note every step that failed.
  • Restore a backup into a scratch environment and time it.
  • Write down who can deploy, who holds each cloud and DNS account, and who covers for each of them during a holiday.
  • List your known debt with rough effort. A short, true list earns more trust than a clean one a reviewer disproves in a day.
  • Pull the cloud bill by service for the last six months, and be ready to explain the spikes.

How long technical due diligence takes

Our pre-scaling audit takes two weeks. A buyer’s review of a product with many repositories, many services or a regulated data set can run longer, so agree the scope before the clock starts.

Access is the delay you can control. Repository, cloud console, monitoring and the bill should all be ready on day one, because when read-only access arrives on day six, the two weeks start on day six too.

If you are the seller, run the preparation list above before anyone asks. If you are the founder about to hire for growth, the same review tells you which three problems to fix first. Better to hear that from your own audit than from a buyer’s.

TagsScalabilitysecuritySoftware Development Processtechnical audit

Written by

Abidhusain Chidi

Founder and CEO

Founder of QalbIT Infotech and the engineer who still scopes most of its projects. Writes about what custom software really costs, how build-versus-buy decisions play out two years in, and the delivery habits that keep a product shipping, drawn from CRM, ERP, SaaS and MVP work Abid has been building since 2014 and the products QalbIT runs itself today.

FAQ


Frequently asked questions

Our pre-scaling codebase audit takes two weeks. A buyer's review of a product with many repositories, many services or a regulated data set can run longer. Late access is the delay you can avoid, so have read-only access ready on day one.
A code audit reads the code. Technical due diligence also covers licences, security, infrastructure and the cloud bill, delivery process and key-person risk, and it ends in a graded report a buyer or investor can price from.
No law requires one for a private round, but having one speeds up the licence and vulnerability checks an investor's reviewer will run. Executive Order 14028 directed US federal guidance that lists giving the purchaser an SBOM, and the EU Cyber Resilience Act will require manufacturers of products with digital elements to draw one up from 11 December 2027.
It can complicate one. AGPL-3.0 section 13 requires you to offer the source of a modified version to the people who use it over a network, so a modified AGPL component in a hosted product may force publication or replacement. Ask counsel how it applies to your use.
Whoever needs the answer. In a deal that is normally the buyer or lead investor, though a seller can commission its own review in advance to speed things up. Founders also pay for one before scaling, which is the audit described on our product scaling page.
In our grading, a Critical finding is fixed before signing or the buyer walks away. High findings tend to move the price, an escrow or holdback, or a specific warranty, and Medium ones go into the post-close plan.
Yes, and it is the cheapest time to find problems. Generate an SBOM, scan licences, rotate committed secrets, build from a clean checkout and restore a backup. An outside review then adds the independent view a buyer will trust.
Due diligence assumes a product that mostly works. If releases keep slipping and nobody can say why, start with a recovery plan instead; see how to rescue a failing software project.

Next step


Want the same clarity for your product?

A short call. A written range. No obligation.