To keep your conversations private, Duo uses end-to-end encryption for calls.
- Only people in the call will 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 protects communications data. It's built into every Duo call, so you don’t need to turn it on yourself and it can’t be turned off.
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.
- Is a number that’s created on your device and the device that you called. It exists only on those devices.
- It 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 information to troubleshoot
To help fix problems, Duo uses some information about your calls. For example:
- Why and when a call is dropped or delayed
- The device IDs of the caller and receiver
- Phone numbers of the people in a group call
This information is securely stored for about a month on the Google servers.
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; for example, if a network setting is blocking 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.
Group calls stay private on the server
Group calls are also end-to-end encrypted. To make sure that group calls are high quality, they go via 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. For example, which device the video is from. The server doesn't have access to the end-to-end keys and can't decrypt the media.
Group calls use multiple keys
To be part of a call that goes via 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 information 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 information 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 is added to the group 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 at any time while it’s live.
When the group call ends, the keys are deleted.