CertaDNS
Skip to lesson

Operating SPF · lesson 2 of 2

How a correct record stops being correct

After this lesson you can

Name what you would monitor so a record does not fail without anyone noticing.

Assumes you have read Changing a record safely.

A correct SPF record does not stay correct. Almost everything that breaks one is a change somebody else made, which is why "we set that up last year" is not an answer to "is it working".

Five ways it decays

What happensCaused byHow it surfaces
The lookup count rises past 10A platform adds an include to its own record.permerror. SPF is off entirely, including for hosts you listed.
Void lookups accumulateA vendor is decommissioned and their name stops resolving.permerror, and a lookup count that does not explain it.
A flattened range goes staleThe platform renumbers.Silent. Legitimate mail fails one host at a time.
A sender appearsA team signs up for something with a card.Mail failing from a source nobody authorised — visible only in reports.
mx cost growsSomeone adds a fourth MX host for redundancy.One more lookup, from a change unrelated to email authentication.

Four of those five happen without anyone touching your SPF record, and two produce a hard failure with no warning at all.

What to actually monitor

  • The lookup count, on a schedule. Not whether it is valid — the number, with an alert on the trend. Going from 8 to 9 is the warning; going to 11 is the incident.
  • Void lookups. Any include target that stops resolving, checked as its own thing rather than inferred from the count.
  • The record itself, diffed. An unexpected change is either a colleague who did not tell you or something worse.
  • SPF results in aggregate reports. A rising permerror or temperror share is the earliest external signal, and it arrives before anyone complains.
  • New sending sources. The reports name them; nobody else will.

Alert on headroom, not on breakage

A check that fires when the record is already at permerror has told you after the outage started. Alert at 9 of 10. The gap between 9 and 11 is one vendor’s routine change, and it is the only window in which the fix is cheap.

A review cadence

daily      automated: lookup count, void lookups, record diff
weekly     aggregate reports: permerror/temperror share, new sources
quarterly  re-classify the estate; retire vendors nobody uses
at renewal ask unalignable vendors again — the answer changes

Write it down

The register from module 5 and the inventory from module 6 are what let someone else take this over. Without them, the next person inherits a record, no idea which of the eight includes is still needed, and no safe way to find out — which is how records end up with vendors from 2019 in them.

Knowledge check

An SPF record has not been edited in eighteen months. Today receivers begin reporting permerror. What is the most plausible explanation?

Try it on a real domain

Free, no account, public DNS only.

Last reviewed