Skip to content

Arya182-ui/End2end-Chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

105 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

End-to-End Encrypted Chat Application

E2E Chat

Security Grade Encryption Privacy Google Technologies Live Demo

๐Ÿ“š Quick Links

๐Ÿ” Live Demo ๐Ÿ“‹ Abstract ๐Ÿ›ก๏ธ Security โœจ Features ๐Ÿ‘ฅ About ๐Ÿ“œ Privacy โš–๏ธ Terms


๐ŸŒŸ Project Overview

End2End Chat is a privacy-first, real-time chat application designed for maximum privacy and anonymity. It features three encryption modesโ€”Group Chat (unlimited members, shared AES-256 key), Private Chat (1-to-1, RSA-2048), and Password-Protected Rooms (secure 2-person sessions). Built with modern web technologies and a true zero-knowledge architecture, your conversations are always secure and never stored.

๐ŸŽฏ Core Philosophy:

No signup, no tracking, just secure conversations. Your messages, your keys, your privacy.

  • ๐Ÿ” Three Chat Modes: Group (unlimited), Private (max 2), Password (secure 2-person)
  • ๐Ÿ›ก๏ธ True End-to-End Encryption: RSA-2048 + AES-256 GCM (hybrid)
  • โšก Real-Time Messaging: WebSocket-based instant delivery
  • ๐Ÿ”ฅ Firebase Integration: Real-time session metadata and presence tracking
  • ๐Ÿ“ Encrypted File Sharing: Images, videos, audio, documents up to 5MB
  • ๐Ÿ–ผ๏ธ Screenshot Protection: Blocks Print Screen & clipboard access
  • ๐Ÿ‘ฅ Typing Indicators: See when others are typing (encrypted)
  • ๐Ÿ”” Download Notifications: Know when files are downloaded
  • ๐Ÿ’ฌ File Captions: Add text descriptions to shared files
  • ๐Ÿ‘ค Anonymous: No signup, email, or phone number required
  • ๐Ÿ•ต๏ธ Zero Persistence: Messages exist only during active sessionsโ€”no database, no tracking
  • ๐Ÿ“ฑ Fully Responsive: Perfect on desktop, tablet, and mobile
  • ๐ŸŽจ Modern UI: Clean design with glassmorphism effects and Google Fonts
  • ๐Ÿ”— Encrypted Session Links: Secure invite system with time-limited tokens
  • ๐Ÿ“ฑ Progressive Web App (PWA): Installable on standard devices, offline support, and app-like experience

๐Ÿ“ฑ Progressive Web App (PWA) Support

๐Ÿš€ Installable & Offline Ready

One-Click Installation:

  • Desktop/Mobile: Install the app directly to your home screen or desktop
  • Native Experience: Runs in its own window without browser UI elements
  • Offline Capable: Core features load instantly even without internet
  • Auto-Updates: Seamlessly updates in the background when new features arrive

Why PWA?

  • โšก Performance: Faster load times with efficient caching
  • ๐Ÿ”’ Security: Served over HTTPS, leveraging same security model
  • ๐Ÿ“ฑ Accessibility: Works across all modern devices and platforms (iOS, Android, Windows, Mac)
  • ๐Ÿ“ถ Resilience: Better handling of poor network conditions

๐Ÿš€ Why This Project Matters

๐Ÿ”’ Privacy in the Digital Age

Most messaging apps collect extensive personal data, store conversations on servers, and require phone numbers or emails. This project demonstrates:

  • True End-to-End Encryption: Messages encrypted on sender's device, decrypted only by recipient
  • Zero-Knowledge Architecture: Server cannot read your messages even if it wanted to
  • Anonymous Communication: No personal data required or stored
  • Ephemeral Messaging: Messages exist only during active sessions
  • Open Source Transparency: Every line of code is publicly auditable
๐Ÿ›ก๏ธ Advanced Security Implementation
  • Hybrid Cryptography: RSA-OAEP + AES-GCM for optimal security and performance
  • Client-Side Key Generation: Private keys never leave your device
  • Perfect Forward Secrecy: Each session uses unique encryption keys
  • Automatic Session Cleanup: No persistent message history
  • Mode-Based Security: Choose encryption strength based on your needs
  • Encrypted Session Links: Time-limited tokens for secure invitations
  • Screenshot Protection: Prevents unauthorized capture of sensitive content
๐ŸŽ“ Educational Value

This project serves as a learning resource for:

  • Cryptography: Real-world implementation of RSA and AES encryption
  • WebSocket Technology: Understanding real-time bidirectional communication
  • React Best Practices: Modern component architecture and state management
  • Security Patterns: Zero-knowledge design and privacy-first development
  • Full-Stack Development: Complete frontend and backend integration

๐Ÿ”ฅ Firebase Integration

Session Metadata & Presence Tracking

What it does:

  • Stores non-sensitive session metadata (NOT encrypted messages)
  • Real-time user presence and online status
  • Anonymous authentication for better user management
  • Auto-cleanup of inactive sessions

Why it's secure:

  • Encrypted messages are NEVER stored in Firebase
  • Only routing information and presence data stored
  • Complements E2E encryption (doesn't compromise it)

Implementation: // Client: src/config/firebase.config.ts // Service: src/services/firebase.service.ts // Server: server/services/firebaseAdmin.js


๐Ÿ” Advanced Security Features

RSA Encryption AES Encryption Zero Knowledge

๐Ÿ›ก๏ธ Core Security Features

๐Ÿ”’ Cryptographic Implementation
Feature Implementation Security Benefit
๐ŸŒ Three Chat Modes Group (AES-256 shared) / Private (RSA-2048) / Password (RSA + passphrase) Flexible security for different use cases
๐Ÿ” End-to-End Encryption RSA-OAEP 2048-bit + AES-GCM 256-bit Industry-standard message protection
๐Ÿ—๏ธ Key Management Client-side generation, memory-only storage Private keys never transmitted
๐Ÿ”„ Hybrid Encryption RSA for key exchange, AES for message content Optimal security + performance
๐Ÿ›ก๏ธ Perfect Forward Secrecy Session-based ephemeral keys Past messages remain secure
๐Ÿšซ Zero-Knowledge Server Server cannot decrypt any content Complete privacy guarantee
๐Ÿ‘ฅ Session Controls Group: Unlimited, Private: Max 2, Password: Max 2 Mode-based restrictions
๐Ÿ”— Encrypted Invites Time-limited AES-encrypted session tokens Secure link sharing
โšก Real-Time & Communication Features
  • โšก WebSocket Messaging - Socket.IO for instant real-time delivery (20MB file support)
  • ๐ŸŒ Group Mode - Unlimited members with shared AES-256 session key encryption
  • ๐Ÿ”’ Private Mode - Secure 1-to-1 chat with RSA-2048 (max 2 members)
  • ๐Ÿ”‘ Password Mode - Protected rooms with passphrase authentication (max 2 members)
  • ๐Ÿ“ Multi-Format Files - Images, videos, audio, documents (5MB max) encrypted in all modes
  • ๏ฟฝ File Captions - Add descriptive text to any uploaded file
  • ๏ฟฝ๐Ÿ”” Download Tracking - Real-time notifications when files are downloaded
  • ๐Ÿ‘ฅ Typing Indicators - See when others are typing (with privacy protection)
  • ๐Ÿ•ต๏ธ Anonymous Usage - No login, signup, or personal data collection
  • ๐ŸŒ In-Memory Sessions - Zero database, messages only during active session
  • ๏ฟฝ Auto-Reconnection - Seamless reconnection on network interruptions
  • ๐Ÿ›ก๏ธ Screenshot Protection - Print Screen blocked, clipboard auto-cleared
  • ๐Ÿ“ฑ Responsive Design - Perfect experience on all devices
  • ๐Ÿ”— Encrypted Session Links - Share secure time-limited invite tokens
  • ๐ŸŽจ Modern UI/UX - Glassmorphism, smooth animations, gradient backgrounds
๐Ÿ‘ฅ Session & Communication Management
  • ๐Ÿ’ฌ Three Chat Modes - Group (unlimited), Private (max 2), Password (secure 2-person)
  • ๐ŸŒ Flexible Sessions - Create or join with unique session IDs
  • ๐Ÿ”„ Auto-Reconnection - Handles network interruptions gracefully
  • ๐Ÿ‘ฅ Multi-User Support - Group: broadcast to all, Private/Password: 1-to-1 only
  • ๐ŸŸข Online Status - Real-time connection status indicators
  • ๐Ÿ–ผ๏ธ Secure File Sharing - All file types encrypted before transmission
  • ๐ŸŽจ Modern Responsive UI - TailwindCSS with glassmorphism and gradients
  • ๐Ÿ” Individual Decryption - Each user maintains their own private key
  • ๐Ÿšซ Strict Mode Enforcement - Private/Password modes enforce 2-member maximum
  • ๐Ÿ“ฑ Mobile Optimized - Responsive breakpoints for all screen sizes
  • ๐Ÿ”— Session Link Sharing - Encrypted tokens with expiration (24 hours)
  • ๐ŸŽฏ Mode Selection UI - Clear visual indicators for each mode type
๐Ÿง‘โ€๐Ÿ’ป Developer & Deployment Features
  • ๐Ÿ› ๏ธ Easy Setup - Minimal configuration, ready in minutes
  • ๐Ÿ“š Well-Documented - Comprehensive inline comments and README
  • ๐Ÿ”ง Extensible Architecture - Modular components for easy customization
  • ๐Ÿš€ WebSocket Server - Node.js + Express + Socket.IO backend
  • โšก Vite Build System - Lightning-fast development and hot reload
  • ๐Ÿ“ˆ Scalable Design - Handles multiple concurrent sessions efficiently
  • ๐ŸŒ Deploy Anywhere - Vercel, Netlify, Heroku, Railway compatible
  • ๐ŸŽจ TailwindCSS - Utility-first styling with custom animations
  • ๐Ÿ“ฑ Fully Responsive - Mobile-first design with smart breakpoints
  • ๐Ÿ” Production Ready - Console.log cleanup with proper logging utility
  • ๐ŸŽฏ TypeScript - Type-safe development with improved DX
  • ๐Ÿ”— SEO Optimized - Proper meta tags, sitemap, and canonical URLs
  • ๐Ÿ“„ Multiple Pages - Home, Features, Security, About, Abstract, Privacy, Terms
  • ๐ŸŽญ Layout System - Consistent header/footer with conditional rendering

โšก Technology Stack & Architecture

Category Technology Purpose Security Role
๐ŸŽจ Frontend React 18 + TypeScript Modern UI/UX with type safety Prevents runtime errors and enhances security
๐Ÿ”Œ Backend Node.js + Socket.IO Real-time WebSocket (20MB) Encrypted message routing only
๐Ÿ” Cryptography Web Crypto API Native browser encryption Hardware-accelerated security
๐ŸŽจ Styling Tailwind CSS Responsive utility-first design Clean, professional interface
๐Ÿ› ๏ธ Build Tool Vite Fast development & optimization Minimal bundle size
๐Ÿ“ฆ Deployment Vercel/Netlify Global CDN hosting HTTPS-only delivery
๐Ÿ”— Routing React Router v6 Multi-page navigation SEO-friendly URLs
๐ŸŽญ Meta Tags React Helmet Async Dynamic SEO optimization Better search visibility

๐Ÿ—๏ธ System Architecture Overview

๐Ÿ”’ Security-First Architecture Design
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         WebSocket          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  React Client   โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚  Node.js Server โ”‚
โ”‚  (3 Encryption  โ”‚     Socket.IO (20MB)       โ”‚   (Port 3001)   โ”‚
โ”‚      Modes)     โ”‚                            โ”‚  Session Mgmt   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
        โ”‚                                               โ”‚
   localStorage                                   In-Memory Map
   (userId, keys)                    (Sessions + chatMode + Messages)
   
   Mode Selection:
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ”‚ GROUP MODE   โ”‚  โ”‚ PRIVATE MODE โ”‚  โ”‚PASSWORD MODE โ”‚
   โ”‚ Shared AES   โ”‚  โ”‚  RSA + AES   โ”‚  โ”‚RSA + Phrase  โ”‚
   โ”‚ Unlimited    โ”‚  โ”‚  Max 2 users โ”‚  โ”‚  Max 2 users โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

   Frontend Pages:
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ”‚ Header (Mobile Menu + Desktop Nav)              โ”‚
   โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
   โ”‚ Home | Features | Security | Abstract           โ”‚
   โ”‚ About | Privacy | Terms                         โ”‚
   โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
   โ”‚ Layout System (Conditional Footer)              โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ›ก๏ธ Security Principles:

  • Three Encryption Modes: Group (shared) / Private (1-to-1) / Password (protected)
  • Zero-Knowledge Server: Server only routes encrypted data, cannot decrypt
  • Client-Side Encryption: All cryptographic operations in browser
  • Memory-Only Keys: Private keys never touch storage or network
  • Ephemeral Sessions: Complete data cleanup on session end
  • No Database: Messages exist only in server memory during active session
  • Mode-Based Limits: Private/Password sessions restricted to 2 members
  • Encrypted Invites: Time-limited AES-encrypted session tokens (24h expiry)
  • Responsive Layout: Proper flex layout prevents white space issues

โ˜• Support the Project

Buy Me a Coffee GitHub Sponsors Star Repository

๐Ÿ’ Your support helps maintain and improve this privacy-focused project!

Supporting privacy tools contributes to a safer digital world for everyone.


๐Ÿ“ธ Live Demo & Screenshots

Live Demo Security Test

๐ŸŽฏ Try It Yourself

๐Ÿ”ด Live Demo Instructions
  1. ๐ŸŒ Visit Demo: https://chatend2end.vercel.app
  2. ๐Ÿ“ Enter Name: Provide a display name (no signup required)
  3. ๐ŸŽฏ Choose Mode:
    • Group ๐Ÿ‘ฅ - Unlimited members, shared encryption
    • Private ๐Ÿ”’ - 1-to-1 chat (max 2 people)
    • Password ๏ฟฝ - Protected room (max 2 people)
  4. ๐Ÿ†• Create/Join:
    • Create a new session and get shareable link
    • Or join existing session with code
  5. ๐Ÿ” Start Chatting: Experience encrypted messaging
  6. ๐Ÿ“ Share Files: Drag & drop encrypted files up to 5MB
  7. ๐Ÿ›ก๏ธ Verify Security: Check encryption indicators

๐Ÿ” Security Verification:

  • Open browser DevTools โ†’ Network tab to see encrypted payloads
  • Verify that no plain text messages are transmitted
  • Confirm private keys remain in browser memory only
  • Check Session Storage for encrypted session data

๐Ÿ“ฑ Mobile Testing:

  • Hamburger menu for navigation on mobile
  • Responsive layout works on all screen sizes
  • Touch-optimized UI elements

๐Ÿ“ฑ Interface Preview

๐ŸŽจ Modern UI Features:

The interface features a clean, modern design with:

  • Glassmorphism Effects: Backdrop blur and transparent overlays
  • Gradient Backgrounds: Smooth blue โ†’ purple โ†’ pink transitions
  • Real-Time Indicators: Encryption status, typing indicators, online status
  • Mode Selection: Visual cards for Group, Private, and Password modes
  • File Sharing UI: Drag-and-drop with preview and captions
  • Responsive Layout: Perfect on desktop, tablet, and mobile
  • Mobile Navigation: Hamburger menu with smooth animations
  • Toast Notifications: Non-intrusive alerts for downloads and events

๐Ÿ“„ Available Pages:

  • ๐Ÿ  Home: Session creation with mode selection
  • โœจ Features: Complete feature showcase with hover effects
  • ๐Ÿ›ก๏ธ Security: Detailed security and encryption documentation
  • ๐Ÿ“‹ Abstract: Technical and non-technical project overview
  • ๐Ÿ‘ฅ About: Developer story and technology stack
  • ๐Ÿ“œ Privacy: Privacy policy and data handling
  • โš–๏ธ Terms: Terms of service and usage guidelines

Preview Features:

  • ๐ŸŽจ Clean Material Design inspired interface
  • ๐Ÿ”’ Visual Encryption Indicators showing message security status
  • ๐Ÿ‘ฅ Anonymous User Avatars with session-based identities
  • ๐Ÿ“ฑ Responsive Breakpoints optimized for all screen sizes (sm, md, lg, xl)
  • โšก Real-time Typing Indicators with encrypted status
  • ๐Ÿ›ก๏ธ Mode Badges showing current encryption mode (Group/Private/Password)
  • ๐ŸŽฏ Smart Spacing no white space issues on any screen size

๐Ÿš€ Quick Start Guide

Setup Time Difficulty Node.js

๏ฟฝ Prerequisites

๐Ÿ“‹ Required Tools

๐Ÿ› ๏ธ Development Environment:

  • Node.js: Version 18 or higher (Download)
  • npm: Comes with Node.js (or use yarn/pnpm)
  • Git: For cloning the repository (Download)
  • Modern Browser: Chrome, Firefox, Safari, or Edge with Web Crypto API support

๐Ÿ’ป Development Tools:

  • Code Editor: VS Code, WebStorm, or your preferred IDE
  • Terminal: PowerShell, Command Prompt, or Bash

โšก Installation Methods

๐ŸŽฏ Quick Setup (Recommended)
# 1๏ธโƒฃ Clone the repository
git clone https://github.com/Arya182-ui/End2end-Chat.git
cd End2end-Chat

# 2๏ธโƒฃ Install frontend dependencies
npm install

# 3๏ธโƒฃ Install server dependencies
cd server
npm install
cd ..

# 4๏ธโƒฃ Start the WebSocket server (Terminal 1)
cd server
node server.js

# 5๏ธโƒฃ Start the frontend (Terminal 2 - new terminal)
npm run dev

๐ŸŽ‰ Your encrypted chat app will be running at:

  • Frontend: http://localhost:5173 (Vite dev server)
  • Backend: http://localhost:3001 (WebSocket server)

๐Ÿ” First-Time Setup Notes:

  • The server must be running before starting the frontend
  • Both terminals must remain open during development
  • Hot reload enabled for frontend changes
  • Server requires manual restart for changes
๐Ÿ”ฌ Development Setup with Testing
# Clone and setup
git clone https://github.com/Arya182-ui/End2end-Chat.git
cd End2end-Chat

# Install all dependencies
npm install
cd server && npm install && cd ..

# Start server in background (Terminal 1)
cd server
node server.js

# Start frontend with hot reloading (Terminal 2)
npm run dev

# Build for production testing
npm run build
npm run preview
๐ŸŒ Setup with Google Technologies (Optional but Recommended)

The application works in Demo Mode without any API keys, but for full functionality, set up Google Technologies:

๐Ÿ”ฅ Step 1: Firebase Setup

  1. Go to Firebase Console
  2. Create a new project or select existing
  3. Enable Realtime Database:
    • Go to Realtime Database โ†’ Create Database
    • Choose location and start in test mode
  4. Enable Anonymous Authentication:
    • Go to Authentication โ†’ Sign-in method
    • Enable Anonymous
  5. Get your config:
    • Project Settings โ†’ General โ†’ Your apps
    • Copy the Firebase config object
  6. For server (Admin SDK):
    • Project Settings โ†’ Service Accounts
    • Generate new private key (downloads JSON file)

๐ŸŒ Step 2: Google Cloud Translation API

  1. Go to Google Cloud Console
  2. Enable Cloud Translation API
  3. Go to APIs & Services โ†’ Credentials
  4. Create API Key (restrict to Translation API for security)
  5. Copy the API key

โœจ Step 3: Google Gemini AI

  1. Visit Google AI Studio
  2. Create a new API key
  3. Copy the key

โš™๏ธ Step 4: Configure Environment Variables

Frontend (create .env in project root):

VITE_FIREBASE_API_KEY=your_firebase_api_key_here
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_DATABASE_URL=https://your_project-default-rtdb.firebaseio.com
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=123456789
VITE_FIREBASE_APP_ID=1:123456789:web:abcdef123456
VITE_GEMINI_API_KEY=your_gemini_api_key_here
VITE_DEMO_MODE=false

Backend (create server/.env):

PORT=3001
CLIENT_URL=http://localhost:5173

# Firebase Admin SDK (from downloaded JSON)
FIREBASE_PROJECT_ID=your_project_id
FIREBASE_CLIENT_EMAIL=firebase-adminsdk-xxxxx@your_project.iam.gserviceaccount.com
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nYour private key here\n-----END PRIVATE KEY-----\n"

# Google Cloud Translation
GOOGLE_CLOUD_TRANSLATE_KEY=your_translation_api_key_here

# Gemini AI
GEMINI_API_KEY=your_gemini_api_key_here

DEMO_MODE=false

๐Ÿš€ Step 5: Run with Full Features

# Terminal 1 - Server with Google Technologies
cd server
npm start

# Terminal 2 - Frontend with Google Technologies
npm run dev

โœจ Now you have:

  • ๐Ÿ”ฅ Real-time session metadata in Firebase
  • ๐ŸŒ Live message translation (12+ languages)
  • โœจ AI-powered smart replies
  • ๐Ÿ›ก๏ธ Automated content moderation
  • ๐Ÿ“Š Sentiment analysis
๐ŸŽญ Demo Mode (No API Keys Required)

Run the app without any Google API keys:

# Terminal 1 - Server in Demo Mode
cd server
DEMO_MODE=true node server.js

# Terminal 2 - Frontend in Demo Mode
VITE_DEMO_MODE=true npm run dev

Demo Mode Features:

  • โœ… Full end-to-end encryption working
  • โœ… All UI components visible
  • โœ… Mock translations (shows demo messages)
  • โœ… Mock AI suggestions (predefined responses)
  • โœ… No real API calls (perfect for testing)
  • โœ… No API costs or rate limits

Note: Demo mode is great for development and testing, but for production or hackathon demos, use real API keys for full functionality.

๏ฟฝ Running the Application

Two terminals required for full functionality:

Terminal 1 - WebSocket Server (Port 3001):

cd server
node server.js

โœ… Server running on http://localhost:3001 โœ… Handles WebSocket connections โœ… Manages sessions in memory โœ… Supports file uploads up to 20MB

Terminal 2 - React Frontend (Port 5173):

npm run dev

โœ… Frontend running on http://localhost:5173 โœ… Hot module replacement enabled โœ… Connects to WebSocket server โœ… Auto-opens in default browser

๐Ÿ”ง Development Tips:

  • Keep both terminals visible to monitor logs
  • Server logs show connection/disconnection events
  • Frontend shows Vite build status
  • Use Ctrl + C to stop either server
  • Changes to server.js require manual restart
  • Frontend changes auto-reload instantly

๐Ÿ—๏ธ Advanced Architecture & Security Implementation

Architecture Encryption Performance

๐Ÿ“Š Database Structure & Security Model

๐Ÿ—„๏ธ WebSocket Session Storage (In-Memory)
// Server In-Memory Structure (No database persistence)
{
  sessions: Map<sessionId, {
    members: Map<userId, {
      socketId: string,
      publicKey: string,
      userName: string
    }>,
    messages: Array<{
      id: string,
      from: userId,
      encrypted: string,      // Base64 AES-encrypted content
      encryptedKeys: Map<userId, string>, // RSA-encrypted AES keys
      timestamp: number,
      type: "text" | "image" | "video" | "audio" | "file",
      fileName?: string,
      fileSize?: number,
      caption?: string
    }>
  }>
}

๐Ÿ”’ Security Properties:

  • Zero Persistence: All data in server memory, cleared on disconnect
  • Forward Secrecy: Each message uses unique AES key
  • Perfect Forward Secrecy: RSA keys are session-ephemeral
  • Minimal Metadata: Only routing info (userId, socketId)
  • Auto-Cleanup: Sessions deleted when all users leave

๐Ÿ›ก๏ธ Cryptographic Implementation Details

๐Ÿ” Hybrid Encryption Algorithm

๐Ÿ“š Encryption Process:

// 1. RSA Key Pair Generation (Per Session)
const keyPair = await crypto.subtle.generateKey(
  {
    name: "RSA-OAEP",
    modulusLength: 2048,
    publicExponent: new Uint8Array([1, 0, 1]),
    hash: "SHA-256"
  },
  true, // extractable
  ["encrypt", "decrypt"]
);

// 2. AES Key Generation (Per Message)
const aesKey = await crypto.subtle.generateKey(
  {
    name: "AES-GCM",
    length: 256
  },
  true,
  ["encrypt", "decrypt"]
);

// 3. Message Encryption Process
const encryptedMessage = await crypto.subtle.encrypt(
  {
    name: "AES-GCM",
    iv: crypto.getRandomValues(new Uint8Array(12))
  },
  aesKey,
  messageBuffer
);

// 4. AES Key Encryption (for each recipient)
const encryptedAESKey = await crypto.subtle.encrypt(
  {
    name: "RSA-OAEP"
  },
  recipientPublicKey,
  aesKeyBuffer
);

๐Ÿ”„ Security Benefits:

  • RSA-OAEP: Prevents chosen-ciphertext attacks
  • AES-GCM: Provides both encryption and authentication
  • Unique IV: Each message has cryptographically random initialization vector
  • Key Isolation: Each message uses a fresh AES key
๐Ÿ”„ Message Flow & Security Protocol

๐Ÿ“จ Secure Message Flow (3 Modes):

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                WebSocket Message Flow (3 Modes)               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                               โ”‚
โ”‚  GROUP MODE (Shared Key):                                    โ”‚
โ”‚  1. Creator generates session AES key in browser             โ”‚
โ”‚  2. Session key encrypted with each member's RSA public key  โ”‚
โ”‚  3. Members decrypt session key with their RSA private key   โ”‚
โ”‚  4. All messages encrypted/decrypted with shared AES key     โ”‚
โ”‚                                                               โ”‚
โ”‚  PRIVATE MODE (Per-Message):                                 โ”‚
โ”‚  1. Alice generates RSA key pair in browser                  โ”‚
โ”‚  2. Alice sends public key to WebSocket server               โ”‚
โ”‚  3. Server stores Alice's public key with socketId           โ”‚
โ”‚  4. Bob retrieves Alice's public key from server             โ”‚
โ”‚  5. Bob generates AES key for message                        โ”‚
โ”‚  6. Bob encrypts message with AES                            โ”‚
โ”‚  7. Bob encrypts AES key with Alice's RSA public key         โ”‚
โ”‚  8. Server routes encrypted payload via Socket.IO            โ”‚
โ”‚  9. Alice decrypts AES key with RSA private key              โ”‚
โ”‚  10. Alice decrypts message with AES key                     โ”‚
โ”‚                                                               โ”‚
โ”‚  PASSWORD MODE (Protected):                                  โ”‚
โ”‚  1. Creator sets room password (min 5 chars)                 โ”‚
โ”‚  2. Password hashed and stored with session                  โ”‚
โ”‚  3. Joiner must provide correct password to access           โ”‚
โ”‚  4. Uses same RSA encryption as Private mode                 โ”‚
โ”‚  5. Strict 2-member limit enforced                           โ”‚
โ”‚                                                               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ›ก๏ธ Security Guarantees:

  1. End-to-End Encryption: Only sender and recipient can read messages
  2. Perfect Forward Secrecy: Compromised keys don't affect past messages
  3. Anonymous Communication: No personal identifiers required
  4. Ephemeral Sessions: Complete cleanup when session ends
  5. Zero-Knowledge Server: WebSocket server cannot decrypt content
  6. Download Tracking: Encrypted file download notifications
  7. Mode Isolation: Each mode enforces its own security rules
  8. Session Link Security: Encrypted tokens with 24-hour expiration

๐Ÿ”’ Security Features & Compliance

Security Audit OWASP Privacy

๏ฟฝ๏ธ Comprehensive Security Analysis

๐Ÿ” Cryptographic Security Measures
Security Layer Implementation Protection Against
๐Ÿ” Transport Security HTTPS/TLS 1.3 + WSS (WebSocket Secure) Man-in-the-middle attacks
๐Ÿ—๏ธ Key Management Client-side RSA-2048 generation Key compromise via server breach
๐Ÿ”’ Message Encryption AES-GCM-256 per message Content interception
๐Ÿ›ก๏ธ Authentication Public key cryptography Identity spoofing
๐Ÿงน Data Retention Zero persistent storage Long-term data exposure
โšก Forward Secrecy Ephemeral session keys Historical message compromise

โœ… Cryptographic Standards:

  • RSA-OAEP with SHA-256 padding
  • AES-GCM with 256-bit keys and 96-bit IVs
  • Cryptographically secure random number generation
  • Web Crypto API for browser-native security
๐Ÿšซ Privacy & Anonymity Features

๐Ÿ•ต๏ธ Anonymous by Design:

  • โŒ No Account Creation: Zero personal information required
  • โŒ No Email/Phone: No contact information collected
  • โŒ No IP Logging: WebSocket server doesn't log connection IPs
  • โŒ No Tracking: No analytics or behavioral monitoring
  • โŒ No Persistent IDs: Session-based temporary identifiers only

๐Ÿงน Data Minimization:

  • Ephemeral Sessions: All data deleted when session ends
  • Memory-Only Keys: Private keys never written to storage
  • Minimal Metadata: Only essential routing information stored
  • Automatic Cleanup: In-memory sessions auto-delete on disconnect
โš ๏ธ Security Considerations & Limitations

๐ŸŽฏ Educational & Demo Purpose:

  • This is a demonstration project for educational purposes
  • Not intended for highly sensitive or classified communications
  • Recommended for learning cryptography and secure messaging concepts

๐Ÿ”ง Production Considerations:

  • Implement rate limiting for abuse prevention
  • Add Content Security Policy (CSP) headers
  • Consider additional authentication for sensitive deployments
  • Perform regular security audits and penetration testing
  • Implement proper error handling without information disclosure

๐Ÿ›ก๏ธ Threat Model:

  • Protected Against: Passive surveillance, server breaches, MITM attacks
  • Not Protected Against: Endpoint compromise, malicious browser extensions
  • Trust Assumptions: Users trust their device and browser security

๐Ÿš€ Deployment & Production Setup

Vercel Netlify Heroku

๐ŸŒ Production Deployment Options

Details ๏ฟฝ Frontend Deployment (Vercel/Netlify)

Step 1: Update WebSocket URL Edit src/services/websocket.ts:

const SOCKET_URL = 'https://your-server.herokuapp.com'; // Your server URL

Step 2: Build Project

npm run build

Step 3: Deploy

  • Vercel: vercel --prod
  • Netlify: Drag dist/ folder to Netlify dashboard
  • GitHub Pages: Use GitHub Actions workflow
๐Ÿ”Œ Backend Deployment (Heroku/Railway/Render)

Step 1: Create Procfile

web: node server.js

Step 2: Update CORS in server/server.js:

cors: {
  origin: "https://your-frontend.vercel.app",
  methods: ["GET", "POST"]
}

Step 3: Deploy

# Heroku
heroku create your-app-name
git push heroku main

# Railway
railway up

# Render
# Connect GitHub repo in dashboard

๐Ÿ”ง Production Security Configuration

๐Ÿ›ก๏ธ Enhanced Security Settings

๏ฟฝ WebSocket Server Security (Production):

// server/server.js - Production Configuration
const io = new Server(server, {
  cors: {
    origin: process.env.ALLOWED_ORIGINS || "https://your-frontend.vercel.app",
    methods: ["GET", "POST"],
    credentials: true
  },
  maxHttpBufferSize: 20 * 1024 * 1024, // 20MB
  pingTimeout: 60000,
  pingInterval: 25000,
  transports: ['websocket', 'polling']
});

// Rate limiting middleware
const rateLimit = require('express-rate-limit');
const limiter = rateLimit({
  windowMs: 15 * 60 * 1000, // 15 minutes
  max: 100 // limit each IP to 100 requests per windowMs
});
app.use(limiter);

๐ŸŒ Content Security Policy (CSP):

<meta http-equiv="Content-Security-Policy" 
      content="default-src 'self'; 
               script-src 'self' 'unsafe-inline'; 
               style-src 'self' 'unsafe-inline'; 
               connect-src 'self' wss://your-server.herokuapp.com https://your-server.herokuapp.com">

๐Ÿ“ฑ User Guide & Security Best Practices

User Guide Security Guide

๐ŸŽฏ How to Use Securely

๐Ÿš€ Quick Start Guide

1๏ธโƒฃ Choose Your Mode:

  • Group Chat: For team discussions, multiple participants, broadcast messaging
  • Private Chat: For sensitive 1-to-1 conversations (max 2 members)

2๏ธโƒฃ Create Secure Session:

  • Select your preferred mode (Group or Private)
  • Click "Create New Session" to generate encrypted chat room
  • Your browser creates a unique RSA-2048 key pair
  • Share the session code with intended participants only

3๏ธโƒฃ Join Session Securely:

  • Enter the session code provided by the creator
  • Your browser generates its own encryption keys
  • Public keys are automatically exchanged securely
  • Private Mode: Only 1 joiner allowed (creator + joiner = 2 max)

4๏ธโƒฃ Verify Encryption:

  • Look for the mode badge (๐ŸŒ Group or ๐Ÿ”’ Private)
  • Verify that "Encrypted" status shows for all communications
  • Check that private keys remain "Local Only"

5๏ธโƒฃ Send Encrypted Messages:

  • Type your message in the input field
  • Group Mode: Message encrypted once with shared session key, broadcast to all
  • Private Mode: Message encrypted separately for each recipient
  • Recipients decrypt messages with their private keys

6๏ธโƒฃ Share Files Securely:

  • Drag and drop images or files into the chat
  • Files are encrypted with the same mode-specific security standards
  • Both modes: Support images, videos, audio, documents up to 5MB
  • File metadata is minimized for privacy

7๏ธโƒฃ Leave Session Safely:

  • Close browser tab or click "Leave Session"
  • All keys and data are automatically cleaned up
  • Session becomes inaccessible to prevent future access
๐Ÿ›ก๏ธ Security Best Practices

๐Ÿ” Operational Security (OpSec):

  • Use Incognito/Private Browsing: Prevents local storage of any data
  • Fresh Browser Session: Clear cookies and cache before important chats
  • Secure Networks: Use trusted Wi-Fi or cellular connections
  • Updated Browser: Ensure Web Crypto API is latest version
  • Device Security: Lock your device when not in use

๐Ÿšซ What NOT to Do:

  • โŒ Don't share session codes in insecure channels (email, SMS, social media)
  • โŒ Don't use on shared or public computers
  • โŒ Don't trust browser extensions during sensitive conversations
  • โŒ Don't screenshot or copy-paste sensitive encrypted messages
  • โŒ Don't leave sessions open unattended

โœ… Security Verification:

  • Check Encryption Status: Verify ๐Ÿ”’ icons appear on all messages
  • Verify Participants: Confirm session has only intended users
  • Monitor Session Activity: Watch for unexpected participants joining
  • Test Message Delivery: Ensure messages decrypt correctly for recipients
๐Ÿ” Technical Verification

๐Ÿ•ต๏ธ For Advanced Users - Verify Security:

# Open browser developer tools and check:

# 1. Network Tab - Verify encrypted payloads
console.log("All network requests should show encrypted base64 data only");

# 2. Application/Storage Tab - Verify no plain text storage
localStorage; // Should be empty or contain no sensitive data
sessionStorage; // Should contain no plain text messages

# 3. Console verification
console.log("Private keys should never appear in network requests");
console.log("All message content should be base64 encrypted strings");

๐Ÿ”ฌ Cryptographic Verification:

  • Key Generation: RSA-OAEP 2048-bit keys generated with Web Crypto API
  • Message Encryption: AES-GCM 256-bit with random IV per message
  • Key Exchange: Public keys transmitted, private keys stay local
  • Perfect Forward Secrecy: Each message uses unique AES key

๐Ÿค Contributing & Community

Contributors Welcome Open Source Security Focus

๐Ÿš€ How to Contribute

๐Ÿ” Security-Focused Contributions

๐Ÿ›ก๏ธ Security Improvements:

  • Cryptographic Audits: Review encryption implementation
  • Vulnerability Assessment: Identify and report security issues
  • Security Documentation: Improve security explanations
  • Penetration Testing: Test application security boundaries

๐Ÿ”ง Technical Enhancements:

  • Performance Optimization: Improve encryption speed
  • Browser Compatibility: Extend Web Crypto API support
  • User Experience: Enhance security indicators and flows
  • Code Quality: Refactor for better maintainability

๐Ÿ“š Documentation & Education:

  • Security Tutorials: Create educational content about E2E encryption
  • Best Practices: Document secure usage patterns
  • Translation: Multi-language documentation
  • Examples: Real-world usage scenarios
๐ŸŽฏ Contribution Guidelines

๐Ÿ“‹ Before Contributing:

  1. Read Security Policy: Understand our security-first approach
  2. Review Architecture: Familiarize yourself with encryption design
  3. Check Issues: Look for existing security concerns or features
  4. Security Discussion: Propose security changes in issues first

๐Ÿ”„ Development Process:

# 1๏ธโƒฃ Fork the repository
git clone https://github.com/your-username/End2end-Chat.git

# 2๏ธโƒฃ Create security-focused branch
git checkout -b security/feature-name

# 3๏ธโƒฃ Make improvements with security in mind
# - Test encryption functionality
# - Verify no data leaks
# - Maintain zero-knowledge principles

# 4๏ธโƒฃ Submit pull request with security checklist

โœ… Security Checklist for PRs:

  • No private keys exposed in code or logs
  • All new features maintain E2E encryption
  • No sensitive data stored persistently
  • Cryptographic operations use Web Crypto API
  • Security documentation updated

๐ŸŒŸ Future Roadmap & Vision

๐Ÿ”ฎ Security & Privacy Enhancements

๐Ÿ›ก๏ธ Advanced Security Features:

  • Post-Quantum Cryptography: Preparation for quantum-resistant algorithms
  • Perfect Forward Secrecy: Enhanced key rotation mechanisms
  • Secure Multiparty Computation: Advanced group encryption protocols
  • Zero-Knowledge Proofs: Identity verification without data exposure

๐ŸŒ Platform Extensions:

  • Mobile Apps: Native iOS/Android with same security principles
  • Desktop Apps: Electron-based with enhanced security isolation
  • Browser Extension: Secure chat overlay for any website
  • API Integration: Secure messaging SDK for other applications

๐Ÿ”ฌ Research Areas:

  • Homomorphic Encryption: Computing on encrypted data
  • Decentralized Architecture: P2P WebRTC connections
  • Blockchain Integration: Immutable public key distribution
  • Secure Voice/Video: End-to-end encrypted multimedia communication

๐Ÿ“„ License & Legal

MIT License Legal Notice

โš–๏ธ Legal Information

๐Ÿ“œ MIT License Terms

Permission is hereby granted, free of charge, to any person obtaining a copy of this software...

  • โœ… Commercial Use: Use in commercial projects
  • โœ… Modification: Modify and customize the code
  • โœ… Distribution: Share and redistribute
  • โœ… Private Use: Use for personal projects
  • โš ๏ธ Limitation: No warranty or liability provided

Full license text available in LICENSE file.

โš ๏ธ Important Disclaimers

๐ŸŽ“ Educational Purpose:

  • This project is designed for educational and demonstration purposes
  • Not intended for highly sensitive or classified communications
  • Users should understand cryptographic limitations and threats

๐Ÿ›ก๏ธ Security Disclaimers:

  • No warranty of absolute security provided
  • Users responsible for their own operational security
  • Regular security audits recommended for production use
  • Consider professional security review for sensitive deployments

๐Ÿ“Š Data & Privacy:

  • No personal data collected by the application
  • WebSocket server doesn't persist any user data
  • Users responsible for compliance with local privacy laws
  • In-memory sessions auto-delete on disconnect

๐Ÿ™ Acknowledgements & Credits

Built with Love Security First

๐ŸŒŸ Technology Stack Appreciation

๐Ÿ”ง Core Technologies & Libraries
Technology Purpose Why We Love It
โš›๏ธ React Frontend Framework Modern, component-based UI development
๏ฟฝ Socket.IO WebSocket Library Real-time bidirectional communication
๐ŸŸข Node.js Backend Runtime Fast, scalable server infrastructure
๐Ÿ” Web Crypto API Cryptography Browser-native, secure encryption
๐ŸŽจ Tailwind CSS UI Styling Rapid, responsive design system
โšก Vite Build Tool Lightning-fast development and builds
๐Ÿ“˜ TypeScript Type Safety Enhanced code quality and security

๐ŸŒ Open Source Community

๐Ÿค Inspiration & Learning Resources

๐Ÿ“š Cryptographic Education:

  • Signal Protocol: Inspiration for modern E2E encryption
  • OpenPGP: Foundation of public key cryptography principles
  • OWASP: Security best practices and vulnerability guidelines
  • Mozilla Crypto: Web Crypto API documentation and examples

๐Ÿ” Security Research:

  • Cryptography Engineering by Ferguson, Schneier, and Kohno
  • Applied Cryptography by Bruce Schneier
  • The Crypto Papers - Academic cryptographic research
  • IETF RFCs - Cryptographic standards and protocols

๐Ÿ‘ฅ Community Contributors:

  • Security researchers who review cryptographic implementations
  • Open source developers advancing web security standards
  • Privacy advocates promoting secure communication tools
  • Educational institutions teaching cryptography and cybersecurity

๐Ÿ’ Special Thanks

๐ŸŽฏ Project Supporters & Motivations

๐Ÿ”’ Privacy Advocates:

  • Everyone fighting for digital privacy rights
  • Developers creating secure, user-friendly encryption tools
  • Educators teaching the importance of cryptographic literacy
  • Users who prioritize security over convenience

๐ŸŒŸ Development Community:

  • Stack Overflow contributors solving complex cryptographic questions
  • GitHub community providing feedback and security reviews
  • React, Node.js, and Socket.IO teams for excellent developer documentation
  • Web standards organizations advancing browser security APIs

โ˜• Coffee Supporters:

  • Those who support open source development through coffee donations
  • Contributors who help maintain and improve the project
  • Users who star, fork, and share the project
  • Security researchers who provide valuable feedback

๐Ÿค Integrated Ecosystem: PrivyChat

PrivyChat Integration Video Calls RAM Only

We have seamlessly integrated PrivyChat to provide secure Video and Voice Calling capabilities directly within our platform.

๐ŸŽฅ What is PrivyChat?

PrivyChat is an open-source, ultra-secure, and ephemeral messaging platform designed for maximum privacy. It operates entirely in RAM (Random Access Memory) with a "Zero-Trust" philosophy.

"Privacy is not a crime. It is a fundamental human right."

๐Ÿš€ Key Integration Features

Feature Description
๐ŸŽฅ Video & Voice Calls High-definition Peer-to-Peer (WebRTC) video and audio calls. No server recording.
๐Ÿ•ต๏ธโ€โ™‚๏ธ RAM-Only Architecture Data exists only in volatile memory. If the server restarts, 100% of data is lost instantly.
๐ŸŽญ Stealth Features Decoy Calculator Mode, Ghost Mode (blurred messages), and Browser Panic Button.
โšก Ephemeral Messaging Messages are never stored on a hard drive. Zero-trace forensics.
๐Ÿ”’ Spy-Grade Security PBKDF2 Key Generation + AES-GCM Message Encryption + HTTPS/WSS Transport.

๐Ÿ› ๏ธ How to Use Video Calls

  1. Click the "Video Call" link in the navigation header of SecureChat.
  2. You will be securely redirected to the PrivyChat secure environment.
  3. Your connection is hand-offed to a dedicated, ephemeral video room.

๐Ÿ—๏ธ Under the Hood

  • Zero-Knowledge Server: The PrivyChat server routes encrypted blobs but cannot read them.
  • Plausible Deniability: Features like a "Decoy Vault" redirect to a weather app to hide your activity.
  • Advanced UI: Glassmorphism design, Matrix Hacker themes, and Voice Masks (Robot, Monster).

Powered by PrivyChat - The Zero-Trace Spy Messenger.


๐Ÿš€ Ready to Secure Your Communications?

Start Secure Chat View Source Code Security Documentation


๐Ÿ” "Privacy is not something that I'm merely entitled to, it's an absolute prerequisite."

- Marlon Brando

Made with ๐Ÿ”’ for a more secure digital world

GitHub Encryption

About

A app where you can chat without any history or tracking

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors