Your calls stay private with end-to-end encryption

To keep your conversations private, Duo uses end-to-end encryption for calls.

  • Only people in a call can know what’s said or shown.
  • Google can’t see, hear, or save your call’s audio and video.

End-to-end encryption is a standard security method that many companies use. It's built into every Duo call, so you don’t need to turn it on yourself, and it can’t be turned off.

How end-to-end encryption works

Encryption keeps your data private

Encryption masks data with a code, and a key is required to decode it.

For Duo calls, end-to-end encryption means that a call’s data (its audio and video) is encrypted from your device to your contact’s device. The encrypted audio and video can only be decoded with a shared secret key.

This key:

  • Is a number that’s created on your device and the device you called. It exists only on those devices.
  • Isn’t shared with Google, anyone else, or other devices.
  • Disappears as soon as the call ends.

Even if someone gains access to the data for the call, they won’t understand it because they don’t have the key.

Duo keeps some call info to troubleshoot

To help fix problems, Duo uses some info about your calls, like:

  • Why and when a call is dropped or delayed
  • The device IDs of the caller and receiver
  • Phone numbers of people in a group call

This info is securely stored for about a month on Google servers.

How we protect your data in one-to-one calls

Shared secret keys stay on the callers’ devices

Your device decrypts your call’s audio and video with a shared secret key. This key is created on your device and your contact’s device and is deleted after the call ends. It’s not shared with any server.

What’s needed for a shared key

To calculate the shared key, each device needs:

  • A private key, which is saved only on your device
  • A public key, which is saved on Duo’s servers

The first time you set up Duo, your device creates several private/public key pairs. This way, you’re ready for several end-to-end encrypted calls.

How shared secret keys are created

  • The devices exchange their public keys but don’t reveal their private keys.
  • Next, each device uses its private key and the public key from the other device to calculate the shared secret key. They use a mathematical process called cryptography.

Google servers can’t decode your call

When you call someone else on Duo, your call’s audio and video typically go directly from your device to their device. This connection is called peer-to-peer. The call doesn’t go through a Google server.

However, sometimes a peer-to-peer connection isn't available, like if a network setting blocks it. In this case, a Google relay server passes a call’s audio and video between your device and the device you called. The server can’t decode your call because it doesn’t have the shared secret key.

How we protect your data in group calls

Group calls stay private on the server

Group calls are also end-to-end encrypted. To make sure group calls are high-quality, they go through a Google server.

That server routes everyone’s call audio and video to others in the group. To route calls, the server uses info about your call, like which device the video is from.

Group calls use multiple keys

To be part of a call that goes through a server, each group member’s device automatically uses:

  • A sender key to encrypt the call’s audio and video. When someone starts a group call, each device exchanges this key with the other devices.
  • A client-to-server key to encrypt info about the call. Each device exchanges this key with the server.

What the keys do

The keys work to:

  • Encrypt your call’s audio and video so that only other people in the group can hear and see it.
  • Decode the audio, video, and info from other people in the group call.

Keys can change during group calls

Everyone’s devices exchange new sender keys if either:

  • Someone leaves a group
  • A person who wasn’t part of the group gets added to it during the call

If a person in the group doesn’t immediately join the group call, their device can still use everyone’s sender keys. This way, that person can join the call anytime while it’s live.

When the group call ends, the keys are deleted.

 

Was this helpful?
How can we improve it?