Post-Quantum Β· Zero-Trust Β· Serverless Β· Forensic-Hardened Messenger
- Overview
- Architecture
- The Speakeasy β Camouflage System
- Cryptographic Stack
- Network & Transport Layer
- Forensic Countermeasures
- Feature Reference
- Project Structure
- Technology Stack
- Build & Run
- Screenshots
- Version History & Changelog
- Security Model Summary
- Disclaimer
AcroNet is a fully decentralized, end-to-end encrypted messaging platform engineered for zero-trust environments. It operates under a protocol codenamed Obsidian Forge, which replaces traditional messaging UI patterns with a multi-layered camouflage architecture.
To any forensic examiner, network sniffer, or casual observer, the application appears β and functions β as a legitimate cryptocurrency trading client called MarketPulse. Beneath that surface lies a post-quantum encrypted messenger that routes messages through disposable Nostr relays, leaves no server-side trace, and can self-destruct its entire cryptographic state on command.
| Principle | Implementation |
|---|---|
| Zero Trust | No central server, no Firebase, no AWS. All routing via disposable NIP-01 Nostr relay pool |
| Post-Quantum Safety | Hybrid X25519 + Kyber-512 key exchange; session key survives if either primitive holds |
| Forensic Plausibility | Fully functional decoy trading app with seeded trade history, fake API keys, and portfolio data |
| Cryptographic Sovereignty | Identity derived from a 12-word BIP39 mnemonic; no phone number, no email, no central authority |
| Physical Erasure | RandomAccessFile zero-fill on NAND sectors; not a UI delete β bytes are physically overwritten |
graph TB
subgraph SURFACE["Surface Layer β MarketPulse Decoy"]
MP_UI["Live Binance WebSocket Feed"]
MP_CHART["MPAndroidChart Candlesticks"]
MP_OB["Order Book & Trade Ticker"]
MP_SET["Settings / Terms / Privacy"]
end
subgraph AUTH["Authentication Gate"]
TRIGGER["Triple-Tap Title β Shatter Animation"]
PIN["PIN / Biometric Verification"]
DURESS["Duress PIN β Decoy DB"]
end
subgraph VAULT["AcroNet Secure Vault"]
DASH["Dashboard β Contact List"]
CHAT["Chat β E2EE Messenger"]
PROFILE["Profile β Key Management"]
SETTINGS["Transport & Security Settings"]
end
subgraph CRYPTO["Cryptographic Core"]
IDENTITY["BIP39 Identity Manager"]
KEX["X25519 + Kyber-512 Handshake"]
CIPHER["AES-256-GCM Message Cipher"]
DB["SQLCipher Encrypted Database"]
VANISH["VanishMode β RAM Eviction"]
end
subgraph NETWORK["Network Layer"]
NOSTR["NIP-01 Nostr Relay Pool"]
BLE["BLE Mesh Router"]
NAN["Wi-Fi Aware NAN Node"]
P2P["LAN P2P Swarm Transfer"]
end
subgraph FORENSIC["Anti-Forensic Layer"]
DECOY_GEN["Forensic Decoy Generator"]
PIN_ROUTER["Dual-PIN Database Router"]
LSB["LSB Image Steganography"]
TRAFFIC["Traffic Shaper β MPEG-TS Mimicry"]
RETRACT["Cryptographic Retraction Protocol"]
ZERO["Zero-Fill NAND Erasure"]
end
MP_UI --> TRIGGER
TRIGGER --> PIN
PIN -->|Real PIN| VAULT
PIN -->|Duress PIN| DURESS
VAULT --> CRYPTO
CRYPTO --> NETWORK
CRYPTO --> FORENSIC
sequenceDiagram
participant A as Alice (Sender)
participant DR as Double Ratchet
participant SC as Schnorr Signer
participant NR as Nostr Relay Pool
participant DB as SQLCipher DB
participant B as Bob (Receiver)
A->>DR: Plaintext message
DR->>DR: Ratchet step β derive AES-256-GCM key
DR->>SC: Encrypt β Base64 ciphertext
SC->>SC: BIP-340 Schnorr sign (secp256k1)
SC->>NR: Publish blinded NIP-01 Event (zeroed timestamp)
NR-->>B: Deliver event via subscription
B->>SC: Verify Schnorr signature
SC->>DR: Decrypt with session key
DR->>DB: Store as Base64 ciphertext in SQLCipher
DB-->>B: Display plaintext in ChatFragment
AcroNet is not a messaging app. It is a fully functional cryptocurrency broker called MarketPulse.
| Layer | What the examiner sees | What is actually happening |
|---|---|---|
| App Icon & Name | "MarketPulse" β stock chart icon | Launcher alias via AcroNetDecoyActivity |
| Home Screen | Live BTC/ETH/SOL/BNB/XRP candlestick chart | Real Binance WebSocket stream (wss://stream.binance.com) |
| Order Book | Flickering bid/ask depth feed | Mock depth data seeded from live spread |
| Trade History | Scrolling execution feed | Mock trades interpolated from live price |
| Quick Order | Buy/Sell panels with portfolio balance | Functional mock balance via SharedPreferences |
| Settings | Notifications, 2FA, API keys, cache clear | Standard trading app settings β all functional |
| Network Traffic | HTTPS to api.binance.com |
Legitimate API calls; no AcroNet fingerprint |
| On-Disk Artifacts | marketpulse_trades.db with 150+ orders |
Auto-generated forensic decoy data |
Triple-tap the "MarketPulse" title bar
β Physics-based shatter animation (spring-damped particles)
β PIN / Biometric authentication gate
β SQLCipher vault decryption
β AcroNet Dashboard
Two PINs. Two databases. One truth.
| Real PIN | Duress PIN | |
|---|---|---|
| Unlocks | AcroNet encrypted vault | Benign decoy chat database |
| Timing | Constant 350ms |
Constant 350ms (timing-equalized) |
| Database | acronet_vault.db (real messages) |
Decoy DB (fabricated conversations) |
| On 3 Failures | Full key wipe + database destruction | Same behavior (indistinguishable) |
128-bit entropy β 12 BIP39 words
β PBKDF2-SHA512 (2048 rounds) β 512-bit seed
β HMAC-SHA512("AcroNet seed") β master key
β Hardened path m/44'/777'/0'/0/0 β child key
β X25519 private key + Kyber-512 seed + Nostr pubkey
No phone number. No email. No server registration. Recovery: enter 12 words on any device β full identity restored.
| Component | Algorithm | Purpose |
|---|---|---|
| Classical ECDH | X25519 (Curve25519) | Ephemeral key agreement, fast and proven |
| Post-Quantum KEM | Kyber-512 (NIST ML-KEM) | Lattice-based encapsulation, quantum-resistant |
| Key Derivation | HKDF-SHA256 | Combines both shared secrets into single session key |
| Session Key | AES-256 (32 bytes) | Output: one symmetric key for message encryption |
Security guarantee: If either X25519 or Kyber-512 survives a quantum attack, the session key remains unrecoverable.
| Property | Value |
|---|---|
| Algorithm | AES-256-GCM |
| Auth Tag | 128-bit |
| IV | 12 bytes, SecureRandom per message |
| AAD | SHA-256 of Genesis architect signature |
| Wire Format | Base64(IV[12] β Ciphertext β AuthTag[16]) |
The AAD (Additional Authenticated Data) is derived from the AcroNetGenesis block. If the source code's author identity is modified, the SHA-256 hash changes, the AAD mismatches, and every stored message permanently fails to decrypt.
| Property | Value |
|---|---|
| Engine | SQLCipher 4.5.4 |
| Page Size | 4096 bytes |
| KDF | PBKDF2-SHA512 |
| Key Rotation | 24-hour rolling via AcroNetDatabaseKeyManager |
| Key Storage | EncryptedSharedPreferences (Android Keystore-backed AES-256-GCM / AES-256-SIV) |
Messages are broadcast as blinded NIP-01 events through a rotating pool of 10 disposable community relays:
wss://relay.damus.io wss://nos.lol
wss://relay.snort.social wss://relay.nostr.band
wss://nostr.wine wss://relay.current.fyi
wss://eden.nostr.land wss://nostr-pub.wellorder.net
wss://relay.nostr.info wss://nostr.fmt.wiz.biz
Events use BIP-340 Schnorr signatures over secp256k1 for relay acceptance. Timestamps are zeroed to prevent timing correlation. Relay rotation prevents traffic profiling.
| Transport | Range | Throughput | Use Case |
|---|---|---|---|
BLE Mesh (AcroNetBLERouter) |
~100m | ~2 Mbps | Routing table broadcast, peer discovery |
Wi-Fi Aware NAN (AcroNetWifiAwareNode) |
~100m | ~50 Mbps | Text messaging without internet |
LAN P2P Swarm (AcroNetWebRTCMesh) |
Same subnet | ~150 Mbps | Large file transfer (1MB chunks, AES-256-GCM per chunk) |
MeshSync (AcroNetMeshSync) |
LAN / Bluetooth | Variable | Multi-device pairing via QR β encrypted TCP/BT tunnel |
AcroNetTrafficShaper pads all outgoing packets to 1316 bytes (MPEG Transport Stream segment size: 188 Γ 7) and regularizes timing to 33ms intervals (30fps video cadence Β± 5ms jitter). To a deep packet inspector, AcroNet traffic is indistinguishable from an HLS/DASH video stream.
| Module | Function |
|---|---|
AcroNetForensicDecoy |
Seeds fake Binance API keys, 150+ trade orders, portfolio JSON, WebSocket logs, and TOTP secrets on first launch |
AcroNetDecoyGenerator |
Generates benign decoy chat conversations with realistic human typing cadence and Indian university context |
AcroNetPinRouter |
Dual-PIN engine with constant-time (350ms) execution; forensically indistinguishable real vs. decoy unlock path |
AcroNetLSBEncoder |
Least Significant Bit steganography β hides AES-256-GCM-encrypted payloads in image pixel data (2 bits/channel, 3Γ redundancy, survives JPEG β₯ 85%) |
AcroNetTrafficShaper |
MPEG-TS packet mimicry to defeat DPI (Deep Packet Inspection) |
AcroNetRetractionProtocol |
Cryptographic delete: NIP-09 broadcast β DB row deletion β RandomAccessFile zero-fill on NAND β WAL/SHM purge |
AcroNetZeroFill |
Multi-pass random noise overwrite for file-level erasure |
AcroNetMediaSanitizer |
Strips EXIF, GPS, camera model, and all metadata from captured/received media |
AcroNetVanishMode |
Ephemeral mode: FLAG_SECURE (blocks screenshots), timed RAM eviction, byte-array zero-fill on message expiry |
| Feature | Description |
|---|---|
| Live Chart | Real-time Binance kline data via WebSocket combined stream; candlestick rendering via MPAndroidChart |
| Order Book | Simulated bid/ask depth feed derived from live spread data |
| Trade Execution | Buy/Sell panels with mock balance management via SharedPreferences |
| Portfolio View | Real-time P&L tracking based on mock holdings and live prices |
| Settings | Notification preferences, biometric lock, 2FA toggle, API key configuration, cache clearing, support contact, Terms of Service, Privacy Policy |
| Feature | Description |
|---|---|
| Dashboard | Contact list with unread badges, last message preview, online/offline status |
| Chat | Full E2EE messaging with sent/received/system message types, swipe-to-reply (spring physics), typing indicators |
| VanishMode | Timed self-destruct (30s default), FLAG_SECURE screenshot block, RAM byte-array zero-fill |
| QR Scanner | Portrait-locked camera scanner for contact exchange (ZXing) |
| Profile | Avatar glyph selector, neon aura color picker, hex public key display, key regeneration with double-warning |
| Nostr Status | Live connection indicator: π’ CONNECTED / π‘ CONNECTING / π΄ OFFLINE |
| Search | Real-time contact filtering on the dashboard |
| Starred | Bookmarked messages view |
| Provenance | Anti-deepfake media verification β ECDSA batch signing with chain-of-custody tracking |
AcroNet_Source/app/src/main/java/com/acronet/
β
βββ core/ # Foundation
β βββ AcroNetGenesis.kt # Cryptographic authorship watermark & AAD lock
β βββ AcroNetAudioRecorder.kt # Secure audio capture
β βββ IAudioMatrix.kt # Audio interface contract
β
βββ crypto/ # Cryptographic Engine (12 modules)
β βββ AcroNetIdentityManager.kt # BIP39 β PBKDF2 β HMAC-SHA512 β key derivation
β βββ AcroNetKeyExchange.kt # X25519 + Kyber-512 hybrid handshake
β βββ AcroNetMessageCipher.kt # AES-256-GCM encrypt/decrypt with Genesis AAD
β βββ AcroNetSecureDatabase.kt # SQLCipher vault (encrypted persistence)
β βββ AcroNetDatabaseKeyManager.kt # 24-hour rolling key rotation
β βββ AcroNetSessionKeyManager.kt # Handshake lifecycle & session key cache
β βββ AcroNetContactStore.kt # Encrypted contact storage
β βββ AcroNetIdentityStore.kt # Persistent identity store
β βββ AcroNetGroupEngine.kt # Group messaging key distribution
β βββ AcroNetShardManager.kt # Key sharding for distributed backup
β βββ AcroNetVanishMode.kt # Ephemeral messaging & RAM eviction
β βββ SecureMessage.kt # Message data model
β
βββ network/ # Transport (5 modules)
β βββ AcroNetNostrRelay.kt # NIP-01 WebSocket relay client
β βββ AcroNetMessageRouter.kt # Central routing: UI β Cipher β Relay
β βββ AcroNetWebRTCMesh.kt # LAN P2P swarm transfer (1MB chunks)
β βββ AcroNetVoiceShard.kt # Encrypted voice message transport
β βββ AcroNetLocalDaemonBridge.kt # Desktop client bridge
β
βββ mesh/ # Zero-Internet Transport (2 modules)
β βββ AcroNetBLERouter.kt # BLE advertisement mesh router
β βββ AcroNetWifiAwareNode.kt # Wi-Fi Aware NAN node
β
βββ forensics/ # Anti-Forensic Suite (4 modules)
β βββ AcroNetForensicDecoy.kt # Trading data fabrication engine
β βββ AcroNetDecoyGenerator.kt # Decoy chat conversation generator
β βββ AcroNetPinRouter.kt # Dual-PIN plausible deniability
β βββ AcroNetMediaSanitizer.kt # EXIF/GPS metadata strip
β
βββ stealth/ # Stealth Operations (1 module)
β βββ AcroNetZeroFill.kt # Multi-pass file erasure
β
βββ steganography/ # Covert Communication (2 modules)
β βββ AcroNetLSBEncoder.kt # Image steganography (2-bit LSB, 3Γ redundancy)
β βββ AcroNetTrafficShaper.kt # MPEG-TS packet mimicry
β
βββ provenance/ # Media Authentication (2 modules)
β βββ AcroNetMediaSigner.kt # ECDSA batch verification & deepfake scoring
β βββ AcroNetSecureCamera.kt # Hardware-backed capture signing
β
βββ system/ # System Services (2 modules)
β βββ AcroNetRetractionProtocol.kt # Cryptographic true delete
β βββ AcroNetMeshSync.kt # Multi-device pairing engine
β
βββ ui/ # User Interface (10 modules)
βββ AcroNetDecoyActivity.kt # MarketPulse decoy launcher
βββ AcroNetMainActivity.kt # Secure vault activity
βββ AcroNetAuthGate.kt # PIN / Biometric gate fragment
βββ AcroNetDashboardFragment.kt # Contact list dashboard
βββ AcroNetChatFragment.kt # E2EE chat fragment
βββ AcroNetProfileFragment.kt # Identity & key management
βββ AcroNetSettingsFragment.kt # Security settings
βββ AcroNetTransportSettings.kt # Nostr relay configuration
βββ MarketPulseLiveSocket.kt # Binance WebSocket client
βββ MarketPulseDataGenerator.kt # GBM volatility simulator
Total: 40 Kotlin source files across 10 packages.
| Category | Technology | Version | Purpose |
|---|---|---|---|
| Language | Kotlin | JDK 17 | Primary development language |
| Build | Gradle (Kotlin DSL) | 8.0+ | Build system |
| Min SDK | Android API 26 | (Oreo 8.0) | Minimum supported Android version |
| Target SDK | Android API 35 | (Android 16) | Compile and target SDK |
| PQ Crypto | Bouncy Castle | 1.77 | X25519, Kyber-512, HKDF-SHA256, PBKDF2-SHA512 |
| Database | SQLCipher | 4.5.4 | AES-256 encrypted SQLite |
| Networking | OkHttp | 4.12.0 | HTTP/WebSocket client |
| Serialization | Gson | 2.10.1 | JSON parsing |
| QR Codes | ZXing Embedded | 4.3.0 | QR generation & scanning |
| Charting | MPAndroidChart | 3.1.0 | Candlestick, line, and bar charts |
| Concurrency | Kotlin Coroutines | 1.8.1 | Async programming |
| Security | AndroidX Security-Crypto | 1.1.0-alpha06 | EncryptedSharedPreferences |
| Biometrics | AndroidX Biometric | 1.1.0 | Fingerprint / face unlock |
| Animation | DynamicAnimation | 1.0.0 | Spring-physics swipe-to-reply |
| Background | WorkManager | 2.10.0 | Background sync tasks |
| WebSocket | Java-WebSocket | 1.5.3 | NIP-01 Nostr relay transport |
| View Binding | AndroidX ViewBinding | β | Type-safe view references |
- Android SDK (API 26 β 35)
- JDK 17
- Gradle 8.0+
- Android Studio Koala (2024.1+) recommended
git clone https://github.com/acro777x/AcroNet.git
cd AcroNet/AcroNet_SourceWindows:
.\gradlew.bat assembleDebugmacOS / Linux:
./gradlew assembleDebugapp/build/outputs/apk/debug/app-debug.apk (~37 MB)
adb install app/build/outputs/apk/debug/app-debug.apk- Open MarketPulse from your app drawer
- The app displays a live cryptocurrency trading interface
- Triple-tap the "MarketPulse" title in the header bar
- The UI shatters β PIN/Biometric gate appears
- Authenticate β AcroNet Secure Dashboard loads
Pre-built APK: A signed debug APK is available at the repository root as
acronet-v10-release.apk.
| Version | Codename | Date | Key Changes |
|---|---|---|---|
| V10.2 | The Complete Weapon | 2026-06-26 | Profile fragment with avatar glyph & aura selector, live order book & trade ticker, WebSocket auto-reconnect loop, node search filter, decoy exchange panels |
| V10.1 | The Complete Weapon | 2026-06-24 | Portrait-locked QR scanner (PortraitCaptureActivity), MPAndroidChart Y-axis auto-scaling fix, settings layout spacing cleanup, premium chat UI polish |
| V10.0 | The Complete Weapon | 2026-06-22 | Full UI migration to Stitch Obsidian Dark design system, BIP-340 Schnorr signatures for Nostr event publishing, Ghost Chat branding purge, real QR generation/scanning |
| V9.0 | Aristotelian Synthesis | 2026-04-26 | BIP39 identity manager, real X25519 + Kyber-512 key exchange, AcroNetNostrRelay NIP-01 transport, AcroNetPinRouter dual-PIN system, EncryptedSharedPreferences hardening |
| V8.5 | Apex Synthesis | 2026-04-25 | Legacy ghost.app package purge, logo rebrand, dashboard consolidation |
| V8.0 | Apex Covenant | 2026-04-22 | Dashboard fragment, VanishMode RAM eviction, AcroNetMediaSanitizer, 200-candle GBM chart simulator, AcroNetForensicDecoy data seeding |
| V7.0 | Obsidian Forge | 2026-04-21 | Initial release: speakeasy entrance, shatter animation, AES-256-GCM encryption, SQLCipher database, Genesis AAD watermark |
| V6.0 | Visual Vault | 2026-04-20 | Shatter transition physics, PRAGMA secure_delete, visual overhaul |
| V5.0 | Apex / Epsilon | 2026-04-19 | Supreme Auditor test suite (12 tests), mesh drop-off validation, BLE dedup, provenance tamper detection, PIN timing equalization |
| V5.0 | Apex / Delta | 2026-04-19 | LSB image steganography (3Γ redundancy, JPEG survival), traffic shaper (MPEG-TS mimicry, 30fps cadence) |
| V5.0 | Apex / Gamma | 2026-04-19 | Dual-database PIN router (timing-equalized, cold boot defense), decoy chat generator |
| V5.0 | Apex / Beta | 2026-04-19 | Hardware-backed anti-deepfake provenance, TEE P-256 ECDSA signing, byte-level tamper detection |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β THREAT MODEL β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Physical Device Seizure β
β ββ Forensic decoy data passes as legit trading app β
β ββ Dual-PIN: real vs decoy DB (timing-equalized) β
β ββ SQLCipher encrypted database (24h rolling key) β
β ββ 3-attempt wipe: full key destruction β
β ββ NAND zero-fill on message retraction β
β β
β Network Surveillance (DPI / ISP) β
β ββ Traffic shaped to MPEG-TS video stream profile β
β ββ Only visible traffic: HTTPS to api.binance.com β
β ββ Nostr relay rotation prevents traffic fingerprinting β
β ββ BLE/NAN mesh for zero-internet communication β
β β
β Quantum Computing Threat β
β ββ Kyber-512 (NIST ML-KEM) post-quantum KEM β
β ββ X25519 classical ECDH as redundant layer β
β ββ HKDF combination: either surviving = session key safe β
β β
β Source Code Theft β
β ββ Genesis block: SHA-256(author identity) bound as AAD β
β ββ Modify author string β all databases permanently fail β
β ββ ProGuard minification on release builds β
β β
β Screenshot / Screen Recording β
β ββ FLAG_SECURE blocks OS-level capture β
β ββ VanishMode enforces ephemeral viewing β
β β
β Media Deepfakes β
β ββ ECDSA provenance chain on all captured media β
β ββ Batch verification with deepfake probability scoring β
β ββ FORGED overlay rendered on failed verification β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
This software is provided "as is", without warranty of any kind, express or implied. AcroNet is engineered for extreme privacy research and education. The developers assume no liability for misuse. Use responsibly and in compliance with applicable laws.
Engineered by Acro β Acro Void
The Genesis Block is immutable.





