End-to-end encrypted messaging with post-quantum cryptography (ML-KEM-1024 / CRYSTALS-Kyber and CRYSTALS-Dilithium). Open source, self-hostable, and accessible over Tor.
翻訳待ち
ソーシャルJavaScript · PLpgSQLGitHub @profullstackオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
QryptChat — code now lives in moshcoder/moshcode at apps/qryptchat-web; qrypt.chat deploys from there.
翻訳待ち
Loading the full README.
Read the full README ↗Quantum-Resistant End-to-End Encrypted Messaging
A secure, privacy-focused chat application built with post-quantum cryptography to protect against both classical and quantum computer attacks.
curl -fsSL https://qrypt.chat/install.sh | sh
qc
qc is qrypt.chat in your terminal: a full-screen chat client, a CLI and an MCP server
(packages/qryptchat). Remove it with sh ~/.local/share/qryptchat/uninstall.sh.
/talk, replies are read aloud (how it works)| Layer | Technology | Purpose |
|---|---|---|
| Frontend | SvelteKit 5 + Svelte 5 | Reactive UI framework with runes |
| Styling | Vanilla CSS + Custom Properties | Modern design system with themes |
| Database | Supabase PostgreSQL | User data, messages, and file storage |
| Real-time | Custom WebSocket + Supabase Realtime | Live message delivery & presence |
| Auth | Custom SMS + Supabase Auth | Phone-based verification system |
| SMS | Twilio | SMS verification and notifications |
| Crypto | ML-KEM-1024 + ChaCha20-Poly1305 | Post-quantum encryption (FIPS 203) |
| Key Exchange | ML-KEM (Kyber) + Dilithium | Quantum-resistant key management |
| File Encryption | Multi-recipient PQ encryption | Secure file sharing with metadata |
| PWA | Vite PWA Plugin + Service Worker | Offline-first with background sync |
| I18n | Custom Svelte Store | Multi-language with RTL support |
| WebRTC | Native WebRTC + ML-KEM | Encrypted voice/video calls |
| Testing | Vitest + Custom Test Suite | Comprehensive crypto and integration tests |
# Clone the repository
git clone https://github.com/yourusername/qryptchat.git
cd qryptchat
# Install dependencies
bun install
# Set up environment variables
cp .env.example .env
# Edit .env with your Supabase and Twilio credentials
# Run Supabase migrations (if using local Supabase)
pnpx supabase db reset
# Start development server
bun dev
The app will be available at http://localhost:8080 (or the PORT specified in your .env file).
# Development
PORT=8080
# Supabase
PUBLIC_SUPABASE_URL=your_supabase_url
PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
# Twilio (for SMS verification)
TWILIO_ACCOUNT_SID=your_twilio_sid
TWILIO_AUTH_TOKEN=your_twilio_token
TWILIO_PHONE_NUMBER=your_twilio_phone
# App
PUBLIC_APP_URL=http://localhost:8080
If you want to run the frontend locally while connecting to your production Supabase instance (useful for testing or development without setting up a local database), follow these steps:
From your Supabase project dashboard:
https://xxxxx.supabase.co)Update your .env file with production values:
This is the beginning of the README. Read the rest at the original. Read the full README ↗