Technical due diligence for software

Technical due diligence for software helps organisations understand what they are taking on, what risks are present, and what it may take to address them. We review codebases for buyers, sellers, insurers, and in-house teams who need a clear, independent view of software quality, maintainability, security, and commercial risk before making a decision.

Download the pdfbook a consultation

What a software review covers

Technical due diligence for software is a structured review of a codebase to understand its quality, risk, maintainability, security, and likely remediation effort before a commercial or operational decision is made.

In the past, a senior consultant might review a codebase, speak with the engineers, and provide an opinion. Today, that is often no longer enough. Software is more complex, more interconnected, and more exposed to security, maintenance, and commercial risk than it once was. A meaningful assessment now requires a deeper review of the code itself, along with a clear view of its vulnerabilities, maintainability, and overall health.

Some of the most important issues in software are not visible in a quick review. Modern systems are made up of code, dependencies, integrations, and services that can work well on their own but create risk when considered together. A proper technical review looks across the whole system so hidden vulnerabilities, maintainability issues, and cross-system problems are not missed.

Where software has been built or modified in-house, it is important to understand what was changed, how it was reviewed, and whether the resulting code still meets the standard the business needs. A technical due diligence review is designed to identify those risks before they become expensive problems.

Who uses this service

The organisations that use this service vary, but they share the same objective: to understand the software well enough to make an informed decision. We custom the report to the priorities of the person or team commissioning the review, so the findings are relevant, clear, and decision-ready.

Buyers and private equity funds

Technical due diligence helps establish whether the software supports the valuation, whether hidden issues may affect future investment, and what remediation may be required after completion.


Their question: Is the valuation sound, or are there issues that will need to be funded later?

Investors

At seed, Series A, and Series B, the concept may be strong, but the software beneath it must still be assessed on its own merits. Technical due diligence helps establish whether the codebase can support scale, resilience, and future investment.


Their question: Is the software ready to scale, or only built to get this far?

Insurers and brokers

Insurers and brokers need to understand the software they are underwriting, not just the information provided in a form. Technical due diligence helps identify hidden issues, legacy risk, and areas where the true exposure may differ from the stated position.


Their question: What risk is hidden in the codebase?

Solicitors in ownership disputes

Ownership disputes often turn on the technical facts: what code exists, how it was created, who has access, and whether the codebase has enough value to justify the dispute at all. Technical due diligence provides a clearer basis for legal and commercial decisions.


Their question: What exactly exists, who controls it, and what is it worth?

Law firms handling mergers and acquisitions

M&A transactions depend on more than legal paperwork. Technical due diligence helps confirm whether the software position is sufficiently clear, controlled, and documented to support completion and later challenge.


Their question: Can the technical position support the transaction, and can it be defended later?

Liquidators and administrators

When a software company has failed, the key issue is not just ownership but viability. Technical due diligence helps establish what remains, what it depends on, and whether the software can continue running long enough to support a sale, transfer, or recovery strategy.


Their question: What is left, and how long can it still hold together?

Companies getting ready to sell

Sell-side technical due diligence helps a business understand its software position before the sale process begins. That allows issues to be identified, prioritised, and addressed before they become leverage in negotiation.


Their question: What will the buyer find, and can it be resolved first?

Chief technology officers

Chief Technology Officers need a clear view of where software spend is going, why costs are rising, and whether engineering effort is being directed toward the right priorities. Technical due diligence helps identify inefficiency, hidden risk, and areas where the codebase may be driving unnecessary cost.


Their question: Why is the cloud bill climbing, and is development spend going to the right places?

Managed service providers and systems integrators

A technical review helps establish whether software can be supported, extended, or connected into other systems without introducing avoidable delivery risk. It also brings hidden issues to light before they affect service quality, maintainability, or client outcomes.


Their question: What risks are being inherited in the software?

Regulated industries

In regulated environments, software needs to withstand scrutiny and support control, resilience, and compliance obligations. A review of the codebase helps identify issues that may affect governance and the reliability of systems the business depends on.


Their question: Does this software meet the standard required to rely on it?

Why traditional reviews now fall short

Traditional software reviews were designed for a simpler technical environment. Modern systems are more complex, more interconnected, and more dependent on code working correctly across multiple services, integrations, and environments. That requires a more complete, evidence-based review.

Traditional review

  • Often takes 8 to 12 weeks.
  • Commonly costs $250,000 to $500,000.
  • May rely on limited access or copied material outside the client environment.
  • Often reviews samples rather than the full codebase.
  • Risks that emerge across systems, dependencies, or integrations can be missed.
  • Findings may be high level, inconclusive, or difficult to act on.
  • Large volumes of warnings can be produced without clear prioritisation.
  • Reports may arrive after key decisions have already been made.
  • Depends heavily on interviews and opinion.
  • Can struggle to quantify remediation effort.
  • May provide limited value for insurance, governance, or internal planning.

Code-level due diligence

  • Typically takes 2 to 6 weeks, depending on scope.
  • Usually ranges from $60,000 to $180,000.
  • Access is agreed in advance under confidentiality arrangements that suit the engagement.
  • The full codebase is reviewed, not selected samples.
  • Issues caused by components working together are assessed in context.
  • Findings are tied to exact files, lines, or technical evidence.
  • The report distinguishes material risks from background noise.
  • Output is designed to arrive in time for a commercial, legal, insurance, or operational decision.
  • Produces evidence that is easier to test, explain, and rely on.
  • Helps quantify remediation effort and likely follow-on cost.
  • Supports decision-making beyond transactions, including insurance and internal review.

Sellers are increasingly unable or unwilling to allow code to be copied to an external laptop. Security policy, regulatory obligations, and incident-reporting requirements often make that impossible. Reviews now need access methods that work within those constraints, rather than assuming one fixed approach.

At the same time, deal timelines have compressed. Software review work that once had months now often has only weeks, so slower models no longer fit the transaction window.

How software risk is assessed

A thorough review needs to look across the parts of the software that are most likely to affect value, risk, maintainability, and future change. The exact scope depends on the engagement, but the goal is always the same: to identify material issues before they become a commercial problem.

1

Code quality and maintainability

A Codebridge review looks at whether the codebase is readable, well structured, and practical to support over time. It identifies complexity, duplication, and design issues that may make future change harder or more expensive than it should be.

2

Security and access risk

A Codebridge review assesses whether the system is protected against unauthorised access, data exposure, and common security weaknesses. It looks for issues such as weak authentication, missing authorisation controls, exposed credentials, vulnerable dependencies, and other gaps that could increase the risk of intrusion or misuse.

3

Cloud costs and scalability

A Codebridge review assesses what the cloud infrastructure costs today, how those costs are tracked, and whether they are likely to remain sustainable as the business grows. It looks at spend trends, cost per customer, unused resources, and other factors that can affect margin and future investment needs.

4

Borrowed code and licensing risk

A Codebridge review assesses the use of third-party and open-source code, including whether it is properly tracked, licensed, and maintained. It looks at provenance, licence obligations, dependency chains, and security vulnerabilities that may create legal, operational, or intellectual property risk.

5

Extent of AI-generated material

A Codebridge review assesses the extent to which AI tools were used in the development of the product, and whether that use has been appropriately governed. It looks at code, documentation, and other content that may have been generated or assisted by AI, along with the associated risks around quality, ownership, consistency, and disclosure.

6

Key person risk

A Codebridge review assesses how dependent the business is on one or a small number of individuals for critical knowledge, decision-making, or delivery. It looks at what would happen if a key person left, including risks to continuity, maintenance, delivery speed, and the transfer of technical knowledge.

7

Development spend allocation

A Codebridge review assesses how development time and budget are allocated across new features, maintenance, technical debt, security, infrastructure, and other priorities. It looks at whether the business is investing in areas that support growth and resilience, or whether too much effort is being absorbed by rework, support, and legacy issues.

8

Scalability and growth capacity

A Codebridge review assesses whether the platform can handle more customers, higher usage, and greater transaction volumes without unacceptable performance, reliability, or cost issues. It looks at architecture, bottlenecks, load behaviour, and whether the current design can support the growth plan without major re-engineering.

9

Dead code and integrity risk

A Codebridge review assesses whether the codebase contains dead code, unused components, hidden logic, or other artefacts that were left behind intentionally or through neglect. It also looks for signs of code tampering, concealment, or malicious changes that could affect security, reliability, governance, or trust in the codebase.

10

Compliance and governance

A Codebridge review assesses whether the product and its development process comply with applicable laws, standards, contractual obligations, and internal policies. It looks at whether the business can demonstrate control over security, documentation, approval processes, dependency management, and other requirements that matter in a due diligence review.

Separating theoretical risk from real exposure

Run a security scanner over a real business system and it may return hundreds of warnings. Each finding may describe a technically valid weakness, but not every weakness is relevant to the way that particular system is hosted, configured, or used.

A vulnerability’s real significance depends on its environment. A weakness that is exposed on one hosting platform may be protected by default on another. A finding that matters on a shared server may have little relevance on a dedicated or tightly controlled environment. Automated scanners generally cannot make that distinction on their own, so they report a broad range of theoretical risks.

The result can be a long list of findings with no clear indication of which ones require immediate attention. When everything is presented as urgent, teams may focus on the easiest issues to resolve while the small number of genuinely serious risks remain unresolved.

How we assess real exposure

We map the codebase and its operating environment before interpreting the warnings. This includes the hosting, network, access controls, and the way the system’s components connect. We then assess which findings are genuinely reachable on that system and rank them according to what an attacker could realistically do.

The result is a focused, prioritised action list rather than hundreds of equally urgent warnings. Findings that are not applicable remain in the report, with the reasoning documented, so the assessment is transparent and does not need to be repeated later.

If you have limited time and limited money, this is the whole game. Everything else in this guide is about finding problems. This section is about knowing which ones to spend your first dollar on.

When safe components create a business risk

Many security reports list findings one file or component at a time because that is how automated scanning tools operate. This can miss risks that only appear when separate parts of a system interact.

Two parts of a system may each appear safe on their own, but create a security risk when they are connected. Their permissions, data flows, or points of access can combine to create an unintended path into sensitive information or critical functionality. These risks are unique to the way each organisation’s system is designed, so they will not appear in a generic warning list or a file-by-file scan. Identifying them requires the codebase, architecture, access controls, and system connections to be assessed together.

An example

A finance company uses one third-party component to generate PDF documents. The document design is retrieved from a web address supplied by the customer. On its own, that function may appear reasonable.

The company also uses another third-party component to process images. If an image address redirects elsewhere, the component follows that redirect. On its own, that may also appear reasonable.

The risk emerges when both components operate within the same request. A customer may be able to provide an address that the system follows, causing the server to reach internal services that should not be accessible from outside the organisation.

Each component may receive only a medium or low-risk rating in a standard scan. The serious issue appears only when the components, permissions, and network connections are assessed together. Mapping the complete system reveals the attack path and identifies the precise point where it begins.

This is the difference between a report that supports a real security decision and a list of scanner output. A file-by-file review may identify the individual components without showing how they combine to create an exposure. A complete assessment must explain the system-level path, its potential impact, and the specific location where the risk can be addressed.

AI-generated code and technical debt

AI-assisted development is now common across the software industry, but many organisations do not know how much of their codebase was generated or influenced by AI tools. That matters because AI-generated code can be functional and production-ready while still introducing duplication, unnecessary dependencies, security weaknesses, and maintenance work that is difficult to see from the outside.

Why AI-generated code can create hidden work
For a human developer, finding and reusing an existing solution is often preferable to writing the same functionality again. AI tools can make new code appear faster than searching a large or unfamiliar codebase, which can encourage repeated implementations of similar functions. Over time, this can create several versions of the same logic in different parts of the system. Each version may then need to be tested, maintained, and corrected separately when a defect or security issue is discovered. The result is not necessarily a visible failure today, but a larger and more expensive maintenance burden in the future.

Three common risks:

  • Unused or unnecessary code. AI tools may introduce libraries, functions, or components that are never used, or are used inappropriately. Each unnecessary dependency increases the amount of code that must be understood, maintained, monitored, and secured.
  • Code that appears correct. AI-written code looks right when you read one page of it. It runs. It passes the tests the AI also wrote. It still does not do what the customer needs.
  • Hidden dependencies and connections. AI-generated code may rely on a particular data format, external service, library behaviour, or undocumented assumption. If that dependency changes, the software may fail in ways that are difficult to diagnose because the original connection was never clearly documented or understood.

We assess the extent of AI-generated or AI-assisted code, identify where it is concentrated, and measure the duplication, unnecessary dependencies, and technical debt it may have introduced. We then review the highest-risk areas with the full system architecture in view, rather than treating the code as a collection of isolated files.

This matters particularly to investors and decision-makers. A company may build an impressive product in six months, while the underlying code carries years of unpriced maintenance, security, and remediation work. The question is not only what the product can demonstrate today, but what it will take to support, secure, and develop it tomorrow.

What the cloud really costs

Cloud infrastructure is often one of the largest operating costs for a software business, alongside its people. It is also a useful indicator of how efficiently the software operates.

The connection is not always obvious, so it is worth stating plainly: inefficient or poorly structured code can make the infrastructure work harder than necessary. It may request the same data repeatedly, retry failed operations too often, keep customers waiting for tasks that could run in the background, or handle errors inefficiently. The software may continue to function, so these issues do not always appear as visible faults. Instead, the infrastructure uses more computing power, database capacity, storage, or network traffic to keep the system running, and those costs continue each month.

An unexplained increase in cloud spend may therefore be more than a finance issue. It can be a sign that the software is carrying inefficiencies that have not yet been identified or addressed.

What happens when you fix it

When the underlying software issues are addressed, two costs can reduce at the same time: cloud spend, because the infrastructure is no longer compensating for inefficient code, and development effort, because the team can work with the system rather than around it.

Over the following year or two, those costs may gradually rise again as new features, integrations, and customer requirements are added. That is normal. Software health is an ongoing cycle, not a one-off exercise, which is why understanding where the system sits in that cycle has real financial value.

For a buyer, this is a number to put into the financial model: what will the software cost to operate over the next 12 months under the buyer’s growth plan, rather than the seller’s assumptions? Codebridge assesses the real infrastructure setup and provide a practical range for expected cloud costs under the organisation’s growth plan.

For an existing organisation, the same analysis shows whether current cloud spend reflects genuine growth or inefficiency in the software. It can identify opportunities to reduce unnecessary infrastructure costs without reducing customer-facing performance, while also showing how those costs are likely to change as demand increases.

Code integrity and handover risk

Most software problems are accidental, but some risks may arise from deliberate changes made by someone with legitimate access to the code or systems. These can include hidden access, unauthorised changes, or logic designed to disable or damage the software if a particular person, account, service, or condition changes.

This risk deserves particular attention during an acquisition, handover, ownership dispute, insolvency, or change in development team. The central question is whether the organisation can take control of the software with confidence that it has not been altered, weakened, or made dependent on people who are no longer involved. Insider threats can include malicious code, unauthorised access, sabotage, and misuse of legitimate privileges.

What we look for:

  • Time-triggered or condition-triggered behaviour. Code that deletes, disables, or changes functionality when a date, time, event, or external condition is reached.
  • Undocumented access. Hidden accounts, credentials, keys, or entry points that could allow former personnel or unauthorised parties to regain access.
  • Unintended external exposure. Administrative interfaces, databases, services, or other access points that are reachable from the public internet without a valid business reason.
  • Dependence on a former individual or service. Critical functionality that relies on a particular person, account, credential, external service, or control that could be removed or disabled after handover.

A genuine case study

This is not a hypothetical risk. During a software handover connected to a legal dispute, we were asked to assess whether the system contained deliberate mechanisms that could cause damage after control changed hands. The review identified code designed to delete the system if it lost contact with the location where the code was stored.

It also identified an internet-accessible path into a major customer database. This documented case demonstrates why code integrity, hidden access, and system dependencies must be assessed before software is placed under new ownership or control.

Where software is being transferred under difficult circumstances, code integrity and access security are not optional extras, they are essential preconditions for a safe handover. The system should be assessed before it is operated under new organisational control.

It is reasonable to hope that no deliberate damage or hidden access has been left behind. It is not reasonable to rely on hope where the consequences could include loss of data, operational failure, customer exposure, or serious reputational harm.

The Codebridge Assessment Stack

Codebridge uses a proprietary assessment stack built to analyse software more quickly and more thoroughly than conventional scanner-led reviews. Where large consulting firms often rely on the same commercial tools available to the rest of the market, then charge for the time required to interpret the output, Codebridge runs a purpose-built set of internal tools on every engagement.

This is one reason the work can be completed in weeks rather than months, and at a substantially lower cost than traditional consulting-led reviews. The four tools below perform much of the underlying analysis. What follows is not the mechanics of how they work, but the distinct question each one is designed to answer.

OBY

How does it all connect?

OBY runs first and maps the structure of the system: the codebase, its components, dependencies, services, and the connections between them. This provides the context needed to distinguish a genuine exposure from a warning that does not apply to the way the system is actually built and operated.

CodeScan

How serious are the findings?

CodeScan analyses the codebase for quality, security, duplication, complexity, and other indicators of technical risk. Using the map created by OBY, it helps separate findings that apply to the system in its current environment from those that are theoretical or not applicable. The result is a prioritised view of the issues that require attention.

Spectral

Where could the system break?

Spectral assesses the running software from an attacker’s perspective, examining pages, forms, interfaces, and connection points for weaknesses that may not be visible in the source code alone. It records where the system behaves unexpectedly, how the weakness can be reached, and what the potential impact may be. Spectral is only used with written authorisation.

Negative Space

What is missing that should be there?

Negative Space looks for controls, safeguards, and expected behaviour that are absent from the system. While conventional scanners identify weaknesses that are present, Negative Space examines what should exist but does not, such as a missing validation check, an unhandled error, an absent access control, or a limit that was never defined. This helps identify risks that ordinary scanners cannot see because they are based on absence rather than on a detectable defect.

Why the last one matters most

Absence is difficult for a conventional scanner to detect. Most tools can only report what they can see directly, which means they are good at listing visible issues but weak at identifying what should have been present and was not. On one system, a standard scan produced approximately 800 findings. Analysing the same environment for missing controls, missing logic, and other forms of absence increased the number of potential issues into the tens of thousands. Most were minor, some were not, and many would not have appeared in a conventional scanner-led report.

How we do it in 2 to 6 weeks

This is how Codebridge finishes the job in 15 to 30 working days.

Before we start

Access and Permission

  • We sign the confidentiality agreement first. Ours runs for three years, and up to five if you ask. See section 12.
  • The owner gives us read-only access to where the code is kept. We work with all the common ones, whichever the company uses.
  • We agree with you and the seller how we will hold the code: inside their own systems, or in a locked-down environment of ours. Their choice, written into the agreement.
  • We build a copy of the running system in a sealed environment, so we can watch how it behaves without ever touching anything live.
  • Nothing aggressive runs without written permission. The stress and break testing in section 10 needs sign-off from the owner of the software and whoever hosts it. No sign-off, no test. That is not a formality: running those tools against a system you do not have authority over is a criminal matter, and we treat it as one.
week 1

Set up

  • We build a full map of the code and how every part connects.
  • We list the cloud services, the borrowed code, and every outside service the software talks to.
  • We ask the seller’s technology boss and lead engineers how the system is meant to work. Later we compare that with how it really works.
week 2

Dig in

  • We read all of the code, including the checks for two-part problems from section 6 and the missing-piece pass from section 10.
  • We stress-test the running system against the eight ways systems usually fail.
  • We read the AI-written parts, with the full map in front of us.
  • We work out the real cloud bill for the next 12 months, using your growth plans.
  • Where a handover is contested, we run the deliberate-damage checks from section 9.
week 3

Report

  • We separate the findings that apply to this system from the ones that do not, and say why for both.
  • We sort what is left by three things: how easy it is to exploit, whether it changes the price, and what it costs to fix.
  • We write it up, with the exact file and line for every single item.
  • We walk the draft through with you and with the seller’s technology boss at the same time.
  • We sign the final report and hand it over.
week 4-6

If you want more

  • A full check against the rules in section 16.
  • The evidence pack your cyber insurer needs to price the policy.
  • A plan for the risks of joining the two companies together.

How both sides are protected

This work only happens if the person who owns the code agrees to it. So the terms have to work for them too, not just for you. Four things make that possible.

A three-year confidentiality agreement

The industry standard is one year. Ours is three as standard, and five on request, at no extra cost. That matters more than it sounds. A deal that falls over in month eight leaves the seller exposed under a one-year agreement well before the commercial risk has passed. Three years covers the period in which the information could still be used against them. It is also the single most common reason a nervous seller says yes to us after saying no to someone else.

Read-only access

We can look. We cannot change anything. This is set at the source, not promised in an email.

The owner decides where the code sits

Some companies will not let code leave their building, because their own security rules or their industry regulator do not allow it. In that case we work inside their systems. Others would rather we took a controlled copy into a sealed environment of ours, so their production systems are never touched at all. Both are normal. The agreement says which one applies, and where any copy is destroyed at the end.

Written permission before any break testing

The tools that attack a running system are only pointed at software when the owner and the host have both signed off in writing. This protects them, and it protects us.

If you are the seller reading this

You are allowed to set the terms. A buyer’s adviser who will not accept read-only access, a long confidentiality agreement, and a written limit on what they may run is telling you something about how they intend to work. Ask for all three before you grant anyone access.

What a good report contains

The report is what you are paying for. Your investment committee will read it. Your insurance broker will read it. If the deal goes wrong, lawyers will read it. Almost none of those people are engineers, so the report is built in two halves.

The front – written for the person signing

  • One page, up front. The problems ranked, each marked “this changes the price” or “this does not”, with a number against it.
  • What it will cost you. The money to fix what has to be fixed, and the 12-month cloud bill under three growth scenarios.
  • What we would do about it. Where the first dollar goes, and what can safely wait.
  • What does not apply to you. The warnings we ruled out, and why. This is usually the longest list and the reason the short list is trustworthy.
  • A signed page, with the names of everyone who reviewed it.

The back – written for your engineers

  • Every problem, worst first, each with the file, the line, how hard it is to fix, and how easy it is to attack.
  • Two-part problems, set out separately, because they need a longer explanation.
  • A full list of borrowed code and the licence attached to each piece.
  • How much AI wrote, which parts of the system it wrote, and the duplication it left behind.
  • Who knows what, worked out from the code and its history, not from interviews.
  • A rules check, against each Australian rule that applies.
  • What we looked at and how, including which tools we used and where each finding came from.

The order is the point. A partner or an underwriter should be able to read the first three pages and make a decision. Their technical people should be able to read the rest and start work on Monday. A report that mixes the two gets skimmed by both.

One question to ask before you hire anyone

Ask to see a sample report structure. It must show, for every finding, what they looked at, how they looked at it, and what they concluded. If they cannot show you that, the report will not hold up in an argument after the deal closes. Ask before you sign them up, not after.

Keep checking after the deal closes

The biggest lesson of the last three years is simple. Checking the software once, before you buy, is not enough. That first check is your starting point. After that you keep watching, every three months.

Once the deal is done, the same tools stay switched on inside the company you bought. Every quarter you get a short update: what changed, what new risks appeared, whether the cloud bill is tracking the forecast, and which new rules now apply.

If you own 20 to 40 companies, this replaces the yearly audit from a big consultancy at about 15 percent of the cost. It also gives you the running record that cyber insurers now ask for before they will renew your policy.

Three real examples

Three jobs, three different reasons for the call. Details are kept general where the parties are identifiable or matters are still on foot.

first reason

A handover nobody wanted to make

An Australian point-of-sale software business was changing hands in the middle of a legal dispute. The lawyers involved asked us to check the software for anything left behind deliberately, before the new owners switched it into their own name. We were brought in specifically because neither side trusted a check run by the other.

We found three things.

  • Code set to delete the entire system at four in the morning, triggered if the software ever lost contact with the place the code was stored. Cutting off the old team’s access would have set it off.
  • A way into the biggest customer’s database, left open to anyone on the internet, with full access to read and destroy the contents.
  • A third access point of the same kind, in a different part of the system.

None of these were accidents, and none would have shown up in a standard security scan. The handover went ahead with all three closed first.

second reason

A hosting bill nobody could explain

An established Australian software business had watched its monthly cloud bill climb for two years. Their team had already tried the obvious answer, moving to cheaper machines, which had not worked because the problem was not the machines.

We went through the software and the setup together. The bill was high because the code was making the rented computers do a great deal of unnecessary work: repeating the same database questions, retrying failed jobs indefinitely, and making customers wait for things that should have run quietly in the background.

We took between $5,000 and $6,000 a month off the bill, with no noticeable change in speed for their customers. Nothing was bought. Nothing was migrated. The savings came from fixing what the software was doing.

third reason

A committee voting in 21 days

An Australian investment fund had agreed to buy a finance software company. The seller would not let anyone copy the code off site. The first firm the buyer asked quoted 10 weeks. The buyer’s committee was voting in 21 days.

We worked inside the seller’s own systems from day one. By the end of week two we had found three problems big enough to change the price. The seller’s own security scanner had missed all three.

  • Two pieces of borrowed code that, together, let an outsider reach the company’s internal systems. This is the example from section 6.
  • A part of the payment system that made customers wait instead of working in the background. Under the buyer’s growth plan, it would have fallen over in month six.
  • A cloud bill that would run 40 percent higher than the seller had forecast, once the buyer’s growth plan was applied.

The signed report landed in 15 working days. The buyer used it to knock the cost of the two engineering fixes off the purchase price, and to rebuild their financial model with the real cloud bill. The deal closed on time.

Australian rules you must follow

Every check has to say whether the company follows the rules that apply to it. Four sets of rules matter most.

Rule

Who has to follow it

What we check

APRA CPS 234

Banks, insurers and super funds, plus the companies that supply them

Installs and runs open-weight models on site with safety controls.

Can they keep data safe? Do they report break-ins on time? Do they check their suppliers?

APRA CPS 230 (from 2025)

The same companies, wider rules

Do they know which systems are critical? How long can each one be down? Do they have a list of who they depend on?

Australian Privacy Principles

Most Australian businesses earning over $3 million a year

How they handle personal data, whether they send it overseas, and whether they can report a leak quickly

DORA (European rule)

Any company with European finance customers

How they manage technology risk, supplier risk, and whether they test that the system keeps running under stress

If the company sells to Australian banks, or to anyone in Europe, the report must name these rules directly. If you buy a company that does not follow them, the cost of fixing that becomes yours on day one.

Common questions

They interview the engineers, read some of the code, and write a careful report that avoids saying anything too firm. We run AI tools across all of the code, point at exact lines, and finish in a fraction of the time. The two can work together. We often act as the technical partner while a big firm handles the financial side.

Our tools are built to run on machines the seller controls, so the code never has to leave their building. Sellers who have already refused a big consulting firm over code copying usually say yes to us after a 30-minute call with their head of security. Where a seller would rather we took a controlled copy instead, so their live systems are never touched, we do that. Section 12 covers both.

Yes, in writing, from the owner of the software and from whoever hosts it. The tools that attack a running system are indistinguishable from a real attack, and using them without authority is a criminal offence. If we cannot get that permission, we do the code work and leave the live testing out of scope. We will not proceed on a verbal assurance.

Yes, and it is the cheapest version of this work. You get the same report a buyer’s adviser would produce, months earlier, while you still have time to fix things. Most sellers use it to close the two or three findings that would otherwise have cost them real money at the table.

Yes. The full history of the code shows where the work is actually happening: which parts of the system are being maintained, where changes get rewritten, and how the effort is distributed across a team. It answers questions a status report cannot. Section 4.7 sets out how we handle it.

Yes. It is a growing part of what we do. When a software business fails, someone has to tell the creditors what the code is worth, whether it will keep running, and what it will cost to keep it running. We do that, and we have been through the full process before: the check, the handover, and helping the new owners keep the business trading.

Yes. Every finding points at a specific file and line, and we can trace it back from the report to the raw code. The report also records what we looked at, how, and what we concluded. That is what a court or a regulator asks for. We have produced this work in the middle of active litigation, at the request of the lawyers involved.

Yes, and it often is. Insurers need the same evidence to price a policy. One piece of work, two uses.

The main 2 to 3 week job is $60,000 to $120,000, depending on how big the software is. The 6-week version, with the rules check and the insurance evidence pack, is $120,000 to $180,000. Ongoing quarterly checks after the deal are about $8,000 per company per year, with a minimum of 10 companies.

Yes. We are based in Melbourne, and we work on companies in the UK, the US, Europe and across Asia. The work does not depend on being in the room, so it does not matter which country the software sits in.

Get the PDF version.

The whole guide as a PDF you can print and hand around: to your deal team, your investment committee, your underwriters, your lawyers, or the board. We will send our checklist template with it.