Leak-Disclosure is a professional-grade, full-stack SaaS security platform designed to empower users by identifying compromised data in global breaches. Featuring real-time monitoring, automated email alerts, and a robust search engine, it provides a comprehensive defense against identity theft.
- Project Overview
- Core Features
- Tech Stack
- Project Structure
- Getting Started
- SaaS Highlights
- Contributing
- License
In an era of frequent data breaches, Leak-Disclosure serves as a sentinel for your digital identity. This platform allows users to:
- Search: Instantly check if an email address has been part of known data leaks.
- Monitor: Set up continuous background monitoring for specific accounts.
- Alert: Receive immediate email notifications via automated Cron jobs when new leaks are detected.
- SaaS Integration: Seamlessly upgrade to premium tiers using a secure subscription model.
| Feature | Description |
|---|---|
| π Deep Search Engine | Scans massive datasets to locate leaked credentials and personal info. |
| π‘οΈ Real-time Monitoring | Continuous background checks using Cron Jobs for persistent safety. |
| π³ Subscription Management | Full SaaS flow with Stripe integration (Success/Cancel flows). |
| π Advanced Auth | Secure user management and protected routes powered by Clerk. |
| π§ Automated Alerts | Instant email notifications when your data is found in new leaks. |
| π Theme Support | Dark/Light mode context for an optimal user experience. |
| ποΈ Developer Tooling | Husky pre-commit hooks and Prettier for code consistency. |
Leak-Disclosure/
βββ BE/ # Backend (Node.js/Express)
β βββ auth/ # Clerk Auth Logic
β βββ db/ # Supabase Schema & Connection
β βββ monitor/ # Cron Jobs & Email Notification Logic
β βββ search/ # Leak Search Logic
β βββ subscription/ # Stripe Subscription Management
β βββ webhook/ # Stripe & Clerk Webhook Handlers
βββ FE/ # Frontend (React + Vite)
β βββ src/
β β βββ Components/ # UI Parts (Search, Monitor, Pricing)
β β βββ Pages/ # Dashboard, Upgrade, Auth Pages
β β βββ Routes/ # Protected vs Public Route Logic
β β βββ context/ # Theme & Global State
β βββ public/ # Static Assets
βββ .husky/ # Pre-commit formatting hooks
βββ .prettierrc # Code style configuration
βββ package.json # Root dependencies
- Node.js (v18+)
- NPM or Yarn
- Accounts for: Clerk, Stripe, and Supabase.
-
Clone the repository
git clone https://github.com/aradhyacp/Leak-Disclosure.git cd Leak-Disclosure -
Backend Setup
cd BE npm install # Create a .env file and add your credentials: # CLERK_SECRET_KEY, STRIPE_SECRET_KEY, SUPABASE_URL, SUPABASE_KEY npm start
-
Frontend Setup
cd ../FE npm install # Create a .env file and add: # VITE_CLERK_PUBLISHABLE_KEY, VITE_STRIPE_PUBLIC_KEY npm run dev
The platform implements a full payment lifecycle. Using Stripe Webhooks, the backend listens for checkout.session.completed events to automatically update user subscription statuses in the Supabase database.
Authentication is handled via Clerk, providing a secure and seamless login/signup experience. The backend uses a custom authMiddleware.js to validate Clerk JWTs, ensuring that only authenticated users can access sensitive monitoring data.
The project features a dedicated webhook/ directory that processes:
- Stripe Webhooks: For handling payments and subscriptions.
- Clerk Webhooks: For syncing user data between Clerk and the local Supabase instance.
Inside BE/monitor/, the system runs scheduled tasks (monitorCron.js) to scan for new leaks for all subscribed users, sending automated emails via email.js if a breach is detected.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Husky will ensure formatting! - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Aradhya CP - @aradhyacp
Project Link: https://github.com/aradhyacp/Leak-Disclosure
Built with β€οΈ for a safer internet.