# DMARQ **DMARQ** is a modern, privacy-conscious DMARC monitoring and analysis platform built for professionals who want deep visibility into their email authentication posture โ€” without giving up control or relying on third-party SaaS providers. ๐ŸŒ [Live Demo (soon)](https://app.dmarq.org) ๐Ÿ”’ Self-hosted. Secure. Beautifully visual. ๐Ÿ› ๏ธ Docker-deployable. Cloudflare-integrated. ๐Ÿ“ฌ Aggregate & forensic report support. --- ## ๐Ÿ’ก What is DMARQ? DMARQ ingests and visualizes DMARC (Domain-based Message Authentication, Reporting & Conformance) reports โ€” both aggregate and forensic โ€” to help domain owners understand who is sending emails on their behalf and whether those messages are properly authenticated using SPF and DKIM. No more guessing. See which services are passing DMARC, which are failing, and how to fix them โ€” all in one clear dashboard. --- ## ๐Ÿš€ Current Status - Milestone 1 Completed We have achieved **Milestone 1: Basic DMARC Monitoring**. This milestone includes: - โœ… DMARC XML report parsing (supports XML, ZIP, and GZIP formats) - โœ… In-memory storage of report data for up to 5 domains - โœ… Simple dashboard UI showing DMARC compliance statistics - โœ… Support for uploading and processing DMARC aggregate reports - โœ… Domain overview with compliance rates and email statistics You can now: 1. Upload DMARC aggregate reports via the web interface 2. View summary statistics across all monitored domains 3. Drill down into domain-specific details and reports 4. Track compliance rates and authentication failures --- ## โœจ Key Features ### ๐Ÿ“Š Dashboard & Reports - **DMARC Compliance Rate**: Track pass/fail rates over time - **Enforcement Rate**: Visualize policy strength and adoption - **Volume & Trends**: Identify traffic spikes and anomalies - **Top Sending Sources**: Detect unknown or unauthorized senders - **Forensic Reports**: Analyze failure samples (RFC 6591 support) ### ๐Ÿ›ก DNS Record Health - Inspect **SPF**, **DKIM**, **DMARC**, **MX**, and **BIMI** records - Show which records are missing, broken, or invalid - Get **fix suggestions** tailored to your provider (e.g., Google, Microsoft) - ๐Ÿ”’ No automatic changes โ€” all DNS updates require explicit confirmation ### ๐ŸŒ Cloudflare Integration - Automatically discover domains in your Cloudflare account - Fetch and analyze relevant DNS records - Suggest missing or malformed entries - Track configuration changes over time (coming soon) ### โš™๏ธ Web-Based Setup Wizard - Guided onboarding experience (no CLI setup required) - Store all configuration in a secure internal database - Seed config with environment variables for headless deployment ### ๐Ÿšจ Alerts & Notifications - Integration with [Apprise](https://github.com/caronc/apprise) - Email, Slack, webhook, and more - Alert on new failures, compliance drops, or unknown senders ### ๐Ÿ” User Management - Built-in authentication via **FastAPI Users** - JWT-secured API endpoints - Admin dashboard access control --- ## ๐Ÿš€ Getting Started You can deploy DMARQ in minutes using Docker Compose: ```bash git clone https://github.com/YOUR_USERNAME/dmarq.git cd dmarq cp .env.example .env docker compose up --build ``` Then visit [http://localhost](http://localhost) to access the dashboard and upload your DMARC reports. ### Development Setup For development without Docker: ```bash cd backend pip install -r requirements.txt uvicorn app.main:app --reload --port 8080 ``` Then visit [http://localhost:8080](http://localhost:8080) --- ## ๐Ÿ“ฆ Requirements - DMARC aggregate reports (XML, ZIP, or GZIP format) - Docker + Docker Compose (for production deployment) - Python 3.10+ (for development) --- ## ๐Ÿงช Development Roadmap - โœ… **Milestone 1**: Basic DMARC Monitoring (up to 5 domains) - โœ… **Milestone 2**: IMAP Integration - โœ… **Milestone 3**: Database Persistence - ๐Ÿ”œ **Milestone 4**: Enhanced Dashboard & Visualization - ๐Ÿ”œ **Milestone 5**: User Authentication & Multi-User Support See the full [Roadmap](docs/development/roadmap.md) and [TODO](TODO.md) for details on what is planned vs. what is currently implemented. --- ## ๐Ÿ“˜ License MIT License โ€” you are free to use, modify, and host DMARQ for any purpose. --- ## ๐Ÿค Contributing Pull requests are welcome! Please open an issue to discuss major features or design ideas before submitting code. See [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide. This project uses [Conventional Commits](https://www.conventionalcommits.org/) and [python-semantic-release](https://python-semantic-release.readthedocs.io/) for automated versioning and changelog generation. --- ## ๐Ÿ›ก Why DMARQ? Unlike most commercial DMARC tools, DMARQ gives you: - ๐Ÿ” Full visibility without third-party access to your reports - ๐Ÿง  Intelligence-driven suggestions, not just raw data - ๐ŸŽจ A beautiful, intuitive dashboard with real-time insights - ๐Ÿ’ป Self-hosted flexibility with modern developer practices Let's build better email security โ€” together.