Classification: Restricted SC-SEC StealthX // SecureCall
Classification: Restricted · SC-SEC

Comms Security Briefing

E2E encryption design, threat model, anti-recording layers.

SecureCall security design, threat model, and cryptographic architecture · Last updated April 2026

Security Objectives

Core Security Principles

SecureCall is designed around four foundational security principles that govern every architectural and implementation decision across the platform.

  1. End-to-End Encryption — Application media frames are encrypted on-device using the Rust cryptographic engine. A P-256 Android Keystore identity signs registration and both per-call X25519 transcripts. Call plaintext is not sent to signaling.
  2. Metadata Minimization — Collect and store as little metadata as possible. Call routing uses two anonymous IDs and a timestamp. Optional contact discovery sends deterministic SHA-256 hashes of normalized phone numbers; raw names, raw numbers, and full contact lists stay on the device. Hashing does not guarantee anonymity.
  3. Content Retention Boundary — The signaling service is not designed to store call content or audio recordings. Per-call key material is discarded after the call. Limited routing, delivery, entitlement, security, and operational records are handled as described in the privacy policy.
  4. Verifiable Transparency — The client source code and current audit status are publicly inspectable under the StealthX Source-Available License. Researchers can review the implementation, reproduce supported tests, and report discrepancies. Source availability is not itself proof that no defect or backdoor exists. Copying, building, running, distributing, rebranding, hosting, or using SecureCall requires prior written permission from Vendetta Labs.
Threat Assessment

Attacker Classes and Protections

SecureCall is engineered to defend against the following attacker classes. Each row identifies the adversary, their capabilities, and the specific countermeasures deployed.

Attacker Capability Protection
Network Passive eavesdropping, man-in-the-middle interception, traffic analysis XChaCha20-Poly1305 application-frame encryption, signed key transcripts and WebRTC/TLS transport. Server-resolved alias targeting remains a documented trust boundary.
Server Operator Full access to signaling infrastructure, database, and server logs Call audio is not sent to signaling; the service still processes connection metadata and public key material
Local (Device) Physical access to device, malware, forensic extraction FLAG_SECURE, key zeroization on session end, anti-recording detection, no local call logs
App-Level Screen recording apps, microphone hijacking, accessibility service spyware Active recording detection, spy app scanning, accessibility service monitoring, audio focus lock

What We Cannot Protect Against

No security system is absolute. The following attack vectors fall outside SecureCall's protection boundary:

System Architecture

Architectural Overview

The SecureCall system is composed of the Android client application and the signaling service. Application-frame cryptography is performed by the client's native Rust engine through JNI. Registration and call-key transcripts are authenticated by a per-install Android Keystore identity; the signaling service is not designed to receive call plaintext.

┌─────────────────────────────────────────────┐
│                 Android App                  │
│  ┌─────────┐  ┌──────────┐  ┌────────────┐ │
│  │   UI    │  │ Security │  │   Audio    │ │
│  │  (MD3)  │  │ Monitor  │  │  Pipeline  │ │
│  └────┬────┘  └────┬─────┘  └─────┬──────┘ │
│       │            │              │          │
│  ┌────┴────────────┴──────────────┴───────┐ │
│  │         Call Manager / Session         │ │
│  └────────────────┬──────────────────────┘ │
│                   │ JNI                     │
│  ┌────────────────┴──────────────────────┐ │
│  │      Rust Crypto Engine (native)      │ │
│  │  XChaCha20-Poly1305 | X25519 | HKDF  │ │
│  └───────────────────────────────────────┘ │
└────────────────────┬────────────────────────┘
                     │ WSS / WebRTC
┌────────────────────┴────────────────────────┐
│           Signaling Server (Node.js)         │
│  ┌──────────┐  ┌──────────┐  ┌───────────┐ │
│  │ Session  │  │   PKD    │  │   Rate    │ │
│  │ Router   │  │ (Keys)   │  │  Limiter  │ │
│  └──────────┘  └──────────┘  └───────────┘ │
└──────────────────────────────────────────────┘

The architecture enforces a strict separation of concerns: the UI layer handles user interaction, the Security Monitor performs real-time threat detection, and the Audio Pipeline manages capture, encoding, and playback. All three converge at the Call Manager, which coordinates session state and delegates cryptographic operations to the Rust engine via JNI.

Security Enforcement by Tier

Tier-Based Security Matrix

SecureCall offers three subscription tiers, each with escalating security enforcement. The table below details how each tier responds to specific threat conditions detected at runtime.

Threat Detected Free Pro Premium
Screen recording detected Toast warning Block + dialog Auto-terminate call
Microphone hijack detected Toast warning Block + dialog Auto-terminate call
Spy app detected Toast warning Block + dialog Auto-terminate call
Accessibility spy detected — Alert Auto-terminate call
FLAG_SECURE Optional Default ON Always enforced
Crash reports Opt-out Disabled Disabled
Network-level IP processing Transient (STUN/TURN) Transient (STUN/TURN) Transient (STUN/TURN)
VPN boundary: The Google Play Free build and direct Pro build do not contain an app-owned VPN service and may follow a trusted device-managed VPN. The separately distributed direct Premium APK may run an optional, locally configured app-only WireGuard tunnel after Android consent. A VPN changes network routing; it does not authenticate aliases or replace canonical-ID/security-code verification.
Anti-Recording Protection

Six Layers of Active Defense

SecureCall employs a multi-layered defense system to detect and prevent unauthorized recording of encrypted calls. These protections operate simultaneously during active calls.

  1. FLAG_SECURE — The Android system-level flag is applied to all call-related activities and fragments. This prevents the OS from including SecureCall in screenshots, screen recordings, recent apps thumbnails, and screen sharing sessions. On Pro tier it is enabled by default; on Premium it is always enforced and cannot be disabled.
  2. Audio Focus Lock — SecureCall requests exclusive audio focus (AUDIOFOCUS_GAIN) during calls, preventing other applications from simultaneously accessing the microphone input. Any app attempting to record while a call is active will receive silence or be denied access.
  3. Screen Recording Detection — On Android 14 (API 34) and above, SecureCall registers screen capture callbacks for system-level detection. On older versions, a background process monitor scans for known screen recording applications running concurrently. Detection triggers a response based on the user's tier.
  4. Microphone Monitoring — An AudioRecordingCallback is registered to detect when any other application gains access to the microphone hardware. If a second app begins recording during a call, the user is immediately alerted and tier-appropriate countermeasures activate.
  5. Accessibility Service Detection — Spyware commonly abuses Android accessibility services to capture screen content and keystrokes. SecureCall monitors active accessibility services and cross-references them against known spyware signatures. Suspicious services trigger alerts on Pro and call termination on Premium.
  6. Call Recording App Scan — A database of 20+ known call recording applications is checked at call start. If any are installed and running, the user is warned. The database is periodically updated to include newly discovered recording apps.
Key Zeroization

Cryptographic Key Handling

Proper key lifecycle management limits the exposure of per-call material. SecureCall implements the following key handling practices, but does not claim Double Ratchet or post-compromise security:

Security Notice: If you suspect your device has been compromised at the OS level (rooted by an attacker, malware with root access), SecureCall's protections may be bypassed. In this scenario, we recommend factory-resetting the device and reinstalling from a trusted source.
For Full Details

Related Documentation

For deeper technical information on specific security topics, consult the following resources:

SecureChat — Shared Security Model

Cross-Product Security Comparison

SecureChat, the messaging product of the StealthX Platform, shares the same cryptographic foundation as SecureCall but adapts the security model for asynchronous messaging and decentralized relay infrastructure.

Aspect SecureCall SecureChat
Encryption XChaCha20-Poly1305 XChaCha20-Poly1305 (identical)
Key Exchange X25519 ECDH X25519 ECDH (identical)
Forward Secrecy Per-call X25519/HKDF session key (no Double Ratchet) Double Ratchet (per-message)
Transport WebRTC DTLS-SRTP (P2P) Tor Hidden Services + Onion Routing
Identity Anonymous SecureID Kaspa BlockDAG (on-chain anchor)
Relay Centralized signaling server Decentralized Kaspa-incentivized nodes
IP Protection External device VPN compatible; no built-in tunnel 2-hop Onion Routing (Pro), 3-hop (Elite)
Metadata Minimal (signaling only) Zero (SMP-style unidirectional queues)
Crypto Library Rust (native JNI) lazysodium-android (Kotlin)

Both products target OWASP MASVS Level 2 compliance. External security audit by Trail of Bits is recommended before public release of either product.

SecureChat Security Design → | Relay Architecture →