Documentation

Domain health

Domain Health scans a domain’s DNS, TLS certificate, email authentication (SPF, DKIM, DMARC), and registration expiry, then rolls the results into a single 0–100 score so you can see problems — and creeping expiries — before they bite.

Run a scan

Open Domain Health in the sidebar, enter a domain, and run the scan. Results are saved to your team so you can track the domain over time and get alerted on changes.

There's also a free public scan on the marketing site that anyone can run without an account — same checks, but nothing is saved and connected-provider data isn't included.

Authenticated scans are rate-limited to 60 per hour per user; the public scan is limited per IP.

What gets checked

CheckWhat it looks at
DNS recordsA, AAAA, CNAME, MX, NS, TXT — missing A or NS is critical, missing MX is a warning
SSL / TLSCertificate issuer, protocol, and days to expiry (under 14 days is critical)
SPFA v=spf1 TXT record; a +all policy is flagged as critical
DMARCA _dmarc policy — p=reject/quarantine is healthy, p=none is a warning, missing is critical
DKIMCommon selectors for the detected email provider
BIMIA default._bimi record, if present
Domain expiryRegistration expiry via RDAP/WHOIS — within 30 days is critical
DNSSECDNSKEY presence (informational; drives change alerts, not the score)

How the health score works

The score is a weighted average across DNS, email authentication, DMARC, SPF, SSL, DKIM, and domain expiry. Each category's result (healthy, warning, critical, and so on) scales its contribution, then the total is expressed out of 100:

  • 80–100 — Healthy
  • 60–79 — Needs attention
  • Below 60 — At risk

Connect a DNS provider (optional)

Connecting your DNS provider unlocks deeper analysis: full zone snapshots, change detection between scans, and a richer set of configuration issues. Access is read-only — Crowswatch never makes DNS changes — and credentials are encrypted with AES-256-GCM.

Steps

  1. Go to Domain Health → Connect and choose your provider.
  2. Enter the credentials the provider needs (for Cloudflare, an API Token scoped to Zone.DNS:Read and Zone.Zone:Read).
  3. Crowswatch validates the credentials and lists your zones; pick the zone for this domain.
  4. Save. The domain is now linked to the provider and will build DNS snapshots on each refresh.
Cloudflare is fully supported today for connected-zone analysis. Other providers appear in the connect list, but deep zone analysis is rolling out — the core health scan works for any domain regardless of provider.

Per-domain detail

Open a domain to see its latest DNS snapshot (with a diff of what changed since last time), and its open issues ordered by severity — critical, warning, advisory, and info — each with a description and recommendation. You can snooze an issue for a while if it's expected.

Automatic re-scans

Domains with auto-scan enabled are re-checked on an interval (default every 60 minutes; faster intervals are available on paid plans). When a scan detects a change — a new DNS record, an approaching expiry, a weakened DMARC policy — it can dispatch alerts through your channels.

Permissions

Domain data is scoped to the active team. Owners and admins add domains, connect providers, set the scan interval, and snooze issues; members have read-only access. The number of tracked domains is governed by your plan.

Troubleshooting

The scan can’t resolve my domain

Crowswatch tries public resolvers, the system resolver, then DNS-over-HTTPS. A persistent failure usually means the domain has no NS/A records or the registrar has suspended it — the scan will flag that as critical.

Provider validation fails

Double-check the token and any extra fields, and that the token has read access to zones/DNS. Error messages are intentionally generic; regenerate the token if it can’t be validated.

My DMARC shows a warning even though it exists

A p=none policy is monitor-only and is flagged as a warning; move to p=quarantine or p=reject once you’ve confirmed your legitimate senders pass.

Next steps