Local data · live DNS posture

See who sends mail for your domain—and whether it authenticates.

DMARCer turns aggregate XML reports into a practical private dashboard. Upload reports directly, inspect live DMARC and SPF records, or import matching attachments from Gmail without sending your data to a hosted service.

Node.js 22+ Docker Gmail readonly
example.com

Messages

12.4k

Pass rate

97.8%

Sources

18

DMARC policyquarantine
SPF posturevalid · 7 lookups
warning1 unauthenticated sending source

What it does

Email authentication evidence, made readable.

upload_file

Parse real reports

Upload XML, ZIP, or GZIP aggregate reports and summarize volume, IP sources, and SPF/DKIM outcomes.

dns

Check live DNS

Inspect public DMARC and SPF records and flag missing records, monitoring-only policy, unsafe +all, and suspicious sources.

mail_lock

Import from Gmail

Optionally pull matching attachments with read-only access, live progress, scheduled local runs, and duplicate prevention.

encrypted

Keep credentials separate

Gmail secrets and refresh tokens are encrypted locally; the encryption key is never stored alongside them.

database

Own the data

There is no hosted account or shared database. Docker volumes or the local data directory hold the reports.

ios_share

Export cleanly

Portable JSON exports include domains and parsed reports while deliberately excluding credentials and import metadata.

Local workflow

Reports in. Posture out.

  1. 01

    Collect

    Upload reports or pull only the Gmail label and query you choose.

  2. 02

    Normalize

    Parse compressed or raw aggregate reports and deduplicate processed messages.

  3. 03

    Compare

    Place observed senders beside the domain’s current SPF and DMARC configuration.

Deployment boundary

Designed for a machine you control.

Run it with Docker Compose or Node.js 22+. Gmail integration is optional and uses the provider’s read-only scope; DMARCer does not send, delete, label, forward, or modify messages.

$ docker compose up --build

open http://localhost:3000