This directory contains the archived React Native mobile application for SecureComm. It has been preserved as a reference implementation for future development.
March 2026
The project consolidated on a web-first approach using SecureGram (React/Vite). The mobile app development was paused to focus resources on the web application, which provides broader compatibility and easier deployment.
Files:
android/app/src/main/java/com/securecomm/BluetoothMeshModule.javaios/SecureComm/BluetoothMeshModule.swift
Features:
- Real Bluetooth LE advertising and scanning
- GATT server/client for connections
- Service UUID:
6E400001-B5A3-F393-E0A9-E50E24DCCA9E - Characteristic UUIDs:
- TX:
6E400002-B5A3-F393-E0A9-E50E24DCCA9E(write) - RX:
6E400003-B5A3-F393-E0A9-E50E24DCCA9E(notify) - Public Key:
6E400004-B5A3-F393-E0A9-E50E24DCCA9E(read)
- TX:
- Device discovery with RSSI signal strength
- Public key exchange via characteristic
Files:
android/app/src/main/java/com/securecomm/AudioModule.javaios/SecureComm/AudioModule.swift
Features:
- Real-time audio recording at 44.1kHz
- Base64 audio streaming for JS bridge
- Voice level detection (RMS calculation)
- Low-latency audio playback
Files:
android/app/src/main/java/com/securecomm/CryptoModule.javaios/SecureComm/CryptoModule.swift
Features:
- Native cryptographic operations
- Key generation and management
The Bluetooth module patterns can inform a future WebBluetoothMeshProvider:
- Service/Characteristic UUIDs - Use the same UUIDs for compatibility
- Connection Flow - The GATT connection pattern maps to Web Bluetooth API
- Event-based Architecture - The event emitter pattern works well with browser events
- Message Encoding - Base64 encoding for binary data transfer
The audio module patterns are already implemented in SecureGram using Web Audio API, but the native patterns may inform:
- Audio buffer management
- Voice activity detection algorithms
- Streaming audio chunk handling
securecomm-mobile/
├── android/ # Android native modules
│ └── app/src/main/java/com/securecomm/
│ ├── BluetoothMeshModule.java
│ ├── AudioModule.java
│ └── CryptoModule.java
├── ios/SecureComm/ # iOS native modules
│ ├── BluetoothMeshModule.swift
│ ├── AudioModule.swift
│ └── CryptoModule.swift
├── src/ # React Native source code
└── package.json # Dependencies reference
See package.json for the full dependency list. Key dependencies:
react-native- React Native frameworkreact-native-ble-plx- Bluetooth LE library (alternative approach)- Native modules for crypto and audio
If mobile development resumes, consider:
- React Native New Architecture - Use Fabric and TurboModules
- Expo - Consider Expo for easier development
- Web Bluetooth API - May enable code sharing with web app
- Unified Mesh Provider - Create shared abstraction for web/mobile
For current development, see the SecureGram web application.