We ship one-to-one voice calls — here is the cost, and the call designs we still refuse.
For a long time this section said we would never add calls, on three arguments. The design answered all three, and one-to-one voice calling is now built and reachable in the app. What is refused is narrower than "no calls", and the cost we accepted is stated in full — including inside the app, before every call.
One-to-one voice, relayed
Voice calling, one person to one person. The audio is end-to-end encrypted, and the two phones never connect directly: the media is routed through a call relay, so the person you call never learns your network address. Video is not built yet — there is no picture path in the app — and that is a "not yet", not a refusal. No human has yet verified call audio end to end on real handsets.
A call cannot ride Tor
Tor carries TCP only; live call media is UDP. So a call leaves the onion network and reaches the call relay over the clear internet. That relay sees both callers' IP addresses and the call's start, stop and duration. It cannot hear the call — the audio is end-to-end encrypted — but a memory image or netflow at that host would reveal who spoke to whom and when. This is the one place Avano touches your real address, and the app tells you so before every call, in those words, rather than burying it.
Peer-to-peer and group calls
We will not connect the two phones directly — that is the other industry option, and it hands your address straight to whoever you called. And group calls do not ship in this version: the continuous, fan-out traffic shape is a metadata problem we have not solved. Both are "no for now", with the argument written down — not "never".
Why this trade, and not one of the others
Every shipping design makes the same choice in one of two directions. Route the call through a relay — this hides your address from the person you are calling, and hands one relay a record that the call happened and how long it lasted. SimpleX documents exactly this: its relay "can also observe the duration of your calls." Or connect the two phones directly — then there is no relay record, and your address is known to whoever you called. That is Signal's default, with a setting to switch to the first.
We took the first, deliberately: your contact never learns your address, and the residual is one relay that sees IPs and timing but never content. We refused to pretend that residual away — the alternative was to keep claiming "no calls" while the code shipped them, which is the one thing this page exists not to do.