Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
FREEDOM251

Freedom251 › Blog › DNS

Why My SPF Checker Counted GitHub at 8 of 10 DNS Lookups—and the Correction to 10

By Freedom251 Team · · 3 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

An SPF lookup count is not the number of include: strings visible in a domain’s top-level record. Under RFC 7208, the evaluator counts specified DNS-triggering terms across the full evaluation, including referenced policies. The author of the GitHub checker example reports that an initial version showed 8 of 10 and a corrected version counted 10. That is an account of the checker’s implementation; GitHub’s live SPF evaluation was not independently reproduced here, and its policy can change.

Why a top-level SPF record can undercount

SPF evaluation can follow an include into another domain’s SPF policy, and a policy can also send evaluation onward with redirect. The ten-term limit applies across this full evaluation, not just to terms printed in the original domain’s record. A checker that counts only top-level references can therefore report too small a number.

As an Amazon Associate I earn from qualifying purchases.

The standard measures lookup-causing SPF terms during evaluation—not every DNS packet or network request made while resolving them. A tool’s count is useful only if its method follows the applicable evaluation paths and applies the RFC’s term rules.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Which SPF terms count toward the limit?

RFC 7208 §4.6.4 counts these mechanisms and modifier when they are reached during evaluation:

  • include
  • a
  • mx
  • ptr
  • exists
  • redirect

By contrast, all, ip4, and ip6 do not cause DNS queries during SPF evaluation and do not consume this ten-term budget. The exp modifier is also excluded from the evaluation-time limit: its explanation lookup occurs after evaluation.

So neither counting every SPF token nor counting only visible include: entries gives the RFC-defined total. The relevant question is how many counted terms the evaluator reaches across the policy chain.

What the reported GitHub count means

In the GitHub example, the author reports that the first version of their checker displayed 8 of 10, while a corrected implementation counted 10. The discrepancy is consistent with the difference between a shallow count and one that accounts for lookup-causing terms reached through referenced policies. The reported figure describes the checker’s analysis; it should not be treated as a permanent or independently verified property of GitHub’s current SPF record.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

SPF policies and their dependencies can change. For a current diagnosis, inspect the record and the full evaluation at the time of the check, and confirm that the checker explains how it accounts for nested policies and redirects.

What happens when an evaluation exceeds ten?

RFC 7208 requires an SPF implementation to return permerror when evaluation exceeds the ten-term limit. The RFC defines permerror as meaning that the domain’s published records could not be correctly interpreted, and says the condition requires DNS operator intervention. It is not the same as a temporary DNS error: it signals a problem with the policy or its evaluation that needs correction.

The cap is a limit, not a target. A result of exactly ten is within the stated maximum; an evaluation that requires an eleventh counted term exceeds it.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Other SPF lookup limits are separate

The ten-term budget is not the only constraint in RFC 7208, but the additional rules do not grant extra room in that budget:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • For each mx mechanism, the RFC separately limits the address records queried for each MX record.
  • The RFC recommends limiting “void lookups” to two.

These rules address different aspects of evaluation. They should not be added to, or mistaken for exceptions to, the ten lookup-causing-term limit.

Why the limit matters beyond one checker

A USENIX Security 2024 study reported that 3,584,014 domains—6.5% of its measured set—required more than ten DNS lookups. The paper’s dataset snapshot was dated March 27, 2023, so this is a historical study result, not an estimate of prevalence in 2026. It illustrates that over-limit SPF configurations are not merely a checker-display issue: under RFC 7208, exceeding the cap produces permerror.

How to assess an SPF checker’s count

  • Check whether it follows nested include and redirect evaluation rather than stopping at the top-level record.
  • Confirm it counts all reached lookup-causing terms: include, a, mx, ptr, exists, and redirect.
  • Make sure it does not treat excluded terms such as ip4, ip6, all, or evaluation-time exp as additions to the ten-term budget.
  • Look for separate reporting of the MX address-record and void-lookup rules; those are not extra slots in the ten-term allowance.

Sources

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

DNSemail authenticationGitHubRFC 7208SPF

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.