Disclaimer: This is a research project under development, see the issue page and the webextension home page for more details about the current status.
JShelter is a browser extension to give back control over what your browser is doing. A JavaScript-enabled web page can access much of the browser's functionality, with little control over this process available to the user: malicious websites can uniquely identify you through fingerprinting and use other tactics for tracking your activity. JShelter aims to improve the privacy and security of your web browsing.
Like a firewall that controls network connections, JShelter controls the APIs provided by the browser, restricting the data that they gather and send out to websites. JShelter adds a safety layer that allows the user to choose if a certain action should be forbidden on a site, or if it should be allowed with restrictions, such as reducing the precision of geolocation to the city area. This layer can also aid as a countermeasure against attacks targeting the browser, operating system or hardware.
JShelter is a browser extension with support for multiple browsers: Firefox, Google Chrome, and Opera. The extension also works with Brave, Microsoft Edge, and most likely any Chromium-based browser. Let us know if you want to add the extension to additional stores.
See our website for additional information and documentation. We recommend reading our paper to get a better idea about the project.
If you have any questions or you have spotted a bug, please let us know. If you found a security bug that you do not want to share publicly, please, send a report to jshelter@gnu.org.
If you would like to give us feedback, we would really appreciate it.
If you want to add a new wrapper, please, follow the guide. If you have an image/artwork that you want to push to the project, we suggest stripping exif data:
exiftool -all= -tagsfromfile @ -Orientation filename.pngIf you want to translate JShelter to a new language or improve an existing translation, go to Weblate.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This project is funded through the NGI Zero Commons fund established with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101092990, under the aegis of DG Communications Networks, Content and Technology as JShelter UX.
This project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101069594.
This project was funded through the NGI0 PET Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825310 as JavaScript Restrictor and JShelter projects.
This project was supported by the MV CR VI20172020062 project.