Skip to content

Latest commit

 

History

History
89 lines (69 loc) · 4.03 KB

File metadata and controls

89 lines (69 loc) · 4.03 KB

Security questionnaire in advance of W3C review - https://www.w3.org/TR/security-privacy-questionnaire/

  1. What information might this feature expose to Web sites or other parties, and for what purposes is that exposure necessary?
This feature allows web developers to establish WebTransport over HTTP/3
or HTTP/2 sessions to servers. In so doing, this feature exposes the network
condition and error information about the connection request.
  1. Do features in your specification expose the minimum amount of information necessary to enable their intended uses?
Yes. Also, we're careful to not exposing information for endpoints that
don't support WebTransport over HTTP/3 as much as possible. Please see
https://w3c.github.io/webtransport/#protocol-security for details.
  1. How do the features in your specification deal with personal information, personally-identifiable information (PII), or information derived from them?
This feature itself doesn't deal with such sensitive information.
  1. How do the features in your specification deal with sensitive information?
This feature itself doesn't deal with such sensitive information.
  1. Do the features in your specification introduce new state for an origin that persists across browsing sessions?
No. WebTransport doesn't interact with cookies or other persistent
state.
  1. Do the features in your specification expose information about the underlying platform to origins?
No.
  1. Does this specification allow an origin to send data to the underlying platform?
Yes, the feature uses network interfaces and can connect to localhost
if a cooperating server is running.
  1. Do features in this specification enable access to device sensors?
No.
  1. What data do the features in this specification expose to an origin? Please also document what data is identical to data exposed by other features, in the same or different contexts.
- Arbitrary data and headers sent from the server, (similar to fetch)
- Network errors (mostly opaque).
- Network information (indirectly).
  1. Do features in this specification enable new script execution/loading mechanisms?
No.
  1. Do features in this specification allow an origin to access other devices?
Yes, via the network.
  1. Do features in this specification allow an origin some measure of control over a user agent's native UI?
No.
  1. What temporary identifiers do the features in this specification create or expose to the web?
As long as a WebTransport connection is open, the server can uniquely identify the client.
TLS session tickets may make it possible to identify the client across navigations. This
is very similar to a WebSocket connection.

The "pooling" feature allows multiple WebTransport sessions to share a single connection.
This is very similar to connection reuse in HTTP. The connection may survive navigation.
  1. How does this specification distinguish between behavior in first-party and third-party contexts?
The feature behaves in first-party and third-party contexts in the same way. WebTransport
notifies the server of origin of the context when a session is established, and we use
network partition keys when creating or pooling connections.
  1. How do the features in this specification work in the context of a browser’s Private Browsing or Incognito mode?
The feature doesn't interact with cookies, HTTP cache and authentication,
hence the feature works as usual in such a mode.
  1. Does this specification have both "Security Considerations" and "Privacy Considerations" sections?
Yes, but not as separate sections. We have a single section titled "Privacy and Security
Considerations". 
  1. Do features in your specification enable origins to downgrade default security protections?
No, but the CSP specification adds an unsafe-webtransport-hashes keyword to relax connect-src. 
  1. What should this questionnaire have asked?
None.