[ Diagnostics & resources ]

SPF record builder: preserve explicit sender ownership

Build proposed SPF policies from approved sender ownership, current authorization evidence and explicit maintenance responsibilities.

By the EmailAuth research team · 8 min read

[ Key points ]

  • A provider name is not evidence of authorization for every domain.
  • Preserve one coherent SPF policy and explain each term.
  • Keep static formatting, dependency tests and real workflow verification separate.
On this page

Build from approved senders, not a guessed provider list

An SPF builder should preserve the organization's explicit decisions about which systems may use a particular SMTP identity. A convenient list of popular providers cannot establish that those services are authorized for the domain, that their recommended mechanism is current or that the resulting record fits the lookup limits. The output should be an annotated proposal tied to sender ownership, not a broad authorization assembled from brand recognition.

RFC 7208 defines SPF publication and evaluation. This article proposes requirements for a builder and its review process. It does not claim that EmailAuth offers any particular builder feature, generate a production record or modify DNS. No supplier account, private credential or user-domain record was inspected. Original output and test evidence remain open.

Inventory the actual SMTP identity and owner

For each workflow, record the business purpose, approved service owner, sending service, relevant MAIL FROM or HELO identity and the source of the proposed authorization. SPF does not directly authenticate the visible From display name. A provider used by one team should not automatically be added to every organizational domain. The intended identity and service relationship need explicit confirmation from the responsible owner.

RFC 9989 defines the alignment relationship needed for SPF to contribute to DMARC. A builder should explain that SPF authorization and DMARC alignment are related but separate decisions. Adding a provider to an SPF record does not guarantee that the provider uses that identity in actual mail. The integration owner must supply current configuration and authorized message evidence when verifying the workflow.

Use current provider instructions without expanding scope

The exact include target or address range should come from current official documentation or authorized configuration for the actual service. Do not infer it from another customer's record, an old tutorial or a similarly named product. Record the evidence date and the owner responsible for tracking provider changes. This manuscript does not invent provider include values because no specific sender configuration has been approved for construction.

Direct IP mechanisms and delegated dependencies carry different maintenance obligations. Static addresses can avoid the same lookup-term budget as DNS-query-causing mechanisms, but copying a provider's current addresses into a record can become stale when the provider changes infrastructure. A builder should not silently flatten dependencies as an optimization without an approved maintenance model. Preserve the trade-off and owner decision in the annotation.

Produce one coherent SPF policy

RFC 7208 requires a single SPF record for the evaluated identity; publishing multiple SPF records is not a valid way to combine several services. The proposed change should therefore describe how existing authorized senders are preserved in one coherent policy. It should not simply instruct the operator to add another v=spf1 record beside an existing one. Unrelated TXT records must not be removed as a side effect.

RFC 1035 defines TXT record structure. Multiple character strings within one TXT record are distinct from multiple TXT records, so the builder's display and test fixtures should retain that difference. An editor may format a long value differently from its wire representation. The approved exact diff should specify the intended record set rather than relying on a screenshot of a single field.

Explain mechanisms, qualifiers and modifiers

Each generated term should have an owner and rationale. Include delegates an evaluation according to the standard's result mapping; redirect is a modifier with different semantics and is ignored if any all mechanism is present. A builder should not interchange them just because both reference another domain. Qualifiers affect the result associated with a matching mechanism and should be selected through an explicit policy decision.

Do not imply that adding all makes every configuration safe. The placement and qualifier matter, and an overly broad authorization can defeat the intended boundary. Conversely, a restrictive ending can affect legitimate senders that were omitted from the inventory. The builder should surface unresolved workflows and require approval before publication rather than choosing a business-risk posture automatically from a template.

Check evaluation limits without confusing the count

RFC 7208 section 4.6.4 limits evaluated DNS-query-causing terms such as include, a, mx, ptr, exists and redirect to ten. This is not a limit of ten visible provider names or ten raw packets. Nested dependencies and the actual matching path matter. The builder should provide a dependency review and identify what it has not evaluated, rather than certify every possible input from a shallow count.

The standard also recommends a void-lookup limit of two with configurable behavior, and defines additional limits for specific mechanisms. A generator's static output does not establish how all receivers will evaluate every path under future DNS state. Keep path tests separate from formatting tests. A builder can explain likely dependencies without claiming that a successful syntax check proves universal SPF success.

An ownership-preserving output worksheet

Create a worksheet with identity domain, workflow, business owner, technical owner, approved sender evidence, proposed term, rationale and maintenance responsibility. Add the existing record reference, exact intended diff, unresolved senders, lookup-path review, verification plan and rollback criteria. The output should explain why each authorization exists and who may approve its removal or expansion.

The test set should include a positive valid proposal, invalid syntax, duplicate SPF records and unsupported-term cases. Distinguish unknown mechanisms from unknown modifiers because RFC 7208 treats them differently. The catalogue wording calls for unsupported-tag cases; for SPF, map that requirement explicitly to the protocol's mechanism and modifier vocabulary rather than inventing a generic tag parser. No such tests were executed for this draft.

Fictional diagnosis: an old supplier remains authorized

A fictional organization asks a builder to add a new mailing service. Its current record also references a retired supplier, but nobody has documented whether another workflow still uses that dependency. A simplistic builder merges the new term and preserves everything else without explanation. The proposed ownership-aware review instead marks the old authorization unresolved and asks the responsible business and technical owners to determine its status.

The team would not delete the old term merely to reduce the count, nor add the new supplier to unrelated identities. It would prepare an exact approved change after resolving the dependency and plan representative verification. This is a fictional lifecycle exercise, not an observed record, supplier retirement or completed DNS change. It illustrates why sender ownership is part of record construction rather than administrative paperwork afterward.

Verify the intended workflow before declaring completion

After an authorized publication, the operational team would retain exact DNS observations and representative trusted received-message evidence for each relevant workflow. Those observations must show the actual identity and alignment, not merely that the generated string appears in an editor. A successful sample remains scoped to its sender, time and receiver; it does not establish every future message's outcome.

The catalogue requires an annotated record and positive, invalid, duplicate and unsupported-tag test cases. Those original artifacts remain open. Human specialist review, source applicability, production routes, accessibility and owner release also remain open. This draft supplies a proposed worksheet and fictional diagnosis, not a generated production policy, executed test suite or verified EmailAuth feature claim.

[ Takeaway ]

Every SPF authorization should have a purpose, owner and evidence before it enters an approved policy.

[ By role ]

What this means for you

Choose your role for practical next steps.

Business sender owner

Confirm the workflow

A service should be authorized only for its approved identity and purpose.

Next steps

  1. Document active and retired dependencies.
  2. Resolve uncertain ownership before changes.

DNS administrator

Review the complete diff

Adding a second SPF record does not merge senders.

Next steps

  1. Preserve unrelated TXT data.
  2. Keep restore material and approval separate.

Integration owner

Maintain provider evidence

Provider dependencies and addresses can change.

Next steps

  1. Use current official configuration.
  2. Own any approved flattening maintenance.

[ FAQs ]

Frequently asked questions

Can a builder authorize every popular provider?

Not responsibly without explicit sender ownership and current evidence for the intended identity.

Does SPF directly authenticate the visible From name?

No. SPF evaluates the relevant SMTP identity; DMARC alignment to the visible From domain is a separate relationship.

RFC 7208: Sender Policy Framework

Can two SPF records combine two suppliers?

No. Multiple SPF records for the evaluated identity produce permerror rather than a merged policy.

RFC 7208: Sender Policy Framework

Are multiple TXT strings the same as multiple SPF records?

No. Several strings can form one TXT record; separate records are a different structure.

RFC 1035: Domain Names Implementation and Specification

Can include and redirect be interchanged?

No. Their evaluation semantics differ, and redirect is ignored when all is present.

RFC 7208: Sender Policy Framework

Does replacing includes with IPs remove all maintenance risk?

No. It can shift responsibility for tracking provider address changes and become stale without an approved process.

How should unsupported-tag cases be interpreted for SPF?

Map the catalogue requirement to SPF’s mechanism and modifier vocabulary and test their distinct handling.

RFC 7208: Sender Policy Framework

Was a record generated or published here?

No. The annotated output and required test cases remain open; no DNS changes occurred.

[ Sources ]

Sources

  1. RFC 1035: Domain Names Implementation and Specification

    Sections §3.3.1 CNAME RDATA format · §3.3.11 NS RDATA format · §3.3.14 TXT RDATA format

  2. RFC 9989: DMARC

    Sections §4.7 DMARC Policy Record Format · §4.8 Formal Definition · §4.10 DNS Tree Walk · §5.3.2 Determine If the DMARC Mechanism Applies · §4.4 Identifier Alignment Explained · A.6 Removal of the pct Tag

  3. RFC 7208: Sender Policy Framework

    Sections §2.3 The HELO Identity · §3.2 Multiple DNS Records · §4.5 Selecting Records · §4.6.4 DNS Lookup Limits · §5.2 include · §6.1 redirect · §8 Result Handling · §2.4 The MAIL FROM Identity · §4.1 Arguments · §4.4 Record Lookup · §4.6 Record Evaluation · §5.1 all · §6 Modifier Definitions

[ Glossary ]

Glossary

Sender ownership
The explicit business and technical responsibility for an authorized sending workflow.
Include mechanism
An SPF mechanism that evaluates a referenced policy and applies the standard’s result mapping.

RFC 7208: Sender Policy Framework

Redirect modifier
An SPF modifier that redirects evaluation under its specified conditions, distinct from include.

RFC 7208: Sender Policy Framework

Authorization annotation
The rationale, owner and current evidence attached to a proposed SPF term.

Enterprise provenance

Why top financial institutions and governments retired their email security dashboards.

Traditional email authentication platforms sell you a dashboard and ask your engineers to do the labour. In high-stakes environments, manual oversight means delayed enforcement, configuration drift and unmonitored shadow domains.

EmailAuth is the agentic email provenance platform. Our agents enforce p=reject, keep third-party senders aligned and move your domains to full RFC 9989 compliance, the new DMARC standard,, with human-in-the-loop auditability.

Governments Large enterprises Tier-1 financial institutions

SaaS · Dedicated tenancy · Air-gapped on-prem · BYOK encryption

Knowledge Base