Skip to content

aradhyacp/Leak-Disclosure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

104 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Leak-Disclosure

License: MIT Node.js Version React Version Maintenance PRs Welcome

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.


πŸ“– Table of Contents


Project Overview

In an era of frequent data breaches, Leak-Disclosure serves as a sentinel for your digital identity. This platform allows users to:

  1. Search: Instantly check if an email address has been part of known data leaks.
  2. Monitor: Set up continuous background monitoring for specific accounts.
  3. Alert: Receive immediate email notifications via automated Cron jobs when new leaks are detected.
  4. SaaS Integration: Seamlessly upgrade to premium tiers using a secure subscription model.

Core Features

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.

Tech Stack

Frontend

Backend & Database

Services & DevOps


Project Structure

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

Getting Started

Prerequisites

  • Node.js (v18+)
  • NPM or Yarn
  • Accounts for: Clerk, Stripe, and Supabase.

Installation

  1. Clone the repository

    git clone https://github.com/aradhyacp/Leak-Disclosure.git
    cd Leak-Disclosure
  2. 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
  3. Frontend Setup

    cd ../FE
    npm install
    # Create a .env file and add:
    # VITE_CLERK_PUBLISHABLE_KEY, VITE_STRIPE_PUBLIC_KEY
    npm run dev

SaaS Highlights

πŸ’³ Stripe Integration

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.

πŸ” Clerk Authentication

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.

πŸ“‘ Real-time Webhooks

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.

⏲️ Monitoring Cron

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.


Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature') - Husky will ensure formatting!
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.


Contact & Support

Aradhya CP - @aradhyacp

Project Link: https://github.com/aradhyacp/Leak-Disclosure


Built with ❀️ for a safer internet.

About

Leak-Disclosure is a professional-grade full-stack SaaS security platform to identify compromised in data breaches. By providing real-time monitoring, automated email alerts, and a comprehensive search engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors