Security Scoring

When you run a full_audit, Veilguard scores your codebase with a strict penalty-based model. Every project starts at 100 and loses points per issue. The full audit is Pro-only and unlimited; on free, calling it returns an upgrade prompt — run the individual scanners for free vulnerability alerts.

Calculation Model

Every project begins with a perfect score of 100. Each issue subtracts points based on what it is and how much damage it causes — the most dangerous patterns cost the most:

PenaltyIssue type
−25Service-role / admin key exposed in frontend code — instant database takeover
−20Hardcoded secret · unverified webhook · SQL/NoSQL/command injection · missing Supabase RLS · open Firebase rules · IDOR
−15Mass assignment · missing rate limiting on auth or payment routes
−10Wildcard CORS · sensitive data written to logs
−8Error stack traces exposed to users
−5Missing security headers (CSP, HSTS, X-Frame-Options)
−1Informational findings

Anything uncategorised falls back to −15 for a critical finding and −5 for a warning. The final score is floored at 0.

Grades Overview

ScoreGradeMeaning
95 - 100A+Production-ready. Excellent security hygiene.
90 - 94AProduction-ready. Excellent security hygiene.
85 - 89B+Good security. A few improvements before scaling.
80 - 84BGood security. A few improvements before scaling.
75 - 79C+Moderate risk. Fix warnings before you get real users.
70 - 74CModerate risk. Fix warnings before you get real users.
60 - 69DHigh risk. Critical issues present. Fix before deploying.
0 - 59FDo NOT deploy. Critical vulnerabilities attackers actively exploit.