An open API service indexing awesome lists of open source software.

https://github.com/kinshukjainn/zeroleaks

An Open source and beautifully simple, tool that shows how strong or weak your passwords really are. No sign-ups. No data saved. Just instant, actionable insights to help you stay safer online..
https://github.com/kinshukjainn/zeroleaks

aws awsamplify awsrout react react-router react-router-dom security tailwindcss typescript vite

Last synced: 3 months ago
JSON representation

An Open source and beautifully simple, tool that shows how strong or weak your passwords really are. No sign-ups. No data saved. Just instant, actionable insights to help you stay safer online..

Awesome Lists containing this project

README

          

## ๐Ÿ“œ Overview

**ZeroLeaks** is a highly secure, fully client-side password analysis and generation tool designed for developers, security researchers, and privacy-conscious users. It combines cryptographic best practices, entropy-based analysis, and data breach intelligence to help users understand and improve their password hygiene.

Built with modern technologies including **React 19**, **TypeScript**, **TailwindCSS**, and **Vite**, it features a sleek, responsive UI, deep security insights, and real-time visualizations.

---

## โœจ Features

### ๐Ÿ” Password Analyzer

* Real-time strength evaluation (score 0โ€“4)
* Entropy-based complexity measurement
* Crack time estimation for multiple attack scenarios
* Suggestions and warnings for weak passwords
* Checks if password appears in known data breaches via the Pwned Passwords API (SHA-1 k-Anonymity)

### ๐Ÿ” Secure Password Generator

* Generates military-grade random passwords (configurable length, symbols, digits, case)
* Passphrase mode using word-based memorable phrases
* Fisher-Yates shuffle for true randomness
* Auto-analyzes strongest password from the batch

### ๐Ÿ“Š Security Visualization

* Radar chart displaying:

* Password entropy
* Unique characters
* Crack resistance
* Reuse risk
* Overall score

### ๐Ÿง  Local Password History

* Non-reversible hashed history (SHA-1 hex digest simulation)
* Tracks past scores, entropy, timestamps
* Stored in memory for maximum privacy (not saved to disk)

---

## ๐Ÿš€ Tech Stack

| Layer | Stack / Library |
| --------------- | -------------------------------- |
| Frontend | React 19 + TypeScript |
| Styling | TailwindCSS v4 |
| Routing | React Router DOM v7 |
| Icons | React Icons (Remix, FontAwesome) |
| Dev Environment | Vite 7 + ESLint + TSConfig |
| Password Check | Native Web Crypto + Pwned API |
| Visualization | HTML5 Canvas API |

---

## ๐Ÿ”ง Project Structure

```
zeroleaks/
โ”‚
โ”œโ”€โ”€ components/ # Reusable UI logic & visualization
โ”œโ”€โ”€ hooks/ # Custom hooks for state logic
โ”œโ”€โ”€ utils/ # Password analysis, entropy, hash
โ”œโ”€โ”€ constants/ # Strength config mappings
โ”œโ”€โ”€ types/ # TypeScript interfaces & types
โ”œโ”€โ”€ assets/ # Static assets (if any)
โ”œโ”€โ”€ App.tsx # Main app logic & routing
โ”œโ”€โ”€ index.tsx # Entry point
โ””โ”€โ”€ styles/ # Tailwind configuration
```

---

## ๐Ÿงช How It Works

### ๐Ÿ”Ž Entropy Calculation

Entropy is computed based on character set size and password length:

```ts
entropy = log2(charsetSize ^ passwordLength)
```

Character sets include lowercase, uppercase, digits, and symbols.

### ๐Ÿ›ก๏ธ Score Mapping

A simple scoring model evaluates passwords across:

* Length โ‰ฅ 12 and โ‰ฅ 16
* Mixed character types
* High entropy
* Low character repetition

Mapped to 5 categories: `Critical`, `Weak`, `Moderate`, `Strong`, `Fortress`.

### โ˜ ๏ธ Pwned Check (Privacy-Preserving)

Your password is hashed with SHA-1 and only the first 5 characters of the hash are sent to the API. This ensures:

* **Zero exposure** of the full password
* **Client-side only** execution
* **Full anonymity**

---

### Docker command for pulling the image of the project :

```Bash
docker pull kinshukdev/zeroleaksproduct:latest
```

## ๐Ÿ–ฅ๏ธ Development

### ๐Ÿ“ฆ Install dependencies

```bash
npm install
```

### ๐Ÿ”ง Development server

```bash
npm run dev
```

### โš™๏ธ Production build

```bash
npm run build
```

### ๐Ÿ” Preview production

```bash
npm run preview
```

### ๐Ÿงน Lint your code

```bash
npm run lint
```

---

## ๐Ÿ“ฆ Dependencies

* `react`, `react-dom` โ€” UI logic
* `react-router-dom` โ€” Page navigation
* `react-icons` โ€” Iconography
* `tailwindcss` โ€” CSS utility engine
* `@vitejs/plugin-react`, `vite` โ€” Fast bundler
* `typescript`, `eslint`, `typescript-eslint` โ€” Type safety & linting
* `@types/*` โ€” Full IntelliSense and TS support

---

## ๐Ÿ” Privacy & Security

* **Zero backend** โ€” All logic is local in-browser
* **No telemetry** โ€” No analytics or tracking
* **Ephemeral state** โ€” No passwords or history saved to disk
* **Quantum-resilient generation** (passphrase mode)

---

## ๐Ÿง  Ideal For

* Developers creating secure login systems
* Students learning about password security
* Privacy-focused users wanting leak-free credentials
* InfoSec professionals analyzing password health