In Firefox 119 or 120 we intend to flip a pref to limit camera and microphone information ahead of active access.
Summary: navigator.mediaDevices.enumerateDevices() is called by ~7% of the web, a magnitude larger than the expected legitimate use of ~0.2%, the rest are trackers (2, 3). The API allows websites unprompted access to information about a user's cameras and microphones, which is a fingerprinting surface.
Early versions of the spec revealed the number of devices to all sites, and for full access to device labels, it only required a site to have had camera or microphone permission persisted to it in the past, something two major browsers grant automatically after just a single use (post COVID-19, this is a LOT of users).
A review by the Privacy Interest Group (PING) in 2020 tightened the spec (1) to only reveal absence of camera or microphone to all sites, and to require active camera and microphone access (not just permission) for anything else.
Privacy being a core Mozilla principle, we intend to ship this update to the spec.
Standard:
Platform Coverage: All platforms.
Preference: We intend to flip our pref media.devices.enumerate.legacy.enabled to false by default to limit device information.
Other Browsers:This also fixes a device label leak that some video conferencing sites were misusing to detect permission in Firefox. Please see our Intent to ship "camera" & "microphone" in permissions.query() for a better solution to this.