Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebRTC “end-to-end-encryption” #533

Closed
3 tasks done
jgraham opened this issue Oct 4, 2023 · 10 comments
Closed
3 tasks done

WebRTC “end-to-end-encryption” #533

jgraham opened this issue Oct 4, 2023 · 10 comments
Labels
focus-area-proposal Focus Area Proposal

Comments

@jgraham
Copy link
Contributor

jgraham commented Oct 4, 2023

Description

The RTCRtpScriptTransform API allows websites to plug JavaScript workers into WebRTC’s realtime media pipeline, to transform sent and received encodings. Websites use this API to implement their own audiovisual encryption to protect users from middleboxes the website may employ (but not from the website itself).

Unfortunately, bifurcation exists in implementations, with two browsers implementing the spec, and one implementing a now non-standard predecessor, forcing websites today to work against two different APIs, causing a major interoperability headache.

Specification

https://w3c.github.io/webrtc-encoded-transform/

Open Issues

No response

Tests

Current Implementations

  • Blink
  • Gecko
  • WebKit

Standards Positions

No response

Browser bug reports

No response

Developer discussions

No response

Polls & Surveys

No response

Existing Usage

No response

Workarounds

No response

Accessibility Impact

No response

Privacy Impact

This proposal covers a technology that's explicitly designed to be privacy-enhancing.

Other

Note that WebRTC in general does not show up as a priority on developer surveys as it's generally used by a small number of sites that specialize in video conferencing and related services. However those sites are often very popular and compatibility issues highly visible to users (see e.g. webcompat.com issue reports)

@jgraham jgraham added the focus-area-proposal Focus Area Proposal label Oct 4, 2023
@jgraham
Copy link
Contributor Author

jgraham commented Oct 4, 2023

CC @jan-ivar

@youennf
Copy link

youennf commented Oct 5, 2023

This makes sense to me. There might be interactions between script transforms and things like simulcast that would be useful to drill into (aka write more tests) as well.

@foolip
Copy link
Member

foolip commented Oct 5, 2023

For survey data and web developer demand, in preliminary results from State of HTML 2023, WebRTC was a somewhat common response to the freeform question "Which existing HTML features or browser APIs are you unable to use because of browser differences or lack of support?"

@foolip
Copy link
Member

foolip commented Dec 1, 2023

@jan-ivar
Copy link
Member

jan-ivar commented Dec 1, 2023

Thanks @foolip for the context.

My understanding is it's unlikely that work on the new API will start until we're confident it can fully replace what we've already shipped.

What prevents Google from implementing both? The standards-track API already interoperates in Safari and Firefox, satisfying the requirement to exit CR. Chrome's API lacks consensus. What's the best way forward for interop?

Main-thread processing is possible in a worker-first API. The burden of transfer merely goes the other way.

The other issues are all newer and seem orthogonal to the API shape and main-thread processing. Can you explain what the concern is?

@alvestrand
Copy link

alvestrand commented Dec 4, 2023

The lack of concern shown with meeting Chrome requirements (see timeline on #89, lack of progress on #200) means that we have no customers for the Firefox/Safari proposal. The proposal is not yet CR (no consensus call has been issued), so it's a bit early to talk about exiting CR.
(We have a successful (August 2021) consensus call for adoption).

@fippo
Copy link

fippo commented Dec 4, 2023

What prevents Google from implementing both?

Web developer feedback from April 2020 here, here and here has been enthusiastic, the API is in production and doing well and getting used for additional use-cases such as dynamic audio redundancy?

See here for adoption of the new API (or lack thereof).

Framing Chromium as the interop problem after not shipping anything for three years... wow!

@jan-ivar
Copy link
Member

jan-ivar commented Dec 4, 2023

The lack of concern shown with meeting Chrome requirements (see timeline on #89, lack of progress on #200)

Do you mean w3c/webrtc-encoded-transform#89 and w3c/webrtc-encoded-transform#200?

@alvestrand
Copy link

Yes, forgot about autoformatting linking these wrongly. Sorry.

@jgraham
Copy link
Contributor Author

jgraham commented Feb 1, 2024

Thank you for proposing WebRTC “end-to-end-encryption” for inclusion in Interop 2024.

We wanted to let you know that this proposal was not selected to be part of Interop this year.

We did not have consensus to include this proposal. This should not be taken as a comment on the technology as a whole

For an overview of our process, see proposal selection. Thank you again for contributing to Interop 2024!

Posted on behalf of the Interop team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
focus-area-proposal Focus Area Proposal
Projects
Status: Done
Development

No branches or pull requests

6 participants