Move blueprint bits about downloads directory to the design doc in the topic branch.
[tails-test.git] / wiki / src / blueprint / sandbox_the_web_browser.mdwn
blob4712148c5d00f1e06d597453d8bbcee517b62595
1 [[!toc levels=2]]
3 Related pages
4 =============
6 * [[!tails_ticket 5525]]
7 * [[blueprint/Mandatory_Access_Control]]
8 * [[contribute/design/application_isolation]]
9 * `feature/5525-sandbox-web-browser` branch
10 * [nightly built images](http://nightly.tails.boum.org/build_Tails_ISO_feature-5525-sandbox-web-browser/)
12 Status
13 ======
15 ## automated test passes
17 (needs to be run again with current status of the branch at some point)
19 * feature/i2p (unconfined)
20 * feature/torified_browsing
21 * feature/unsafe_browser (unconfined)
22 * feature/windows_camouflage
23 * open `https://` URL from Pidgin
24 * relevant bits of feature/usb_install
25   - view persistent bookmarks, in read-only persistence mode ([[!tails_ticket 8787]])
26   - persistent bookmarks, RW
27 * "Tails documentation" link on the Desktop ([[!tails_ticket 8788]])
28 * default download directory is `~/Tor Browser`
29 * HTML5 audio playback
30 * WebM video and audio playback
31 * download to amnesiac `~/Tor Browser`
32 * read from amnesiac `~/Tor Browser`
33 * default upload directory is `~/Tor Browser/`
34 * `~/Tor Browser/` must always exist
35 * there must always be a GTK bookmark to `~/Tor Browser/`
36 * import OpenPGP key from website
37 * printing to file
38 * download to persistent `~/Persistent/Tor Browser`, in
39   read-write persistence mode
40 * read from persistent `~/Persistent/Tor Browser`, in read-write
41   persistence mode
42 * when `~/Persistent/` is persistent read-write, then
43   `~/Persistent/Tor Browser` must exist and there must be
44   a GNOME bookmark pointing to it
46 ## manual test OK
48 (needs to be tested again with current status of the branch at some point)
50 * add NoScript exception
51 * change stuff in about:prefs
52 * manually update AdBlock Plus lists
53 * add a bookmark, with persistent bookmarks feature enabled, in
54   read-only persistence mode
55 * install a Firefox add-on (this does not mean we actively support that, right? :)
57 ## manual test OK, maybe needs automated test
60 ## known issues
63 ## needs testing
65 * download to persistent `~/Persistent/Tor Browser`, in
66   read-only persistence mode
67 * read from persistent `~/Persistent/Tor Browser`, in read-only
68   persistence mode
69 * printing to real printer
71 <a id="ux"></a>
73 User experience matters
74 =======================
76 Until the `feature/5525-sandbox-web-browser` branch is merged, see the
77 "User experience matters" section on
78 <https://git-tails.immerda.ch/tails/tree/wiki/src/contribute/design/application_isolation.mdwn?h=feature/5525-sandbox-web-browser>.
80 Later, see [[contribute/design/application_isolation#ux]].
82 Remaining questions:
84 1. What to do about alternative browsers (I2P and Unsafe Browser)?
85    We have [[!tails_ticket 8280 desc="a ticket"]] about allowing the
86    I2P Browser to access local files. Shall we use e.g. `~/Tor Browser
87    files/`, `~/I2P Browser files/` and `~/Unsafe Brower files/` (the
88    latter may make sense now that we plan to move the LAN browsing
89    support into the Unsafe Browser) — and equivalently,
90    `~/Persistent/Tor Browser/`, etc.? or rather a single
91    shared namespace, with e.g. `~/Browser files/Tor Browser`,
92    `~/Browser files/I2P Browser`, etc.?
93    
94    In any case, of course we should _not_ allow a given browser to
95    access files in other browsers' own download directory (this would
96    be too much of a linkability and de-anonymization risk)
98 2. The "New Identity" problem. The Tor Browser tries hard to prevent
99    data to persist once its "New Identity" button has been clicked, to
100    prevent activities performed before and after this action to be
101    linked with each other. As boyska (a Freepto developer) made me
102    realize while we were discussing these problems, by introducing
103    a persistent downloads directory, we somewhat break this design
104    goal. Of course, we've never even tried protecting against this
105    specific attack, so maybe we can just ignore it for now. And the
106    Tor Browser doesn't try either -- once they add sandboxing
107    profiles, I bet they'll need to think about that too, so one way to
108    do it would be to start a discussion with them about this problem,
109    and consider it as a non-blocker for now. One idea we had with
110    boyska was to add a confirmation dialog when one clicks the "New
111    Identity" button in the Tor Browser, that makes it clear what's
112    going to be lost (e.g. tabs and clipboard, which surprises a lot of
113    users in my experience, see [[!tails_ticket 7709]]), warns them
114    that their previous downloads will be deleted, or rather moved to
115    a directory where that the Tor Browser hasn't access to.
116    Another idea is to block the "New Identity" until the user has
117    themselves emptied the browser files directory, e.g.:
118    
119        When I click on "New Identity" while there are files in one
120             of the downloads directories
121        Then I'm told "Tor Browser will be reset to a New Identity
122             once you have emptied folders $x and $y"
123        And then, once I have emptied the download directories
124        Then Tor Browser is reset to a New Identity
125    
126    Food for thought.