MaleusMaleus

Understand the audit score

How the three audit scores are computed, what the four detail cards add, and how to run a fresh scan.

In the appAudit
On this page

The Audit page runs industry-standard analysers against your project's codebase and rolls them up into three letter grades. A scan typically takes 30 to 90 seconds.

Run a scan

The button at the top of the page is your single trigger. Its label changes with the state.

LabelWhat it means
Run first auditNo audit has ever been run for this project.
Running scan…A scan is in progress. The button is disabled.
Re-run scanA previous report exists; click to refresh it.

The three scores

Each score is shown as a circular gauge with a letter grade (A+ through F) and a trend sparkline.

Three scores, three different questions, each with its history.

Quality

Source-level code health: code smells, cyclomatic complexity, cognitive complexity, and test density. A high Quality grade means readable, well-tested code with few hotspots.

Security

Static analysis security testing (SAST) of your source. Findings are broken down by severity (critical / high / medium / low). The grade aggregates how many findings exist and how serious they are.

Supply-chain

Security of your dependencies, derived from npm audit and equivalent ecosystem tools. Tracks known vulnerabilities in third-party packages.

Hover any gauge to see the underlying numbers. The sparkline below the grade shows how that score moved over your last scans.

The four detail cards

Below the gauges, four cards drill into specific aspects of the codebase.

Each card carries the numbers behind a score.

CardWhat it shows
CodebaseSnapshot of the source: total LOC, backend / frontend split, count of APIs, entities, pages.
Code qualitySmells distribution and complexity figures (cyclomatic plus cognitive).
Test densityTest/source ratio, broken down per layer.
FindingsSAST and dependency findings with grade chips and severity breakdown.

Scan history

The bottom of the page lists previous scans. Click Load more to fetch older entries. Use it to track regressions: a quality drop right after a big merge tells you where to look first.

Scans run on the current state of your repository. They don't know about pending refinements in Maleus, so re-run the scan after a deploy or a major refactor.