SPF record
The TXT record naming the servers allowed to send mail as this domain. Without one, anyone can forge your address; the ending — ~all or -all — is what makes it mean something.
SPF (Sender Policy Framework) is a TXT record on your domain that lists the servers allowed to send mail with your domain in the envelope sender. Receiving servers compare the connecting IP address with that list; without a record they cannot tell your mail from a forgery, and spam filters treat the domain as less trustworthy.
How SiteScan grades it
The scan reads the TXT records of the registrable domain and picks those starting with v=spf1. The row shows the qualifier of the final all mechanism:
- Green — one record ending in
-all(fail anything else) or~all(soft fail), or one with noallat all. - Warning — no SPF record, or one ending in
?all(neutral), which authorises nobody and protects nothing. - Red — more than one SPF record (receivers then treat SPF as a permanent error, which is worse than having none), or
+all/ a bareall, which authorises every server on the internet.
How to fix it
Publish exactly one record that names all your senders, for example v=spf1 include:_spf.google.com include:sendgrid.net -all. Merge multiple records into one, and stay within the limit of 10 DNS lookups that include, a and mx add up to. SPF works best together with DKIM and DMARC — see email authentication.
See this check on your own site
Run a free scan: the report shows this row for your domain along with the other checks of the site audit.
More in “DNS & email”
What SiteScan checks
TLS certificate
- TLS certificate expiry
- Outdated TLS versions (TLS 1.0/1.1)
- TLS certificate chain
- TLS certificate issuer
- Certificate signature algorithm
Domain registration
- Domain registration expiry
- Registered domain name
- Domain registrar
- Domain registration date
- Domain last updated date
- Domain status codes (EPP)
- Domain transfer lock
- Registrar abuse contact
- RDAP and WHOIS data source
Indexing
- robots.txt file
- CSS and JS blocked in robots.txt
- XML sitemap
- Sitemap index file
- Off-domain URLs in the sitemap
- Sitemap lastmod dates
- Broken URLs in the sitemap
- RSS and Atom feed
Addresses & redirects
Security headers
- HTTP security headers and grade
- Strict-Transport-Security (HSTS) header
- Content-Security-Policy (CSP) header
- X-Content-Type-Options: nosniff
- X-Frame-Options and clickjacking
- Referrer-Policy header
- Permissions-Policy header
- HSTS preload list
- CORS and cross-origin reads
- HTTP TRACE method
Delivery & reputation
- Cache-Control header for HTML
- ETag and Last-Modified revalidation
- HTTP/3 and QUIC support
- Server version disclosure in headers
- DNS blocklist (DNSBL) check
Internal links
Exposure
- Exposed sensitive files (.env, .git, backups)
- Directory listing enabled
- Public JavaScript source maps
- Exposed WordPress endpoints
Well-known files
- security.txt file
- llms.txt for AI assistants
- llms-full.txt file
- ads.txt authorized sellers file
- humans.txt file
- Well-known change-password URL
DNS & email
- MX records (mail servers)
- SPF record
- DMARC record and policy
- DNSSEC signing
- CAA record
- Nameserver redundancy
- IPv6 support (AAAA record)
- MTA-STS policy
- TLS-RPT reporting record
- BIMI record (brand logo in email)
- Wildcard DNS record
- Dangling CNAME and subdomain takeover
Privacy & consent
- Analytics and tracking scripts
- Cookie consent banner
- Privacy policy link
- Terms of service link
- Imprint (Impressum)
- Accessibility statement
Core Web Vitals
- Lighthouse performance score
- Largest Contentful Paint (LCP)
- Cumulative Layout Shift (CLS)
- Interaction to Next Paint (INP)
- CrUX field data vs lab data