ClearChat

Privacy · 8 min read

Do peer-to-peer calls reveal your IP address?

Yes: in a direct call the other person can see your public IP. What that reveals, what browsers hide, how VPNs and relays change it, and when it matters.

Yes. In a direct, peer-to-peer call, the person you're talking to can find out your public IP address, and you can find out theirs. It isn't a bug or a leak in a particular app. It's what “direct” means: to send packets straight to someone, your device needs their address, and theirs needs yours.

That's worth knowing plainly rather than discovering later. It's also worth knowing what an IP address does and doesn't give away, because the answer is usually less alarming than it sounds.

How the address gets exchanged

When a WebRTC call starts, each browser gathers a list of addresses it might be reachable on, called ICE candidates, and sends them to the other side through the signalling channel. The two browsers then try pairs of addresses until one works. The mechanics are in how WebRTC opens a call.

One of those candidates is your public address: the one your router or mobile carrier presents to the internet, discovered by asking a STUN server. Once the call connects, the packets arriving at the other person's device carry that address as their source anyway.

ClearChat doesn't display the other person's IP address on screen. But anyone with a little technical knowledge can see it, for example in chrome://webrtc-internals or Firefox's about:webrtc, or with a network tool. Assume that anyone you call directly can know your address if they want to.

What your IP address actually reveals

The realistic risks are modest but real: someone learning roughly where you are, or, if they're determined and hostile, trying to flood your connection with traffic. It's the kind of thing gamers worry about with strangers, and it's why the advice at the end of this guide is about who you call.

Home IP addresses also tend to stay the same for days or weeks, so the same person seeing the same address on separate calls could tell you're calling from the same place.

What browsers already hide: your local address

Your device also has a local address on your home or office network, something like 192.168.1.40. Older browsers put that straight into the candidate list, which let websites read it.

Modern browsers replace it with a random name ending in .local (an mDNS name), which is only resolvable by devices on the same network. So a site, or a person on the far end of a call, doesn't normally see your internal address.

There's a caveat: browsers may relax this once you've granted a page camera or microphone permission, as you do for a video call, and expose the real local address to help connections succeed. A local address says very little about you on its own, since millions of home networks use the same ranges. It's the public address that matters.

If you have IPv6, your device may have a public address of its own rather than sharing the router's. Most systems use temporary, rotating IPv6 addresses for outgoing connections to limit tracking, but it's another reason to think of the address you expose as belonging to your device and your connection.

What a VPN changes

With a VPN running for all your traffic, the public address the other person sees is the VPN's exit address, not your home one. That does hide your home IP.

Two caveats, both practical:

How relayed calls hide your address, and why ClearChat doesn't do it

The alternative to a direct connection is a TURN relay: both sides send their media to a server, which forwards it on. If a call is forced to go through a relay, each person sees only the relay's address, not the other's. Some messaging apps offer exactly this as a setting: always relay calls, or relay calls from people who aren't in your contacts.

The price is that a server now carries the call. It can't read the encrypted media (see is your call really end-to-end encrypted), but it does see both your addresses, when you called and how much data flowed. You're swapping “the other person knows my IP” for “the operator knows both our IPs”.

ClearChat runs no TURN relay, so it can't offer that option. Every ClearChat call that connects is direct, and both people exchange addresses. The signalling relay that passes the opening handshake does see each browser's address, as any web server does, and it keeps no record of it; the details are on the privacy page.

So when does it matter?

For calling people you know, like family, friends, colleagues and clients, it rarely does. They could learn which city you're in, which they most likely know already, and in exchange no company holds a copy of your call or a log of who you spoke to. That trade is laid out in what a video call service can know about you.

It matters more when you're calling a stranger, someone you've met online, or anyone you'd rather didn't know even roughly where you are. For those calls:

  1. Use a service that relays calls through its servers, and switch on its IP-protection setting if it has one.
  2. Or use a VPN that handles UDP properly, and check with a leak test that it's actually in use.
  3. Or don't make that call peer to peer at all.

The simple rule: only call someone directly if you'd be comfortable with them knowing your IP address. For most people you'd want to video call, that's an easy yes.

← All guides · Start a call