9 dimensions, one honest number
Each dimension is scored 0–100 from concrete, reproducible checks. Never a vibe. Weights adapt to your product category, and AI products get a tenth dimension of their own.
The dimensions
Functional Correctness
Links, forms, images, scripts and key pages actually work.
Reliability & Stability
5xx errors, repeat-run consistency, graceful 404 handling.
Performance
Response time, page weight, compression, caching, image sizes.
Security
HTTPS, security headers, cookie flags, CORS, mixed content.
UX & Accessibility
WCAG-derived: alt text, labels, viewport, heading structure.
Content & Communication
Boilerplate copy, titles, meta, thin content, SEO basics.
Code & Architecture
Lint, secrets, test coverage for repo-connected products.
Compliance & Trust
Privacy policy, terms, contact, cookie-consent signals.
Genuineness & Integrity
Dark patterns, fake urgency, hidden fees, real-business and AI-transparency signals.
How are these weights decided, and why do they change by category? →
Weights aren't guesswork. Each dimension's share of the score reflects how much it actually drives outcomes for a given kind of product. So when you pick a category on the scanner, Veriify re-weights the score to match. An online store is judged harder on Security and Functional Correctness (a broken checkout costs real money); a SaaS app leans on Reliability and Security (uptime and data protection are the product); a content or portfolio site weights Performance, Accessibility and Content higher, since that's what its value depends on.
| Dimension | General | E-commerce | SaaS | Content | Portfolio |
|---|---|---|---|---|---|
| Functional | 24% | 26% | 25% | 17% | 19% |
| Reliability | 14% | 13% | 16% | 11% | 9% |
| Performance | 11% | 9% | 9% | 17% | 17% |
| Security | 15% | 19% | 17% | 11% | 11% |
| UX & A11y | 11% | 11% | 10% | 13% | 17% |
| Content | 7% | 4% | 5% | 15% | 13% |
| Code Quality | 7% | 3% | 6% | 3% | 4% |
| Compliance | 4% | 5% | 4% | 5% | 4% |
| Genuineness | 7% | 10% | 8% | 8% | 6% |
Green = weighted higher than the General baseline; muted = lower. Every per-check deduction behind these numbers is published in the versioned rubric.
How a score is actually calculated
- Every finding deducts a fixed number of points from its dimension, set by severity: critical 30, high 12, medium 5, low 2.
- Each check has a cap, so one repeated issue can't zero an entire dimension.
- A dimension scores
100 − deductions, floored at 0. - Anything that can't be assessed (Code Quality with no repo connected, say) is marked N/A and its weight is spread across the rest. It's never counted as a failure.
- The final score is the weighted average, using the weights for your category above.
AI Trustworthiness
Chatbots and agents can't be judged by crawling them. You have to talk to them. So AI products get their own dimension, scored from 7 behavioural checks: prompt injection and jailbreaks, system-prompt leakage, unsafe output, hallucination against your ground truth, confident fabrication, answer consistency across repeated runs, and whether it discloses that it's an AI.
It applies only to AI-product scans. On a website or repo scan it's marked N/A and never touches your score.
Test an AI product →Every one of the 107 checks behind these 10 dimensions (with its severity, cap, and exactly what it detects) is published in the documentation.