Skip to content

ABHAY-100/privy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Privy 🔐

Privy is a privacy-focused messaging platform that ensures your conversations remain secure and untraceable. Using modern Web Crypto API encryption and a zero-storage architecture, your messages exist only in RAM and leave no digital footprint. ✨

Preview 👀

Privy

Demo 🎥

Watch the Demo

Why Privy? 🤔

In today's digital age, privacy isn't just a feature – it's a necessity. Traditional messaging platforms store your data, creating potential security vulnerabilities. Privy solves this by implementing true ephemeral messaging where nothing is ever written to disk. 🛡️

Key Features ⭐

  1. Zero Storage Architecture 💨: All communications exist purely in RAM with immediate secure memory wiping after delivery. No logs, no history, no traces.

  2. Modern Cryptography 🔒: Implements RSA-OAEP encryption using Web Crypto API with 2048-bit keys and SHA-256 hashing for secure communication.

  3. Complete Anonymity 🕵️: No user accounts and no metadata collection ensure your identity remains protected.

  4. Real-time Encrypted Rooms 🚪: Create secure, ephemeral spaces for group communications with secure message destruction.

Technical Details 🔧

Privy uses the Web Crypto API for cryptographic operations:

const generateKeyPair = async (): Promise<CryptoKeyPair> => {
  return await window.crypto.subtle.generateKey(
    {
      name: 'RSA-OAEP',
      modulusLength: 2048,
      publicExponent: new Uint8Array([1, 0, 1]),
      hash: 'SHA-256'
    },
    true,
    ['encrypt', 'decrypt']
  );
};

Getting Started 🚀

Prerequisites 📋

  • Node.js (v14 or higher)
  • npm or yarn
  • Modern web browser with Web Crypto API support

Installation 💿

  1. Clone the Repository
git clone https://github.com/ABHAY-100/Privy.git
cd Privy
  1. Install Client Dependencies
cd client
npm install
  1. Install Server Dependencies
cd ../server
npm install

Running Privy ▶️

  1. Start the Server
cd server
nodemon server
  1. Create a .env file in the client directory
NEXT_PUBLIC_BACKEND_URL=http://localhost:5000  # or your hosted server URL
  1. Launch the Client
cd client
npm run dev

Visit http://localhost:3000 to start using Privy.

Built With 🛠️

Tech Stack

  • Next.js 13+ with App Router
  • TypeScript for type safety
  • Tailwind CSS & Shadcn UI
  • Express.js backend
  • Socket.IO for real-time communication
  • Web Crypto API for encryption

Best Practices 💡

  • Use Tor Browser for maximum anonymity
  • Connect through a trusted VPN
  • Use private browsing mode
  • Regularly rotate rooms for enhanced security
  • Verify recipient keys through secondary channels

Contributing 🤝

Open to legitimate contributions. Fork and submit a PR!

Team Members

  1. Abhay Balakrishnan
  2. Asil Mehaboob
  3. Elvin J Alapatt
  4. Sreyas B Anand

License ⚖️

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Support 🆘

Found a bug or have a question? Please check our Issues page or create a new issue with detailed information.


Privy: Because your conversations should be yours alone. 🤫