You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
VaultChat is a self-hosted, end-to-end encrypted messaging relay.
The server is opaque — it never reads, stores, or processes any plaintext.
All encryption happens client-side using AES-256-GCM, ECDH P-256 and ECDSA P-256.
Features
Algorithm
Usage
AES-256-GCM
Message & file encryption
ECDH P-256
Key agreement (pairwise & sealed)
ECDSA P-256
Identity signatures
HKDF-SHA-256
Key derivation
Feature
Description
Direct Messages
1-to-1 encrypted conversations
Group Chats
Multi-member with shared group key
File Sharing
Encrypted file upload & download (20 MB max)
GIF Picker
Integrated search via Gifukai & Openverse
Emoji Picker
Full emoji panel with categories
GIF Favorites
Save and reuse favorite GIFs
Feature
Description
Zero-Knowledge
Server never sees plaintext data
Signed Requests
Every API call is identity-signed
Rate Limiting
Sliding-window per-route limits
CSP + Helmet
Strict Content Security Policy
HSTS
Enforced in production
ID Validation
Strict format checks on all identifiers
Feature
Description
WebSocket
Instant message delivery
Polling Backup
Light 12s fallback polling
Notifications
Browser push notifications
Feature
Description
Bilingual
French & English (live switch)
Responsive
Desktop & mobile layout
Dark Theme
Modern dark UI
Custom Dialogs
No native browser alerts
Password Manager
Auto-fill compatible login
Session Resume
Instant reload without flash
How It Works
Client generates identity keys (ECDSA + ECDH)
↓
Vault encrypted with login key (AES-256-GCM)
↓
Sealed envelopes sent through opaque relay
↓
Recipient decrypts with their private key
↓
Server only stores encrypted blobs + indexes
pm2 status # Check process status
pm2 logs vaultchat # Live logs
pm2 restart vaultchat # Restart after config change
pm2 stop vaultchat # Stop the relay
pm2 delete vaultchat # Remove from PM2