Skip to content

Building a DMARC Monitoring Workflow with Python, Power BI, and GitHub Copilot

Ralph Kemperdick edited this page Jun 22, 2026 · 1 revision

Over the past few days, I’ve been working on a project that combines email security, automation, and data visualization in a way that feels both practical and useful: a DMARC reporting workflow that turns raw DMARC aggregate reports into insights you can actually act on.

The result is a repository I’m excited to share with friends, colleagues, and followers on LinkedIn: DMARC-Reports.

A particularly rewarding part of this work has been using the new Power BI authoring plugin for GitHub Copilot, which has made the process of turning raw DMARC data into a structured reporting experience much faster and more effective.

Why this project matters

DMARC is one of the most important standards for protecting email domains from spoofing, phishing, and impersonation attacks. But the raw reports themselves are often messy, fragmented, and difficult to interpret. That’s where this project comes in.

This repository helps you:

  • collect DMARC report attachments from an Exchange mailbox,
  • parse the reports into normalized structured data,
  • generate CSV output for analytics, and
  • build a Power BI dashboard for security monitoring and reporting.

In short, it turns a complicated security signal into something operational and easy to review.

What the repository does

The workflow is straightforward:

  1. Fetch DMARC report files from a mailbox using Microsoft Graph.
  2. Parse XML, ZIP, and GZIP report content.
  3. Normalize the data into clean CSV files.
  4. Use that data in Power BI for dashboards and trend analysis.

It’s a practical example of how automation, AI-assisted authoring, and business intelligence can work together to improve cybersecurity visibility.

Why I built it

I’ve always found it fascinating how much value can be unlocked when you take security telemetry and transform it into something understandable for decision-makers. DMARC reports are full of valuable information, but without structure, they are hard to use.

This project was born from that idea: make DMARC data more accessible, more actionable, and easier to monitor over time.

What makes it interesting

What I like most about this repo is that it’s not just a parser or a dashboard. It’s a full workflow:

  • Python scripts for ingestion and normalization
  • structured data outputs for downstream analytics
  • documentation for Power BI implementation
  • a reusable foundation that can be extended for broader security reporting

It’s a good example of how you can bridge the gap between security operations and data-driven reporting.

Who this is for

This repository is useful for:

  • security engineers,
  • email administrators,
  • IT operations teams,
  • Power BI users interested in security analytics,
  • and anyone exploring how to make DMARC data more practical.

If you work with Microsoft 365, email security, or threat monitoring, this project may be a useful starting point.

A quick note on the approach

I also wanted to make the repo approachable for others who want to experiment with it. The documentation includes guidance for setup, parsing, dashboard design, and the overall flow from mailbox ingestion to reporting.

That makes it a nice example of how GitHub Copilot, especially with the new Power BI authoring plugin, can support technical projects end to end.

My takeaway

Security is not only about blocking threats. It is also about creating visibility, building repeatable processes, and making important signals understandable.

This repo is my small contribution toward that goal.

If you are interested in email security, automation, Power BI, or practical cybersecurity projects, I’d love for you to take a look.

I’ve been especially impressed by how the new Power BI authoring plugin for GitHub Copilot helps accelerate the path from data to dashboard, and I’m excited to keep building with it.

You can find the repository here:

https://github.com/ralphke/DMARC-Reports

#Cybersecurity #DMARC #EmailSecurity #PowerBI #Python #MSFabric #ThreatDetection #Automation #SecurityAnalytics #CopilotCLI #AgenticAanalysis