Skip to main content
parallaxintelligence.digital
MailGuard Monitor ■ running in-house on our own domains

Ramp your domain to p=reject without breaking mail.

Every mailbox provider that receives mail claiming to be you sends a report about it. Our pipeline reads those reports, shows you every sender using your name, and walks your DMARC policy from monitoring to full reject as the data proves it is safe. The stack is self-hosted, and our own domains run on it.

The dashboard below is a worked example with fictional domains and illustrative numbers. The pipeline is real; your data stays yours.

01

One view of every domain

4
domains
18,240
msgs · 30d
97.4%
aligned · 30d
126
reports · 30d
38
senders · 30d

30 days of authentication, day by day

0350700day 1 · aligned: 542 msgs of 565day 1 · DKIM-only: 12 msgs of 565day 1 · SPF-only: 6 msgs of 565day 1 · fail: 5 msgs of 565day 2 · aligned: 585 msgs of 611day 2 · DKIM-only: 14 msgs of 611day 2 · SPF-only: 7 msgs of 611day 2 · fail: 5 msgs of 611day 3 · aligned: 575 msgs of 595day 3 · DKIM-only: 10 msgs of 595day 3 · SPF-only: 5 msgs of 595day 3 · fail: 5 msgs of 595day 4 · aligned: 513 msgs of 528day 4 · DKIM-only: 7 msgs of 528day 4 · SPF-only: 4 msgs of 528day 4 · fail: 4 msgs of 528day 5 · aligned: 509 msgs of 525day 5 · DKIM-only: 8 msgs of 525day 5 · SPF-only: 4 msgs of 525day 5 · fail: 4 msgs of 525day 6 · aligned: 506 msgs of 529day 6 · DKIM-only: 12 msgs of 529day 6 · SPF-only: 6 msgs of 529day 6 · fail: 5 msgs of 529day 7 · aligned: 569 msgs of 579day 7 · DKIM-only: 5 msgs of 579day 7 · SPF-only: 2 msgs of 579day 7 · fail: 3 msgs of 579day 8 · aligned: 517 msgs of 537day 8 · DKIM-only: 10 msgs of 537day 8 · SPF-only: 5 msgs of 537day 8 · fail: 5 msgs of 537day 9 · aligned: 497 msgs of 607day 9 · DKIM-only: 84 msgs of 607day 9 · SPF-only: 12 msgs of 607day 9 · fail: 14 msgs of 607day 10 · aligned: 635 msgs of 652day 10 · DKIM-only: 8 msgs of 652day 10 · SPF-only: 4 msgs of 652day 10 · fail: 5 msgs of 652day 11 · aligned: 568 msgs of 575day 11 · DKIM-only: 3 msgs of 575day 11 · SPF-only: 1 msgs of 575day 11 · fail: 3 msgs of 575day 12 · aligned: 518 msgs of 526day 12 · DKIM-only: 4 msgs of 526day 12 · SPF-only: 2 msgs of 526day 12 · fail: 2 msgs of 526day 13 · aligned: 537 msgs of 560day 13 · DKIM-only: 12 msgs of 560day 13 · SPF-only: 6 msgs of 560day 13 · fail: 5 msgs of 560day 14 · aligned: 517 msgs of 536day 14 · DKIM-only: 10 msgs of 536day 14 · SPF-only: 5 msgs of 536day 14 · fail: 4 msgs of 536day 15 · aligned: 609 msgs of 634day 15 · DKIM-only: 13 msgs of 634day 15 · SPF-only: 7 msgs of 634day 15 · fail: 5 msgs of 634day 16 · aligned: 587 msgs of 601day 16 · DKIM-only: 7 msgs of 601day 16 · SPF-only: 4 msgs of 601day 16 · fail: 3 msgs of 601day 17 · aligned: 557 msgs of 572day 17 · DKIM-only: 8 msgs of 572day 17 · SPF-only: 4 msgs of 572day 17 · fail: 3 msgs of 572day 18 · aligned: 505 msgs of 528day 18 · DKIM-only: 12 msgs of 528day 18 · SPF-only: 6 msgs of 528day 18 · fail: 5 msgs of 528day 19 · aligned: 427 msgs of 548day 19 · DKIM-only: 16 msgs of 548day 19 · SPF-only: 93 msgs of 548day 19 · fail: 12 msgs of 548day 20 · aligned: 596 msgs of 615day 20 · DKIM-only: 10 msgs of 615day 20 · SPF-only: 5 msgs of 615day 20 · fail: 4 msgs of 615day 21 · aligned: 549 msgs of 563day 21 · DKIM-only: 7 msgs of 563day 21 · SPF-only: 4 msgs of 563day 21 · fail: 3 msgs of 563day 22 · aligned: 562 msgs of 583day 22 · DKIM-only: 11 msgs of 583day 22 · SPF-only: 6 msgs of 583day 22 · fail: 4 msgs of 583day 23 · aligned: 618 msgs of 631day 23 · DKIM-only: 7 msgs of 631day 23 · SPF-only: 3 msgs of 631day 23 · fail: 3 msgs of 631day 24 · aligned: 540 msgs of 554day 24 · DKIM-only: 7 msgs of 554day 24 · SPF-only: 4 msgs of 554day 24 · fail: 3 msgs of 554day 25 · aligned: 584 msgs of 593day 25 · DKIM-only: 4 msgs of 593day 25 · SPF-only: 2 msgs of 593day 25 · fail: 3 msgs of 593day 26 · aligned: 600 msgs of 622day 26 · DKIM-only: 11 msgs of 622day 26 · SPF-only: 6 msgs of 622day 26 · fail: 5 msgs of 622day 27 · aligned: 630 msgs of 657day 27 · DKIM-only: 14 msgs of 657day 27 · SPF-only: 8 msgs of 657day 27 · fail: 5 msgs of 657day 28 · aligned: 567 msgs of 578day 28 · DKIM-only: 5 msgs of 578day 28 · SPF-only: 3 msgs of 578day 28 · fail: 3 msgs of 578day 29 · aligned: 525 msgs of 541day 29 · DKIM-only: 8 msgs of 541day 29 · SPF-only: 4 msgs of 541day 29 · fail: 4 msgs of 541day 30 · aligned: 513 msgs of 525day 30 · DKIM-only: 6 msgs of 525day 30 · SPF-only: 3 msgs of 525day 30 · fail: 3 msgs of 52530 days agotoday

Day 9 is a new sender coming online before its SPF record landed. Day 19 is a newsletter burst with a misaligned envelope domain. This is exactly the kind of thing the dashboard makes visible before an enforcement step would have eaten the mail.

acme.examplephase · quarantine_100
msgs/7d
2,304
msgs/30d
9,882
senders
17
reports
61
aligned · 30d
98.9%
initech.examplephase · quarantine_10
msgs/7d
1,178
msgs/30d
5,204
senders
12
reports
38
aligned · 30d
95.6%

+ 2 more domains in this example workspace

02

Every sender, classified

Aggregate reports name every IP that sent mail as your domain. The pipeline groups them into senders and sorts them into authorized, suspicious, and threats, so the spoofing shows up on a list instead of in your customers’ inboxes.

Google Workspaceauthorized 14,320 msgs · 6 IPs · mail from acme.example 99.8%
Newsletter platformsuspicious 1,840 msgs · 3 IPs · envelope domain misaligned 87.4%
Unknown bulk senderthreat 412 msgs · 203.0.113.0/24 · never authorized 0.2%
03

The policy ramp

A daily evaluator advances each domain through none → quarantine pct=10 → pct=100 → reject as health metrics permit, and rolls back if they slip. There is a manual gate before reject: the last step is always a human decision.

Current state · acme.example

phase · quarantine_100 started · 2026-07-20 manual hold · no

14 clean days at pct=10. Next step is reject, which waits for approval.

Evaluation log

whenbefore → afteradvancedpassvolreason
2026-07-20 06:00quarantine_10 → quarantine_100yes99.2%9,88214 consecutive days over threshold; volume stable; advancing
2026-07-06 06:00quarantine_10 → quarantine_10held92.1%8,987pass rate under 98% threshold after newsletter SPF misalignment; holding until clean
2026-06-21 06:00none → quarantine_10yes99.4%8,41021 days of monitoring, all known senders aligned; starting enforcement at pct=10
2026-06-01 06:00none → none - 98.8%7,905monitoring window not yet complete
04

What actually runs

  1. Ingest. A mailbox collects aggregate reports from every provider; the pipeline watches it and parses the XML attachments as they arrive.
  2. Store. Parsed records land in Postgres: every source IP, alignment result, and disposition, per report, per domain.
  3. See. The dashboard above - rollup, per-domain posture, sender classification, geography, and the full report archive.
  4. Ramp. The daily evaluator reads the last window of data and moves your DNS policy record itself - forward when it is safe, back when it is not.
  5. Digest. A weekly PDF lands in your inbox: what changed, who started sending, where the ramp stands.

A one-page domain checker for client conversations - SPF, DKIM, DMARC, MTA-STS, DNSSEC in one report - came out of the same work. All of it runs on our own hardware. Nothing about your mail flow leaves infrastructure we control, and if you'd rather run the same kind of snapshot from an iPhone than watch a dashboard, that's Parallax Recon.

put my domain on the ramp back to the ledger