What this analysis does
Live mode discovers the applicable DMARC policy and Organizational Domain through the current RFC 9989 DNS Tree Walk, then evaluates passing SPF and DKIM identifiers against the published alignment modes. Planning mode remains available for hypothetical policy design.
DMARC does not ask whether SPF or DKIM passed. It asks whether a passing authentication identity belongs to the same domain the recipient sees in the From field. That relationship test is why a dashboard showing two green checks can coexist with a DMARC failure.
Two independent paths can satisfy the policy
DMARC passes if either an aligned SPF path or an aligned DKIM path succeeds. SPF alignment compares the visible From domain with the envelope domain in Return-Path; DKIM alignment compares it with the signing domain in the d= tag. Only one needs to align, which is why the two paths should be evaluated separately rather than averaged.
In practice DKIM alignment is the more durable path. SPF alignment breaks when a message is forwarded, because the forwarding system replaces the envelope sender. A DKIM signature survives forwarding as long as the signed content is not modified, so a domain relying only on aligned SPF will see DMARC failures on legitimate forwarded mail.
- Aligned SPF or aligned DKIM is sufficient; both are not required.
- SPF alignment does not survive most forwarding.
- A configuration with only one working path has no redundancy.
Relaxed and strict change the comparison boundary
Strict alignment requires an exact domain match. Relaxed alignment, which is the default, compares organizational domains, so a subdomain can align with its parent. Choosing strict is a meaningful restriction that breaks any sender operating from a subdomain unless every path is deliberately configured for it.
The organizational boundary itself is no longer defined by a static public suffix list. RFC 9989 determines it through a bounded DNS tree walk, which means the boundary can be discovered rather than assumed. Modelling alignment against the actual tree walk is more accurate than applying a fixed suffix rule.
Model a change before enforcing it
Moving from monitoring to quarantine or rejection is the point where configuration mistakes become visible as lost mail. The lab evaluates a hypothetical policy against real authentication evidence, so the consequence of enforcement can be examined before the policy is published.
The prerequisite for enforcement is a complete sender inventory. Every legitimate service that sends for the domain needs at least one aligned path, and the way to confirm that is aggregate reporting over a period long enough to include infrequent senders such as quarterly invoicing or annual notices.
Review aggregate reports before enforcingBuild the sender inventory
Example: a platform-signed message that fails alignment
Evidence supplied
From is news@example.com, Return-Path is bounce@mail.platform.net, and the DKIM signature has d=platform.net.
How to read the result
Both SPF and DKIM can pass for platform.net while neither identity aligns with example.com. DMARC therefore fails. The remedy is a custom bounce domain under example.com, custom DKIM signing for example.com, or both.
Known limits
- Modelled results describe the supplied evidence; receivers apply their own local policy in addition to DMARC.
- Alignment can be satisfied for one message and fail for another sent through a different path.
- DNS observed at analysis time may differ from the state when a historical message was evaluated.
Common questions
Do I need both SPF and DKIM to align?
No. One aligned path is sufficient. Configuring both is recommended because it provides redundancy when forwarding breaks the SPF path.
Why does forwarded mail fail DMARC?
Forwarding replaces the envelope sender, which breaks SPF alignment. An aligned DKIM signature normally survives, which is why DKIM alignment matters for forwarded mail.
Is strict alignment more secure?
It is more restrictive, not automatically more secure. It breaks legitimate subdomain senders unless every path is configured for exact-domain matching.