Skip to content
Watchdog
Sign inSurvey a repo free

A condition report for your codebase

Is your code getting better or worse?

Watchdog reads your whole product and grades it from 0 to 100, as a Code Assurance Index. One thorough, independent survey of how well the thing is built, and what it would take to make it better. Run the survey again next sprint and the number tells you whether the work landed.

Point us at a repo and sign in with GitHub, GitLab, Bitbucket or Azure DevOps. That is the whole setup: the survey reads the code, and your CI and your tree stay exactly as they are. No card · Java, TypeScript, C#, Python, Go and more · the first full report on any repo is €0, and every plan computes the full index.

authby ruben-rasmussen

Exemplary

CAI98/ 100

6298up 36 over 18 scans

ruben-rasmussen/auth — score by lens
Code health98
Architecture99
Maturity99
Readiness96
Security100
Domain modelling100
ruben-rasmussen/auth — what the run recorded
Published15 June 2026 · 35,954 lines
Rebuild cost~€380,000
Bus factor1 of 3 developers

At your next review

What's the state of your code?

You can probably say the build is green and everything works. Neither tells you which part of the code is weakest, or whether the last few months of work changed anything. Low-quality code can pass the build and run fine, and some risks grow while the code stands still, such as a vulnerability found in a library you depend on. You often only find out when there's an outage or a breach.

Breaks for users

Code that only looks finished

A function with a convincing name that returns the same value whatever you give it. It passes the build and does nothing useful.

False confidence

Tests that check nothing

Tests that pass without checking any result, and your coverage figure counts them anyway.

Hard to trace

Errors made invisible

Code that catches a failure and carries on as if nothing happened, so the problem turns up later with no trace of where it began.

Growing cost

Unfinished work left in the code

Notes that say "fix this later", warnings switched off, old code commented out and left behind. None of it breaks the build, so it piles up.

Bugs come back

The same code in many places

Copied blocks that drift apart, so a fix made in one copy is missing from the others.

Open to attack

A library found to be vulnerable

A library you rely on is found to have a security flaw after it passed your checks. Your own code didn't change, so there is no new build to catch it.

Each of these is a named measurement in the open Code Assurance Index. See how each one is defined →

With Watchdog

Survey. Fix. Prove it moved.

The survey runs on your cadence

The whole product, every service, every language we cover. No CI job, no build hook, nothing in your repo. It runs on your team's sprint calendar, not on a commit.

You get a number and a direction

One score for the whole product, and a separate grade for each aspect of it, from how the code reads to how it is secured. Only the aspects that fit how your product is built are graded, so a simple service is never marked down for lacking a design it doesn't need. Each shows which way it has moved since last time, so if something is getting worse, you see it at the next survey, not at the next outage. See what each grade covers →

You fix what matters most

Every finding shows the file, the line and what's wrong. The list starts with the fixes that do the most good for the least work. Your team works through it by hand, or with the coding tools they already use.

The next survey shows what changed

Your fixes show up as movement in the same grades, measured the same way. This is the part no linter gives you: evidence that the work paid off, not just that the tickets were closed.

What every survey carries

4

full reports with every survey, written for leadership, engineering, security and audit

Up to date

an architecture map and a list of every library you use, rebuilt from the code at every survey

Signed

evidence you can put in a bid, a hand-over or a due diligence, which the other side can check is genuine

Daily

a security watch on the libraries you depend on, so you hear the same day if one is found vulnerable

See for yourself

Problems a green build won't show you.

Three real open-source projects, and what their published surveys found.

MS.Microservice

Errors that disappear

In the parts of MS.Microservice that process audio files and Excel spreadsheets, the survey found four places where the code catches an error and throws it away. Nothing is logged and no alert is raised. The program carries on as if everything worked, so a file that failed can look just like one that succeeded, and the problem only shows up later, far from where it started.

Read the 380 other findings in the survey →

Atlas-API-Modular-Monolith

Building blocks with known security holes

Atlas is the back end of a legal-services product. Like most software, it's built on ready-made building blocks written by others, called libraries. The survey found 37 of them out of date and 4 that are no longer maintained. Three have publicly known security holes, two rated high severity, including the ones it uses to handle email. The code builds and runs fine, so nothing flags it until the team updates those libraries or an attacker uses one of the holes.

Read the 82 other findings in the survey →

dev-store

Knowledge held by one person

In 66 of dev-store's files, almost all of the recent work comes from one developer. The survey calls it an off-boarding risk: if that person leaves, nobody else knows those files. Across all 73 of the project's main files, the knowledge has faded so far that, in the survey's words, no one currently understands them.

Read the 93 other findings in the survey →

Straight answers

What you'll want to know before your first survey.

Will it slow down my releases?

No. It runs on its own schedule, outside the pipeline your code ships through, so it can never hold up a release. If it's ever unavailable, your deployments carry on as normal.

Will it change my code?

Never. It reads your code and reports what it finds, and every change stays with your team. When your developers fix something, they do it their way, in their own tools.

Who sees my results?

You do, and no one else. A survey stays private to your account until you choose to publish it, on every plan, the free one included, and anything you share is signed, so it can't be altered along the way. The public reports you can browse are from the open-source corpus we survey on our own account.

Will it bury us in warnings?

That's what it's built to avoid. It's tuned for each language on real production code, so everyday patterns aren't flagged as faults, and the list is ranked so the fixes that matter most come first. Open one of the published surveys on this page and judge for yourself.

What if it can't measure something?

It tells you, with the reason, and leaves that part out of the score instead of counting it as zero. A test suite that won't run, for example, shows as not measured, so your score is never dragged down by something it couldn't check.

Can I check how the score is worked out?

Yes. The rules, and the weight each one carries, are published on the open Code Assurance Index site, and the program that turns the measurements into a score is open source. Run it over the evidence in any survey and you get the same number back.

What if I want to stop?

Stop scheduling surveys and you're done; there's nothing to uninstall. The reports you already have stay valid, because they're signed, dated documents you keep, not a dashboard that disappears with the account.

How long does a survey take?

Minutes. Point it at a repository and read the report in the same sitting. Your first survey also measures the size of your code, so you know what you'd pay before anything is billed.

Does it cover the languages I use?

Java, TypeScript, C#, Python, Go and more, each with its depth shown on the languages page. C, C++ and older systems like COBOL aren't covered today, and if that's what you run, we'll tell you before you pay.

See every language →

Included

The documents you currently write by hand.

Every survey generates them from your code, so they're current on the day a customer or an auditor asks for them.

An architecture diagram

A map of how your system is put together, redrawn at every survey (C4 model), so it matches the code even after months of changes.

Release notes

A changelog drafted from the code's history, so release notes start from facts instead of memory.

Every library and licence you use

In the standard format for a software bill of materials (CycloneDX SBOM): the list your security team, your lawyers and your customers keep asking for.

A description of the system

What the codebase is, how it's organised and how it came to be that way. A head start when a new developer joins or a buyer starts a due diligence.

An architecture review

A check of whether the code still follows the design decisions your team wrote down (ADR conformance), with every place it has drifted.

A security findings list

Every security finding, tagged with its standard weakness type (CWE), the way auditors and security teams expect to see it.

They all come in one signed package, so the customer or auditor you share it with can check it hasn't been changed (Ed25519). See what's in the package →

Any mix of languages

Your whole product in one report.

Most products are written in more than one programming language. Watchdog measures every part on the same scale, so the whole product gets one report and one score, instead of a separate tool for each language. It also means teams or suppliers who work in different languages can be compared fairly. See which languages we cover, and how deep each goes →

Don't see yours? Tell us what you work in; we prioritise new languages by how often people ask for them.

No stake in your score

A score both sides can trust.

Whether you're checking a supplier's work or proving your own, the score only helps if the other side believes it.

We never build the code we measure and we take no success fees, so a higher or lower score earns us nothing. We're paid to measure, never to move the number.

The rules are set before you're scored

The scoring rules are published before your code is scored, and neither side of a contract can change them. When they change, that's a new published version, every result names the version it used, and a contract can lock one version for its whole term.

Read the rules →

Anyone can check the maths

Every survey carries the evidence behind its score, and the program that turns that evidence into the number is open source. Run it yourself and you get the same number back. That confirms the calculation; how each measurement was taken is set out in the survey itself.

Check the calculation yourself →

Security and compliance

Safe for your code, ready for your auditors.

Only the survey sees your code

Each survey runs automatically on Watchdog's own hardware in Denmark, inside the EU. Your code is held in memory while it runs and erased the moment it finishes, without ever being saved to disk. No person reads it, and no cloud provider is involved at any point.

Your code stays confidential

Watchdog's language model runs on the same machines as the survey, and it only assists with a few advisory notes; the score itself comes from the measurements. Your code is never sent to OpenAI, Anthropic, Google or any other AI provider, and never used to train a model, so there's no outside AI service for your security or legal team to approve.

Or inside your own network

If your organisation needs it, the whole survey can run on your own machines, so your code never leaves your network.

Talk to us about on-prem →

Evidence for your auditors

EU security and resilience rules, accessibility standards and security checklists (NIS2, DORA, WCAG 2.2, OWASP ASVS and more), switched on per repository. Watchdog checks the part a tool can check, and a control it finds failing can't be quietly passed. You declare the rest. Not a certifier: it records the evidence, and a named human signs.

See every framework we cover →

Works with what you have

Keep the tools you already use.

Your code scanners and security checks (such as SonarQube and Snyk) stay where they are, checking the code as it is written. Watchdog surveys the whole product on your team's schedule. Every finding comes with its file and line, ranked by what to fix first, and your coding agent can take the list from there. Each survey also shows whether the design is holding up, where knowledge is thinning out, and whether things are getting better or worse over time. See how it fits with your tools →

Where next

Find the page written for your situation.

Software owner

Someone else builds your software and you pay for it. See what you're getting, measured independently of the people who wrote it.

For software owners →

Engineering team

Know every sprint whether your code is getting better or worse, what to fix first, and whether the fixes worked.

For engineering teams →

Consultancy or agency

Win the bid with measured quality: an independent score your client can check for themselves.

For consultancies →

Freelancer or solo developer

Show a client who can't read code that your work is well built, with an independent score for the proposal and the hand-over.

For freelancers →

Buying or assessing software you don't own? That's what Assay is for.

Try it on code you know well.

Pick a project you understand well and see whether the findings match what you already know about it. It's the quickest way to judge whether you can trust the rest. The first full report on any project is free, with nothing held back.

Sign in with GitHub, no card needed. After the first report, prices are public, based on how much code you survey, and capped at the top. See pricing →