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

WebUSB API #68

Open
nondebug opened this issue Sep 28, 2022 · 6 comments
Open

WebUSB API #68

nondebug opened this issue Sep 28, 2022 · 6 comments
Assignees
Labels
concerns: device independence Proposal is hardware- or OS-specific, in a way that may risk the device independence of the Web concerns: privacy This proposal may cause privacy risk if implemented concerns: security This proposal may cause security risk if implemented from: Google Proposed, edited, or co-edited by Google. topic: app-like capabilities Spec relates to native app style capabilities (e.g. things under the "PWA" or "Fugu" brands) topic: device apis Spec relates to device APIs: access to device-specific hardware, sensors, and interfaces topic: web apis Spec relates to web APIs (entry points for script) venue: WICG Proposal is incubated in the Web Incubator Community Group

Comments

@nondebug
Copy link

(Re-)request for position on an emerging web specification

Information about the spec

Design reviews and vendor positions

Anything else we need to know

WebKit declined to implement several APIs, including WebUSB, due to concerns over fingerprinting:

https://webkit.org/tracking-prevention/

I'm re-requesting WebKit's position on this emerging web specification because of changes we are making to the Chromium implementation related to deprecation of extension background pages in manifest V3. We plan to expose WebUSB to extension service workers as a migration path for extensions that currently access the API from the extension background page.

Chrome Platform Status: https://chromestatus.com/feature/5200265459269632
Explainer: https://github.com/nondebug/webusb/blob/service-worker-explainer/extension-service-worker-explainer.md

Even though Apple is not considering implementing this API, we are still interested in any feedback WebKit can provide on WebUSB and our proposal to integrate with Service Workers.

@marcoscaceres marcoscaceres self-assigned this Sep 28, 2022
@marcoscaceres
Copy link
Contributor

Thanks @nondebug! We will take a look and get back to you as soon as we can.

@othermaciej othermaciej added concerns: privacy This proposal may cause privacy risk if implemented concerns: security This proposal may cause security risk if implemented topic: web apis Spec relates to web APIs (entry points for script) topic: device apis Spec relates to device APIs: access to device-specific hardware, sensors, and interfaces topic: app-like capabilities Spec relates to native app style capabilities (e.g. things under the "PWA" or "Fugu" brands) concerns: device independence Proposal is hardware- or OS-specific, in a way that may risk the device independence of the Web labels Oct 7, 2022
@othermaciej
Copy link

It takes some indirection to tell from the Mozilla standards position issue, but Mozilla has judged this API "harmful", primarily for security reasons.

@othermaciej othermaciej added venue: WICG Proposal is incubated in the Web Incubator Community Group from: Google Proposed, edited, or co-edited by Google. labels Oct 7, 2022
@othermaciej
Copy link

We have previously stated privacy concerns, thus the concerns: privacy label. We agree with Mozilla's security concerns raised in their standards position issue, thus the concerns: security label. This spec also depends on a specific hardware technology, and enables dependency on specific attached hardware accessories, which risks the device independence of the web; thus concerns: device-independence.

@reillyeon
Copy link

Two questions for the WebKit team on whether there are changes that could be made to this API that would affect your position:

  1. The work that @nondebug is currently doing refers specifically to the use of WebUSB in browser extensions, not the "drive by" web. Given that developing an extension typically involves submitting it for review by a browser vendor I am curious if WebKit would consider this to mitigate some of the security and privacy concerns?

  2. The device independence concern is interesting because in my mind the purpose of this API is to enable innovative new hardware, which implies that by design applications will be built for particular devices. Eventually such devices could become common but everything is cutting-edge at some point. Disregarding the specific technologies for the moment, what is WebKit's position on providing communication between a site and a local peripheral?

@othermaciej
Copy link

Maybe we need separate issues for WebUSB for the web vs WebUSB for extensions. It is indeed possible we might endorse this standards proposal in extensions even if not on websites. I took this issue to be about WebUSB in general, and it’s fair that we should get our position on the record on that.

@nondebug
Copy link
Author

Thanks, I've filed a separate issue for the extension behavior.

@hober hober self-assigned this Oct 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
concerns: device independence Proposal is hardware- or OS-specific, in a way that may risk the device independence of the Web concerns: privacy This proposal may cause privacy risk if implemented concerns: security This proposal may cause security risk if implemented from: Google Proposed, edited, or co-edited by Google. topic: app-like capabilities Spec relates to native app style capabilities (e.g. things under the "PWA" or "Fugu" brands) topic: device apis Spec relates to device APIs: access to device-specific hardware, sensors, and interfaces topic: web apis Spec relates to web APIs (entry points for script) venue: WICG Proposal is incubated in the Web Incubator Community Group
Projects
Development

No branches or pull requests

5 participants