User Manual
Complete reference for setup, settings, and every feature of SecureCall.
What Is SecureCall?
SecureCall is an end-to-end encrypted voice call app. Every call is encrypted in transit using military-grade cryptography. The server never stores calls, never logs metadata, and never has access to your voice data. Your identity is a randomly generated ID — no phone number required.
When you make a call, SecureCall establishes a direct encrypted audio channel using WebRTC with hardware-backed key exchange. Once connected, audio travels peer-to-peer. If a direct path is not possible, a TURN relay forwards the packets — but audio remains end-to-end encrypted and the relay cannot read it.
Tier Overview
Your effective tier is the highest of: your installed build flavor, an active subscription, or an active activation code.
| Feature | Free | Pro | Premium |
|---|---|---|---|
| Call duration | 15 min per call | Unlimited | Unlimited |
| Saved contacts | 10 max | Unlimited | Unlimited |
| Ads | Yes | No | No |
| Anti-recording protection | Locked off | Toggleable | Forced on |
| Multi-device support | No | Yes | Yes |
| WireGuard VPN | No | No | Yes |
| Custom Call ID | No | No | Yes |
| Screen capture detection | No | No | Yes |
| Diagnostic logs (SecLog) | No | Yes | Yes |
Step 1 — Onboarding
On first launch you will see a four-page introduction explaining the app's security model. Swipe through or tap Next to proceed. Tap Skip to go directly to the app.
Step 2 — SecureID Registration
After onboarding, SecureCall creates or restores your anonymous SecureID. This ID is the address other SecureCall users need to reach you; no phone number is required. Share your SecureID directly, by invite link, or through QR contact exchange.
Step 3 — Notification Permission
On Android 13 and above, SecureCall requests notification permission. Grant it. Without this, incoming call notifications will not appear and you will miss calls while the app is in the background.
Step 4 — Battery Optimization
SecureCall asks you to disable battery optimization for the app. Tap Allow on the system dialog. Without this, Android may kill the background connection and you will miss incoming calls. On Samsung devices, additional guidance appears for One UI's aggressive battery management — follow the on-screen steps.
Main Tabs
- Calls — Your recent call history. Tap an entry to call back. Long-press for options: save as contact, block, or delete.
- Contacts — Your saved SecureCall contacts. Tap to call. Use the search bar to filter by name.
- Dialer — Enter a SecureCall ID manually. Your own SecureCall ID is shown here. Use the invite buttons to share your ID via SMS, messenger, QR, or a share link.
- Settings — All configuration options.
Connection Status
The toolbar shows your real-time server connection status via a color-coded icon:
| Color | Meaning |
|---|---|
| Green | Connected — ready to send and receive calls |
| Yellow | Reconnecting — attempting to restore the connection |
| Red | Disconnected — no server connection |
Tap the connection icon in the toolbar to manually disconnect or reconnect.
Account
- Current Plan — Displays your active tier (Free, Pro, or Premium). Read-only.
- Upgrade to Pro / Upgrade to Premium — Opens the in-app purchase screen. Shown only on the relevant tier.
- Activation Code — Enter a redeemable code and tap Activate. On success the app restarts and applies the new tier. Errors: Invalid code, Code exhausted, Max devices reached, Connection timeout.
- Your SecureCall ID — Tap to copy. Share with anyone you want to call or receive calls from. If a Custom Call ID is active, it is shown here instead.
- SecureID — Your anonymous contact identity. Other users can call you by SecureID, invite link, or QR contact exchange.
Custom Call ID (Premium only)
- Current ID — Shows your active custom ID or “Not set”.
- Custom ID input — 3–30 characters, lowercase only.
- Password — Minimum 8 characters. Required to transfer the ID to another device. Cannot be recovered — store it safely.
- Activate — Registers this ID on the current device. A confirmation dialog appears before activation.
- Transfer — Moves an existing custom ID from another device using the password.
- Buy Custom ID — Opens the pricing page at stealthx.tech.
Security
All three items are read-only indicators — their state is determined by your tier.
- Certificate Pinning — Whether TLS certificate pinning is active.
- Device Attestation — Whether hardware integrity verification is required.
- Hardware Keystore — Whether encryption keys must be hardware-backed.
Anti-Recording Protection
Controls protections against call recording and screen capture during calls.
| Setting | Free | Pro | Premium |
|---|---|---|---|
| Block Screenshots | Locked off | On by default, toggleable | Forced on |
| Exclusive Microphone Access | Locked off | On by default, toggleable | Forced on |
| Detect Screen Recording | Locked off | On by default, toggleable | Forced on |
A Security Level summary shows below the toggles: “Basic — warnings only” (Free), “High — critical threats blocked” (Pro), or “Maximum — all protections enforced” (Premium).
Privacy & Call Settings
- Background Connection — Keep the WebSocket service running so you receive incoming calls even when the app is minimized. Recommended: On. Disabling means you only receive calls while the app is open on screen.
- Battery Optimization Status — Shows whether battery optimization is disabled. If it shows “Restricted”, tap to open the system dialog and grant unrestricted usage. SecureCall re-asks every 7 days if not granted.
- Save Call History — Store recent calls locally on the device. Off if you prefer no local call log.
Appearance
- Dark Mode — Three options: System Default, Light, or Dark. The selection applies immediately.
Network & eSIM (Pro and Premium)
- Setup eSIM — Opens Android's eSIM management settings. Disabled if your device has no eSIM hardware.
- Route Through eSIM — Premium routing mode can bind the WireGuard underlay to cellular when an eligible mobile network is available.
- Active Network — Read-only display of your current connection and binding status.
- Preferred Network — Choose Default, WiFi, or Mobile. SecureCall prefers this type when it is available.
VPN — WireGuard (Premium only)
Built-in WireGuard VPN that encrypts all device traffic. Configure with details from your VPN provider.
- Enable VPN — Starts or stops the VPN tunnel. On first enable, Android requests VPN permission — tap Allow.
- VPN Status — Shows: Connected: [server], Enabled — waiting for config, Enabled — no configuration, or Disabled.
- WireGuard Configuration — Enter: Server endpoint (IP or hostname), Port (default 51820), Server public key (base64), Client private key (base64), DNS (default 1.1.1.1), Client address (e.g. 10.99.0.2/31).
- Kill Switch — When on, all internet traffic is blocked if the VPN drops. Prevents any data leaving the device unencrypted during a VPN failure. Off by default.
IFR Holder Discount
The current SecureCall app does not include WalletConnect or in-app IFR tier unlocking. IFR holder benefits are available as a browser-based checkout discount.
- Web flow — verify a wallet in the browser, then continue to Stripe checkout.
- Discount — eligible holders receive a 50% checkout discount.
- App unlock — SecureCall receives a normal license or activation-code unlock.
- No wallet state in app — the Android app does not open wallet apps or store wallet addresses for tier unlocks.
Diagnostics (Pro and Premium)
- Enable Diagnostic Logs — Collect detailed logs of WebSocket events, FCM, calls, and network changes. Off by default — enable only when troubleshooting.
- Export Logs as CSV — Export all collected entries as a CSV file via the system share sheet. Shows entry count.
- Clear Logs — Delete all locally stored diagnostic entries.
About & Support
| Item | Description |
|---|---|
| Check for Updates | Check the current update channel or open it |
| GitHub | Source code at github.com/NeaBouli/stealth |
| Documentation | Full documentation wiki |
| Report a Bug | Bug report form |
| Privacy Policy | Data handling policy |
| Terms of Service | Usage terms incl. activation codes and IFR |
| Version / Build | App version and build number |
Support Development — ETH, BTC, and SOL donation addresses are shown here. Tap any to copy. The IFR Token link opens the official $IFR token page on Uniswap.
Instant Wipe (STEALTH-DELETE)
Open Settings → scroll to the bottom → 🚨 Emergency Delete. Tap that row five times within five seconds to trigger an immediate, irreversible wipe. There is no confirmation dialog.
- Tap 3 — single vibration
- Tap 4 — double vibration
- Tap 5 — 150ms vibration and instant wipe
The wipe deletes all contacts, call history, encryption keys, settings, and wallet data. The app closes. This action cannot be undone.
Permissions Reference
| Permission | Purpose |
|---|---|
| Microphone | Capture audio during calls |
| Notifications | Incoming call alerts |
| Contacts (read) | Resolve contact names in call history |
| Phone state / numbers | Suggest your SIM number at onboarding |
| Battery optimization exempt | Keep background connection alive |
| VPN service | WireGuard VPN tunnel (Premium only) |
| Boot completed | Auto-restart connection after reboot |
| Full screen intent | Show incoming call screen over the lock screen (Android 14+) |
Common Issues
- Missing incoming calls — Open Settings → Privacy & Call Settings → Battery Optimization Status. If Restricted, tap and grant unrestricted usage. Ensure Background Connection is on.
- Poor call quality — Check your network. Try switching between WiFi and mobile data. If behind a restrictive firewall, the STUN/TURN relay is used as fallback.
- Connection stays red — Your device cannot reach the SecureCall server. Check internet access. If the WireGuard VPN is active, verify the tunnel is up and the server endpoint is reachable.
- Tier still shows Free after activation code — Activation codes restart the app automatically. Wait for the restart. If tier still shows Free, check the code for typos.
- IFR verification shows insufficient balance — Ensure the verified wallet holds enough IFR on Ethereum Mainnet. Open $IFR on Uniswap if you need to buy more tokens.
- No audio during call — Raise media volume. Disable any active VPN. Try switching network type (WiFi ↔ Mobile).
- Calls dropped — Check network stability. The app reconnects automatically; or tap the connection icon in the toolbar to force reconnect.
For extended troubleshooting, see the Troubleshooting Guide.