Lines of source code on a screen, magnified through a lens
    Code Audit

    Code audit services for inherited codebases

    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.

    Read-only accessSecurity and licencesBuild reproducibilityRanked findings

    Trusted by global innovators

    Benchmark
    Chibasco
    Fundency
    Lantimer
    Lauren
    Lera
    One Minute
    Pento Pix
    TAP
    Xtrium
    Healthevolve
    Benchmark
    Chibasco
    Fundency
    Lantimer
    Lauren
    Lera
    One Minute
    Pento Pix
    TAP
    Xtrium
    Healthevolve
    Benchmark
    Chibasco
    Fundency
    Lantimer
    Lauren
    Lera
    One Minute
    Pento Pix
    TAP
    Xtrium
    Healthevolve
    Benchmark
    Chibasco
    Fundency
    Lantimer
    Lauren
    Lera
    One Minute
    Pento Pix
    TAP
    Xtrium
    Healthevolve

    Code audit

    What is a 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.

    When should you commission a code audit?

    Before an acquisition

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

    Before an investment

    Investors want to know whether the product can scale on its current code or needs rework first.

    When changing vendors

    A new team needs a clear picture of what it is taking over before it commits to estimates.

    To rescue a troubled project

    Missed releases and rising bugs often trace back to a few root causes an audit can find.

    Before scaling or a compliance audit

    A check that the codebase can carry more users, or the controls an auditor will review.

    Audit checklist

    What does the audit check?

    Seven areas, each with a method and a finding format, so reports from different audits can be read the same way.

    AreaWhat is checkedTool or methodFinding format
    ArchitectureModule boundaries, coupling, data flow and fit with the product roadmapReading code and diagrams, interviews with the current teamA diagram of the current state with risk notes
    SecurityInjection, access control, secrets in code and authentication flowsStatic analysis, secrets scanning and manual review of sensitive pathsOne finding per issue, with file, line and fix
    Dependencies and open source licencesOutdated and vulnerable packages, and the licence of each componentSoftware composition analysis and SPDX licence identifiers in an SBOMA dependency list with versions, known vulnerabilities and licence flags
    TestsCoverage of critical paths, flaky tests and what is not testedRunning the suite, coverage reports, reading test codeGaps listed against business-critical features
    Build and deployWhether a clean machine can build and deploy the codeRebuilding from the repository using only the written stepsA reproducibility result and the missing steps
    Data handlingWhere personal or sensitive data is stored, logged and sentData flow tracing, log and configuration reviewA data map with exposure points
    DocumentationSetup guides, runbooks and architecture notesFollowing the docs as a new engineer wouldWhat a new team needs that is missing

    Method

    How does an audit run with read-only access?

    1. Agree scope and access

      An NDA, read-only repository access, no production data, and the questions the audit must answer.

    2. Automated scans

      Static analysis, dependency, secrets and licence scans across the whole codebase.

    3. Manual review

      Engineers read the paths that matter most: authentication, payments, data access and integrations.

    4. Rebuild test

      Build and deploy from scratch in an isolated environment, using only what is written down.

    5. Interviews

      Short sessions with the current team to confirm the intent behind unusual code.

    6. Report and walkthrough

      Ranked findings presented to decision makers and to engineers, with time for questions.

    Automated or manual review

    What do automated code review tools catch, and what needs a human reviewer?

    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 typeWho finds itWhy
    Formatting and lint rulesAutomated toolThe rules are exact and apply the same way to every file
    Known insecure patternsBothStatic analysis flags the pattern; a person decides whether user input can really reach it
    Vulnerable dependenciesAutomated toolMatching package versions against published advisories is a lookup
    Secrets in codeAutomated tool, with a person checking each hitScanners find keys in code and history; a person confirms which are live and must be rotated
    Architecture and couplingHuman reviewerTools can count links between modules but cannot say whether a boundary fits the product
    Business logic errorsHuman reviewerCode can be valid and still apply the wrong business rule
    Authorization gapsHuman reviewerA missing check is an absence, so the reviewer has to know which roles should reach each path
    Unclear intentHuman reviewerNames 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

    How are findings ranked?

    Ranks describe what to do and when, not a grade for the team that wrote the code.

    01

    Fix before the decision

    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.

    02

    Fix before scaling

    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.

    03

    Plan into the roadmap

    Example: A framework that is old but still inside its support window

    Approach: Scheduled with an upgrade path and the reason it can wait.

    04

    Note

    Example: Inconsistent naming or missing comments

    Approach: Listed so the next team knows; no action required.

    Deliverables

    What is in the code audit report?

    • An executive summary answering the questions agreed at the start
    • Ranked findings with evidence, impact and a recommended fix
    • A dependency and licence inventory in a machine-readable format
    • An architecture diagram of the system as it is today
    • A fix or rewrite view per module, with the reasoning
    • Rebuild notes so a new team can build and deploy the code

    References

    References behind the audit

    NIST SP 800-218 PW.7OWASP Code Review GuideOWASP ASVSSPDX (ISO/IEC 5962:2021)OpenSSF ScorecardCWE
    Facts and sources

    Facts behind a code audit

    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.1
    • The SPDX specification for software bills of materials, including licence information, is recognized as the international open standard ISO/IEC 5962:2021.

      Source: SPDX: overview
    • The 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 List
    • OpenSSF 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 Scorecard

    Scope and cost

    What drives the cost of a code audit?

    We do not publish prices. These factors decide the size of the audit.

    Codebase size and languages

    More languages mean more tools and reviewers with the right experience.

    Services and repositories

    A single application, or many services with shared libraries.

    Depth of security review

    Automated scans only, or manual review of every sensitive path.

    Licence review

    How the product is distributed changes which licences matter.

    Rebuild test

    Whether build and deploy are checked from scratch.

    Decision deadline

    A fixed deal or board date that the report must meet.

    Frequently Asked Questions

    It depends on the size of the codebase, the number of languages and services and how deep the security review goes. We agree a report date tied to your decision deadline before the audit starts.