Re: [mediacapture-main] Spec does no handle fingerprinting related to exposing non default capture devices (#559)

@youennf thanks for filing those issues! This is getting long, so I'll comment there where applicable, and focus here on why plugging *enumerateDevices()* alone won't move the needle (much).

Pre-first-grant:
 1. For 99% of users, *enumerateDevices()* leaks no more than UA + *getUserMedia()* probing.
 2. For 1% with more than the desktop/mobile typical number of devices, it leaks that number. ![fingerprint](https://w3c.github.io/mediacapture-main/images/fingerprint.png)
 3. *enumerateDevices()* cannot detect user activity from background tabs, modulo bug https://github.com/w3c/mediacapture-main/issues/561.
 4. *enumerateDevices()* in focused tab leaks no more activity than *devicechange* or polling gUM.
 5. *enumerateDevices()* never leaks more activity than the *devicechange* event.

Pre-subsequent-grant:
 1. After just one grant, sites can store the full information at that time in cookies for next time.
 2. gUM() MUST recognize these ids in the future, or sites can't remember user's choice. Therefore:
 3. 99% of the time, *enumerateDevices()* leaks no more than *getUserMedia()* probing.
 4. 0.5% of the time you've removed a device, it leaks no more than *getUserMedia()* probing.
 5. 0.5% of time you've added a new device, it leaks its id, and (to spec) its label https://github.com/w3c/mediacapture-main/issues/563.
 6. *enumerateDevices()* can detect this user activity from background tabs, modulo fuzzing ![fingerprint](https://w3c.github.io/mediacapture-main/images/fingerprint.png).
 7. *enumerateDevices()* still never leaks more activity than the *devicechange* event.


-- 
GitHub Notification of comment by jan-ivar
Please view or discuss this issue at https://github.com/w3c/mediacapture-main/issues/559#issuecomment-457228848 using your GitHub account

Received on Thursday, 24 January 2019 15:03:51 UTC