What we check
See every check in the free CyberVigil scan, how we calculate the 0-100 score, what the scan doesn't cover, and why it's safe to run on your site.
Last updated Oct 23, 2026
CyberVigil looks at your business from the outside, the way a customer's browser or an email provider would. We only read information your website and domain already publish. This page lists every check, how the score works, and where the limits are.
How does a CyberVigil check work?
We run four groups of checks at the same time: website, email, domain, and reputation. Your report fills in as each group finishes, usually within seconds.
- Website checks request your homepage over HTTPS and plain HTTP, and open an encrypted connection to read your certificate.
- Email and domain checks read public DNS records using DNS-over-HTTPS from Cloudflare, with Google Public DNS as a backup.
- Reputation checks compare your domain against public blocklists.
We check the exact address you enter for website settings, and your main domain for email and domain settings. If you enter shop.yourbusiness.com, we load that site and check email records for yourbusiness.com.
Website checks
| Check | What we look at | Pass looks like |
|---|---|---|
| Encrypted connection (HTTPS) | Whether your homepage loads at https:// with a trusted certificate | The page loads over HTTPS and doesn't send visitors back to plain HTTP |
| Automatic upgrade to HTTPS | What happens when someone visits http:// | The visit ends on an https:// page, or plain HTTP isn't offered at all |
| Website certificate (SSL certificate) | Who issued it, whether browsers trust it for your address, and when it expires | Trusted, and 21 or more days before it expires |
| Modern encryption (TLS) | The encryption version your server uses, and whether it still accepts retired TLS 1.0 or 1.1 | TLS 1.2 or 1.3, with no support for 1.0 or 1.1 detected |
| Browser security settings (security headers) | Six headers: HSTS, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options (or CSP frame-ancestors), Referrer-Policy, and Permissions-Policy | All six in place and set to sensible values |
| Software version exposure | The Server, X-Powered-By, and X-AspNet-Version headers, and the generator tag in your homepage HTML | No exact version numbers visible |
| Cookie protection | Cookies your homepage sets | Every cookie uses the Secure and SameSite flags, or no cookies are set |
| Website platform | Public signs of your platform (like WordPress, Shopify, Squarespace, or Wix) and your CDN | Informational only. We use it to tailor your fix steps |
- A certificate with fewer than 21 days left gets a warning. One that is expired, untrusted, issued for a different address, or 7 or fewer days from expiry fails.
- For headers, "sensible values" means HSTS lasts at least six months, X-Content-Type-Options is
nosniff, framing isDENYorSAMEORIGIN(or usesframe-ancestors), and Referrer-Policy isn'tunsafe-url. Two to five headers is a warning. Zero or one fails. - The old TLS version test is best-effort, so "not detected" isn't definitive.
Email checks
| Check | What we look at | Pass looks like |
|---|---|---|
| Business email setup (MX) | Which servers receive email for your domain | Informational. It tells us your email provider so instructions match your setup |
| Approved email senders (SPF) | Your SPF record, the rule at the end of it, and how many DNS lookups it needs, including nested include: entries | Exactly one record, ending in -all or ~all (or using a redirect), within the 10-lookup limit |
| Email impersonation protection (DMARC) | The record at _dmarc.yourbusiness.com | One valid record with p=quarantine or p=reject, applied to all of your mail |
| Email signatures (DKIM) | DKIM keys at ten common selector names: google, selector1, selector2, k1, default, s1, s2, dkim, mail, and zoho | A key is found |
If your domain doesn't receive email, a missing SPF record is a warning rather than a failure. A DMARC policy of p=none is "monitoring only" and gets a warning, since fake emails are reported but not blocked.
DKIM selectors can't be listed from outside, so we try common names. If we don't find one, the result is informational and doesn't lower your score. Confirm DKIM in your email provider's admin settings.
Domain and reputation checks
| Check | What we look at | Pass looks like |
|---|---|---|
| Domain tamper protection (DNSSEC) | Whether a DS record is published for your domain | A DS record is found |
| Certificate issuer lock (CAA) | CAA records on your address or its parent domain | At least one CAA record |
| Blocklist reputation | Your address, main domain, and www version against the Phishing.Database active list, and URLhaus by abuse.ch when it's enabled | Not listed on any list we checked |
Phishing.Database is an open, MIT-licensed community list of active phishing domains. We refresh our copy at most every six hours. Your report always names which lists were checked for your domain.
How is the score calculated?
Every report starts at 100. Each check that needs attention subtracts points based on its result and its severity. Informational results and checks we couldn't complete subtract nothing. The score never goes below 0 or above 100.
| Result | High severity | Medium severity | Low severity |
|---|---|---|---|
| Fail | 15 points | 8 points | 3 points |
| Warning | 8 points | 5 points | 2 points |
Three failures carry heavier deductions because they affect every visitor or every email:
| Failure | Points subtracted |
|---|---|
| Domain listed on a blocklist | 40 |
| HTTPS not working, or HTTPS sending visitors to HTTP | 20 |
| Certificate expired, untrusted, or 7 or fewer days from expiry | 20 |
Your score then falls into one of four bands:
| Band | Score |
|---|---|
| Strong | 85 to 100 |
| Good | 70 to 84 |
| Needs work | 50 to 69 |
| At risk | Below 50 |
For example, a site where everything passes except a DMARC policy set to monitoring only would score 95. That warning is medium severity, so it subtracts 5 points.
What does the score mean, and what doesn't it?
The score shows how closely your public settings match widely recommended practice at the moment we checked. Use it to decide what to fix first and to track progress.
It doesn't mean your business is safe from attack, and a perfect score doesn't make you compliant with any law, standard, or insurance requirement. It says nothing about your passwords, devices, staff training, or backups.
A low score usually means settings are missing, not that you've been hacked. The exception is a blocklist listing, which often means a site was compromised.
What doesn't CyberVigil check?
Our checks are deliberately limited to what's public. We do not:
- Scan ports. We only connect on the standard web ports, 80 and 443.
- Log in, guess passwords, or submit forms on your site.
- Scan files on your server for malware.
- Try to exploit vulnerabilities or send attack payloads.
- Crawl your site. We load the homepage only.
- Look at your internal network, devices, Wi-Fi, or staff accounts.
- Check whether you use multi-factor authentication, keep backups, or update plugins.
CyberVigil is not a penetration test or a security audit. For the parts we can't see from outside, work through our small business cybersecurity checklist.
How does the AI summary work?
After your score is calculated, an AI model writes the short summary at the top of your report. We reach it through Vercel AI Gateway, and today it's Google Gemini 2.5 Flash by default.
The model receives your domain, score, band, detected providers and platform, and each check's name, result, severity, description, and estimated effort. It doesn't receive your email address, IP address, or anything else about you.
The summary has these guardrails:
- It may discuss only the findings provided, and must never invent problems, numbers, or vendors.
- Its answer must fit a fixed structure and can only point to findings that need attention.
- An automatic filter rejects wording like "guaranteed", "unhackable", or "compliant".
- If the answer breaks a rule, takes over 20 seconds, or the model is unavailable, we use a written template built from the same results.
- It's labeled "AI-powered insights" only when AI wrote it. Otherwise it's labeled "Your summary".
The AI never sets your score or changes a check result.
Is it safe to run on my website?
Yes. Our checks are passive and read only what's already public. A full check makes a handful of requests to your site: one homepage request over HTTPS and one over HTTP (following up to five redirects), plus a few encrypted connections on port 443 to read your certificate and test old TLS versions. Everything else is DNS and blocklist lookups.
We only download HTML or plain text, up to 512 KB, and stop waiting after 8 seconds. Our requests use this user agent, so you'll recognize them in your logs:
CyberVigilBot/1.0 (+https://cybervigil.ai/what-we-check)
We also guard against misuse. We accept public domain names only, not IP addresses, and connect only over http or https on ports 80 and 443. We refuse any address, including every redirect, that points to a private or internal network. Checks are rate limited per visitor, and we may ask for a quick human check (Cloudflare Turnstile).
How fresh are the results?
Each report is a snapshot from the time shown on it. If the same domain was checked in the last 10 minutes, we show that recent report instead of running a new one, which keeps the load on your site low.
After you fix something, use Re-check on your report. It always runs a fresh check and compares the results with your last one. DNS changes can take minutes to hours to show up, and blocklist data may be up to six hours old.
How do I report a mistake?
If you think a result is wrong, email hello@cybervigil.ai with your report link and what you expected to see. We'll fix the check if we got it wrong. The same address works for questions about CyberVigilBot in your logs.
To see what a report looks like, run a free check or open an example report.
Scan your website today
Get a free report on your website and email settings, with step-by-step fixes for anything that needs attention.
- Free check
- No signup
- No changes to your website