Privacy Bird was an old Internet Explorer extension. This project was constructed as part of an Honours Project to bring Privacy Bird to Google Chrome. Using P3P, this extension will analyze websites that publish a p3p.xml
and determine whether or not the website violates and Privacy Policies set by the user. Additionally Privacy Bird will encrypt any outgoing form data using Identity Based Encryption, IBE, should a valid P3P spec exist on the website.
As a forewarning this repository is no longer actively maintained. However that being said, if you have questions or suggested improvements feel free to make issues or pull requests. Won't guarentee fast turnaround time, but will get to it and help respond to anything or integrate the PRs.
This project was published in the Frontiers in Computer Science journal, check it out!
There are three components as part of this project.
- Extension, unpacked source code for the Chrome extensions
- Sample Site, sample test site for testing the Chrome extension
- Remote Site, acts as simple key authority for IBE
Non-Dev:
- Chrome
npm
/node
Dev:
- Non-dev Requirements
gulp
tmux
(optional but nice if want to use thesetup.sh
script)
To install the extension follow the README in the extension directory.
An important note is that currently the extension is hard-coded to not work on any sites other than localhost:3000
. Therefore you are required to run the Sample Site as described below to play with the extension. Should you want to remove this feature it is recommended to change the source code, in particular you should just need to change the checkURL()
.
As an additional note if you are planning to dev run npm install
inside the directory as well.
To install run npm install
in the Sample Site directory.
To install run npm install
in the Remote Site directory.
It is highly recommended to use setup.sh
script. However if you do not simply run:
npm run --prefix ./sample-site start-dev
npm run --prefix ./remote-site start-dev
# Dev additionals
npm run --prefix ./extension start # Runs gulp for generating bundles from encrypt.src.js
Tip of the hat to everyone who worked on the JavaScript IBE.js library: https://www.npmjs.com/package/ibejs
Big thanks to our Supervising Professor, Professor Adams