├── Images ├── logo.png ├── DataEraseX.gif ├── TJ Picture.jpg ├── Dylan Picture.jpg ├── Griffin Picture.jpg └── PasswordTester.gif ├── CVs ├── Bonomo-CloughGriffin.pdf ├── TimothyKlintResumeEnglish.pdf └── Dylan Savelson CV - October 2023.pdf ├── main.js ├── index.html ├── README.md ├── passwordTester.html ├── passwordTester.js ├── style.css ├── privacy.html ├── AboutUs.html ├── commonPasswords.js └── data.js /Images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjklint/BellGeekfest2023/HEAD/Images/logo.png -------------------------------------------------------------------------------- /Images/DataEraseX.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjklint/BellGeekfest2023/HEAD/Images/DataEraseX.gif -------------------------------------------------------------------------------- /Images/TJ Picture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjklint/BellGeekfest2023/HEAD/Images/TJ Picture.jpg -------------------------------------------------------------------------------- /Images/Dylan Picture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjklint/BellGeekfest2023/HEAD/Images/Dylan Picture.jpg -------------------------------------------------------------------------------- /Images/Griffin Picture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjklint/BellGeekfest2023/HEAD/Images/Griffin Picture.jpg -------------------------------------------------------------------------------- /Images/PasswordTester.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjklint/BellGeekfest2023/HEAD/Images/PasswordTester.gif -------------------------------------------------------------------------------- /CVs/Bonomo-CloughGriffin.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjklint/BellGeekfest2023/HEAD/CVs/Bonomo-CloughGriffin.pdf -------------------------------------------------------------------------------- /CVs/TimothyKlintResumeEnglish.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjklint/BellGeekfest2023/HEAD/CVs/TimothyKlintResumeEnglish.pdf -------------------------------------------------------------------------------- /CVs/Dylan Savelson CV - October 2023.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tjklint/BellGeekfest2023/HEAD/CVs/Dylan Savelson CV - October 2023.pdf -------------------------------------------------------------------------------- /main.js: -------------------------------------------------------------------------------- 1 | import { templates } from "./data.js"; 2 | 3 | const emailBody = document.getElementById("emailBody"); 4 | const companySelection = document.getElementById("companyDropdown"); 5 | companySelection.addEventListener("change", createInputFields); 6 | 7 | const infoForm = document.getElementById("infoForm"); 8 | infoForm.addEventListener("submit", generateEmail); 9 | 10 | /** 11 | * Populates a dropdown menu in the main page with names of companies in the 'templates' array. 12 | * Note: Objects in the 'templates' array must contain a 'name' property. 13 | */ 14 | function populateCompanyDropdown(){ 15 | templates.forEach(company => { 16 | companySelection.options[companySelection.options.length] = new Option(company.name, company.name); 17 | }); 18 | } 19 | 20 | /** 21 | * Clears form of all input fields and populates them with new fields to correspond to the required data for the email. 22 | * Uses 'keys' array in the 'templates' array to create input fields 23 | * Note: Message in the 'templates' array must contain keys matching the values of the 'keys' array. 24 | */ 25 | function createInputFields(){ 26 | infoForm.innerHTML = ""; 27 | 28 | templates[companySelection.selectedIndex-1].fieldNames.forEach(field => { 29 | let inputField = document.createElement("input"); 30 | 31 | inputField.type = "text"; 32 | inputField.placeholder = `${field}`; 33 | inputField.className = "inputField"; 34 | inputField.required = true; 35 | 36 | infoForm.appendChild(inputField); 37 | }); 38 | let submitButton = document.createElement("input"); 39 | submitButton.type = "submit"; 40 | infoForm.appendChild(submitButton); 41 | } 42 | 43 | /** 44 | * Replaces placeholder values in 'templates' message with input field values. 45 | */ 46 | function generateEmail(){ 47 | const inputFields = Array.from(document.getElementsByClassName("inputField")); 48 | 49 | let message = templates[companySelection.selectedIndex-1].message; 50 | 51 | for(let i = 0; i < templates[companySelection.selectedIndex-1].keys.length; i++){ 52 | message = message.replaceAll(templates[companySelection.selectedIndex-1].keys[i], inputFields[i].value); 53 | } 54 | emailBody.innerText = message; 55 | } 56 | 57 | populateCompanyDropdown(); 58 | 59 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | PrivacyXpresso 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | PrivacyXpresso 23 | 24 | 31 |
32 | 33 |
34 |

35 | PrivacyXpresso 36 |

37 | 42 |
43 |
44 |

45 |

46 |
47 | 48 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BellGeekfest2023 2 | 3 | This repository contains the solution for our team: ":3" for the Bell Geekfest Hackathon in 2023. The link to the hackathon can be found __[here](https://challenges.hackworks.com/event/bell-geekfest-hackathon-2023-quebec)__. 4 | 5 | 6 | ## About PrivacyXPresso 7 | 8 | The goal of our project, PrivacyXpresso allows you to take back your data from big companies that hoard your information by exercising your rights for them to delete it. Frequently in the news you see reports of very large companies suffering __[catastrophic data breaches.](https://www.priv.gc.ca/en/opc-news/news-and-announcements/2022/nr-c_220601/)__ Our project seeks to allow users to prevent these issues from effect themselves. 9 | 10 | PrivacyXPresso is simple to use, accessible and innovative with all the tools to boost your online security with the click of a few buttons. _Nothing_ is stored on our backend, everything is done locally on your computer after loading up the webpage. 11 | 12 | Currently, we only support 5 companies, but we have made it really easy for others to add companies on to our project, which will be explained later. 13 | 14 | ## How to Use PrivacyXPresso's Features 15 | 16 | To run this project, clone the repo and run it with the local server extension on VSCode. 17 | 18 | - __DataEraseX:__ This feature allows you to select a company, and enter in only the required information. Simply click enter and an email will be formatted, alongside a subject and email of the company you need to send it to. 19 | 20 | DataEraseX Demo 21 | 22 | 23 | - __Password Checker:__ Our password checker allows you to verify how secure your password is from bruteforce attacks. It allows you to verify how susceptible your password to beginner, intermediate, and advanced hackers/organizations. Additionally, it verifies you password against a dictionary of a few thousand words. 24 | 25 | Password Checker Demo 26 | 27 | ## Our Team: 28 | - [Griffin Bonomo-Clough](https://github.com/GriffinBonomo) 29 | - [Timothy Klint](https://github.com/tjklint) 30 | - [Dylan Savelson](https://github.com/DylanSavelson) 31 | 32 | ## How to Contribute: 33 | 34 | Contributing companies to the project has been made really easy. Make a fork of the repository, then simply write an email. Where a user inputted field is required, make it a key and a field name, from there everything else is done for you. An example from spotify is below: 35 | 36 | ``` 37 | name: "Spotify", 38 | message: 39 | // Email would go here. 40 | Sincerely\,\n\ 41 | [Full_Name], [Email_Address]", 42 | keys: ["[Email_Address]", "[Spotify_Account_Id]", "[Spotify_Username]", "[Full_Name]"], 43 | fieldNames: ["Email Address", "Spotify Account Id", "Spotify Username", "Full Name"], 44 | ``` 45 | 46 | > Note: It can be very difficult to find the required emails of certain companies, and what information they collect and can delete. It's important to thoroughly review these privacy policies. 47 | 48 | -------------------------------------------------------------------------------- /passwordTester.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Password Tester 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 |
21 | 22 | 23 | PrivacyXpresso 24 | 25 | 32 |
33 | 34 |
35 |

Password Checker

36 | 37 |
38 | 39 |
40 |
41 | 46 |

It would take a beginner hacker, 0 seconds to hack your password

47 | 50 |
51 | 53 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /passwordTester.js: -------------------------------------------------------------------------------- 1 | import { commonPasswords } from "./commonPasswords.js"; 2 | 3 | const passwordField = document.getElementById("passwordField"); 4 | const resultsText = document.getElementById("results"); 5 | const tipsList = document.getElementById("tipsList"); 6 | const hackerLevel = document.getElementById("hackerLevel"); 7 | 8 | passwordField.addEventListener("input", () => {displayPasswordResults(passwordField.value)}); 9 | hackerLevel.addEventListener("change", () => {displayPasswordResults(passwordField.value)}); 10 | 11 | const hackerTiers = [10000, 1000000, 1000000000]; // Passwords cracked per second 12 | 13 | const complexityTiers = { 14 | numbers: 10, 15 | lowerCase: 26, 16 | upperCase: 26, 17 | specialCharacters: 40, 18 | } 19 | 20 | function calculatePasswordStrength(password){ 21 | const crackingRate = hackerTiers[hackerLevel.selectedIndex]; 22 | const length = password.length; 23 | let combinationsPerChar = 0; 24 | 25 | if(/[a-z]/.test(password)){ 26 | //console.log("lower case"); 27 | combinationsPerChar += complexityTiers.lowerCase; 28 | } 29 | if(/[A-Z]/.test(password)){ 30 | //console.log("upper case"); 31 | combinationsPerChar += complexityTiers.upperCase; 32 | } 33 | if(/\d/.test(password)){ 34 | //console.log("numbers"); 35 | combinationsPerChar += complexityTiers.numbers; 36 | } 37 | if(/[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/.test(password)){ 38 | combinationsPerChar += complexityTiers.specialCharacters; 39 | } 40 | 41 | const totalCombinations = Math.pow(combinationsPerChar, length); 42 | const timeToCrack = Math.round(totalCombinations / crackingRate); 43 | 44 | return timeToCrack; 45 | } 46 | 47 | function displayPasswordResults(password){ 48 | let timeToCrack = calculatePasswordStrength(password); 49 | 50 | let timeUnits = { 51 | seconds: {name: "seconds", amountToNext: 60}, 52 | minutes: {name: "minutes", amountToNext: 60}, 53 | hours: {name: "hours", amountToNext: 24}, 54 | days: {name: "days", amountToNext: 7}, 55 | weeks: {name: "weeks", amountToNext: 52}, 56 | years: {name: "years", amountToNext: 10000}, 57 | }; 58 | const timeMeasurements = [ 59 | timeUnits.seconds, 60 | timeUnits.minutes, 61 | timeUnits.hours, 62 | timeUnits.days, 63 | timeUnits.weeks, 64 | timeUnits.years]; 65 | 66 | let timeUnit = 0; 67 | if(commonPasswords.includes(password)){ 68 | timeToCrack = 0; 69 | } 70 | else{ 71 | for(timeUnit = 0; timeUnit < timeMeasurements.length-1; timeUnit++){ 72 | console.log(timeUnit); 73 | console.log(timeToCrack); 74 | if(timeToCrack > timeMeasurements[timeUnit].amountToNext){ 75 | timeToCrack /= timeMeasurements[timeUnit].amountToNext; 76 | } 77 | else{ 78 | break; 79 | } 80 | } 81 | } 82 | 83 | timeToCrack = Math.round(timeToCrack); 84 | 85 | resultsText.innerText = `It would take a ${hackerLevel.value}, ${timeToCrack} ${timeMeasurements[timeUnit].name} to hack your password`; 86 | } 87 | 88 | let hidePass = document.getElementById("togglePassword"); 89 | 90 | function togglePass() 91 | { 92 | if (passwordField.type == "text") 93 | { 94 | passwordField.type = "password"; 95 | } 96 | else 97 | { 98 | passwordField.type = "text"; 99 | } 100 | } 101 | 102 | hidePass.addEventListener("click",togglePass); 103 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | * { 2 | font-family: 'mukta', Helvetica, sans-serif; 3 | } 4 | 5 | body { 6 | height: 100%; 7 | margin: 0; 8 | background-repeat: no-repeat; 9 | background-image: linear-gradient(#452301, #9d6703, #CCAC85); 10 | background-attachment: fixed; 11 | } 12 | 13 | header { 14 | background-color: #232b2b; 15 | color: #fff; 16 | display: flex; 17 | align-items: center; 18 | justify-content: space-around; 19 | padding-top: 5px; 20 | padding-bottom: 5px; 21 | width: 100%; 22 | } 23 | 24 | #logo { 25 | width: 40px; 26 | height: 40px; 27 | margin-right: 10px; 28 | border: 2px solid aliceblue; 29 | border-radius: 5px; 30 | } 31 | 32 | #logo-container { 33 | display: flex; 34 | align-items: center; 35 | justify-content: center; 36 | text-decoration: none; 37 | color: #fff; 38 | } 39 | 40 | #site-title { 41 | margin-left: 10px; 42 | font-weight: bold; 43 | font-size: 20px; 44 | } 45 | 46 | nav ul { 47 | list-style: none; 48 | display: flex; 49 | } 50 | 51 | nav li { 52 | margin-right: 20px; 53 | } 54 | 55 | nav a { 56 | text-decoration: none; 57 | color: #fff; 58 | } 59 | 60 | nav a:hover { 61 | text-decoration: underline; 62 | } 63 | 64 | /* Add these styles for the footer */ 65 | footer { 66 | background-color: #232b2b; 67 | color: #fff; 68 | display: flex; 69 | justify-content: space-between; 70 | align-items: center; 71 | margin-top: auto; 72 | align-self: flex-end; 73 | width: 100%; 74 | padding-top: 5px; 75 | padding-bottom: 5px; 76 | } 77 | 78 | #footer-logo-container { 79 | display: flex; 80 | align-items: center; 81 | justify-content: center; 82 | text-decoration: none; 83 | color: #fff; 84 | margin-left: 15%; 85 | } 86 | 87 | #footer-content { 88 | display: flex; 89 | flex-direction: column; 90 | align-items: center; 91 | margin-right: 15%; 92 | } 93 | 94 | #footer-content p { 95 | margin: 0; 96 | font-size: 14px; 97 | } 98 | 99 | #footer-content a { 100 | text-decoration: none; 101 | color: #fff; 102 | } 103 | 104 | #footer-content a:hover { 105 | text-decoration: underline; 106 | } 107 | 108 | .center { 109 | background-color: white; 110 | border: 5px solid; 111 | width: 50%; 112 | padding-top:3%; 113 | margin-top:5%; 114 | } 115 | 116 | #privacyPolicy { 117 | padding-left: 50px; 118 | padding-right: 50px; 119 | margin-bottom: 50px; 120 | } 121 | 122 | .imageAndBlurbContainer{ 123 | display:flex; 124 | justify-content: center; 125 | align-items: center; 126 | background-color: white; 127 | border: 5px solid black; 128 | margin-top: 5%; 129 | width: 80%; 130 | } 131 | 132 | .imageAndBlurb { 133 | display:flex; 134 | flex-direction: column; 135 | margin:5%; 136 | width: 20%; 137 | margin-bottom: 10px; 138 | } 139 | 140 | .vl { 141 | margin-top:30px; 142 | border-left: 3px solid black; 143 | height: 20rem; 144 | 145 | } 146 | 147 | .moreInfo { 148 | display: flex; 149 | justify-content: center; 150 | flex-direction: column; 151 | background-color: white; 152 | border: 5px solid black; 153 | border-top: 0px; 154 | width: 80%; 155 | } 156 | 157 | .dropdown{ 158 | display:flex; 159 | justify-content: center; 160 | padding: 10px; 161 | } 162 | 163 | #companyDropdown{ 164 | border: 1px solid black; 165 | border-radius: 4px; 166 | } 167 | 168 | #infoForm{ 169 | display: flex; 170 | justify-content: center; 171 | flex-wrap: wrap; 172 | } 173 | 174 | #infoForm .inputField { 175 | border: 1px solid black; 176 | border-radius: 4px; 177 | flex: 0 0 45%; 178 | margin: 1%; 179 | text-align: center; 180 | } 181 | 182 | #infoForm > :last-child { 183 | flex-basis: 100%; 184 | margin-top: 2%; 185 | margin-left: 45%; 186 | margin-right: 45%; 187 | } 188 | 189 | ul{ 190 | list-style-type: none; 191 | padding: 0; 192 | } 193 | li a { 194 | text-decoration: none; 195 | color: #3366CC; 196 | } 197 | 198 | nav a { 199 | text-decoration: none; 200 | color: white; 201 | } 202 | li a:hover { 203 | text-decoration: none; 204 | color: black; 205 | } 206 | 207 | #moreInfo{ 208 | display:flex; 209 | flex-direction: column; 210 | } 211 | 212 | #TJMore, #DylanMore, #GriffinMore{ 213 | display:flex; 214 | flex-direction: row; 215 | justify-content: space-around; 216 | align-items: center; 217 | padding-left:1%; 218 | padding-right:1%; 219 | } 220 | 221 | #aboutMe { 222 | width: 65%; 223 | } 224 | 225 | .aboutUs { 226 | display:flex; 227 | flex-direction: column; 228 | align-items: center; 229 | margin-bottom: 5%; 230 | } 231 | 232 | #emailBody{ 233 | padding: 5%; 234 | padding-bottom: 1%; 235 | } 236 | 237 | select{ 238 | font-size: 110%; 239 | width: 50%; 240 | } 241 | 242 | #socials { 243 | min-width: 15%; 244 | } -------------------------------------------------------------------------------- /privacy.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Privacy Policy 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 |
21 | 22 | 23 | PrivacyXpresso 24 | 25 | 32 |
33 | 34 | 35 |
36 |

Privacy Policy - Privacy Xpresso

37 | 38 |

Effective Date: October 14, 2023

39 | 40 |

At Privacy Xpresso, we are dedicated to safeguarding your privacy and ensuring that your online presence 41 | remains under your control. Our mission is to help individuals maintain their digital privacy and clear 42 | their name from the internet. This Privacy Policy explains how we handle information and maintain 43 | transparency about our practices.

44 | 45 |

1. Information We Don't Collect:

46 |

Privacy Xpresso is committed to not collecting any personal data or using cookies. We do not gather, store, 47 | or process any information related to your identity, online activities, or personal preferences. Your 48 | privacy is our utmost priority.

49 | 50 |

2. Use of Our Services:

51 |

While you use Privacy Xpresso's services, we do not track your actions, gather data, or store any information 52 | on our servers or back-end systems.

53 | 54 |

3. Email Communication:

55 |

If you contact us through email, we may collect your email address solely for the purpose of responding to 56 | your inquiries or providing assistance. We do not use your email address for any other purpose or share it 57 | with third parties.

58 | 59 |

4. Security:

60 |

We implement industry-standard security measures to protect any limited information that may be received 61 | during communication. However, as our primary commitment is to not collect data, there is minimal 62 | information that needs safeguarding.

63 | 64 |

5. Third-Party Services:

65 |

Privacy Xpresso's services are designed to minimize third-party involvement and data exchange. We do not 66 | share information with third-party entities, and our services do not rely on external data sources.

67 | 68 |

6. Policy Updates:

69 |

We may update this Privacy Policy from time to time to reflect changes in our practices or to comply with 70 | legal requirements. When we do so, we will revise the "Effective Date" at the beginning of the policy.

71 | 72 |

7. Contact Us:

73 |

If you have any questions or concerns regarding this Privacy Policy, our practices, or your interactions with 74 | Privacy Xpresso, please contact us at timothyjklint@gmail.com.

75 | 76 |

Privacy Xpresso is dedicated to providing individuals with the means to regain control of their online 77 | presence while respecting their right to privacy. We remain committed to maintaining the highest standards 78 | of data protection and security.

79 | 80 |

Thank you for entrusting us with your privacy needs.

81 |
82 | 83 | 85 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /AboutUs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | About Us 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | PrivacyXpresso 18 | 19 | 26 |
27 |
28 |
29 |
30 |

TJ Klint

31 | Picture of TJ 32 |

Hi! I'm a 2nd Year Computer Science student at John Abbott College, I'm passionate about software development and user privacy.

33 |
34 | 35 |
36 | 37 |
38 |

39 | About Us 40 |

41 |

Griffin Bonomo-Clough

42 | Picture of Griffin 43 |

Hi! I'm a 3rd Year Computer Science student at John Abbott College, I'm passionate about software development and backend development.

44 |
45 | 46 |
47 | 48 |
49 |

Dylan Savelson

50 | Picture of Dylan 51 |

Hey, I'm a second year comp sci student at JAC, and I started coding in sec 5 for a complementary class. I ended up really enjoying so I went into comp sci.

52 |
53 |
54 | 55 |
56 | 57 |
58 |
59 |

TJ Klint

60 | 65 |
66 |
67 |

In my time up to my 2nd year at John Abbott College, the Computer Science program has given me the foundation to learn outside of my course's curriculum. The languages I'm most comfortable in are C#, C++ and JS. Though I'm able to pick up so much more on the fly. I've always loved fast-paced environments and being able to hone abilities/skills at a moment's notice.

68 |
69 |
70 | 71 |
72 | 73 |
74 |
75 |

Griffin Bonomo-Clough

76 | 80 |
81 |
82 |

During my time at John Abbott College, studying Computer Science has allowed me to create create personal projects that allow me to grow as a programmer and challenge my creative skills. I'm most comfortable with Javascript, C#, Java and Kotlin and love learning new languages and frameworks.

83 |
84 |
85 | 86 |
87 | 88 |
89 |
90 |

Dylan Savelson

91 | 96 |
97 |
98 |

Since I started coding I have learned so much, from school, and work. I work as a wev dev intern at Doverco. I mostly handle minor site changes, page creation, and css/html. I never thought I'd find something I could make money off of that I really enjoy. I really enjoy creating websites with html and css.

99 |
100 |
101 | 102 | 103 |
104 |
105 | 115 | 116 | -------------------------------------------------------------------------------- /commonPasswords.js: -------------------------------------------------------------------------------- 1 | export const commonPasswords = ["password12", "password123", "password1234", "p@ssword", "Password1", "Password12", "Password123", "123456", "password", "12345678", "qwerty", "123456789", "12345", "1234", "111111", "1234567", "dragon", "123123", "baseball", "abc123", "football", "monkey", "letmein", "696969", "shadow", "master", "666666", "qwertyuiop", "123321", "mustang", "1234567890", "michael", "654321", "superman", "1qaz2wsx", "7777777", "121212", "000000", "qazwsx", "123qwe", "killer", "trustno1", "jordan", "jennifer", "zxcvbnm", "asdfgh", "hunter", "buster", "soccer", "harley", "batman", "andrew", "tigger", "sunshine", "iloveyou", "2000", 2 | "charlie", "robert", "thomas", "hockey", "ranger", "daniel", "starwars", "klaster", "112233", "george", "computer", "michelle", "jessica", "pepper", "1111", "zxcvbn", "555555", "11111111", "131313", "freedom", "777777", "pass", "maggie", "159753", "aaaaaa", "ginger", "princess", "joshua", "cheese", "amanda", "summer", "love", "ashley", "6969", "nicole", "chelsea", "biteme", "matthew", "access", "yankees", "987654321", "dallas", "austin", "thunder", "taylor", "matrix", "william", "corvette", "hello", "martin", "heather", "secret", "merlin", "diamond", "1234qwer", 3 | "gfhjkm", "hammer", "silver", "222222", "88888888", "anthony", "justin", "test", "bailey", "q1w2e3r4t5", "patrick", "internet", "scooter", "orange", "11111", "golfer", "cookie", "richard", "samantha", "bigdog", "guitar", "jackson", "whatever", "mickey", "chicken", "sparky", "snoopy", "maverick", "phoenix", "camaro", "sexy", "peanut", "morgan", "welcome", "falcon", "cowboy", "ferrari", "samsung", "andrea", "smokey", "steelers", "joseph", "mercedes", "dakota", "arsenal", "eagles", "melissa", "boomer", "booboo", "spider", "nascar", "monster", "tigers", "yellow", 4 | "xxxxxx", "123123123", "gateway", "marina", "diablo", "bulldog", "qwer1234", "compaq", "purple", "hardcore", "banana", "junior", "hannah", "123654", "porsche", "lakers", "iceman", "money", "cowboys", "987654", "london", "tennis", "999999", "ncc1701", "coffee", "scooby", "0000", "miller", "boston", "q1w2e3r4", "brandon", "yamaha", "chester", "mother", "forever", "johnny", "edward", "333333", "oliver", "redsox", "player", "nikita", "knight", "fender", "barney", "midnight", "please", "brandy", "chicago", "badboy", "iwantu", "slayer", "rangers", "charles", "angel", 5 | "flower", "bigdaddy", "rabbit", "wizard", "jasper", "enter", "rachel", "chris", "steven", "winner", "adidas", "victoria", "natasha", "1q2w3e4r", "jasmine", "winter", "prince", "panties", "marine", "ghbdtn", "fishing", "cocacola", "casper", "james", "232323", "raiders", "888888", "marlboro", "gandalf", "asdfasdf", "crystal", "87654321", "12344321", "golden", "blowme", "bigtits", "8675309", "panther", "lauren", "angela", "bitch", "spanky", "thx1138", "angels", "madison", "winston", "shannon", "mike", "toyota", "blowjob", "jordan23", "canada", "sophie", "Password", 6 | "apples", "tiger", "razz", "123abc", "pokemon", "qazxsw", "55555", "qwaszx", "muffin", "johnson", "murphy", "cooper", "jonathan", "liverpoo", "david", "danielle", "159357", "jackie", "1990", "123456a", "789456", "turtle", "horny", "abcd1234", "scorpion", "qazwsxedc", "101010", "butter", "carlos", "password1", "dennis", "slipknot", "qwerty123", "booger", "asdf", "1991", "black", "startrek", "12341234", "cameron", "newyork", "rainbow", "nathan", "john", "1992", "rocket", "viking", "redskins", "butthead", "asdfghjkl", "1212", "sierra", "peaches", "gemini", 7 | "doctor", "wilson", "sandra", "helpme", "qwertyui", "victor", "florida", "dolphin", "pookie", "captain", "tucker", "blue", "liverpool", "theman", "bandit", "dolphins", "maddog", "packers", "jaguar", "lovers", "nicholas", "united", "tiffany", "maxwell", "zzzzzz", "nirvana", "jeremy", "suckit", "stupid", "porn", "monica", "elephant", "giants", "jackass", "hotdog", "rosebud", "success", "debbie", "mountain", "444444", "xxxxxxxx", "warrior", "1q2w3e4r5t", "q1w2e3", "123456q", "albert", "metallic", "lucky", "azerty", "7777", "alex", "bond007", "alexis", "1111111", 8 | "samson", "5150", "willie", "scorpio", "bonnie", "gators", "benjamin", "voodoo", "driver", "dexter", "2112", "jason", "calvin", "freddy", "212121", "creative", "12345a", "sydney", "rush2112", "1989", "asdfghjk", "red123", "bubba", "4815162342", "passw0rd", "trouble", "gunner", "happy", "gordon", "legend", "jessie", "stella", "qwert", "eminem", "arthur", "apple", "nissan", "bear", "america", "1qazxsw2", "nothing", "parker", "4444", "rebecca", "qweqwe", "garfield", "01012011", "beavis", "69696969", "jack", "asdasd", "december", "2222", "102030", "252525", "11223344", 9 | "magic", "apollo", "skippy", "315475", "girls", "kitten", "golf", "copper", "braves", "shelby", "godzilla", "beaver", "fred", "tomcat", "august", "buddy", "airborne", "1993", "1988", "lifehack", "qqqqqq", "brooklyn", "animal", "platinum", "phantom", "online", "xavier", "darkness", "blink182", "power", "fish", "green", "789456123", "voyager", "police", "travis", "12qwaszx", "heaven", "snowball", "lover", "abcdef", "00000", "pakistan", "007007", "walter", "playboy", "blazer", "cricket", "sniper", "hooters", "donkey", "willow", "loveme", "saturn", "therock", "redwings", 10 | "bigboy", "pumpkin", "trinity", "williams", "nintendo", "digital", "destiny", "topgun", "runner", "marvin", "guinness", "chance", "bubbles", "testing", "fire", "november", "minecraft", "asdf1234", "lasvegas", "sergey", "broncos", "cartman", "private", "celtic", "birdie", "little", "cassie", "babygirl", "donald", "beatles", "1313", "family", "12121212", "school", "louise", "gabriel", "eclipse", "fluffy", "147258369", "lol123", "explorer", "beer", "nelson", "flyers", "spencer", "scott", "lovely", "gibson", "doggie", "cherry", "andrey", "snickers", "buffalo", "pantera", 11 | "metallica", "member", "carter", "qwertyu", "peter", "alexande", "steve", "bronco", "paradise", "goober", "5555", "samuel", "montana", "mexico", "dreams", "michigan", "cock", "carolina", "yankee", "friends", "magnum", "surfer", "poopoo", "maximus", "genius", "cool", "vampire", "lacrosse", "asd123", "aaaa", "christin", "kimberly", "speedy", "sharon", "carmen", "111222", "kristina", "sammy", "racing", "ou812", "sabrina", "horses", "0987654321", "qwerty1", "pimpin", "baby", "stalker", "enigma", "147147", "star", "poohbear", "boobies", "147258", "simple", "bollocks", "12345q", 12 | "marcus", "brian", "1987", "qweasdzxc", "drowssap", "hahaha", "caroline", "barbara", "dave", "viper", "drummer", "action", "einstein", "genesis", "hello1", "scotty", "friend", "forest", "010203", "hotrod", "google", "vanessa", "spitfire", "badger", "maryjane", "friday", "alaska", "1232323q", "tester", "jester", "jake", "champion", "billy", "147852", "rock", "hawaii", "badass", "chevy", "420420", "walker", "stephen", "eagle1", "bill", "1986", "october", "gregory", "svetlana", "pamela", "1984", "music", "shorty", "westside", "stanley", "diesel", "courtney", "242424", "kevin", 13 | "hitman", "mark", "12345qwert", "reddog", "frank", "qwe123", "popcorn", "patricia", "aaaaaaaa", "1969", "teresa", "mozart", "buddha", "anderson", "paul", "melanie", "abcdefg", "security", "lucky1", "lizard", "denise", "3333", "a12345", "123789", "ruslan", "stargate", "simpsons", "scarface", "eagle", "123456789a", "thumper", "olivia", "naruto", "1234554321", "general", "cherokee", "a123456", "vincent", "Usuckballz1", "spooky", "qweasd", "cumshot", "free", "frankie", "douglas", "death", "1980", "loveyou", "kitty", "kelly", "veronica", "suzuki", "semperfi", "penguin", "mercury", 14 | "liberty", "spirit", "scotland", "natalie", "marley", "vikings", "system", "sucker", "king", "allison", "marshall", "1979", "098765", "qwerty12", "hummer", "adrian", "1985", "vfhbyf", "sandman", "rocky", "leslie", "antonio", "98765432", "4321", "softball", "passion", "mnbvcxz", "bastard", "passport", "horney", "rascal", "howard", "franklin", "bigred", "assman", "alexander", "homer", "redrum", "jupiter", "claudia", "55555555", "141414", "zaq12wsx", "shit", "patches", "raider", "infinity", "andre", "54321", "galore", "college", "russia", "kawasaki", "bishop", "77777777", "vladimir", 15 | "money1", "freeuser", "wildcats", "francis", "disney", "budlight", "brittany", "1994", "00000000", "sweet", "oksana", "honda", "domino", "bulldogs", "brutus", "swordfis", "norman", "monday", "jimmy", "ironman", "ford", "fantasy", "9999", "7654321", "PASSWORD", "hentai", "duncan", "cougar", "1977", "jeffrey", "house", "dancer", "brooke", "timothy", "super", "marines", "justice", "connor", "patriots", "karina", "202020", "molly", "everton", "tinker", "alicia", "rasdzv3", "poop", "pearljam", "stinky", "naughty", "colorado", "123123a", "water", "test123", "ncc1701d", "motorola", 16 | "ireland", "asdfg", "slut", "matt", "houston", "boogie", "zombie", "accord", "vision", "bradley", "reggie", "kermit", "froggy", "ducati", "avalon", "6666", "9379992", "sarah", "saints", "logitech", "chopper", "852456", "simpson", "madonna", "juventus", "claire", "159951", "zachary", "yfnfif", "wolverin", "warcraft", "hello123", "extreme", "peekaboo", "fireman", "eugene", "brenda", "123654789", "russell", "panthers", "georgia", "smith", "skyline", "jesus", "elizabet", "spiderma", "smooth", "pirate", "empire", "bullet", "8888", "virginia", "valentin", "psycho", "predator", "arizona", 17 | "134679", "mitchell", "alyssa", "vegeta", "titanic", "christ", "goblue", "fylhtq", "wolf", "mmmmmm", "kirill", "indian", "hiphop", "baxter", "awesome", "people", "danger", "roland", "mookie", "741852963", "1111111111", "dreamer", "bambam", "arnold", "1981", "skipper", "serega", "rolltide", "elvis", "changeme", "simon", "1q2w3e", "lovelove", "fktrcfylh", "denver", "tommy", "mine", "loverboy", "hobbes", "happy1", "alison", "nemesis", "chevelle", "cardinal", "burton", "wanker", "picard", "151515", "tweety", "michael1", "147852369", "12312", "xxxx", "windows", "turkey", "456789", "1974", 18 | "vfrcbv", "sublime", "1975", "galina", "bobby", "newport", "manutd", "daddy", "american", "alexandr", "1966", "victory", "rooster", "qqq111", "a1b2c3", "temp", "test1", "test12", "test123"]; 19 | -------------------------------------------------------------------------------- /data.js: -------------------------------------------------------------------------------- 1 | export const templates = [ 2 | { 3 | name: "Spotify", 4 | message: 5 | "Email To: privacy@spotify.com\n\ 6 | Subject: Formal Request for Deletion of Personal Information\ 7 | \n\n\ 8 | --\ 9 | \n\n\ 10 | Dear Spotify Data Protection Team,\ 11 | \n\ 12 | I hope this message finds you well. I am writing to formally request the revocation and deletion of my personal data held by Spotify. I value my privacy and wish to exercise my rights under data protection regulations to have my data removed from your records\.\ 13 | Below is a list of the specific data categories I would like to have revoked and deleted\:\ 14 | \n\n\ 15 | - User Data\n\ 16 | - Street Address Data\n\ 17 | - Usage Data\n\ 18 | - Voice Data\n\ 19 | - Payment and Purchase Data\n\n\ 20 | I understand that the proper handling of personal data is of utmost importance, and I trust Spotify to manage this request in accordance with applicable data protection laws, including but not limited to the General Data Protection Regulation (GDPR) CCPA: California Consumer Privacy Act and other relevant regulations\.\n\ 21 | \n\ 22 | I kindly request that you confirm the receipt of this email and the initiation of the process to revoke and delete my data. Additionally, I would appreciate receiving a formal notification once the process has been completed and my data has been erased from your systems\.\ 23 | Please ensure that this request is executed promptly and in compliance with the appropriate legal and ethical standards to safeguard my privacy. I also request that any third parties with whom my data may have been shared be notified of my request for data removal\.\n\ 24 | \n\ 25 | My email address for communication is [Email_Address] and my Spotify account details are as follows: [Spotify_Account_Id] & [Spotify_Username]\.\ 26 | \n\n\ 27 | I trust that Spotify will handle this matter with the utmost professionalism and respect for data privacy. I look forward to your prompt response and the confirmation of my request's successful execution\.\ 28 | \n\n\ 29 | Thank you for your attention to this matter, and I appreciate your assistance in this regard\.\ 30 | \n\n\ 31 | Sincerely\,\n\ 32 | [Full_Name], [Email_Address]", 33 | keys: ["[Email_Address]", "[Spotify_Account_Id]", "[Spotify_Username]", "[Full_Name]"], 34 | fieldNames: ["Email Address", "Spotify Account Id", "Spotify Username", "Full Name"], 35 | }, 36 | { 37 | name: "Netflix", 38 | message: 39 | "Email To: privacy@netflix.com\n\ 40 | Subject: Formal Request for Deletion of Personal Information\ 41 | \n\n\ 42 | --\ 43 | \n\n\ 44 | Dear Netflix Data Protection Team,\ 45 | \n\ 46 | I trust this message finds you well. I am writing to formally request the deletion of the personal information that Netflix has collected as described in your Privacy Statement. In accordance with applicable data protection regulations, I wish to exercise my right to have my data removed from your records.\ 47 | \n\n\ 48 | The categories of personal information I am requesting for deletion are as follows:\ 49 | \n\n\ 50 | - Information provided to Netflix, including my name, email address, payment method(s), telephone number, and other identifiers (such as an in-game name).\ 51 | \n\ 52 | - Information collected automatically, such as my activity on the Netflix service, interactions with emails and texts, device IDs, and information gathered through the use of cookies and web beacons.\ 53 | \n\ 54 | - Information obtained from Partners, which may include search queries, service activation information, and unique identifiers.\ 55 | \n\ 56 | - Information from other sources, including data provided by service providers, security service providers, payment service providers, Advertisers, Ad Service Providers, Ad Measurement Companies, online and offline information providers, publicly-available sources, and third-party services for Netflix games.\ 57 | \n\n\ 58 | I request that you delete this information as per the provisions outlined in your Privacy Statement and in accordance with relevant data protection regulations. This request encompasses the complete and irreversible removal of the specified personal information from your records, including any third-party entities with whom you may have shared such data. My Account ID is: [Account_Id]\ 59 | \n\n\ 60 | Furthermore, I wish to emphasize the importance of adhering to the appropriate legal and ethical standards in safeguarding my privacy. As per data protection regulations, you are hereby notified that you have 45 days from the date of this communication to comply with this request.\ 61 | \n\n\ 62 | I anticipate your prompt response to confirm that my request for data deletion is in progress, and I look forward to receiving formal notification once the process has been successfully executed.\ 63 | \n\n\ 64 | Please consider this request as a formal and legally binding request to delete my personal information, and I trust that Netflix will handle this matter with the utmost professionalism.\ 65 | \n\n\ 66 | Thank you for your attention to this matter.\ 67 | \n\n\ 68 | Sincerely,\n\ 69 | [Full_Name], [Email_Address]", 70 | keys: ["[Account_Id]", "[Full_Name]", "[Email_Address]"], 71 | fieldNames: ["Account Id", "Full Name", "Email Address"], 72 | }, 73 | { 74 | name: "Starbucks", 75 | message: 76 | "Email To: privacy@starbucks.com\n\ 77 | Subject: Formal Request for Deletion of Personal Information\ 78 | \n\n\ 79 | --\ 80 | \n\n\ 81 | Dear Starbucks Data Protection Team,\ 82 | \n\n\ 83 | I trust this message finds you well. I am writing to formally request the deletion of the personal information that Starbucks has collected, as outlined in your data collection policy. In accordance with applicable data protection regulations, I wish to exercise my right to have my data removed from your records.\ 84 | \n\n\ 85 | The categories of personal information I am requesting for deletion are as follows:\n\ 86 | - Identifiers\n\ 87 | - Financial Information\n\ 88 | - Commercial Information\n\ 89 | - Electronic Network Activity Information\n\ 90 | - Geolocation Information\n\ 91 | - Audio and Visual Information\n\ 92 | - Inferences\n\ 93 | \n\ 94 | I request that you delete this information in compliance with your data collection policy and in accordance with relevant data protection regulations. This request entails the complete and irreversible removal of the specified personal information from your records, including any third-party entities with whom you may have shared such data. My account ID and phone number are as follows: [Account_Id] and [Phone_Number]\ 95 | \n\n\ 96 | Furthermore, I emphasize the importance of adhering to the appropriate legal and ethical standards to safeguard my privacy. As per data protection regulations, you are hereby notified that you have 45 days from the date of this communication to comply with this request.\ 97 | \n\n\ 98 | I anticipate your prompt response to confirm that my request for data deletion is in progress, and I look forward to receiving formal notification once the process has been successfully executed.\ 99 | \n\n\ 100 | Please consider this request as a formal and legally binding request to delete my personal information, and I trust that Starbucks will handle this matter with the utmost professionalism.\ 101 | \n\n\ 102 | Thank you for your attention to this matter.\ 103 | \n\n\ 104 | Sincerely,\n\ 105 | [Full_Name], [Email_Address]", 106 | keys: ["[Account_Id]", "[Phone_Number]", "[Full_Name]", "[Email_Address]"], 107 | fieldNames: ["Account Id", "Phone Number", "Full Name", "Email Address"], 108 | }, 109 | { 110 | name: "Tesla", 111 | message: 112 | "Email To: privacy@tesla.com\n\ 113 | Subject: Formal Request for Deletion of Personal Information\ 114 | \n\n\ 115 | --\ 116 | \n\n\ 117 | Dear Tesla Data Protection Team,\ 118 | \n\n\ 119 | I trust this message finds you well. I am writing to formally request the deletion of the personal information that Tesla has collected, as outlined in your data collection policy. In accordance with applicable data protection regulations, I wish to exercise my right to have my data removed from your records.\ 120 | \n\n\ 121 | The categories of personal information I am requesting for deletion are as follows:\ 122 | \n\n\ 123 | - Information from or about me, which may include personal identifiers such as my name, contact information, and demographic details.\ 124 | \n\ 125 | - Information from or about your Tesla vehicle, encompassing data related to my vehicle's performance, usage, and maintenance.\ 126 | \n\ 127 | - Information from or about my Tesla energy products, including data related to the performance and usage of energy products.\ 128 | \n\ 129 | - Information about geolocation, such as data derived from your vehicle's GPS and location-based information.\ 130 | \n\ 131 | - Payment Information, comprising financial data related to transactions and purchases made with Tesla.\ 132 | \n\n\ 133 | I request that you delete this information in compliance with your data collection policy and in accordance with relevant data protection regulations. This request entails the complete and irreversible removal of the specified personal information from your records, including any third-party entities with whom you may have shared such data. My account ID is as follow: [Account_Id]\ 134 | \n\n\ 135 | Furthermore, I emphasize the importance of adhering to the appropriate legal and ethical standards to safeguard my privacy. As per data protection regulations, you are hereby notified that you have 45 days from the date of this communication to comply with this request.\ 136 | \n\n\ 137 | I anticipate your prompt response to confirm that my request for data deletion is in progress, and I look forward to receiving formal notification once the process has been successfully executed.\ 138 | \n\n\ 139 | Please consider this request as a formal and legally binding request to delete my personal information, and I trust that Tesla will handle this matter with the utmost professionalism.\ 140 | \n\n\ 141 | Thank you for your attention to this matter.\ 142 | \n\n\ 143 | Sincerely,\n\ 144 | [Full_Name], [Email_Address]", 145 | keys: ["[Account_Id]", "[Full_Name]", "[Email_Address]"], 146 | fieldNames: ["Account Id", "Full Name", "Email Address"], 147 | }, 148 | { 149 | name: "Tim Hortons", 150 | message: 151 | "Email To: privacy@timhortons.com\n\ 152 | Subject: Formal Request for Deletion of Personal Information\ 153 | \n\n\ 154 | --\ 155 | \n\n\ 156 | Dear Tim Hortons Data Protection Team,\ 157 | \n\n\ 158 | I trust this message finds you well. I am writing to formally request the deletion of the personal information that Tim Hortons has collected, as outlined in your data collection policy. In accordance with applicable data protection regulations, I wish to exercise my right to have my data removed from your records.\ 159 | \n\n\ 160 | The categories of personal information I am requesting for deletion are as follows:\ 161 | \n\n\ 162 | - Device Information - Including hardware model, IP address, unique device identifiers, operating system version, and device settings used to access Tim Hortons services.\ 163 | \n\ 164 | - Usage Information - Encompassing details about the services used, time and duration of use, specific portions of the App or website accessed, frequency of usage, clicks on links and materials, email interactions, purchases resulting from advertising, search terms, and other interactions with Tim Hortons content, including information stored in cookies and similar technologies.\ 165 | \n\ 166 | - Location Information - Involving computer IP addresses, general location (e.g., city/town/province/country), and mobile device GPS-based location, which is used for finding local restaurants, providing relevant offers and deals, and delivering location-related information.\ 167 | \n\n\ 168 | I request that you delete this information in compliance with your data collection policy and in accordance with relevant data protection regulations. This request entails the complete and irreversible removal of the specified personal information from your records, including any third-party entities with whom you may have shared such data. The phone number linked with my account is as follows: [Phone_Number]\ 169 | \n\n\ 170 | Furthermore, I emphasize the importance of adhering to the appropriate legal and ethical standards to safeguard my privacy. As per data protection regulations, you are hereby notified that you have 45 days from the date of this communication to comply with this request.\ 171 | \n\n\ 172 | I anticipate your prompt response to confirm that my request for data deletion is in progress, and I look forward to receiving formal notification once the process has been successfully executed.\ 173 | \n\n\ 174 | Please consider this request as a formal and legally binding request to delete my personal information, and I trust that Tim Hortons will handle this matter with the utmost professionalism.\ 175 | \n\n\ 176 | Thank you for your attention to this matter.\ 177 | \n\n\ 178 | Sincerely,\n\ 179 | [Full_Name], [Email_Address]", 180 | keys: ["[Phone_Number]", "[Full_Name]", "[Email_Address]"], 181 | fieldNames: ["Phone Number", "Full Name", "Email Address"], 182 | } 183 | ]; 184 | --------------------------------------------------------------------------------