Skip to content

Latest commit

Β 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DigitalValut Chat πŸ”

Military-Grade Secure Messaging with Quantum-Resistant Encryption

DigitalValut Logo

Flutter CI/CD [License: MIT [Flutter [Platform


πŸ“‹ Table of Contents


🌟 Overview

DigitalValut Chat is an open-source, military-grade secure messaging application that provides true end-to-end encryption with quantum-resistant cryptography. Unlike traditional messaging apps, DigitalValut offers:

  • βœ… True Privacy: No servers, no data collection, no tracking
  • βœ… Quantum-Resistant: Post-quantum cryptography ready for the future
  • βœ… P2P Communication: Direct peer-to-peer messaging via WebRTC
  • βœ… Secure Voice Calls: End-to-end encrypted voice calling with military-grade encryption
  • βœ… Ephemeral Messages: Self-destructing messages that leave no trace
  • βœ… Blockchain Identity: TON blockchain wallet integration
  • βœ… Local AI: On-device LLM for translation and spam detection
  • βœ… Open Source: Fully auditable code under MIT License

πŸ”‘ Key Features

πŸ” Military-Grade Encryption

  • Hybrid Cryptography: Combines X25519 key exchange with AES-256-GCM
  • End-to-End Encryption: Messages encrypted on your device, decrypted only by recipient
  • Forward Secrecy: Each session uses unique encryption keys
  • Secure Key Storage: Biometric-protected keychain storage

🌐 P2P Messaging

  • No Central Server: Direct device-to-device communication
  • WebRTC Data Channels: Real-time encrypted messaging
  • NAT Traversal: STUN/TURN support for global connectivity
  • Offline Mode: Messages queued and synced when back online

πŸ“ž Secure Voice Calling

  • End-to-End Encrypted Audio: Military-grade encryption for all voice streams
  • WebRTC Voice Channels: High-quality peer-to-peer voice calls
  • Advanced Audio Processing: Echo cancellation, noise suppression, auto-gain control
  • Call Controls: Mute, speaker toggle, and end call functions
  • Connection Indicators: Real-time call status and duration display
  • Public STUN/TURN Servers: Reliable connectivity across all network conditions

⏱️ Ephemeral Messages

  • Self-Destructing: Set messages to auto-delete after viewing
  • Customizable Timers: 10 seconds to 30 days
  • Secure Deletion: Encryption keys wiped from memory
  • No Traces: Messages permanently deleted

πŸ’° TON Blockchain Integration (Planned)

  • Decentralized Identity: Use TON wallet address as user ID
  • Micropayments: Send cryptocurrency in messages
  • NFT Verification: Mint important messages as NFTs
  • Spam Prevention: Stake required to message new contacts

πŸ€– Local AI Features (Planned)

  • Auto-Translation: Real-time message translation (50+ languages)
  • Spam Detection: AI-powered phishing/malware detection
  • Chat Summaries: Instant conversation summaries
  • Smart Replies: Contextual quick response suggestions

πŸ”’ Security Protections

  • Screenshot Blocking: Prevent screen capture
  • Biometric Authentication: Face ID / Touch ID / Fingerprint
  • Encrypted Database: Local SQLite database with AES-256
  • Screen Recording Detection: Alerts when recording detected

πŸ›‘οΈ Security Features

DigitalValut implements defense in depth with multiple security layers:

  1. Transport Layer: WebRTC DTLS 1.3 encryption
  2. Key Exchange: X25519 elliptic curve Diffie-Hellman
  3. Message Encryption: AES-256-GCM authenticated encryption
  4. Local Storage: Encrypted SQLite database
  5. Key Management: Flutter Secure Storage with biometric protection
  6. UI Security: Screenshot blocking and screen recording detection

πŸš€ Quick Start

Prerequisites

Before you begin, ensure you have the following installed:

Installation Steps

1. Clone the Repository

# Clone this repository to your local machine
git clone https://github.com/digitalvalut/digitalvalut_chat.git
cd digitalvalut_chat

2. Install Dependencies

# Get all Flutter packages
flutter pub get

3. Run on Android Emulator/Device

# List available devices
flutter devices

# Run the app
flutter run

4. Run on iOS Simulator/Device (macOS only)

# Open iOS simulator
open -a Simulator

# Run the app
flutter run

πŸ“¦ Deployment Guide

For Non-Programmers

This guide will help you build DigitalValut Chat from source and install it on your device without using app stores.

Step 1: Install Flutter

Windows:

  1. Download Flutter SDK from https://docs.flutter.dev/get-started/install/windows
  2. Extract the zip file to C:\src\flutter
  3. Add Flutter to your PATH:
    • Search "Environment Variables" in Windows
    • Edit "Path" variable
    • Add C:\src\flutter\bin
  4. Open Command Prompt and run: flutter doctor

macOS:

  1. Open Terminal
  2. Run: brew install flutter (install Homebrew first if needed)
  3. Run: flutter doctor

Linux:

  1. Download Flutter SDK from https://docs.flutter.dev/get-started/install/linux
  2. Extract to /usr/local/flutter
  3. Add to PATH: export PATH="$PATH:/usr/local/flutter/bin"
  4. Run: flutter doctor

Step 2: Install Android Studio (for Android)

  1. Download from https://developer.android.com/studio
  2. Install Android Studio
  3. Open Android Studio
  4. Go to Settings β†’ Appearance & Behavior β†’ System Settings β†’ Android SDK
  5. Install latest Android SDK
  6. Install Android SDK Command-line Tools

Step 3: Set Up Your Device

Android:

  1. Enable Developer Options on your phone:
    • Go to Settings β†’ About Phone
    • Tap "Build Number" 7 times
  2. Enable USB Debugging:
    • Go to Settings β†’ Developer Options
    • Turn on "USB Debugging"
  3. Connect phone to computer via USB
  4. Run: flutter devices (should see your phone listed)

iOS (macOS only):

  1. Open Xcode
  2. Go to Preferences β†’ Accounts β†’ Add Apple ID
  3. Connect iPhone via USB
  4. Trust the computer on your iPhone
  5. Run: flutter devices

Step 4: Build the App

For Android (APK):

# Navigate to project folder
cd digitalvalut_chat

# Build APK
flutter build apk --release

# APK will be at: build/app/outputs/flutter-apk/app-release.apk

For iOS (IPA - macOS only):

# Build iOS app
flutter build ios --release

# You'll need to sign with your Apple Developer account
# Open in Xcode: ios/Runner.xcworkspace
# Select your team in Signing & Capabilities
# Archive and export IPA

Step 5: Install on Your Device

Android:

  1. Copy app-release.apk to your phone
  2. Open the APK file
  3. Allow "Install from Unknown Sources" if prompted
  4. Tap "Install"

iOS:

  1. Install via Xcode:
    • Open Xcode
    • Window β†’ Devices and Simulators
    • Select your device
    • Drag the .app file to Installed Apps
  2. Or use TestFlight for beta distribution

☁️ Cloud Build & Deploy (FREE - Recommended)

πŸš€ Automatic Build with GitHub Actions

This repository includes GitHub Actions workflows that automatically build your app whenever you push code. No local Flutter installation needed!

What Gets Built Automatically:

  • βœ… Android APK (Release) - Ready to install
  • βœ… Flutter Web (Release) - Ready for Netlify
  • βœ… Code Analysis - Automated testing
  • βœ… Artifacts Storage - 30-day retention

How to Use:

  1. Push code to GitHub:
git add .
git commit -m "Update app"
git push origin master
  1. Download builds:

Build Status:

Check your builds at: https://github.com/digitalvalut/digitalvalut-chat/actions


🌐 Deploy to Netlify (FREE Hosting)

Deploy your Flutter web app to the internet in 2 minutes - completely FREE!

Option 1: Drag & Drop (Easiest)

  1. Get the web build:

    • Download flutter-web-build artifact from GitHub Actions
    • Extract the ZIP file
  2. Deploy to Netlify:

  3. Get your link:

    • Netlify gives you: https://[random-name].netlify.app
    • Custom domain available (optional)

Option 2: Connect GitHub (Auto-Deploy)

  1. Sign up at https://netlify.com (free account)

  2. New Site from Git:

    • Click "Add new site" β†’ "Import existing project"
    • Connect GitHub
    • Select digitalvalut-chat repository
  3. Configure build:

    • Build command: flutter build web --release
    • Publish directory: build/web
    • Click "Deploy site"
  4. Auto-deploy enabled:

    • Every push = automatic deployment
    • Live in 2-3 minutes

Your Live App:


πŸ“² GitHub Releases (APK Distribution)

Share your Android APK with users:

  1. Create Release:

  2. Upload APK:

    • Attach app-release.apk from GitHub Actions
    • Add changelog
    • Publish release
  3. Share download link:

    • Direct APK link for users
    • Installation instructions included

πŸ—οΈ Building for Production

Android Production Build

# Create app bundle for Google Play (if needed)
flutter build appbundle --release

# Or create APK for sideloading
flutter build apk --release --split-per-abi

Signing Your APK:

  1. Create a keystore:
keytool -genkey -v -keystore ~/digitalvalut-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias digitalvalut
  1. Reference keystore in android/key.properties:
storePassword=your_password
keyPassword=your_password
keyAlias=digitalvalut
storeFile=/path/to/digitalvalut-key.jks
  1. Build signed APK:
flutter build apk --release

iOS Production Build

# Build for App Store or TestFlight
flutter build ios --release

# Open in Xcode for archiving
open ios/Runner.xcworkspace

Steps in Xcode:

  1. Select "Any iOS Device" as target
  2. Product β†’ Archive
  3. Distribute App β†’ Choose distribution method
  4. Sign with your Apple Developer certificate
  5. Export IPA

πŸ“ Project Structure

digitalvalut_chat/
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ main.dart                    # App entry point
β”‚   β”œβ”€β”€ crypto/                      # Encryption modules
β”‚   β”‚   β”œβ”€β”€ encryption_service.dart  # Hybrid encryption
β”‚   β”‚   └── key_manager.dart         # Key storage
β”‚   β”œβ”€β”€ network/                     # P2P networking
β”‚   β”‚   └── p2p_manager.dart         # WebRTC manager
β”‚   β”œβ”€β”€ database/                    # Local database
β”‚   β”‚   └── database_service.dart    # SQLite service
β”‚   β”œβ”€β”€ models/                      # Data models
β”‚   β”‚   β”œβ”€β”€ contact.dart
β”‚   β”‚   β”œβ”€β”€ conversation.dart
β”‚   β”‚   └── message.dart
β”‚   β”œβ”€β”€ ui/                          # User interface
β”‚   β”‚   β”œβ”€β”€ auth_screen.dart         # Authentication
β”‚   β”‚   β”œβ”€β”€ chat_list_screen.dart    # Conversation list
β”‚   β”‚   β”œβ”€β”€ chat_screen.dart         # Chat interface
β”‚   β”‚   β”œβ”€β”€ settings_screen.dart     # Settings
β”‚   β”‚   └── add_contact_screen.dart  # Add contacts
β”‚   β”œβ”€β”€ security/                    # Security features
β”‚   β”‚   └── biometric_auth.dart      # Biometric auth
β”‚   β”œβ”€β”€ blockchain/                  # TON integration
β”‚   β”‚   └── ton_wallet.dart          # TON wallet
β”‚   β”œβ”€β”€ llm/                         # AI features
β”‚   β”‚   └── local_llm.dart           # Local LLM
β”‚   └── services/                    # App services
β”‚       └── theme_provider.dart      # Theme management
β”œβ”€β”€ assets/                          # Assets
β”‚   └── logo.png                     # App logo
β”œβ”€β”€ android/                         # Android config
β”œβ”€β”€ ios/                             # iOS config
β”œβ”€β”€ pubspec.yaml                     # Dependencies
└── README.md                        # This file

πŸ”§ Development

Running Tests

# Run all tests
flutter test

# Run tests with coverage
flutter test --coverage

Code Quality

# Analyze code
flutter analyze

# Format code
flutter format lib/

Debugging

# Run in debug mode
flutter run --debug

# Run with verbose logging
flutter run -v

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

  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

Development Guidelines

  • Follow the Flutter Style Guide
  • Write tests for new features
  • Update documentation
  • Ensure all tests pass before submitting PR

πŸ” Security Considerations

For Users

  • Verify App Integrity: Always download from official sources
  • Backup Your Keys: Store encryption keys securely
  • Use Strong Biometrics: Enable Face ID/Touch ID/Fingerprint
  • Update Regularly: Keep app updated for security patches

For Developers

  • Code Audits: Security audits welcome
  • Report Vulnerabilities: Please report security issues privately to security@digitalvalut.chat
  • No Backdoors: This app contains no backdoors or surveillance features

πŸ“± Platform Support

Feature Android iOS
End-to-End Encryption βœ… βœ…
P2P Messaging βœ… βœ…
Ephemeral Messages βœ… βœ…
Biometric Auth βœ… βœ…
Screenshot Blocking βœ… βœ…
TON Wallet 🚧 🚧
Local LLM 🚧 🚧

βœ… = Implemented | 🚧 = In Development


πŸ› Troubleshooting

Common Issues

"Flutter command not found"

  • Add Flutter to your PATH
  • Run flutter doctor to diagnose

"Unable to connect device"

  • Enable USB Debugging (Android)
  • Trust computer (iOS)
  • Check cable connection

"Build failed"

  • Run flutter clean
  • Run flutter pub get
  • Delete build folder
  • Try again

"Permission denied"

  • Grant required permissions in Settings
  • Check AndroidManifest.xml (Android)
  • Check Info.plist (iOS)

Getting Help


πŸ“„ License

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

MIT License

Copyright (c) 2025 DigitalValut

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

πŸ™ Acknowledgments

  • Flutter Team for the amazing framework
  • Cryptography Community for post-quantum algorithms
  • WebRTC Project for P2P communication
  • TON Foundation for blockchain integration
  • Open Source Community for continuous support

🌍 Links


πŸ“Š Roadmap

Version 1.0 (Current)

  • βœ… End-to-end encryption
  • βœ… P2P messaging
  • βœ… Ephemeral messages
  • βœ… Biometric authentication
  • βœ… Screenshot blocking

Version 1.1 (Q2 2025)

  • 🚧 TON blockchain wallet
  • 🚧 Local LLM integration
  • 🚧 Voice/Video calls
  • 🚧 Group chats

Version 2.0 (Q3 2025)

  • 🚧 File sharing
  • 🚧 Message reactions
  • 🚧 Desktop apps
  • 🚧 Multi-device sync

πŸ’¬ Contact

For questions, suggestions, or support:


Made with ❀️ by the DigitalValut Team

Secure your conversations. Own your privacy. Trust no one.

About

Repository per la chat DigitalValut

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages