A comprehensive email security analytics platform for monitoring DMARC authentication and protecting your domain reputation.
DMARC Dashboard is a modern web application that helps organizations monitor and analyze their email authentication posture. By uploading DMARC XML reports, you get powerful insights into:
- π§ Email Authentication Analysis - Monitor DKIM and SPF authentication success rates
- π Source IP Tracking - Identify and analyze email sources by provider and geographic location
- π Visual Analytics - Interactive charts and trends showing your email security posture
- π¨ Threat Detection - Spot unauthorized email sources and potential spoofing attempts
- π Historical Trends - Track authentication performance over time
- π Compliance Reporting - Generate comprehensive reports for security audits
- Protect Your Brand - Prevent email spoofing and phishing attacks using your domain
- Improve Deliverability - Optimize email authentication to ensure legitimate emails reach inboxes
- Gain Visibility - Understand who's sending emails on behalf of your domain
- Meet Compliance - Satisfy security requirements with detailed DMARC monitoring




Before you begin, ensure you have the following installed:
- Node.js (v16 or higher) - Download here
- npm or yarn package manager
- Git for version control
-
Clone the repository
git clone <your-repository-url> cd dmarc-dashboard
-
Install dependencies
npm install # or yarn install
-
Environment Configuration
π§ For Lovable Platform (Original Development):
This project was built on Lovable, where Supabase credentials are hardcoded in the client configuration. This is the recommended approach for Lovable projects:
- Public keys (URL and anon key) are safely included in client code
- Server-side secrets are managed through Supabase's secret management system
- No
.env
files are needed or supported on Lovable
βοΈ For Self-Hosting/Other Platforms:
If you're deploying this code outside of Lovable, create a
.env.local
file in the root directory:VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
Then update
src/integrations/supabase/client.ts
to use environment variables:const SUPABASE_URL = import.meta.env.VITE_SUPABASE_URL; const SUPABASE_PUBLISHABLE_KEY = import.meta.env.VITE_SUPABASE_ANON_KEY;
π‘ Need Supabase credentials?
- Create a free account at supabase.com
- Create a new project
- Find your URL and anon key in Project Settings β API
β οΈ Security Note: The anon/publishable key is designed to be public and included in client-side code. Never commit your service role key or other sensitive secrets to version control. -
Database Setup
The database schema will be automatically created when you first run the application. The following tables will be created:
dmarc_reports
- Main report metadatadmarc_records
- Individual email authentication recordsdmarc_auth_results
- Detailed authentication results
-
Start the development server
npm run dev # or yarn dev
-
Open your browser
Navigate to
http://localhost:8080
to see the application running!
- Create an account - Sign up using the authentication form
- Upload your first DMARC report - Click "Upload Report" and select an XML file
- Explore the dashboard - View your email authentication analytics
- Monitor trends - Upload more reports to see historical patterns
Technology | Purpose | Version |
---|---|---|
React | Frontend Framework | 18.x |
TypeScript | Type Safety | 5.x |
Vite | Build Tool & Dev Server | 5.x |
Supabase | Backend & Database | Latest |
Tailwind CSS | Styling Framework | 3.x |
shadcn/ui | UI Components | Latest |
Recharts | Data Visualization | Latest |
React Router | Client-side Routing | 6.x |
Command | Description |
---|---|
npm run dev |
Start development server on port 8080 |
npm run build |
Build for production |
npm run build:dev |
Build for development |
npm run preview |
Preview production build |
npm run lint |
Run ESLint code analysis |
- Data Privacy - All DMARC reports are stored securely in your Supabase instance
- User Authentication - Secure login powered by Supabase Auth
- Data Isolation - Multi-tenant architecture ensures data separation
- Local Processing - XML parsing happens client-side for security
We welcome contributions!
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- DMARC Specification - RFC 7489
- Email Authentication - DKIM & SPF
- React Documentation - reactjs.org
- Supabase Docs - supabase.com/docs
This project is licensed under the MIT License - see the LICENSE file for details.