DMARC (Domain-based Message Authentication, Reporting, and Conformance) is a critical email security protocol designed to protect domains from spoofing and phishing attacks. However, one of its policy settings—p=none—creates significant security vulnerabilities that many organizations fail to recognise.
This article explains why p=none is problematic and what IT professionals should do about it.
DMARC offers three policy enforcement levels:
While p=none might seem like a safe starting point (and it IS - for short periods!), it creates serious security gaps that can be exploited by malicious actors.
The fundamental issue with p=none is that it provides zero protection against email spoofing (spoofing is when an email is sent using a valid domain, but the sending server is not authorised for that domain). With a DMARC record is set to p=none, receiving mail servers are instructed to take no action against any email that fails an authentication check, effectively allowing any sender to impersonate your domain without penalty or detection - yes, that absolutely means that ANYONE could accurately impersonate ANY email address on your domain with this setting in place!
This creates a false sense of security—organisations believe they have DMARC protection (as many SaaS platforms will give a "green tick" and even suggest this entry!) when they the reality is they actually have none!
As one security expert notes,
having a DMARC record set to p=none is essentially equivalent to not having a DMARC record at all.
Well, we'd actually like to challenge that - it is actually WORSE than not having a DMARC record!
Surprisingly, p=none can be more dangerous than having no DMARC policy whatsoever. Here's why:
When attackers successfully spoof your domain due to p=none policies, several negative consequences occur:
Domains with weak DMARC policies are specifically targeted by Cyber criminals (yes, this as these settings are in DNS, they are easily searched and visible by everyone!). Research shows that bad actors actively hunt for domains with p=none policies because they know these domains can be easily spoofed for phishing and spam campaigns.
While p=none is generally problematic, there are a few (limited!) scenarios where it serves a legitimate purpose:
The recommended approach is to transition gradually from p=none to stricter policies:
You're ready to move beyond p=none when you have:
While p=none serves a limited purpose during initial DMARC implementation, leaving it in place long-term creates serious security vulnerabilities and is just plain BAD! Organisations using p=none are essentially putting a neon sign up for cybercriminals that their domain is available for spoofing attacks.
The solution is straightforward: p=none is a TEMPORARY monitoring phase, not a permanent security posture. Moving to p=quarantine or p=reject policies allows you to realise DMARC's full protective potential and significantly reduce exposure to email-based attacks.
For IT professionals implementing DMARC, remember that monitoring without enforcement is not security—it's simply expensive data collection that leaves your organization vulnerable to the very threats DMARC was designed to prevent.