Skip to content

Commit 4458847

Browse files
author
bella.tassone
committed
2 parents 91944a5 + ceb6a44 commit 4458847

File tree

1 file changed

+41
-29
lines changed

1 file changed

+41
-29
lines changed

README.md

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,15 @@ Once installed, our GPC Privacy Choice Extension injects a privacy choice scheme
2424
GPC Privacy Choice is developed and maintained by **Eliza Kuller (@ekuller)**, **Chunyue Ma (@chunyuema)**, **Isabella Tassone (@bella-tassone)**, **Joe Champeau (@JoeChampeau)**, and **Sebastian Zimmeck (@SebastianZimmeck)** of the [privacy-tech-lab](https://privacytechlab.org/). Kuba Alicki (@kalicki1), Daniel Knopf (@dknopf), and Abdallah Salia (@asalia-1) contributed earlier.
2525

2626
[1. Research Publications](#1-research-publications)
27-
[2. Privacy Choice Schemes](#2-privacy-choice-schemes)
28-
[3. Data Collection](#3-data-collection)
29-
[4. Developer's Guide to Implement GPC Privacy Choice](#4-developers-guide-to-implement-gpc-privacy-choice)
30-
[5. GPC Privacy Choice Architectural Overview](#5-gpc-privacy-choice-architectural-overview)
31-
[6. Files and Directories in this Repo](#6-files-and-directories-in-this-repo)
32-
[7. Third Party Libraries](#7-third-party-libraries)
33-
[8. Known Issues](#8-known-issues)
34-
[9. Thank You!](#9-thank-you)
27+
[2. Quick Developer Set-Up Guide](#2-quick-developer-set-up-guide)
28+
[3. Privacy Choice Schemes](#3-privacy-choice-schemes)
29+
[4. Data Collection](#4-data-collection)
30+
[5. Full Developer Set-Up Guide to Implement GPC Privacy Choice](#5-full-developer-set-up-guide-to-implement-gpc-privacy-choice)
31+
[6. GPC Privacy Choice Architectural Overview](#6-gpc-privacy-choice-architectural-overview)
32+
[7. Files and Directories in this Repo](#7-files-and-directories-in-this-repo)
33+
[8. Third Party Libraries](#8-third-party-libraries)
34+
[9. Known Issues](#9-known-issues)
35+
[10. Thank You!](#10-thank-you)
3536

3637
## 1. Research Publications
3738

@@ -42,32 +43,36 @@ GPC Privacy Choice is developed and maintained by **Eliza Kuller (@ekuller)**, *
4243
- Sebastian Zimmeck, [Improving Internet Privacy with Global Privacy Control (GPC)](https://sebastianzimmeck.de/SaTC_PI_Meeting_2022_Poster_GPC_Zimmeck.pdf), 5th NSF Secure and Trustworthy Cyberspace Principal Investigator Meeting (2022 SaTC PI Meeting), Arlington, Virginia, USA, June 2022
4344
- Eliza Kuller, Chunyue Ma, Isabella Tassone, Sebastian Zimmeck, [Making Online Privacy Choice Mechanisms Effective and Usable](http://summer21.research.wesleyan.edu/2021/07/22/balancing-usability-and-active-choice-while-developing-privacy-permission-schemes/), Summer Research 2021 Poster Session, Wesleyan University, Online, July 2021
4445

45-
## 2. Quick DEV Guide
46+
## 2. Quick Developer Set-Up Guide
4647

47-
In order to set up the environment for our artifact, you should have Git installed.
48+
In order to set up the environment for our extension, you should have Git installed.
4849

49-
1. Clone this repo: `git clone https://github.com/privacy-tech-lab/gpc-privacy-choice.git`.
50+
1. Clone this repo:
5051

51-
2. In the `src` folder, create a `config.js` file. If you not wish to set up a Firebase backend and only want to observe the frontend UI, you can copy the following information into the required config file and use the provided Prolific ID (5f473753tbf20b123d695213) and password (12345).
52+
```bash
53+
git clone https://github.com/privacy-tech-lab/gpc-privacy-choice.git
54+
```
5255

53-
```javascript
54-
export const PASSWORD = "12345";
56+
2. In the `src` folder, create a `config.js` file. If you not wish to set up a Firebase backend and only want to observe the frontend UI, you can copy the following information into the required config file and use the provided password (12345).
5557

56-
export const firebaseConfig = {
57-
apiKey: "AIzaSyC08Bt3IUPn_6Sn469x-M1VwIb4KTXHYNo",
58-
authDomain: "gpc-example.firebaseapp.com",
59-
projectId: "gpc-example",
60-
storageBucket: "gpc-example.appspot.com",
61-
messagingSenderId: "403632222995",
62-
appId: "1:403632222995:web:6f72eb626ff4214ba060e6",
63-
};
64-
```
58+
```javascript
59+
export const PASSWORD = "12345";
6560

66-
Alternatively, if you wish to set up your own Firebase backend, I recommend looking at our [Full Developer's Guide to Implement GPC Privacy Choice](https://github.com/privacy-tech-lab/gpc-privacy-choice#5-developers-guide-to-implement-gpc-privacy-choice) for more in-depth instructions.
61+
export const firebaseConfig = {
62+
apiKey: "AIzaSyC08Bt3IUPn_6Sn469x-M1VwIb4KTXHYNo",
63+
authDomain: "gpc-example.firebaseapp.com",
64+
projectId: "gpc-example",
65+
storageBucket: "gpc-example.appspot.com",
66+
messagingSenderId: "403632222995",
67+
appId: "1:403632222995:web:6f72eb626ff4214ba060e6",
68+
};
69+
```
70+
71+
Alternatively, if you wish to set up your own Firebase backend, we recommend looking at our [Full Developer Set-Up Guide to Implement GPC Privacy Choice](https://github.com/privacy-tech-lab/gpc-privacy-choice#5-full-developer-set-up-guide-to-implement-gpc-privacy-choice) for more in-depth instructions.
6772

6873
3. To test the extension from a local repo, open the browser (Chrome, Brave, etc) and find the manage extension options from settings.
69-
4. Turn on developer mode, and then click the `Load unpacked` button. Select the folder `gpc-privacy-choice/src` from your files.
70-
5. The extension should now be loaded and you should see the registration page pop up on the browser. In order to access the extension, supply a string formatted as a valid Prolific ID (you may use 5f473753tbf20b123d695213 for testing purposes). You also need to supply the password you created above. The registration process should start.
74+
4. Turn on developer mode, and then click the `Load unpacked` button. Select the folder `gpc-privacy-choice/src`.
75+
5. The extension should now be loaded and you should see the registration page pop up on the browser. We signed up participants for our usability study to test the different schemes via [Prolific](https://www.prolific.com). In order to access the extension, supply a string formatted as a valid Prolific ID (you may use 5a123456xyz12u123v123456 for testing purposes). You also need to supply the password you created above. The registration process should start.
7176
6. You may switch between schemes by manually setting it in line 741 of the `background.js` file of the repository, where there is a list of what number corresponds to which scheme. See [Privacy Choice Schemes](https://github.com/privacy-tech-lab/gpc-privacy-choice#3-privacy-choice-schemes) for full descriptions of each scheme.
7277

7378
## 3. Privacy Choice Schemes
@@ -256,13 +261,18 @@ The Mute Interaction History covers schemes where the **Snooze** button is prese
256261
<img width="600" alt="Mute Interaction History screenshot." src="https://user-images.githubusercontent.com/54873610/169371757-e957143b-e7a2-4973-9bf4-e11c87e825d7.png">
257262
</p>
258263

259-
## 5. Full Developer's Guide to Implement GPC Privacy Choice
264+
## 5. Full Developer Set-Up Guide to Implement GPC Privacy Choice
260265

261266
**NOTE: In order to create a Firebase project, you need 'Cloud Resource Manager project creation' to be enabled. This may be disabled if you are using an institutional account.**
262267

263268
Follow the instructions to implement the GPC Privacy Choice browser extension for your own projects.
264269

265-
1. Clone this repo: `git clone https://github.com/privacy-tech-lab/gpc-privacy-choice.git`.
270+
1. Clone this repo:
271+
272+
```bash
273+
git clone https://github.com/privacy-tech-lab/gpc-privacy-choice.git
274+
```
275+
266276
2. Create a Firebase Cloud Firestore project. [Here](https://firebase.google.com/docs/firestore/quickstart) are detailed instructions on how to set up a Firebase server for data collection. Before proceeding, make sure that you have created a Firebase account, a Cloud Firestore database and a web app within the database, and selected **Test Mode** as the starting mode for your Cloud Firestore Security Rules. Do not worry about installing the SDK; we have already added the required dependencies, client libraries, and initialized an instance of Cloud Firestore.
267277
3. In the `src` folder, create a `config.js` file and add in the following code. Be sure to update the fields based on the Firebase Cloud Firestore project you have set up. The information should be in **Project Settings**, under the **General** tab. Make sure you have your web app selected, then switch the **SDK setup and configuration** from `npm` to `config` to see all the necessary information. You can pick any password you like. Upon installing the extension users will be asked for the password. If users do not enter a password or enter a wrong password, no data will be collected on Firebase. If you are running a study with multiple schemes one after another, it is recommended to change the password between schemes. Otherwise, data from study participants running a previous scheme may continue to be collected inadvertently.
268278

@@ -281,7 +291,7 @@ Follow the instructions to implement the GPC Privacy Choice browser extension fo
281291

282292
4. To test the extension from a local repo, open the browser (Chrome, Brave, etc) and find the manage extension options from settings. In Google Chrome, this can be done by clicking on the puzzle icon on the top right corner and then clicking `Manage Extensions`.
283293
5. Turn on developer mode, and then click the `Load unpacked` button. Select the folder `gpc-privacy-choice/src` from your files.
284-
6. The extension should now be loaded and you should see the registration page popping up on the browser. In order to access the extension and start writing to your database, supply a string formatted as a valid Prolific ID (you may use 5f473753tbf20b123d695213 for testing purposes). You also need to supply the password you created above. The registration process should start.
294+
6. The extension should now be loaded and you should see the registration page popping up on the browser. In order to access the extension and start writing to your database, supply a string formatted as a valid Prolific ID (you may use 5a123456xyz12u123v123456 for testing purposes). You also need to supply the password you created above. The registration process should start.
285295
7. Reviewer may switch between schemes by manually setting it in line 741 of the `background.js` file of the repository, where there is a list of what number corresponds to which scheme.
286296
8. The best way to deploy GPC Privacy Choice, for example, to participants in a research study, is via the [Chrome Web Store](https://chrome.google.com/webstore/category/extensions).
287297

@@ -355,6 +365,8 @@ The Dolphin logo is used under the CC-BY 4.0 license copyright Twitter, Inc.
355365
- **The domain list on Firebase updates on leaving a site**: So, when a user visits site A and then site B, site A will show up in the domain list at the time the user opens site B.
356366
- **In rare instances browser updates may require re-registration**: For already registered users, upon browser updates, the extension may display the user registration page again. No data may be collected on Firebase until the user re-registers. If the user re-registers, a second Firebase ID will be created and data will be collected from that moment on under that Firebase ID. Data for the same user under different Firebase IDs can be combined in the post-processing stages.
357367
- **Scheme 7 does not send GPC Signals.** It is a front-end implementation only.
368+
- **Errors in the Chrome Manage Extensions tab** If you have successfully installed the GPC Privacy Choice extension, you may have noticed that the extension has multiple documented errors on the Manage Extensions page. As far as we can tell, none of these errors have ever inhibited the functionality of our extension, and as such, we have not yet addressed them.
369+
- **Available only on Chromium browsers** Although our extension is generally available on Chromium browsers (Chrome, Brave, etc.) it cannot be installed on other browsers, such as Firefox.
358370

359371
## 10. Thank You!
360372

0 commit comments

Comments
 (0)