immersive-web / privacy-and-security

Cross specification concerns and suggestions for privacy and security for the immersive web (Feature lead: Mounir Lamouri)
16 stars 8 forks source link

Normatively mitigate privacy concerns related to poses outside presenting (e.g., magic window) #9

Open NellWaliczek opened 6 years ago

NellWaliczek commented 6 years ago

From @ddorwin on June 27, 2017 19:27

In general, WebVR presentation (exclusive session) requires a user gesture. However, magic window (non-exclusive) sessions do not currently require a user gesture. Providing pose data without requiring a user gesture or clear indication that such data is being provided presents privacy concerns, especially for mobile clients where the users is always holding the device.

While external desktop HMDs, may appear to pose less concern, there are potential issues for external desktop HMDs as well, including:

In addition, some future use cases/capabilities, such as Tango-style 6-DoF or "punchthrough" magic window in a VR browser, may enable the application to derive a lot more information, including data that might enable page-wide gaze tracking.

Since requiring a gesture for magic window would break a number of use cases, we need to consider other mitigations, require some, and allow user agents flexibility to implement others.

Examples include:

We may also want to consider allowing the application to request specific ranges of accuracy. This would allow applications to ensure consistent resolution/frequency for all frames and for the user agent to make more intelligent decisions about whether to require permission, display indicators, etc. Similarly, it might make sense to require the page to request, though not necessarily be given, capabilities such as 6-DoF and "punchthrough."

Copied from original issue: immersive-web/webxr#250

NellWaliczek commented 6 years ago

From @toji on July 24, 2018 16:57

Further information about this topic in #77 and #217.

NellWaliczek commented 6 years ago

Closing in favor of the work being done in the privacy-and-security repo. When the explainer from that repo is complete, there will be a task to address the findings cohesively.

NellWaliczek commented 6 years ago

From @ddorwin on September 12, 2018 23:17

@NellWaliczek Do we have any reference to this issue or its contents in that repo? Maybe this should be in some list of deliverables? Otherwise, I worry that we'll lose some of the information in this and related issues.

Also, there should be at least one open issue to address privacy in WebXR Device API. Maybe we don't iterate on the text in that issue, but it is an issue that must be addressed for the spec to be complete.

NellWaliczek commented 6 years ago

Ah my mistake. I could have sworn I read a topic where folks were discussing 6DOF (and even 3DOF!) position data as needing to be addressed by that repo's explainer. But, now I can't find where I read that. I wonder if it was on a call instead? Either way, I'll reopen this issue and migrate it to the privacy-and-security repo for management there. And yes, good idea to open a general issue for addressing the findings from the privacy-and-security repo. I'll get that filed in just a minute

ddorwin commented 6 years ago

The original post referenced frame focus in regards to providing poses. We may also want to consider whether frame focus is required to request creation of certain types of sessions. For example, in cases where user activation is required (i.e., https://github.com/immersive-web/hit-test/pull/27). For example, can an unfocused frame that previously had user activation request an AR session or an immersive VR session?

blairmacintyre commented 6 years ago

In general, WebVR presentation (exclusive session) requires a user gesture. However, magic window (non-exclusive) sessions do not currently require a user gesture. Providing pose data without requiring a user gesture or clear indication that such data is being provided presents privacy concerns, especially for mobile clients where the users is always holding the device.

Having user-gesture be all that was required to start getting webvr data was always a massive privacy hole (since there was no way to verify that the element the user interacted with had anything to do with WebVR for them).

That said, my hope is that we will end up with a combination of UA-based user-permission (via some mechanism in the UA, that obtains informed consent from the user to start sampling sensors and so on) and perhaps also some form of gesture in certain cases (e.g., arriving at a page while already in AR/VR mode may not require gesture OR permission, assuming that there was some permission granted to follow the link "in AR/VR" by the UA already ...)

Since requiring a gesture for magic window would break a number of use cases, we need to consider other mitigations, require some, and allow user agents flexibility to implement others.

What uses cases do you imagine here?

ddorwin commented 6 years ago

For VR presentation, you also have to put on the headset or, if already in the headset, will be taken to an immersive experience that you can exit and stop access to data. User safety might be a bigger issue in the latter case.

https://github.com/immersive-web/webxr/issues/394 might address some of this, especially related to magic window.

Use cases affected by requiring a gesture for magic window include: