@@ -80,8 +80,7 @@ and embodied in the various standards that user agents implement.
8080
8181[[design-principles#safe-to-browse|It should be safe to visit a web page.]]
8282That is, simply visiting a page must not allow
83- the page to make changes to the user's computer or environment
84- (for example by installing malware),
83+ the page to make changes to the user's computer or environment,
8584and simply visiting should reveal
8685as little information as practical about the user to the page,
8786to the user's environment,
@@ -91,8 +90,7 @@ Users can [[privacy-principles#dfn-opt-in|opt into]]
9190sharing more information with a page they visit,
9291for example by entering or auto-filling data into form fields,
9392or granting permissions to the page.
94- Users can also allow the page to make changes to their environment,
95- for example by installing native programs that the page offers.
93+ Users can also allow the page to make changes to their environment.
9694Even in these cases,
9795user agents should strive to prevent pages from tricking their users
9896and should help their users notice
@@ -143,6 +141,17 @@ This motivates behaviors like
143141 <a element-state for="input" lt="File Upload">`<input type=file>`</a> uploads, and
144142* restricting which local fonts can be used in <a at-rule>@font-face</a> rules.
145143
144+ User agents are not expected
145+ to entirely prevent users from letting web pages read or write local files.
146+ As mentioned,
147+ <a element-state for="input" lt="File Upload">`<input type=file>`</a>
148+ allows uploading file contents,
149+ and user agents allow people to download files from the web,
150+ including dangerous executables.
151+ Smoother experiences like the [[file-system-access inline]] API
152+ also don't violate any duties,
153+ as long as users can [[design-principles#consent|meaningfully consent]] .
154+
146155</div>
147156
148157## Honesty ## {#honesty}
0 commit comments