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 activation code, or your IFR token lock.
| 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 — Phone Number (Optional)
After onboarding, a dialog asks you to confirm your phone number. Your SIM number is suggested automatically. This lets other SecureCall users find you by their regular phone number. Tap Skip to register without a phone number — your SecureCall ID works regardless.
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 or phone number manually. Your own SecureCall ID is shown here. Use the invite buttons to share your ID via SMS, messenger, 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.
- Phone Number — Your registered phone number. Other users can call you by number. Change it here to re-register automatically.
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 — Bind SecureCall traffic to the eSIM. Currently shown as disabled (coming soon).
- 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 Token Unlock
Lock IFR tokens on Ethereum to activate Pro or Premium permanently — no subscription required.
| IFR Locked | Tier Unlocked | Expiry |
|---|---|---|
| 1,000 IFR | Pro | Manual: 30 days — WalletConnect: never |
| 5,000 IFR | Premium | Manual: 30 days — WalletConnect: never |
- Status display — Shows wallet address, locked amount, tier, and whether the result is live or from cache.
- Wallet Address — Enter your Ethereum address (0x format, 42 characters) for manual verification.
- Verify Lock — Runs manual verification. The backend queries Ethereum and returns your locked amount. Expires after 30 days; re-checks every 24 hours.
- Connect Wallet (WalletConnect / SIWE) — Opens a wallet selector showing MetaMask, Trust Wallet, Rainbow, and Coinbase Wallet. Installed wallets show a green checkmark. Tap one to start the Sign-In With Ethereum flow: the app fetches a challenge → your wallet signs it → the signature is verified server-side → if IFR balance is sufficient, your tier is permanently unlocked with no expiry.
- Disconnect WalletConnect — Shown when a wallet is connected. Disconnects and reverts to your base tier.
- Learn about IFR Token — Opens ifrunit.tech.
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 ifrunit.tech.
Instant Wipe
Tap the Emergency Delete area 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 your IFR tokens are locked in the IFR contract, not just held in your wallet. Visit ifrunit.tech to lock 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.