Before an acquisition
Buyers need to know about hidden rewrites, licence exposure and code only one person understands.

Before you buy, fund or take over software, you need to know what is inside it. Agnotic Technologies audits codebases independently, with read-only access, and gives you ranked findings that support a decision rather than a long list of warnings.
Trusted by global innovators
























Code audit
A code audit is an independent review of a codebase before you inherit, buy, fund or rescue it. Agnotic Technologies reviews architecture, security, dependencies and open source licences, tests, build and deploy, data handling and documentation with read-only access, then ranks the findings so the report supports a decision.
A paid code review by an outside team is the same service. AI model audits are a separate offer, and we do not give legal opinions on licences; we flag licence risks for your counsel.
The report does not score your code against other companies. Each finding stands on its own, with evidence, impact and a fix.
Buyers need to know about hidden rewrites, licence exposure and code only one person understands.
Investors want to know whether the product can scale on its current code or needs rework first.
A new team needs a clear picture of what it is taking over before it commits to estimates.
Missed releases and rising bugs often trace back to a few root causes an audit can find.
A check that the codebase can carry more users, or the controls an auditor will review.
Audit checklist
Seven areas, each with a method and a finding format, so reports from different audits can be read the same way.
| Area | What is checked | Tool or method | Finding format |
|---|---|---|---|
| Architecture | Module boundaries, coupling, data flow and fit with the product roadmap | Reading code and diagrams, interviews with the current team | A diagram of the current state with risk notes |
| Security | Injection, access control, secrets in code and authentication flows | Static analysis, secrets scanning and manual review of sensitive paths | One finding per issue, with file, line and fix |
| Dependencies and open source licences | Outdated and vulnerable packages, and the licence of each component | Software composition analysis and SPDX licence identifiers in an SBOM | A dependency list with versions, known vulnerabilities and licence flags |
| Tests | Coverage of critical paths, flaky tests and what is not tested | Running the suite, coverage reports, reading test code | Gaps listed against business-critical features |
| Build and deploy | Whether a clean machine can build and deploy the code | Rebuilding from the repository using only the written steps | A reproducibility result and the missing steps |
| Data handling | Where personal or sensitive data is stored, logged and sent | Data flow tracing, log and configuration review | A data map with exposure points |
| Documentation | Setup guides, runbooks and architecture notes | Following the docs as a new engineer would | What a new team needs that is missing |
Method
An NDA, read-only repository access, no production data, and the questions the audit must answer.
Static analysis, dependency, secrets and licence scans across the whole codebase.
Engineers read the paths that matter most: authentication, payments, data access and integrations.
Build and deploy from scratch in an isolated environment, using only what is written down.
Short sessions with the current team to confirm the intent behind unusual code.
Ranked findings presented to decision makers and to engineers, with time for questions.
Automated or manual review
Automated code review tools catch rule-based problems: formatting and lint rules, known insecure patterns, vulnerable dependencies and secrets in code. A human reviewer is needed for architecture and coupling, business logic errors, authorization gaps and unclear intent. Agnotic Technologies runs the tools across the whole codebase first, then spends reviewer time on what tools cannot judge.
| Finding type | Who finds it | Why |
|---|---|---|
| Formatting and lint rules | Automated tool | The rules are exact and apply the same way to every file |
| Known insecure patterns | Both | Static analysis flags the pattern; a person decides whether user input can really reach it |
| Vulnerable dependencies | Automated tool | Matching package versions against published advisories is a lookup |
| Secrets in code | Automated tool, with a person checking each hit | Scanners find keys in code and history; a person confirms which are live and must be rotated |
| Architecture and coupling | Human reviewer | Tools can count links between modules but cannot say whether a boundary fits the product |
| Business logic errors | Human reviewer | Code can be valid and still apply the wrong business rule |
| Authorization gaps | Human reviewer | A missing check is an absence, so the reviewer has to know which roles should reach each path |
| Unclear intent | Human reviewer | Names and structure that will confuse the next team are a reader's judgement |
AI review assistants add comments to pull requests. We treat those comments as suggestions: an engineer accepts or rejects each one, and no AI tool approves a change on its own.
Ranking
Ranks describe what to do and when, not a grade for the team that wrote the code.
Example: Hard-coded production credentials, or a copyleft component that conflicts with how the product is distributed
Approach: Flagged to you as soon as it is confirmed, with the evidence, not held for the final report.
Example: No tests on billing logic, or a data model that cannot grow with tenants
Approach: Planned as the first work after the deal or handover.
Example: A framework that is old but still inside its support window
Approach: Scheduled with an upgrade path and the reason it can wait.
Example: Inconsistent naming or missing comments
Approach: Listed so the next team knows; no action required.
Deliverables
References
The standards our method and report formats follow.
NIST SP 800-218 task PW.7.1 asks teams to decide between code review, where a person reads the code, and code analysis, where tools find issues, and PW.7.2 asks that every issue found is recorded and triaged in the team's issue tracker.
Source: NIST SP 800-218, SSDF Version 1.1The SPDX specification for software bills of materials, including licence information, is recognized as the international open standard ISO/IEC 5962:2021.
Source: SPDX: overviewThe SPDX License List is part of the SPDX Specification and lists commonly found licences and exceptions used in free, open and collaborative software, each with a standard identifier.
Source: SPDX License ListOpenSSF Scorecard runs automated checks on open source projects, such as unfixed vulnerabilities through the OSV service, whether the project is maintained and whether it declares a licence.
Source: OpenSSF ScorecardScope and cost
We do not publish prices. These factors decide the size of the audit.
More languages mean more tools and reviewers with the right experience.
A single application, or many services with shared libraries.
Automated scans only, or manual review of every sensitive path.
How the product is distributed changes which licences matter.
Whether build and deploy are checked from scratch.
A fixed deal or board date that the report must meet.