]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blob - app/src/main/assets/en/guide_user_agent.html
Make basic progress with the `X-Requested-With` header.
[PrivacyBrowserAndroid.git] / app / src / main / assets / en / guide_user_agent.html
1 <!--
2   Copyright 2016 Soren Stoutner <soren@stoutner.com>.
3
4   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
5
6   Privacy Browser is free software: you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation, either version 3 of the License, or
9   (at your option) any later version.
10
11   Privacy Browser is distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   GNU General Public License for more details.
15
16   You should have received a copy of the GNU General Public License
17   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
18
19 <html>
20 <head>
21 <!-- We have to make an image into its own block to center it. -->
22 <style>
23     h3 {
24         color: 0D4781;
25     }
26
27     img.center {
28         display: block;
29         margin-left: auto;
30         margin-right: auto;
31     }
32 </style>
33 </head>
34
35 <body>
36 <h3>Browser Identification</h3>
37
38 <p>When web browsers connect to websites, they send a user agent, which identifies the browser and the
39     rendering capabilities it possesses.  They website can use this information to decide which version of the
40     website to send to the browser.  For example, many websites have different versions for desktop and
41     mobile browsers.</p>
42
43 <p>By default, Privacy Browser uses the built-in user agent that comes with the WebView installed on the
44     device.  You can see what it is by going to the <strong>Settings</strong> screen and setting the <strong>User
45     agent</strong> to <strong>WebView Default</strong>.  The screenshot below shows a Nexus 6P running Android 6.0.1
46     with Android System WebView 51.0.2704.81 installed.</p>
47
48 <img class="center" src="images/user_agent.png" height="640" width="360">
49
50 <p>There is enough information in the user agent that sometimes only a few visitors to a website will be the same. If the user agent
51     is combined with another piece of non-unique identifying information, often it results in a unique fingerprint.
52     The Electronic Frontier Foundation created a tool called <a href="https://panopticlick.eff.org/">Panopticlick</a>
53     to demonstrate how much information can be gleaned from these sources. If this test is run with JavaScript enabled the
54     amount of information that is disclosed increases greatly. <a href="https://www.browserleaks.com">Browser Leaks</a> and
55     <a href="https://amiunique.org/">Am I Unique</a> are also good sources of information.</p>
56
57 <img class="center" src="images/panopticlick.png" height=640" width="360">
58
59 <p>Privacy Browser allows you to change the user agent.  There are several preset options that match common browsers and operating systems.
60     Privacy Browser also has its own user agent, which is simply PrivacyBrowser/1.0.  For tracking purposes, anything that is rare is easier
61     to track. If Privacy Browser becomes common and many people use PrivacyBrowser/1.0 as their user agent, it will be a good choice for privacy.
62     For now, choosing something that has lots of hits on a web server, like <strong>Edge 13 on Windows 10</strong>, allows the device to
63     blend in with the crowd. Firefox or Chrome provide less privacy because they auto-update and their version numbers change so quickly
64     that it is likely the user agents included in Privacy Browser will often be out of step with the majority of user agents in the
65     server logs.</p>
66
67 <p>A second reason to change the user agent is to convince the web server to send the desktop version of the web page, which often works
68     better on modern smart phones than the mobile version.  For this purpose, PrivacyBrowser/1.0 works well, because web servers typically
69     default to the desktop version unless they recognize a phone browser agent.</p>
70
71 <p>Android's WebView does not allow the user agent to be blank. If it is, WebView simply sends the default user-agent to the server.</p>
72 </body>
73 </html>