Start a room and share the link, or join a friend's room. Calls and messages are direct between you two — nothing is stored.
An honest explanation. Read this before trusting it with anything sensitive.
StelCom is peer to peer: your phone talks directly to your friend's phone. To find each other, the two phones first swap "addresses" through a small signaling server, then connect directly. Voice and text flow between just the two of you.
AES-256 with PBKDF2. When you encrypt files, they're locked with AES-256 — the same standard governments and banks use. The password is stretched through 150,000 hashing rounds, so every guess is slow.
Generated keys match a Bitcoin private key. Generate creates a real 256-bit key shown as 64 hex characters — the same length and strength as a BTC private key. You can also paste a key in BTC format (raw hex or WIF) and the app confirms it's valid.
⚠ Never use a real wallet's private key. Do not paste the private key of a Bitcoin wallet that holds funds. If a file leaks, so does the key — and your coins with it. Use this app's Generate, or a fresh key from your own generator that is not tied to any wallet. The BTC format is only used here as a strong 256-bit secret, never to touch real funds.
Generated passwords are uncrackable by brute force. A 256-bit key would take a supercomputer guessing a billion times per second far longer than the age of the universe to break. AES-256 itself has never been broken.
The weak points are human, not the math: a short custom password, or sending the password in the same channel as the file. Use Generate (or long random words), and share the password separately.
Self-extracting. Encrypted files become a self-opening .html that works in any browser, offline, with no app — so anyone can open them anywhere.
Encrypted by default. WebRTC encrypts voice and text between the two phones automatically. The relay can't read or hear your conversation.
Nothing is stored. No accounts, no servers keeping your chats. Close the page and the conversation is gone.
Optional file encryption. Bundle and lock files with AES-256 to save, share, or send.
Not unblockable. The page, signaling server, and relay all live at fixed addresses. A national firewall (e.g. China, Iran) can block them. No web page can fully beat a state firewall — even Signal and WhatsApp get blocked.
Not untraceable. Peer-to-peer calls reveal both phones' IP addresses to each other and the relay. An observer can see that you connected, when, and often from where — even though they can't read the content. This "metadata" is what surveillance relies on.
💡 Want to hide your IP? Run StelCom behind a VPN or inside the Tor Browser — that masks your real address from the relay and your friend. Caveat: for voice calls, WebRTC can still leak your true IP even through Tor, so for chat-only it helps more than for calls.
Not anonymous. Encryption hides the message, not the fact you communicated.
Not always-on. It lives in the browser tab — there's no background app. Close the tab, lock the phone, or switch away and the connection can drop. Keep the tab open during a call.
StelCom is good for private friend-to-friend calls and chat without Big Tech storing anything. It is not a tool to evade a government firewall or hide that you're talking. Use it for what it is.
Every app here keeps your message content private (encrypted). The real difference is the metadata — who you talk to, when, how often, your number, your contacts. That's the "envelope," not the letter — and it still reveals a lot.
| Viber | Signal | Threema | StelCom | ||
|---|---|---|---|---|---|
| Messages & calls encrypted | Yes | Yes | Yes | Yes | Yes |
| Encryption strength (text & voice) | AES-256 🥈 | AES-256 🥉 | AES-256 🥇 | NaCl 🥈 | AES-256 🥈 |
| Needs your phone number | Yes | Yes | Yes* | No | No |
| Uploads your contacts | Yes | Yes | No | No | No |
| Stores who-talks-to-whom | Yes (Meta) | Yes | Almost none | Almost none | Relay sees IPs |
| Keeps message history | Yes | Yes | On device | On device only | Nothing stored |
| Ads / data business | Yes (Meta) | Yes | No (non-profit) | No (paid app) | No |
| Signup stays anonymous | No (phone#) | No (phone#) | No (phone#) | Only if paid cash/BTC* | Yes (no signup) |
| Independently audited | Protocol only | No | Yes (open source) | Clients yes; protocol debated | No |
| Works with no install | No | No | No | No (paid) | Yes (web link) |
| Always-on (background) | Yes | Yes | Yes | Yes | No (tab open) |
| Built with (codebase) | Native + Rust/Erlang | Native (closed) | Native + Rust core | Native + libsodium | 1 HTML/JS file |
| Server code open? | No | No | Yes | No (clients yes) | No server at all |
| Runs as | Installed app | Installed app | Installed app | Installed app | Web page (browser) |
| Platforms | Phone + desktop/web | Phone + desktop | Phone + desktop | Phone + desktop/web | [Any browser, any OS] |
| Needs an account-tied OS (Google/Apple) | Yes | Yes | Yes | Yes | No |
| Web version needs the phone app | Yes | n/a | No web | Yes | No — it is the app |
| Jurisdiction | US (Meta) | Cyprus/Japan | US (non-profit) | Switzerland | None to hold data |
| Data available to authorities | Metadata + cloud backups | Reg. data + metadata | Almost nothing | Almost nothing | Nothing stored |
| 🔐 Privacy score | −11 | −9 | +4 | +4 | +11 |
[bracketed green] = a real privacy plus shown for info but not added to the score, because the same advantage is already counted in other rows (no install, no account-tied OS). *Signal can use a username to hide your number. Encryption strength: all encrypt messages and calls — AES-256 (WhatsApp, Signal, StelCom) or the audited NaCl library (Threema); none has been broken, so the raw cipher is a tie. The 🥇🥈🥉 medals rank trust: Signal is open-source & audited (provable); Threema is also open-source & audited but uses a custom protocol; WhatsApp uses the Signal Protocol but is closed-source; StelCom is open to read but unaudited; Viber's is custom & closed. Threema is a paid Swiss app with no phone number, no ads, and minimal metadata — strong on privacy, though being paid is itself a privacy cost (buying it leaves a trail), its custom protocol has been academically contested and its server is closed-source. Battery: always-on apps keep a background connection running, so they sip power all day; StelCom runs nothing in the background (zero idle drain), though an active call uses battery like any live call. The privacy score is a net tally of the 14 privacy rows: +1 for each privacy win (green), 0 for neutral (amber), −1 for a privacy loss (red). A negative total means the app is, on balance, working against your privacy. It counts privacy only — not features, reach, or reliability, where WhatsApp & Viber lead. Platform dependency: the four installed apps each depend on a platform — a phone number, an app store, and a Google/Apple account-tied OS underneath — which is why those rows count against them; StelCom depends on none of them (just a browser), so it has nothing extra to unmask you. *Signal stores almost nothing but is under US jurisdiction (CLOUD Act); Threema is Swiss and won a court case exempting it from identifying users. *The payment paradox: Threema's ID is anonymous, but buying it usually isn't — App Store, Google Play or card ties the purchase to your real identity. Only cash-by-mail or carefully-handled Bitcoin stay anonymous, which few people do. StelCom needs no purchase and no signup at all, so there's no payment trail to unmask you. Sources: independent 2026 privacy reviews.
The actual math is strong across all of them — the differences are in who runs it and what's open, not the cipher strength.
In short: the algorithms (AES-256, Curve25519) are the same gold standard nearly everywhere. Open-source + audited (Signal) is what lets outsiders prove it's done right. Threema is open on the client side but uses a debated custom protocol and a closed server.
How they're actually coded — the more you can read the code, the more you can trust it.
The languages don't make one "safer" than another — what matters is whether the code is open to inspect. StelCom and Signal are fully readable; Threema's clients are open (server isn't); WhatsApp and Viber are not.
📱 The hidden layer — the OS underneath. The four apps all run as installed apps, which in practice means an account-tied operating system: Android signed into a Google account or iOS signed into an Apple ID — and usually installed via Play Store / App Store, which log the download against that account. So even an "anonymous" app (Threema) sits on top of an OS that already knows who you are. StelCom is just a web page — it runs in any browser on any OS (even a library PC or a de-Googled phone) with no Google/Apple account required underneath.
Could there be a backdoor? With end-to-end encryption, the content is safe on all of them — if the app is honest. The real risk is code you can't inspect (WhatsApp, Viber, and Threema's server are closed) or a provider being compelled to push a modified app. Open code (Signal, and StelCom's single readable file) is what lets outsiders check for a backdoor.
If a court or authority makes a lawful request, what actually exists to hand over?
| Available on request | WA | Viber | Signal | Threema | StelCom |
|---|---|---|---|---|---|
| Message content | No (E2E) | No (E2E) | No (E2E) | No (E2E) | No (E2E) |
| Your identity (phone/email) | Yes | Yes | Phone # | None held | None held |
| Who you contacted | Yes | Yes | Almost none | Almost none | Not stored |
| When / how often | Yes | Yes | Last-seen | Almost none | Not stored |
| Stored history | Yes | Yes | No | No | No |
| Live interception (with order) | Metadata | Metadata | Metadata | Some metadata | Live IPs |
💳 The payment paradox: Threema takes no phone number — but you have to buy it, and paying via App Store, Google Play or card ties the purchase to your real identity. So the app is anonymous while the receipt isn't. Only cash-by-mail or careful Bitcoin stay truly anonymous. StelCom has nothing to buy and no signup, so there's no payment that can unmask you.
Bottom line: for resisting after-the-fact legal requests, Threema (Swiss, no metadata) and StelCom (nothing stored) are strongest; Signal stores almost nothing but sits under US law; WhatsApp/Viber hold the most.
Signal — the privacy gold standard. Open-source, audited, almost no metadata, a non-profit with no ad business. Best for sensitive or high-stakes conversations. Downside: fewer of your friends use it.
WhatsApp — encrypted messages, but owned by Meta. It collects heavy metadata (your number, contacts, who you talk to, when) and feeds it to Meta's ad machine. Best for: everyone already has it. Downside: biggest data footprint.
Viber — encrypted chats, but uploads your contacts, collects metadata and your IP/location, and shows ads. Popular in Europe & Asia. Similar privacy trade-offs to WhatsApp.
Threema — a paid Swiss app built for privacy: no phone number, anonymous ID, minimal metadata, open-source clients. Strong on privacy, though its custom protocol has been academically debated and its server is closed. Downside: costs a few euros and your friends need it too.
StelCom — no app, no account, no phone number, nothing stored. Great for a quick private call/chat from a link. Downside: it's not audited, not always-on (lives in the browser tab), and the relay can see the two IP addresses. Not for high-stakes use.
For anything sensitive or risky, use Signal (free) or Threema (paid, no phone number). For everyday reach, WhatsApp or Viber is where your friends are. Use StelCom for a fast, throwaway, private line when you just want to talk to one friend with nothing saved and nothing to install.
Live calls & chat — peer to peer
StelCom is a simple way for two friends to talk and text live, straight from a web link — no app to install, no account to make, no sign-up.
One person starts a room and shares the link. The other opens it. That's it — you're connected, device to device (phone, tablet, or computer — any modern browser). Your voice and messages travel directly between the two of you.
📞 Voice calls with mute, volume and a live connection monitor.
💬 Text chat with delivery & read ticks, just like the apps you know.
📤 Share a room link so anyone you trust can join you.
Nothing is stored. No accounts, no history, no servers keeping your conversations. Close the page and it's gone.
Direct & private. Calls and messages are encrypted between the two phones automatically.
It works best when the two of you are on different networks (your normal everyday situation). For a full breakdown of privacy and limits, see the 🔒 Privacy page.
StelCom
Easy step-by-step guide
1. Tap Generate to make a room code, then Start / Join room.
2. Tap 📤 Send room link and send it to your friend (WhatsApp, SMS, email — anything).
3. When they open the link, you're connected. Start chatting or tap 📞 to call.
On the first screen, tap Generate for a random room code (or type your own). Then tap Start / Join room.
You'll see "Waiting for friend" — that's normal. You're in the room, waiting for the other person to join.
Tap 📤 Send room link — your phone's share sheet opens. Pick any app to send the link.
Or tap the ⧉ copy button next to the room name to copy the full link, then paste it wherever you like. The bar flashes green when copied.
Your friend just opens the link — no app, no sign-up. They join instantly.
Type in the message box and tap ➤ (or press Enter). Each message shows a traffic-light status — red → yellow → green:
Photos & files show the same status — if it stays on Sent and never reaches Delivered, it didn't fully arrive; send it again.
Once your friend has joined, tap the green 📞 button in the top bar. They'll hear it ring.
During a call you can mute your mic and adjust volume. Tap the red 📵 to hang up. To cancel before they answer, just tap 📵 again.
Tap the 📎 clip button to send:
📷 Photo — pick an image, it sends compressed.
📎 File — any file up to 8 MB.
📍 Location — shares your current GPS spot as a map.
🔒 Encrypted ZIP — bundle & lock files (see below).
You can prepare attachments even before your friend joins — they'll send automatically once connected.
Tap 📎 → Encrypted ZIP, choose files, and tick 🔒 Encrypt.
Tap 🎲 Generate BTC key for an uncrackable 256-bit password (or type your own). 📋 Copy it — you'll need to give it to your friend separately.
Then Save, Share, or Send the file. It becomes a self-opening .html file: your friend opens it in any browser, types the password, and gets the files — no app needed.
⚠ Send the password by a different channel than the file (e.g. tell them in person or another app).
Always use StelCom straight from the web link StelCom.org.
🚫 If you save/download the page and open it from your files, it will not work — calls, chat, and copy all stop.
That's a browser security rule: live calls only work on a real https:// web address, not a saved file. So just open the link — nothing to install.
StelCom runs inside your browser — there's no background app.
📵 The call and chat stay live ONLY while this tab is open and on screen.
If you close the tab, lock your phone, or switch to another app, the connection drops. Keep StelCom open and in front during a call. To reconnect, reopen the same room link.
Make sure you're on different networks. It connects most easily when you and your friend are each on your own network (e.g. you on WiFi, them on mobile data).
If it gets stuck, tap ↻ Reconnect, or both leave and rejoin the room with the same link.
Both phones must allow microphone (for calls) and location (for sharing location) when asked.
Tap ← Leave room when you're done. Nothing is saved — close the page and the whole conversation is gone.
Watch it step by step
It moves on its own — or tap Next when you're ready.