Skip to content

TheYogMehta/CryptNode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

226 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Secure Chat Application

A privacy-first, end-to-end encrypted messaging platform with file sharing and voice calls. Built with React, Capacitor, and Go.

🌟 Features

  • End-to-End Encryption: AES-GCM-256 for messages, ECDH P-256 for key exchange
  • Local AI Assistant: Qwen3.5 0.8B model for smart compose, quick replies, and summarization
  • Secure Vault MFA: Local TOTP-based 2FA to protect the on-device Secure Vault
  • Multi-Device Support: Link multiple devices to a single account with automatic key synchronization
  • Chat Synchronization: Effortlessly sync missed messages across your linked devices and peers
  • Cross-Platform: Android, and Desktop (Electron)
  • File Sharing: Encrypted chunked file transfer
  • Voice & Video Calls: Real-time encrypted audio/video calls (WebRTC)
  • Secure Vault: Local encrypted storage for passwords and sensitive files, protected by MFA
  • Multi-Account: Switch between multiple Google accounts
  • Backup & Restore: Encrypted local backup of all messages, vault files, and identity keys
  • Zero Server Storage: Messages never stored on the server

πŸ“š Documentation

Getting Started

  • Setup Guide - Build and run instructions for all platforms
  • Overview - What the app does, target users, and key features

Architecture & Design

User Experience

  • User Flows - End-to-end user journeys with flowcharts
  • Features - Detailed feature breakdowns and data flows

Security & Authentication

Development & Deployment

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • Go 1.21+
  • Android Studio (for Android builds)

Run Client (Electron)

cd Client
npm install
cd electron
npm install
cd ..
npm run build
npm run electron:start

Run Server

cd Server
go run socket.go

Server runs on port 9000

Build for Production

See the Deployment Guide for detailed platform-specific instructions.

πŸ—οΈ Tech Stack

Frontend

  • React 18 + TypeScript
  • Ionic Framework - Cross-platform UI
  • Capacitor - Native bridge
  • Vite - Build tool
  • Web Crypto API - Encryption
  • @cantoo/capacitor-llama & Web Workers - Local AI Execution

Backend

  • Go (Golang) - WebSocket relay server
  • Gorilla WebSocket - WebSocket implementation

Storage

  • SQLite - Local message database
  • Capacitor Secure Storage - Keychain/Keystore for keys

πŸ” Security Overview

  • Encryption: ECDH P-256 + AES-GCM-256 (Messages), DTLS-SRTP (Calls)
  • Authentication: Google OAuth 2.0 + TOTP Multi-Factor Authentication (MFA)
  • Session Tokens: HMAC-signed with SHA-256
  • Zero Knowledge: Server cannot decrypt messages
  • Device-Bound Keys: Identity keys never leave the device

See Security Documentation for comprehensive details.

πŸ“± Platform Support

Platform Status Build Instructions
Android βœ… Supported Android Build
Desktop βœ… Supported (Electron) Desktop Build
iOS ❌ Not implemented -

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“œ License

This project is licensed under the GNU Affero General Public License v3.0 (AGPLv3).

  • You can: Use, modify, and distribute this software.
  • You must: Open-source your modifications if you distribute the software or run it as a network service (e.g., a web server).
  • You cannot: Sublicense or use it in closed-source proprietary software.

See the LICENSE file for details.

πŸ› Known Limitations

  • No perfect forward secrecy (long-lived device-bound session keys)
  • Cross-device sync is best-effort MANIFEST-based (use backup for guaranteed migration)
  • Single relay server (no federation)
  • Google OAuth dependency (no alternative auth methods)

πŸ“ž Support

For issues, questions, or feature requests, please open an issue on the repository.

πŸ—ΊοΈ Roadmap

  • App Vault Tagging System & One Time Otp With google authenticator
  • Add Users With QR Code
  • Add Users With Bluetooth
  • Add Users With NFC
  • Custom Quick Response

πŸ“– Additional Resources


Built with ❀️ for privacy and security

About

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors