You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<ahref="#device-apis"><spanclass="secno">9</span><spanclass="content">OS and Device Wrapper APIs</span></a>
851
853
<olclass="toc">
852
-
<li><ahref="#device-ids"><spanclass="secno">9.1</span><spanclass="content">Use care when exposing identifying information about devices</span></a>
854
+
<li><ahref="#device-ids"><spanclass="secno">9.1</span><spanclass="content">Don’t expose unnecessary information about devices</span></a>
853
855
<li><ahref="#device-enumeration"><spanclass="secno">9.2</span><spanclass="content">Use care when exposing APIs for selecting or enumerating devices</span></a>
854
856
<li><ahref="#usecase-oriented-apis"><spanclass="secno">9.3</span><spanclass="content">Design based on user needs, not the underlying API or hardware</span></a>
855
857
<li><ahref="#hardware-is-scary"><spanclass="secno">9.4</span><spanclass="content">Be proactive about safety</span></a>
<p>This section contains principles for consideration when designing APIs for devices.</p>
2776
-
<h3class="heading settled" data-level="9.1" id="device-ids"><spanclass="secno">9.1. </span><spanclass="content">Use care when exposing identifying information about devices</span><aclass="self-link" href="#device-ids"></a></h3>
2777
-
<p>If you need to give web sites access to information about a device,
2778
-
use the guidelines below to decide what information to expose.</p>
2777
+
<h3class="heading settled" data-level="9.1" id="device-ids"><spanclass="secno">9.1. </span><spanclass="content">Don’t expose unnecessary information about devices</span><aclass="self-link" href="#device-ids"></a></h3>
2778
+
<p>In line with the <ahref="#data-minimization">Data Minimization</a> principle, if you need to give web sites access to information about a device, only expose the minimal amount of data necessary.</p>
2779
2779
<p>Firstly, think carefully about whether it is really necessary
2780
2780
to expose identifying information about the device at all.
2781
2781
Consider whether your <ahref="#priority-of-constituencies">user needs</a> could be satisfied
each increase the risk of harming the user’s privacy.</p>
2787
-
<p>One risk is that as more specific information is shared,
2788
-
the set of <ahref="https://www.w3.org/TR/fingerprinting-guidance/">fingerprinting data</a> available to sites gets larger.
2789
-
There are also <ahref="https://w3cping.github.io/privacy-threat-model/">other potential risks</a> to user privacy.</p>
2790
-
<pclass="issue" id="issue-70c97a29"><aclass="self-link" href="#issue-70c97a29"></a> Privacy Threat Model is not ready for prime time.</p>
2787
+
<p>A web app should not be able to distinguish between the user rejecting
2788
+
permission to use a sensor/capability, and the sensor/capability not being present.</p>
2789
+
<p>As more specific information is shared,
2790
+
the <ahref="https://www.w3.org/TR/fingerprinting-guidance/">fingerprinting data</a> available to sites gets larger.
2791
+
There are also [other potential risks](<ahref="https://w3ctag.github.io/privacy-principles/#threats">Privacy Principles § threats</a>)
2792
+
to user privacy.</p>
2791
2793
<p>If there is no way to design a less powerful API,
2792
2794
use these guidelines when exposing device information:</p>
2793
2795
<dl>
@@ -2844,7 +2846,7 @@ <h3 class="heading settled" data-level="9.2" id="device-enumeration"><span class
2844
2846
<p>Look for ways to avoid enumerating devices.
2845
2847
If you can’t avoid it, expose the least information possible.</p>
2846
2848
<p>If an API exposes the the existence, capabilities, or identifiers of more than one device,
2847
-
all of the risks in <ahref="#device-ids">§ 9.1 Use care when exposing identifying information about devices</a> are multiplied by the number of devices.
2849
+
all of the risks in <ahref="#device-ids">§ 9.1 Don’t expose unnecessary information about devices</a> are multiplied by the number of devices.
2848
2850
For the same reasons,
2849
2851
consider whether your <ahref="#priority-of-constituencies">user needs</a> could be satisfied
2850
2852
by a less powerful API. <adata-link-type="biblio" href="#biblio-least-power" title="The Rule of Least Power">[LEAST-POWER]</a></p>
<h3class="no-num no-ref heading settled" id="index-defined-here"><spanclass="content">Terms defined by this specification</span><aclass="self-link" href="#index-defined-here"></a></h3>
<dd>S. Bradner. <ahref="https://datatracker.ietf.org/doc/html/rfc2119"><cite>Key words for use in RFCs to Indicate Requirement Levels</cite></a>. March 1997. Best Current Practice. URL: <ahref="https://datatracker.ietf.org/doc/html/rfc2119">https://datatracker.ietf.org/doc/html/rfc2119</a>
0 commit comments