diff --git a/.vscode/settings.json b/.vscode/settings.json index 22c5aa0..2640558 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -41,6 +41,7 @@ }, // Spell checker "cSpell.words": [ + "Brevo", "clickaway", "deerhacks", "DeerHacks", diff --git a/components/Shared/Footer/index.tsx b/components/Shared/Footer/index.tsx index 2bff414..67fa96b 100644 --- a/components/Shared/Footer/index.tsx +++ b/components/Shared/Footer/index.tsx @@ -54,19 +54,17 @@ const Footer = () => { {toggles.dashboard && ( - <> - - - Terms & Conditions - - - - - Privacy Policy - - - + + + Terms & Conditions + + )} + + + Privacy Policy + + {toggles.mlh && ( diff --git a/pages/privacy/index.tsx b/pages/privacy/index.tsx index cff661a..d043add 100644 --- a/pages/privacy/index.tsx +++ b/pages/privacy/index.tsx @@ -1,28 +1,465 @@ import Head from 'next/head' +import NextLink from 'next/link' import Container from '@mui/material/Container' import Fade from '@mui/material/Fade' +import Link from '@mui/material/Link' import Typography from '@mui/material/Typography' -import BackButton from '@/components/Shared/BackButton' -import { useFeatureToggle } from '@/contexts/FeatureToggle' -import Error404Page from '@/pages/404' +import Navbar from '@/components/Shared/Navbar' const Privacy = () => { - const { toggles } = useFeatureToggle() - - if (!toggles.dashboard && !toggles.bypassPage) return - return ( <> Privacy Policy | DeerHacks - - - Privacy Policy - Last Revised: Oct 27, 2023 + + + + Privacy Policy + + + Overview + + + DeerHacks (“DeerHacks,” “we,” “our,” or “us”) is committed to protecting your privacy. + This Privacy Policy, implemented by DeerHacks, is intended to inform Users ("User", + "Participant", "you") about our practices concerning the processing of personal data + when participating in DeerHacks within Canada. This Privacy Policy applies to our + website,{' '} + + deerhacks.ca + + {'.'} (hereinafter referred to as “our Service”). By accessing or using our Service and + participating in the DeerHacks hackathon, you signify that you agree to the collection, + storage, use, and disclosure of your personal information as described in this Privacy + Policy and agree to the DeerHacks{' '} + + Terms & Conditions + + {'.'} + + + Personal Data We Collect + + + Data Collected Automatically + + + We automatically collect certain information when you visit and use our Service. + + + Data Analytics +
    +
  • + We collect analytics data or use third-party analytics tools to measure usage trends + of our Service. This helps us improve the online experience for visitors. This data + is anonymous, including visitor numbers and device types. +
  • +
  • + We use services like Cloudflare and Google Analytics for these purposes. Their + privacy policies can be found at{' '} + + Cloudflare Privacy Policy + {' '} + and{' '} + + Google Privacy + + . +
  • +
+
+ + Cookies +
    +
  • + Cookies are used for authentication and management of the signup process and general + administration. You can opt out of non-essential cookies. +
  • +
  • + Additionally, our analytics, bug reporting, and DNS providers also use cookies to + facilitate their services. +
  • +
+
+ + Widgets +
    +
  • + Our Service may include social media features (e.g., LinkedIn, Instagram widgets) + and external links to DeerHacks official partners. These companies may collect + information about your visit. If you follow hyperlinks from our site, please note + that we are not responsible for their privacy policies and practices. +
  • +
+
+ + Data Collected Manually + + + This includes data collected through direct interactions on our site, such as when you + apply or sign up as a participant. + + + Primary User Data +
    +
  • + We collect primary data via registration forms for event organization. This + includes, but is not limited to, first and last name, email address, contact number, + educational affiliation, and other information we ask you to provide during + registration. +
  • +
+
+ + Third Party Data +
    +
  • + Using third-party sign-ins, such as Discord provides us with certain account + information. We receive the username, email address, profile picture, and OAuth + credentials of the Discord account. This information is used for identification and + sign-in purposes only. You can manage your privacy settings directly with these + third parties (e.g,{' '} + + Discord Privacy Policy + + ). +
  • +
+
+ + Email Communications +
    +
  • + We use Brevo to send emails related to DeerHacks. Your email address is shared with + Brevo for this purpose. The email service providers do not use this personal data + for any other purpose and will not transfer or sell your personal data to any other + third party (e.g,{' '} + + Brevo Privacy Policy + + ). Our emails comply with anti-spam laws, and you can unsubscribe at any time by + following the link at the bottom of our newsletter emails. +
  • +
+
+ + Optional Survey Data +
    +
  • + We may conduct optional surveys to improve DeerHacks and our Service. Survey data + will always be explicitly labeled as such. Participation in surveys is voluntary and + does not impact your event eligibility. +
  • +
+
+ + On-Site Participant Data +
    +
  • + We collect various data during the event to ensure a smooth experience at DeerHacks. + For example, we record QR code scans for resource management (e.g, food and + merchandise) as well as to assess attendance rates and popular activities. +
  • +
+
+ + How We Use Personal Data + + + We use personal information solely for organizing and running DeerHacks, including + communication with participants. + + + Usage of Automatically Collected Data + + +
    +
  • + We monitor metrics like visitor numbers, traffic, and demographic patterns on our + Service. +
  • +
  • + We diagnose and address technology problems to maintain a high Service standard. +
  • +
  • + We store information so that you will not have to re-enter it during your subsequent + visits and to implement Service enhancements. +
  • +
+
+ + Usage of Manually Collected Data + + +
    +
  • + We release anonymized, aggregate data to the public and DeerHacks partners for + marketing, transparency, and sponsorship purposes. +
  • +
  • + We tailor follow-up communications such as post-event surveys or marketing + newsletters. +
  • +
  • + We collect feedback and participant interactions are analyzed for continuous + improvement. +
  • +
  • + We share and create personalized events like workshops, networking opportunities, + educational courses that align with participant's skills and interests. +
  • +
+
+ + Who We Share Personal Data With + + + + Personal information may be disclosed to third parties only with your consent or as + required by law. This includes sharing information with sponsors or partners, only if + participants have opted in. We may share your personal data with the following third + parties: + +
    +
  • The University of Toronto
  • +
  • Our event sponsors, for recruitment purposes
  • +
  • Service providers assisting us in event organization
  • +
  • Legal and regulatory authorities, where required by law
  • +
+
+ + Data Security + + + + We are committed to protecting your Personal Information through technical and + organizational measures against accidental or unlawful destruction, loss, change or + damage. + +
    +
  • + Our Service is hosted on secure Amazon AWS servers and Digital Ocean servers, that + comply with rigorous, globally recognized security and data protection standards + (e.g,{' '} + + Amazon AWS Data Policy + + ,{' '} + + Digital Ocean Privacy Policy + + ). +
  • +
  • + In the unlikely event of a data breach, affected parties will be notified within 72 + hours, subject to legal or other circumstances. +
  • +
  • + DeerHacks will never send you unsolicited emails or contact you by phone requesting + your account's login details, credit or debit card information or national + identification numbers. +
  • +
+
+ + Your Rights + + + + You can request access, update, or deletion of your personal data at{' '} + + hello@deerhacks.ca + + . Compliance with your request will occur within 30 days, barring legal or exceptional + circumstances. Please note that deleted data may be retained in our backups for up to + an additional 60 days, after which they are purged. You have several options to limit + how much information you share with us: + +
    +
  • + Limit information sharing by opting out of non-mandatory fields in our forms and + communications with you. However, fields marked as mandatory are considered to be + necessary to our operations and Service that we offer to you. In the event that you + object to these mandatory fields, you may terminate your activities with us and + request that we delete all data we have collected from you thus far. +
  • +
  • + Opt out of marketing emails to stop receiving marketing and promotional material + from us by clicking "unsubscribe" at the bottom of any promotional emails. +
  • +
  • + Use tracking blockers to limit analytics tracking. DeerHacks requires cookies to be + enabled for our services. However, we do not have individual control over tracking + activities done by the services outlined in{' '} + + Personal Data We Collect + + . Most browsers will allow you to change your cookies preferences. You may also use + a browser extension to block anonymous analytics activities. +
  • +
+
+ + Changes to Privacy Policy + + + We reserve the right to modify this Privacy Policy. Review this page periodically for + changes. Significant changes will be notified and the "last modified" date at the bottom + of this page will be updated. Continuing to use our Service after we publish changes to + this Privacy Policy means that you are consenting to the changes. + + + Contact Information + + + We are always open to feedback! For suggestions or questions about this Policy or our + Service, please contact us at{' '} + + hello@deerhacks.ca + + . + + + This privacy policy was last modified on December 20th, 2023. +
diff --git a/pages/terms/index.tsx b/pages/terms/index.tsx index 4d8b39b..dc33d36 100644 --- a/pages/terms/index.tsx +++ b/pages/terms/index.tsx @@ -6,12 +6,12 @@ import Typography from '@mui/material/Typography' import BackButton from '@/components/Shared/BackButton' import { useFeatureToggle } from '@/contexts/FeatureToggle' -import Error404Page from '@/pages/404' +import Error418Page from '@/pages/418' const Terms = () => { const { toggles } = useFeatureToggle() - if (!toggles.dashboard && !toggles.bypassPage) return + if (!toggles.dashboard && !toggles.bypassPage) return return ( <> diff --git a/styles/global.css b/styles/global.css index c95d7cb..ca02920 100644 --- a/styles/global.css +++ b/styles/global.css @@ -1,3 +1,7 @@ #__next { overflow-x: hidden; } + +* { + scroll-behavior: smooth; +}