GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com โ€” GitHub - profullstack/qryptchat-web: QryptChat โ€” code now lives in moshcoder/moshcode at apps/qryptchat-web; qrypt.chat deploys from there.

BranchesTags
Open more actions menu

Latest commit

 

History

814 Commits
814 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.socket
.socket
 
 
bin
bin
 
 
community-plugins
community-plugins
 
 
debug
debug
 
 
docs
docs
 
 
packages/qryptchat
packages/qryptchat
 
 
public
public
 
 
scripts
scripts
 
 
security-incident-2026-07-27
security-incident-2026-07-27
 
 
src
src
 
 
supabase
supabase
 
 
test-results
test-results
 
 
tests
tests
 
 
vite-plugins
vite-plugins
 
 
.dockerignore
.dockerignore
 
 
.env.example
.env.example
 
 
.gitignore
.gitignore
 
 
.gitleaks.toml
.gitleaks.toml
 
 
.npmrc
.npmrc
 
 
.oxlintrc.json
.oxlintrc.json
 
 
.prettierrc
.prettierrc
 
 
.rooignore
.rooignore
 
 
.semgrepignore
.semgrepignore
 
 
ARCHITECTURE.md
ARCHITECTURE.md
 
 
CROSS_DEVICE_KEY_SYNC.md
CROSS_DEVICE_KEY_SYNC.md
 
 
Dockerfile
Dockerfile
 
 
ENCRYPTION.md
ENCRYPTION.md
 
 
IPHONE_SMS_FILTERING_SOLUTION.md
IPHONE_SMS_FILTERING_SOLUTION.md
 
 
KDE_PWA_SHORTCUT_SETUP.md
KDE_PWA_SHORTCUT_SETUP.md
 
 
LICENSE
LICENSE
 
 
MIGRATION_PROGRESS.md
MIGRATION_PROGRESS.md
 
 
PLUGIN_INTEGRATION_GUIDE.md
PLUGIN_INTEGRATION_GUIDE.md
 
 
PRIVATE_KEY_SECURITY.md
PRIVATE_KEY_SECURITY.md
 
 
PWA_SESSION_RESTORATION_SOLUTION.md
PWA_SESSION_RESTORATION_SOLUTION.md
 
 
PWA_VIDEO_PLAYBACK_GUIDE.md
PWA_VIDEO_PLAYBACK_GUIDE.md
 
 
README.md
README.md
 
 
SMS_ISSUE_ANALYSIS.md
SMS_ISSUE_ANALYSIS.md
 
 
TODO.md
TODO.md
 
 
UPDATED_SMS_ANALYSIS.md
UPDATED_SMS_ANALYSIS.md
 
 
WEBSOCKET_CHAT_API.md
WEBSOCKET_CHAT_API.md
 
 
WEBSOCKET_CHAT_API_PLAN.md
WEBSOCKET_CHAT_API_PLAN.md
 
 
WEBSOCKET_TO_POST_SSE_MIGRATION.md
WEBSOCKET_TO_POST_SSE_MIGRATION.md
 
 
WEBSOCKET_TO_SSE_IMPLEMENTATION_GUIDE.md
WEBSOCKET_TO_SSE_IMPLEMENTATION_GUIDE.md
 
 
bun.lock
bun.lock
 
 
debug-dev-server.js
debug-dev-server.js
 
 
entrypoint.sh
entrypoint.sh
 
 
eslint.config.js
eslint.config.js
 
 
jsconfig.json
jsconfig.json
 
 
next.config.js
next.config.js
 
 
package.json
package.json
 
 
railway.toml
railway.toml
 
 
server.js
server.js
 
 
vitest.config.js
vitest.config.js
 
 
vitest.quarantine.config.js
vitest.quarantine.config.js
 
 

Repository files navigation

๐Ÿ” QryptChat

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.

Install the terminal client

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.

โœจ Features

๐Ÿ›ก๏ธ Quantum-Resistant Security

  • ML-KEM-1024 Post-Quantum Cryptography - FIPS 203 compliant quantum-safe encryption
  • ChaCha20-Poly1305 Symmetric Encryption - Fast, secure message encryption
  • End-to-End Encryption with client-side key management and zero server access
  • Perfect Forward Secrecy with automatic key rotation and secure key derivation
  • Zero-Knowledge Architecture - your private keys never leave your device
  • Private Key Import/Export - Secure backup with password and GPG protection

๐Ÿ“ฑ Progressive Web App

  • Cross-Platform: Works on iOS, Android, Desktop, and Web browsers
  • Offline Support: Queue messages when offline, sync when reconnected
  • Desktop Integration: Install as native app with system shortcuts
  • Mobile Optimized: Touch-friendly interface with gesture support
  • Service Worker: Background sync and caching for optimal performance

๐Ÿš€ Real-Time Communication & Sync

  • WebSocket Real-Time - Instant message delivery and status updates
  • Cross-Device Sync - Seamless experience across all logged-in devices
  • Multi-Session Support - Stay connected on multiple devices simultaneously
  • Live Typing Indicators - See when others are composing messages
  • Online Presence System - Real-time availability status
  • Message Delivery Status - Sent, delivered, and read receipts
  • Auto-Reconnection - Robust connection handling with automatic retry

๐Ÿ‘ฅ Social & Communication Features

  • SMS Phone Verification - Secure onboarding via Twilio integration
  • Contact Discovery - Find friends using verified phone numbers
  • Encrypted File Sharing - Share photos, videos, and documents securely
  • Enhanced Video Player - In-app video playback with diagnostic tools
  • Message Archiving - Archive and restore conversation history
  • Disappearing Messages - Auto-delete messages after specified time periods
  • Voice & Video Calls - End-to-end encrypted calls with ML-KEM key exchange
  • Voice Mode - Talk to a chat (your AI agents) hands free: tap the mic or type /talk, replies are read aloud (how it works)

๐ŸŒ Accessibility & Internationalization

  • Multi-Language Support - 6 languages (EN, ES, FR, DE, AR, ZH) with easy switching
  • RTL Support - Full right-to-left language support for Arabic and Hebrew
  • Dark/Light Themes - System preference detection with manual override
  • Responsive Design - Optimized for all screen sizes from mobile to desktop
  • Keyboard Navigation - Full accessibility support for screen readers

๐Ÿ—๏ธ Tech Stack

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

๐Ÿš€ Quick Start

Prerequisites

  • Bun 1.4 (package manager and runtime)
  • Supabase account
  • Twilio account (for SMS verification)

Installation

# 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).

Environment Variables

# 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

Using Production API in Local Development

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:

1. Get Production Credentials

From your Supabase project dashboard:

  • Navigate to Settings โ†’ API
  • Copy your Project URL (e.g., https://xxxxx.supabase.co)
  • Copy your anon/public key
  • Copy your service_role key (keep this secure!)

2. Configure Environment Variables

Update your .env file with production values:

# Point to production Supabase
PUBLIC_SUPABASE_URL=https://your-project-ref.supabase.co
PUBLIC_SUPABASE_ANON_KEY=your_production_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_production_service_role_key

# Keep local development settings
PORT=8080
PUBLIC_APP_URL=http://localhost:8080
NODE_ENV=development

# Production Twilio credentials (if testing SMS)
TWILIO_ACCOUNT_SID=your_production_twilio_sid
TWILIO_AUTH_TOKEN=your_production_twilio_token
TWILIO_PHONE_NUMBER=your_production_twilio_phone

3. Important Considerations

โš ๏ธ Security Warnings:

  • Never commit production credentials to version control
  • Use production credentials only in secure local environments
  • Consider using a separate "staging" Supabase project for development
  • Be cautious when testing features that modify production data

๐Ÿ’ก Best Practices:

  • Test destructive operations on a staging environment first
  • Use Row Level Security (RLS) policies to protect production data
  • Monitor your Supabase dashboard for unexpected activity
  • Consider creating a separate test user account for development

4. Verify Connection

Start your development server:

bun dev

The app should now connect to your production Supabase instance. You can verify by:

  • Checking the browser console for connection logs
  • Attempting to sign in with a production account
  • Monitoring the Supabase dashboard for API requests

5. Switching Back to Local Development

To switch back to local Supabase:

# Start local Supabase
pnpx supabase start

# Update .env with local credentials
PUBLIC_SUPABASE_URL=http://localhost:54321
PUBLIC_SUPABASE_ANON_KEY=your_local_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_local_service_role_key

๐Ÿ”’ Security Model

QryptChat implements a zero-knowledge post-quantum architecture where:

  • ๐Ÿ” ML-KEM-1024 + ChaCha20-Poly1305 - FIPS 203 compliant post-quantum encryption
  • ๐Ÿ—๏ธ Private keys never leave your device - Stored encrypted in IndexedDB
  • ๐Ÿ”„ Perfect forward secrecy - Automatic key rotation with secure derivation
  • ๐Ÿ›ก๏ธ Quantum-resistant algorithms - Protection against both classical and quantum attacks
  • ๐Ÿ•ต๏ธ Metadata protection - Minimal server-side data with encrypted message content
  • ๐Ÿ”‘ Multi-recipient encryption - Each participant gets individually encrypted messages
  • ๐Ÿ’พ Secure key backup - Password-protected export with optional GPG encryption
  • ๐Ÿ” Key verification - Cryptographic signatures ensure key authenticity

๐Ÿ“š Documentation

  • ๐Ÿ—๏ธ Architecture Overview
  • ๐Ÿ”’ Encryption Details
  • โœ‰๏ธ Inviting agents and people
  • ๐ŸŽ™๏ธ Voice mode
  • ๐Ÿ“ž Phone calls

๐Ÿงช Development

# Start development server
bun dev

# Run tests
bun run test

# Run tests with UI
bun run test:ui

# Build for production
bun run build

# Preview production build
pnpm preview

# Lint code
pnpm lint

# Format code
pnpm format

๐Ÿ›ฃ๏ธ Roadmap

โœ… Completed (v1.0.0)

  • ๐Ÿ—๏ธ Core Infrastructure - SvelteKit + Vite + PWA setup
  • ๐ŸŽจ Modern UI/UX - Responsive design with dark/light themes
  • ๐ŸŒ Internationalization - 6 languages with RTL support
  • ๐Ÿ“ฑ Progressive Web App - Offline-first with service worker
  • ๐Ÿ” Authentication System - Phone-based SMS verification
  • ๐Ÿ—„๏ธ Database Schema - Complete Supabase setup with RLS
  • ๐Ÿ”„ Real-time Foundation - WebSocket infrastructure ready
  • ๐Ÿ’ฌ Core Messaging - Send/receive messages with post-quantum encryption
  • ๐Ÿ”„ Cross-Device Sync - Real-time synchronization across devices
  • ๐Ÿ‘ฅ Contact System - Add and manage contacts via phone numbers
  • ๐Ÿ“Š Presence System - Online/offline status indicators
  • ๐Ÿ” Post-Quantum Encryption - ML-KEM-1024 + ChaCha20-Poly1305 implementation
  • ๐Ÿ“ File Sharing - Encrypted media and document sharing with video playback
  • ๐ŸŽฅ Voice & Video - End-to-end encrypted calls with ML-KEM key exchange
  • ๐Ÿ”‘ Key Management - Private key import/export with password protection
  • ๐Ÿ—‚๏ธ Message Archiving - Archive and restore conversations
  • โฐ Disappearing Messages - Auto-delete messages after specified time
  • ๐Ÿ”” Real-time Notifications - Live message delivery and status updates

๐Ÿšง In Progress (v1.1.0)

  • ๐Ÿ‘ฅ Group Chats - Multi-user conversations (basic implementation exists)
  • ๐Ÿ” Message Search - Full-text search across conversations
  • ๐Ÿ”” Push Notifications - Cross-platform notification system
  • ๐Ÿ“ฑ Mobile App Optimization - Enhanced PWA features for mobile

๐ŸŽฏ Upcoming (v1.2.0+)

  • ๐Ÿค– AI Integration - Smart message suggestions and translation
  • ๐ŸŒ Federation - Connect with other secure messaging platforms
  • ๐Ÿ“ˆ Analytics - Privacy-preserving usage insights
  • ๐ŸŽจ Customization - Custom themes and chat backgrounds
  • ๐Ÿ” Hardware Security - WebAuthn integration for key storage
  • ๐Ÿ“Š Advanced Analytics - Message delivery metrics and insights

๐Ÿ”ฎ Future Vision

  • ๐ŸŒ Decentralized Network - P2P messaging without central servers
  • ๐Ÿ›ก๏ธ Zero-Knowledge Proofs - Enhanced privacy verification
  • ๐Ÿ”ฌ Quantum Key Distribution - Hardware-based quantum security
  • ๐Ÿค Cross-Platform Protocol - Universal secure messaging standard

๐Ÿ“„ License

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


Built with โค๏ธ for a quantum-safe future

About

QryptChat โ€” code now lives in moshcoder/moshcode at apps/qryptchat-web; qrypt.chat deploys from there.

qrypt.chat

Topics

chatencryptedhacktoberfestmessagingquantumvoice

Resources

Readme
MIT license
Activity
Custom properties

Stars

21 stars

Watchers

2 watching

Forks

26 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 โ€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800ร—600. No cookies required.