We intend to ship the RTCRtpScriptTransform API in Firefox 117 (already in 
Nightly).


Summary: The RTCRtpScriptTransform API allows websites to plug JavaScript 
workers into WebRTC’s realtime media pipeline, to transform the encodings 
being sent and received over an RTCPeerConnection.

Its primary purpose is to let websites implement their own encryption to 
protect end-users’ audio and video from any middle-boxes the website may 
employ (but not from the website itself).

Some refer to this as “end-to-end-encryption”, even though it doesn’t 
satisfy the Wikipedia definition of E2EE 
https://en.wikipedia.org/wiki/End-to-end_encryption, because it doesn’t 
protect against the “communication system provider”.

Long-term, Mozilla would prefer an even stronger E2EE API where keying 
material is not shared with JavaScript. We look forward to progress in the 
IETF on this, and the SFrameTransform API in the same spec, which aims for 
this. In the meantime, we recognize the incremental privacy value of the 
RTCRtpScriptTransform API for services that exist today.

Bug: https://bugzil.la/1631263

Standard: https://www.w3.org/TR/webrtc-encoded-transform/#scriptTransform

Platform Coverage: Available on all platforms.

Preference: This API is available by default, but can be turned off by 
setting media.peerconnection.scripttransform.enabled to false.

Other Browsers:

   - 
   
   Webkit: shipped since 15.4 — 
   https://caniuse.com/?search=RTCRtpScriptTransform
   
   
https://developer.apple.com/documentation/safari-technology-preview-release-notes/stp-release-117#WebRTC
   - 
   
   Blink: non-standard version shipped since 86 — 
   https://caniuse.com/mdn-api_rtcrtpsender_createencodedstreams
   
Implemented in Safari. Chrome implements an earlier incompatible version of 
the API that is no longer standards-track. The main difference is the 
standard API is a worker-first API.

Demo: The WebRTC Samples page works with both APIs. If you’re reading this 
shortly after it was posted, please use the second link to use the latest 
version that works with Firefox 117:

   1. 
   
   
   
https://webrtc.github.io/samples/src/content/insertable-streams/endtoend-encryption/
   2. 
   
   
   
https://jan-ivar.github.io/samples/src/content/insertable-streams/endtoend-encryption/
 
   (contains a minor feature-detection fix to work with Firefox)
   
It should be possible to simplify a future version of WebRTC Samples with a 
shim in adapter.js.
Web-platform-tests: https://wpt.fyi/results/webrtc-encoded-transform

-- 
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/19f97d09-426c-4ddc-8806-f5005df9763cn%40mozilla.org.

Reply via email to