What Vigilo checks

50+ technical checks in eight categories. Each one is tied to a published standard or guideline, and tells you exactly how to fix it.

55 checks in total: 32 run in the free scan, 23 more in the deep audit included in Report and Monitor.

HDR

Security headers

Is your site's front door locked?

HTTPS, security headers and a security contact — the basics every browser looks for.

Relevant to: GDPR Art. 32 (security of processing), NIS2 good practice, OWASP Secure Headers. · Category weight 15

IDWhat we checkWeightRuns in
hdr.https_redirectHTTP redirects to HTTPShttp:// redirects to https:// (≤2 hops)CriticalFree scan
hdr.hstsStrict-Transport-Security (HSTS)Strict-Transport-Security present, max-age ≥ 15552000ImportantFree scan
hdr.cspContent-Security-PolicyContent-Security-Policy present and not only */unsafe-inline everywhereImportantFree scan
hdr.x_content_type_optionsX-Content-Type-OptionsX-Content-Type-Options: nosniffMinorFree scan
hdr.frame_ancestorsClickjacking protectionCSP frame-ancestors or X-Frame-OptionsMinorFree scan
hdr.referrer_policyReferrer-PolicyReferrer-Policy is strict-origin-when-cross-origin or stricterMinorFree scan
hdr.security_txtsecurity.txt/.well-known/security.txt exists with Contact: and valid Expires:MinorFree scan
hdr.server_disclosureServer version disclosureServer/X-Powered-By reveals versionsInfo onlyFree scan
hdr.tls_cert_expiryTLS certificate validityCertificate valid > 14 daysCriticalDeep audit
MAIL

Email authentication

Can anyone send email as you?

SPF, DKIM and DMARC decide whether mail "from" your domain is trusted — and whether fakes are blocked.

Relevant to: Google & Yahoo bulk-sender requirements (2024), Microsoft Outlook.com sender requirements (May 2025), internet.nl / Forum Standaardisatie standards. · Category weight 15

IDWhat we checkWeightRuns in
mail.mxMail servers (MX)Domain has MX recordsInfo onlyFree scan
mail.spf_presentSPF recordExactly one v=spf1 TXT recordImportantFree scan
mail.spf_lookupsSPF lookups and endingSPF resolves within 10 DNS lookups, ends -all or ~allImportantFree scan
mail.dmarc_presentDMARC record_dmarc TXT with v=DMARC1CriticalFree scan
mail.dmarc_policyDMARC policy strengthp=quarantine or p=reject, pct 100ImportantFree scan
mail.dmarc_ruaDMARC reporting addressrua= reporting address presentMinorFree scan
mail.dkim_selectorDKIM keyDKIM key found on common selectors: default, google, selector1, selector2, k1, mail, dkim, s1, s2, mxvaultImportantFree scan
mail.mta_stsMTA-STSMTA-STS policy publishedMinorDeep audit
TRK

Trackers & fonts before consent

What loads before visitors say yes?

Analytics, ad pixels and Google Fonts that load before a visitor has agreed.

Relevant to: GDPR / ePrivacy (Dutch Telecommunications Act art. 11.7a); the Dutch DPA (AP) checks around 10,000 websites a year for cookie consent. A German court (LG München I, 2022) addressed Google Fonts loaded from Google’s servers. · Category weight 20

IDWhat we checkWeightRuns in
trk.scripts_staticTracking scripts before consentKnown tracker hosts in static HTML <script src> not gated by a CMP type="text/plain" patternCriticalFree scan
trk.google_fontsGoogle Fonts loaded from GoogleLinks to fonts.googleapis.com / fonts.gstatic.comImportantFree scan
trk.cookies_first_responseTracking cookies on first responseNon-essential cookies in Set-Cookie of the first HTML response (matches _ga, _fbp, _gcl_*, …)ImportantFree scan
trk.third_party_hostsThird-party hosts referencedCount of distinct third-party hosts referenced in HTMLInfo onlyFree scan
trk.requests_before_consentTracker requests before consent (real browser)Real browser: network requests to tracker hosts before any consent interactionCriticalDeep audit
trk.non_eea_transfersPre-consent transfers outside the EEADestinations of pre-consent requests located outside the EEAImportantDeep audit
CNS

Cookie banner

Can visitors say no as easily as yes?

Whether a banner appears when needed, offers "Reject" as easily as "Accept", and is respected.

Relevant to: GDPR / ePrivacy; EDPB Cookie Banner Taskforce report (2023); AP guidance on cookie banners. · Category weight 15

IDWhat we checkWeightRuns in
cmp.vendor_detectedConsent tool detectedKnown CMP script (Cookiebot, OneTrust, Complianz, CookieYes, Usercentrics, Iubenda, Didomi, Borlabs, Termly, Cookie Information)Info onlyFree scan
cmp.policy_linkCookie / privacy policy linkLink with text/href matching cookie(s) / cookiebeleid / privacyMinorFree scan
cmp.banner_visibleBanner shown when neededBanner visible on first load (only required when non-essential cookies/trackers are present)ImportantDeep audit
cmp.reject_first_layer"Reject" on the first layer"Reject" option on first layer, comparable prominence to "Accept"CriticalDeep audit
cmp.no_precheckedNo pre-ticked purposesNo pre-ticked non-essential purposesImportantDeep audit
cmp.reject_respectedReject is respectedAfter clicking reject: no tracker requests, no tracking cookiesCriticalDeep audit
A11Y

Accessibility statement & signals

Can everyone use your site?

An accessibility statement plus basic signals that people using assistive technology can use your site.

Relevant to: European Accessibility Act (Directive (EU) 2019/882, applies since 28 Jun 2025; micro-enterprises providing services (<10 staff and ≤€2M turnover or balance sheet) are exempt), EN 301 549 / WCAG; ACM supervises in the Netherlands. · Category weight 15

IDWhat we checkWeightRuns in
a11y.statement_linkAccessibility statement linkLink to an accessibility statement (toegankelijkheid / accessibility / toegankelijkheidsverklaring)ImportantFree scan
a11y.html_langPage language<html lang> set and valid BCP-47ImportantFree scan
a11y.img_altImages without alt text<img> without alt attribute on homepageImportantFree scan
a11y.viewport_zoomZoom not blockedViewport meta present and does not block zoom (user-scalable=no, maximum-scale<2)ImportantFree scan
a11y.titlePage titleNon-empty <title>MinorFree scan
a11y.form_labelsForm fields without labelsInputs without label, aria-label or aria-labelledby on homepageMinorFree scan
a11y.statement_contentAccessibility statement contentsStatement contains: conformance status, known issues, contact/feedback route, date, enforcement/complaint routeImportantDeep audit
a11y.automated_violationsAutomated accessibility rules (axe-core)axe-core WCAG 2.2 A/AA automated rules across crawled pagesCriticalDeep audit

Automated tools find only part of accessibility issues (estimates range from about 30% to 57%). A full WCAG-EM audit needs human testing.

SHOP

Webshop consumer law

Does your checkout tell buyers what it must?

The information EU consumer law asks webshops to show: who you are, withdrawal rights, prices and terms.

Relevant to: EU Consumer Rights Directive 2011/83/EU (incl. the online withdrawal function added by Directive (EU) 2023/2673, which Member States must apply from 19 June 2026), Dutch Civil Code book 6/7; ACM supervises. · Category weight 10

IDWhat we checkWeightRuns in
shop.detectedWebshop detectedPlatform signature (Shopify, WooCommerce, Magento, Lightspeed, CCV Shop, Shopware, PrestaShop) or cart/checkout linksInfo onlyFree scan
shop.company_identityCompany identityCompany name, geographic address, email, KvK number, VAT id findableImportantDeep audit
shop.withdrawal_info14-day withdrawal information14-day right of withdrawal explained, model form availableCriticalDeep audit
shop.withdrawal_functionOnline withdrawal functionOnline "withdraw from contract" function/link reachableImportantDeep audit
shop.price_displayPrices incl. VAT and delivery costsPrices incl. VAT, delivery costs shown before checkoutImportantDeep audit
shop.terms_linkGeneral terms reachableGeneral terms reachable before purchaseMinorDeep audit
shop.odr_link_outdatedOutdated ODR platform linkLink to the EU ODR platform (discontinued July 2025) still presentInfo onlyDeep audit
CWV

Performance

How fast does it feel?

Server response, page weight and Core Web Vitals.

Relevant to: no legal requirement; Google Search page-experience signals; user experience. · Category weight 5

IDWhat we checkWeightRuns in
perf.ttfbTime to first byteTime to first byte from our edgeMinorFree scan
perf.html_weightHTML document sizeHTML document sizeMinorFree scan
perf.compressionCompressionContent-Encoding br/gzipMinorFree scan
perf.lcpLargest Contentful PaintLargest Contentful Paint (field data if available, else lab)ImportantDeep audit
perf.inpInteraction to Next PaintInteraction to Next PaintImportantDeep audit
perf.clsCumulative Layout ShiftCumulative Layout ShiftImportantDeep audit

How the score works

Every check ends in one of five results: Pass (1 point), Warning (half a point), Fail (no points), Info (an observation, not scored) or Not checked (not part of this scan type, or it timed out).

Each check has a weight: 3 for critical, 2 for important, 1 for minor. A category’s score is the weighted share of points it earned, from 0 to 100.

The overall score is the weighted mean of the category scores. Categories that don’t apply, such as Webshop consumer law on a site without a shop, are left out and the other weights are scaled up.

Critical cap: if any critical check fails, the grade is capped at C, whatever the score. The result says “Grade capped: critical issue”.

The free scan shows a quick score, based on the checks it could run (for example “based on 32 of 55 checks”).

Grade bands
GradeScoreMeans
A90 and upIn good shape
B80 to 89In good shape
C70 to 79Some things need fixing
D60 to 69Some things need fixing
E50 to 59Several urgent issues
Fbelow 50Several urgent issues
Category weights
CategoryWeight
Security headers15
Email authentication15
Trackers & fonts before consent20
Cookie banner15
Accessibility statement & signals15
Webshop consumer law10
Performance5
Broken links5

Limits

Automated checks are a strong first filter, not the final word. Accessibility tools catch only part of the issues (estimates range from about 30% to 57%); a cookie banner can look right and still be configured wrong for some visitors. That’s why Reports include human review and why we never call a site “compliant”.

Technical observations against published standards. Not a legal assessment of compliance; doesn't replace a lawyer or a full WCAG-EM audit.