├── 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 |
22 | PrivacyXpresso
23 |
24 |
31 | 45 |
46 |
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 |
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 |
23 | PrivacyXpresso
24 |
25 |
32 |
23 | PrivacyXpresso
24 |
25 |
32 | 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 |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 |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 |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 |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 |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 |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 |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 |
17 | PrivacyXpresso
18 |
19 |
26 |
32 | Hi! I'm a 2nd Year Computer Science student at John Abbott College, I'm passionate about software development and user privacy.
33 |
43 | Hi! I'm a 3rd Year Computer Science student at John Abbott College, I'm passionate about software development and backend development.
44 |
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 |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 |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 |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 |
TJ Klint
60 |61 |- TJ's Linkedin
62 | - TJ's CV
63 | - TJ's Github
64 |
65 |