Blog · Dmarc
Why DMARC p=none Is Mostly Decorative
What p=none actually does
When your DMARC record has a policy of p=none, you are telling receiving mail servers: if an email claiming to come from your domain fails DMARC, ignore it. Do nothing. The email goes through exactly as it would with no DMARC record at all.
This is the part that practitioners miss. p=none does not block. It does not quarantine. It does not flag suspicious mail for review. The receiving server checks your DMARC policy, sees the failure, and then does nothing with that information.
That is not protection. That is a monitoring system with no power to act on what it observes.
Authentication is not the same as authorization
SPF and DKIM are authentication mechanisms. They answer: was this email sent from infrastructure authorized by the domain it claims?
DMARC is an authorization mechanism. It answers a different question: does the domain owner actually want this message to be delivered?
Here is where alignment comes in. For DMARC to pass, the From header domain must align with either the SPF domain or the DKIM domain. The check is not just "is SPF or DKIM valid?" It is "is the sending domain the same one the domain owner is talking about in their From address?"
In practice this means: SPF can pass, DKIM can pass, and DMARC can still fail. If a third-party mailer sends for your domain using its own servers, SPF may validate the IP, and DKIM may sign the message, but neither check uses your domain in the From header. The receiving server checks alignment and finds none. DMARC fails.
This distinction matters because p=none has no power to act on any of it.
What decorative means in practice
Consider what happens when an attacker spoofs your domain. With p=none, the phishing emails reach inboxes. The receiving server checks DMARC, sees the failure, and then does exactly nothing. Recipients see your domain in the From field and no mechanism stops the message from landing.
The p=none record tells the world: "We are gathering data on who sends mail on our behalf." The record itself provides zero barrier to impersonation. It is a sign that says "we are watching" but the door has no lock.
This is the decorative problem in full. The record looks like a security measure. It has the word "policy" in it. It sits in DNS and shows up in security scans. But it makes no practical difference to what lands in inboxes.
When p=none is useful
p=none is the right starting point for a new DMARC deployment. Aggregate reports sent to your RUA address show every message that passes or fails authentication, including which sources are sending legitimately and which are misconfigured. Before moving to enforcement, you need that visibility.
p=none buys you time to gather this information, but only if you actually read the reports. A p=none record pointing at an unmonitored email address is decorative twice over: the policy does nothing, and the data nobody reviews goes nowhere.
This is where DMARCFlow fits naturally. Collecting and interpreting aggregate reports manually takes time and domain knowledge. DMARCFlow aggregates the report data and surfaces the sources that are failing, the sources that are passing, and the specific alignment issues that would prevent enforcement from working. The p=none phase is most useful when it leads to action, not just awareness.
The path from decorative to protected
Real protection requires moving to p=quarantine or p=reject. p=quarantine tells receivers to send failing mail to spam. p=reject tells them to drop failing mail entirely.
Both require valid authentication first. SPF must pass with alignment. DKIM must pass with alignment. If either fails at the authentication layer, DMARC cannot pass regardless of your policy level.
The sequence is: fix authentication, collect data, advance policy. Skipping steps is how domains end up breaking legitimate mail when they move to enforcement.
Most practitioners recommend staying at p=none for at least 4 to 8 weeks before advancing, and only after reviewing aggregate reports to confirm that failure rates from legitimate sources are below 1 percent for quarantine or 0.1 percent for reject.
What you need before moving to enforcement
Before advancing your policy, you need to have reviewed your aggregate reports and resolved the alignment issues they surface. Specifically: all legitimate third-party senders must be either aligned or explicitly authorized. Forwarding chains must be identified. Any mail sent using your domain from infrastructure you do not control must be accounted for.
If you move to p=quarantine or p=reject before fixing these issues, legitimate mail breaks. The enforcement step is only as safe as the data you collected during the p=none phase.
p=none is a tool. It is useful in context. But it is not a destination. If your goal is to stop people from impersonating your domain, p=none will not get you there. Only enforcement will.