# Plugin Demo: End-to-end Encryption

Want to learn more about the EchoTest plugin? Check the Documentation.

### Demo details

This is a variant of the Echo Test demo: everything is exactly the same in term of available controls, features, and the like, with the substantial difference that it shows how you can configure an end-to-end encryption context using the recently introduced Insertable Streams.

Specifically, this demo will prompt for a secret, and then use the same transform functions as this official demo to encrypt the media: this means Janus will NOT have access to the media, but will still be able to pass the packets to the EchoTest plugin and send them back, thus ensuring an end-to-end encryption of the content. In this context, the same page that encrypted the media will also decrypt it, which means that if you see both local and remote video, then it's working as expected. You'll probably want to then experiment with this feature by playing with other plugins as well, e.g., the VideoRoom, for E2E-encrypted conferences.

Notice that at the time of writing, only video can be end-to-end encrypted, and not audio. More importantly, at the moment this will only work if you're using a recent of Chrome version that has been started either with the following flag:

    --enable-experimental-web-platform-features --force-fieldtrials=WebRTC-GenericDescriptorAdvertised/Enabled/

Press the `Start` button above to launch the demo.

Local Stream
Remote Stream