Privacy Browser"> SorenStoutner"> soren@stoutner.com"> Translatable Entity"> ]> The &privacybrowser; Handbook &Soren.Stoutner; &Soren.Stoutner.mail; 2016-2017, 2021-2023 &Soren.Stoutner; &FDLNotice; 2023-02-22 &privacybrowser; version 0.1 &privacybrowser; is a web browser that respects your privacy. KDE privacy browser Introduction &privacybrowser; is currently in an early alpha state. Most of the features are not yet implemented, but I thought it would be useful to publish it so that users can track the progress and submit feedback. To distinguish between the Android and the PC version, the website, issue tracker, and code base refer to this version as Privacy Browser PC. The best place to discuss the development of Privacy Browser is on the forum. I also frequently post on my Mastodon account regarding the development status. Qt WebEngine Privacy Browser uses Qt WebEngine to render websites. Qt WebEngine is based on the Chromium Blink source code. Because Privacy Browser is built on the KDE Framework, it currently uses the Qt 5 packages. The current Qt 5 packages are in long-term support mode. Qt WebEngine 5.15.x is based on Chromium 87.0.4280.144 from a feature perspective. Security fixes are backported with each release every couple of months. Bugs and Missing Features There is a list of feature requests and known bugs at redmine.stoutner.com. Users should anticipate that all the current features of Privacy Browser Android will also be implemented in Privacy Browser PC. There is no need at this point to create features requests for these as they will be added as I start working on each feature and have a better idea of how they will be implemented. However, each feature that has already been implemented should be bug free. If you discover a bug that is not already documented at redmine.stoutner.com please add it. Below is a list of known prominent bugs or missing features in this alpha release. The page zoom is momentarily reset every time a new URL is loaded. If domain settings change the user agent, loading of the new URL is interrupted and the previous site is reloaded. Browser error messages are not displayed unless JavaScript is enabled. Bookmarks are not yet implemented. Blocklists are not yet implemented. Using &privacybrowser; Screenshot JavaScript JavaScript allows web pages to run scripts (programs) on your device. It allows web pages to function more like apps, but it also allows web pages to spy on you. Most of the tracking on the internet does not work when JavaScript is disabled. JavaScript can be toggled by clicking on the privacy shield, which is blue if JavaScript is disabled and red when it is enabled. JavaScript Local Storage Local storage in Privacy Browser encompasses cookies, DOM storage, IndexedDB, service workers, and the filesystem API. Local storage can be toggled through an action on the toolbar. Cookies Cookies Cookies allow websites to store small pieces of information for a specific host that are sent in the HTTP header every time the browser connects to that host. Privacy Browser allows a maximum of 180 cookies with a maximum size of 4096 bytes per cookie to be set per domain. Cookies are often used to track users across the web, particularly third-party cookies (which are completely blocked in Privacy Browser). They are also used as a security mechanism on websites where you log in to identify it is you as you browse from page to page on a site. Durable cookies are shared with all tabs that are opened after they are made durable and are preserved even when Privacy Browser is restarted. This allows users to stay logged in to sites of their choosing. No cookies are durable by default. Making a cookie durable requires specific user interaction. All other cookies are specific to the tab where they are created and are destroyed when the tab is closed. DOM storage DOM (Document Object Model) storage, also knows as web storage, allows web pages to store information on a client device. The storage capacity is larger than for cookies and the data is not automatically sent in the headers with every HTTP request. In Privacy Browser, each website is allowed to store a 5 MB of data in DOM storage. DOM storage requires JavaScript to function, and, in addition, requires an extra toggle to be enabled. In Privacy Browser, DOM storage is limited to the tab where it is created and is destroyed when the tab is closed. IndexedDB IndexedDB provides web pages with a local database where they can store “significant amounts of structured data”. There is disagreement on the internet about the maximum size of an IndexedDB database, probably because the various rendering engines keep changing their mind. But it is usually listed at somewhere between 20% and 80% of your entire hard drive with each individual domain limited to some segment of that. IndexedDB requires JavaScript to function. In Privacy Browser, this database is limited to the tab where it is created and is destroyed when the tab is closed. Service Workers Service workers are offline JavaScript proxies of a website. They have their own cache that is usually hidden and hard to clear. They were designed by people who want the web browser to become the operating system and run full “apps”. In Privacy Browser, service workers are limited to the tab where they are created and are destroyed when the tab is closed. Filesystem API The filesystem API grants the browser direct access to the files on your system. Like service workers, the filesystem API is a summarily bad idea thought up by those who want the browser to become an operating system. Even when JavaScript and local storage are enabled, the filesystem API does not work in Privacy Browser. User Agent The user agent is a text string that is sent as part of every HTTP header that identifies the browser to the web server. Privacy Browser's default user agent is PrivacyBrowser/1.0. Qt WebEngine 5.15.12’s default user agent is Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.15.12 Chrome/87.0.4280.144 Safari/537.36. Over the years user agents have become quite lengthy, partially because they tend to include a brief history of the internet. In the modern world they serve almost no good purpose, but some web developers still think they need them so they can send different version of their website to different browsers. Some servers refuse to function correctly if they don't like the user agent that is sent. At some point in the future Privacy Browser will send no user agent by default. Not only is that currently impossible because the Qt WebEngine doesn't allow you to not send a user agent (I will probably have to fork it to enable that functionality), but even web servers that don't care what the user agent is often refuse to send an answer if there is no user agent at all. Getting rid of this relic of the internet is going to take some time and a retraining of common expectations. Domain Settings Domain setting make it easy to automatically change JavaScript, local storage, user agent, and other settings when the domain changes. Domain settings for the current domain can be accessed through the domain settings button at the far right of the URL line edit. Domain settings for all domains can be accessed through the settings menu. When domain settings are active, the URL line edit will have a green background. Command Reference The main &privacybrowser; window The File Menu &Ctrl;T File New Tab Create a new tab. &Ctrl;N File New Window Create a new window. &Ctrl;S File Save Saves the document &Ctrl;Q File Quit Quits &privacybrowser; The Settings and Help Menu &privacybrowser; has the common &kde; Settings and Help menu items, for more information read the sections about the Settings Menu and Help Menu of the &kde; Fundamentals. The Help Menu &privacybrowser; has the common &kde; Help menu item, for more information read the section about the Help Menu of the &kde; Fundamentals. Menu Items Apart from the common &kde; menus described in the Menu chapter of the &kde; Fundamentals documentation &privacybrowser; has these application specific menu entries: The Help Menu &privacybrowser; has a default &kde; Help menu as described in the &kde; Fundamentals with two additional entries: Questions and Answers My Mouse doesn't work. How do I quit &privacybrowser;? You silly goose! Check out the Commands Section for the answer. Why can I not twiddle my documents? You can only twiddle your documents if you have the foobar.lib installed. Credits and License Program copyright 2016-2017,2021-2023 Soren Stoutner soren@stoutner.com. Translators: Translations will be added in a future release. &underGPL; Documentation copyright 2023 Soren Stoutner soren@stoutner.com. &underFDL;