DMARC Subdomains: sp, aspf & adkim Tags Explained
In brief
Learn how DMARC applies to subdomains: when p, sp, and np control policy, how aspf and adkim control alignment, and when strict versus relaxed is safer.

When a team rolls out DMARC, attention often goes to the root domain such as example.com. In practice, a large share of legitimate mail originates from subdomains like news.example.com, support.example.com, or tickets.example.com. To avoid surprises in production, it is important to understand how DMARC evaluates those subdomains and how the aspf, adkim, and sp tags work together to deliver strong protection without blocking good mail.
At a high level, DMARC checks two things. First, authentication from SPF or DKIM. Second, alignment, which compares the visible Header From domain with the domain that passed SPF or DKIM. Your aspf and adkim tags decide how strict that comparison must be. You can require an exact match with strict alignment or allow a shared organizational domain with relaxed alignment.
Your sp tag is the inheritance control for your namespace. It decides what happens to subdomains that do not publish their own DMARC record. If a subdomain has no DMARC record of its own, the evaluator will use the parent’s sp value. If the parent omits sp, the evaluator uses the parent’s p value for subdomains by default. The selection is always driven by the visible Header From domain.
Strict alignment is uncommon in the public DNS: Palisade's 2026 study of 100,000 ranked domains found that 8.2% of valid DMARC records request strict SPF or DKIM alignment. That does not make strict mode wrong; it shows why a rollout should be based on the organization's real sender topology rather than copied from a generic record.
DMARC subdomain decisions at a glance
| Tag | Controls | Default or practical starting point |
|---|---|---|
p | Policy for the domain publishing the record | Start at none; target enforcement after senders align |
sp | Policy for existing subdomains without their own DMARC record | Inherits p when omitted |
np | Policy for non-existent subdomains under RFC 9989 | Inherits sp, then p, when omitted |
aspf | Strict or relaxed SPF identifier alignment | Relaxed (r) when omitted |
adkim | Strict or relaxed DKIM identifier alignment | Relaxed (r) when omitted |
Policy tags and alignment tags answer different questions. p, sp, and np express the requested handling for a message that fails DMARC. aspf and adkim decide how closely an authenticated SPF or DKIM domain must match the visible From domain to produce an aligned pass.
What the sp tag really controls
Where DMARC looks first DMARC always starts with the visible Header From domain. It does not start off the Envelope From or Return Path. For example, if your email is sent from info@domain.com, the Header From domain is domain.com
sp only applies when the subdomain has no DMARC record of its own.
The evaluator tries _dmarc.. If no valid record exists there, RFC 9989 uses a bounded DNS tree walk toward the organizational or public-suffix policy domain. For example, it can query _dmarc.promo.mail.example.com, then _dmarc.mail.example.com, and then _dmarc.example.com.
RFC 9989, published in May 2026 with RFC 9990 and RFC 9991 for reporting, replaced RFC 7489. It replaces public-suffix-list policy discovery with the DNS tree walk and adds np for non-existent subdomains alongside sp. The sp, aspf, and adkim behavior covered here remains central. See what DMARCbis changed for the full migration summary.
When sp applies
- If the Header From domain has its own DMARC record, that record’s
ppolicy is used andspis ignored. - If the Header From domain does not have its own DMARC record and is a subdomain of a parent that does have a DMARC record, the parent’s
spvalue applies to that subdomain. - If the parent record omits
sp, the parent’spvalue applies to its subdomains by default.
- Valid
spvalues arenone,quarantine, andreject. The difference between the last two matters at enforcement time — see reject vs quarantine. - There is no
sp=samein the DMARC specification. Some tools display wording like same as p or inherit to describe the default behavior whenspis omitted. That label means the subdomain follows the parent’spvalue.
- Header From is
promo.mail.example.com
_dmarc.promo.mail.example.comexists withp=none.- Result. Use
p=nonefrom that record.spon any parent is not consulted.
- Header From is
mail.example.com
- No
_dmarc.mail.example.com. Parent_dmarc.example.comexists withp=reject; sp=quarantine. - Result. Use
sp=quarantinefrom the parent because the Header From is a subdomain without its own record.
- Header From is
help.example.com
- No
_dmarc.help.example.com. Parent_dmarc.example.comexists withp=rejectand nosp. - Result. Subdomain inherits
p=rejectbecausespis absent.
- Header From is
example.com
_dmarc.example.comexists withp=reject; sp=none.- Result. Use
p=reject.spis irrelevant because the Header From is the parent itself.
sp can do in practice
sp=noneallows discovery and monitoring on silent subdomains during onboarding.sp=quarantinecan throttle risk during a migration without discarding messages outright.sp=rejectasks receivers to reject failed subdomain mail and is the long-term target once legitimate subdomain senders are aligned.
- Root protected, subdomains monitored
v=DMARC1; p=reject; sp=none; rua=mailto:dmarc-reports@example.com
- Namespace fully enforced
v=DMARC1; p=reject; sp=reject; rua=mailto:dmarc-reports@example.com
- Subdomain override during onboarding
_dmarc.events.example.com TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"
Operational guidance
Start with a clear plan for sp. Many teams begin with sp=none to avoid breaking unknown subdomain senders. Publish per subdomain records with p=reject as each stream is validated. When coverage is complete, raise sp to reject so that any new or forgotten subdomain is protected by default.
Alignment modes: what aspf and adkim actually control
DMARC has two independent alignment checks.
- SPF alignment uses the RFC5321 Mail From identity, often called the Return Path. Check what a domain currently publishes with the SPF checker.
- DKIM alignment uses the
d=domain in the DKIM signature.
s) or relaxed (r).
aspf (SPF alignment)
aspf=rrelaxed. The From domain must share the same organizational domain with the SPF authenticated domain.aspf=sstrict. The domains must match exactly.
adkim=rrelaxed. The From domain must share the same organizational domain with the DKIMd=domain.adkim=sstrict. The domains must match exactly.
Palisade's AI-first DMARC agent helps operators manage sp, aspf, and adkim across their domains.
When and why to choose each alignment mode
aspf=s (SPF strict)
What it requires From domain must match the SPF identity exactly.
Why choose it
- Maximum brand control and clear accountability.
- Useful in regulated or high risk environments such as banking or healthcare.
- Easier incident response since any SPF aligned pass points to the exact domain.
- Many providers default to subdomain Return Path values like
bounce.mail.example.com. Those fail under strict mode unless reconfigured. - Legacy systems may not support a root Return Path.
billing@example.com via a billing platform that insists on spf.mail.example.com. With aspf=s, SPF fails alignment until you change the Return Path to example.com or rely on DKIM alignment instead.
aspf=r (SPF relaxed)
What it requires From and SPF identity share the same organizational domain.
Why choose it
- Operational flexibility for multi ESP environments and faster onboarding.
- Lower risk of false negatives during migrations.
- Often the most practical SPF choice for diverse stacks.
- Slightly lower assurance because more subdomains can pass.
- Requires governance on who can create sending subdomains and how Return Path is issued.
news@example.com via an ESP that uses return.news.example.com. With aspf=r, SPF can align while you move toward strong DKIM alignment.
adkim=r (DKIM relaxed)
What it requires
From and DKIM d= share the same organizational domain.
Why choose it
- Very practical default. Many platforms sign with
d=sub.example.comthat you control. - DKIM survives forwarding better than SPF, so relaxed DKIM provides resilience without forcing root
d=everywhere. - Helps satisfy BIMI prerequisites once DMARC alignment is stable.
- Same assurance considerations as SPF relaxed. You must manage subdomain issuance and key rotation well.
support@example.com signed with d=support.example.com. With adkim=r, the message aligns and passes DMARC even if SPF fails after a forward.
adkim=s (DKIM strict)
What it requires
From domain must match DKIM d= exactly.
Why choose it
- Highest assurance on the signal that most reliably survives forwarding.
- Simplifies investigations since any DMARC aligned pass must be signed by the root.
- Strong choice when you can centralize DKIM keys and standardize
d=example.comacross vendors.
- Some providers cannot sign with root
d=without extra setup. - Migration requires DNS changes and coordination.
alerts@example.com, signed d=example.com using a centralized service. With adkim=s, any vendor that insists on d=vendor.example.com fails until you move them to root signing.
How to decide quickly
- Inventory every email source. Note the current Return Path domain and the DKIM
d=domain. An email security score gives a quick baseline before you start. - If most sources already use subdomain Return Path and subdomain
d=, start withaspf=randadkim=r. - If you can standardize on
d=example.comacross vendors, preferadkim=s. Consider keepingaspf=rfor flexibility unless you also control Return Path globally. - If you are high risk with few vendors, aim for
aspf=sandadkim=safter a short discovery period. - Use per subdomain DMARC records for exceptions. Keep exceptions temporary and attach a removal date.
- Plan your
spprogression. Start withsp=noneonly if needed. Targetsp=rejectonce subdomains are aligned.
Applies to both aspf (SPF) and adkim (DKIM) alignment.
Real subdomain scenarios
- Marketing on a new ESP signs with
d=promo.example.comand usesreturn.promo.example.com. Withaspf=randadkim=r, mail aligns on day one. - A legacy ticketing tool sends from
support@example.combut uses a vendor Return Path that you cannot change. SPF often fails after forwarding to agents. With DKIM keys onsupport.example.comandadkim=r, the stream passes DMARC reliably. - A phishing campaign abuses the existing subdomain
secure-login.example.com. Raising the parent tosp=rejector publishing_dmarc.secure-login.example.comwithp=rejectasks participating receivers to reject messages that fail DMARC for that name.
Questions readers ask
FAQs

Written by
Ian BussieresCTO & Co-Founder, Palisade
Ian Bussieres is the CTO and co-founder of Palisade, AI-first DMARC software for IT teams and MSPs.
More from Ian →


