How to fix dmarc policy none on Headless / Custom (I build in code)
Strengthen your DMARC policy from p=none (monitor-only) to p=quarantine, then p=reject, so that emails fraudulently sent from your domain are blocked rather than silently allowed through.
Steps for Headless / Custom (I build in code)
- Identify every service that sends email using your domain: transactional mail API (SendGrid, Postmark, Mailgun, SES), marketing ESP, helpdesk, CRM, etc.
- For each, complete their DKIM key publication (add the TXT record they provide to your DNS) and add their sending infrastructure to your SPF record.
- Parse your rua report data (use a DMARC report parser or a SaaS tool) until >95% of mail is aligned.
- Update your _dmarc TXT record via your DNS provider API or console: change p=none → p=quarantine → p=reject with monitoring intervals between each step.
What is dmarc policy none?
DMARC (Domain-based Message Authentication, Reporting & Conformance) is a DNS record that tells the world's email providers what to do when they receive an email claiming to be from your domain. The policy tag (`p=`) controls the action: `none` means "do nothing — just watch," `quarantine` means "send suspicious mail to the spam folder," and `reject` means "refuse to deliver it at all." Right now your record is set to `p=none`, which is a read-only monitoring mode — it collects reports but never protects anyone. Moving to `p=quarantine` and eventually `p=reject` turns DMARC into an actual shield against email fraud.
With `p=none`, anyone in the world can send email that appears to come from your domain — your customers' inboxes, your suppliers, even your staff — and mail servers will deliver it without question. This is the primary technique used in phishing and business email compromise (BEC) attacks, where criminals impersonate your brand to steal money or credentials from your customers. Beyond security, Google and Yahoo now require a DMARC policy (at minimum `p=none` with reporting, but ideally stricter) for bulk senders, and staying in monitor-only mode signals poor email hygiene that can hurt your domain's sender reputation and deliverability. Moving to `p=reject` demonstrably reduces phishing abuse of your brand, protects customer trust, and is increasingly expected by enterprise buyers and payment processors performing vendor security assessments.
See the complete Dmarc policy none guide for every platform and the full background.
Not sure if your Headless / Custom (I build in code) store has this?
Run a free SEOLZ scan — we’ll find dmarc policy none and every other issue across your whole site.
Scan my site free