From 1d1eb9b3e7c19d878d859e66cde04b585d9d5b78 Mon Sep 17 00:00:00 2001 From: zkldi <20380519+zkldi@users.noreply.github.com> Date: Fri, 4 Feb 2022 13:21:14 +0000 Subject: [PATCH] Add GDPR --- client/src/app/pages/PrivacyPolicyPage.tsx | 130 ++++++++++++++++++ client/src/app/routes/DashboardRoutes.tsx | 5 + .../src/components/layout/footer/Footer.tsx | 7 + 3 files changed, 142 insertions(+) create mode 100644 client/src/app/pages/PrivacyPolicyPage.tsx diff --git a/client/src/app/pages/PrivacyPolicyPage.tsx b/client/src/app/pages/PrivacyPolicyPage.tsx new file mode 100644 index 000000000..394879d6c --- /dev/null +++ b/client/src/app/pages/PrivacyPolicyPage.tsx @@ -0,0 +1,130 @@ +import useSetSubheader from "components/layout/header/useSetSubheader"; +import ExternalLink from "components/util/ExternalLink"; +import { TachiConfig } from "lib/config"; +import React from "react"; + +export default function PrivacyPolicyPage() { + useSetSubheader(["Dashboard", "GDPR/Legal Stuff"]); + + return ( +
+

What data do we collect?

+
  • Personally identifiable information (email address)
  • +
  • Your submitted scores.
  • +

    How do we collect your data?

    +

    + You directly provide {TachiConfig.name} with most of the data we collect. We collect + data and process data when you: +

    +
  • Register
  • +
  • Submit scores
  • +

    How will we use your data?

    +

    {TachiConfig.name} collects your data so that we can:

    +
  • Login
  • +
  • Manage our score database
  • +
  • Provide you with statistics
  • +

    How do we store your data?

    +

    {TachiConfig.name} securely stores your data on our server in Norway.

    +

    + {TachiConfig.name} will keep your email for as long as you use the service. If you + elect to terminate your account, your data will be securely erased. +

    +

    Marketing

    +

    + No advertising agencies are associated with this site, nor is your information given + to any of them. +

    +

    What are your data protection rights?

    +

    + {TachiConfig.name} would like to make sure you are fully aware of all of your data + protection rights. Every user is entitled to the following: +

    +

    + The right to access - You have the right to request {TachiConfig.name} for copies of + your personal data. +

    +

    + The right to rectification - You have the right to request that {TachiConfig.name}{" "} + correct any information you believe is inaccurate. You also have the right to + request + {TachiConfig.name} to complete the information you believe is incomplete. +

    +

    + The right to erasure - You have the right to request that {TachiConfig.name} erase + your personal data, under certain conditions. +

    +

    + The right to restrict processing - You have the right to request that{" "} + {TachiConfig.name} + restrict the processing of your personal data, under certain conditions. +

    +

    + The right to object to processing - You have the right to object to{" "} + {TachiConfig.name}'s processing of your personal data, under certain conditions. +

    +

    + The right to data portability - You have the right to request that{" "} + {TachiConfig.name} + transfer the data that we have collected to another organization, or directly to + you, under certain conditions. +

    +

    + If you make a request, providing I am not dead, I have one month to respond to you. + If you would like to exercise any of these rights, please contact me at this email: + zkldi.dev@gmail.com +

    +

    Cookies

    +

    + Cookies are text files placed on your computer to collect standard Internet log + information and visitor behavior information. When you visit our websites, we may + collect information from you automatically through cookies or similar technology +

    +

    For further information, visit allaboutcookies.org.

    +

    How do we use cookies?

    +

    + {TachiConfig.name} uses cookies in a range of ways to improve your experience on our + website, including, and limited to: +

    +
  • Keeping you signed in
  • +

    What types of cookies do we use?

    +

    + Functionality - {TachiConfig.name} uses these cookies so that we recognize you on + our website and remember your previously selected preferences. These could include + what language you prefer and location you are in. No third-party cookies are used. +

    +

    How to manage cookies

    +

    + You can set your browser not to accept cookies, and the above website tells you how + to remove cookies from your browser. However, in a few cases, some of our website + features may not function as a result. +

    +

    Privacy policies of other websites

    +

    + The {TachiConfig.name} website contains links to other websites. Our privacy policy + applies only to our website, so if you click on a link to another website, you + should read their privacy policy. +

    +

    Changes to our privacy policy

    +

    + {TachiConfig.name} keeps its privacy policy under regular review and places any + updates on this web page. This privacy policy was last updated on 15 September 2020. +

    +

    How to contact us

    +

    + If you have any questions about {TachiConfig.name}'s privacy policy, the data we + hold on you, or you would like to exercise one of your data protection rights, + please do not hesitate to contact us. +

    +

    Email us at: ktchidev@gmail.com

    +

    How to contact the appropriate authority

    +

    + Should you wish to report a complaint or if you feel that {TachiConfig.name} has not + addressed your concern in a satisfactory manner, you may contact the Information + Commissioner's Office. +

    +

    + Website: https://ico.org.uk +

    +
    + ); +} diff --git a/client/src/app/routes/DashboardRoutes.tsx b/client/src/app/routes/DashboardRoutes.tsx index 13e737326..1f54e1bae 100644 --- a/client/src/app/routes/DashboardRoutes.tsx +++ b/client/src/app/routes/DashboardRoutes.tsx @@ -1,5 +1,6 @@ import SupportMePage from "app/pages/dashboard/misc/SupportMePage"; import { ErrorPage } from "app/pages/ErrorPage"; +import PrivacyPolicyPage from "app/pages/PrivacyPolicyPage"; import { Layout } from "components/layout/Layout"; import EmailVerify from "components/layout/misc/EmailVerify"; import { BannedContext } from "context/BannedContext"; @@ -55,6 +56,10 @@ export default function DashboardRoutes() { + + + + diff --git a/client/src/components/layout/footer/Footer.tsx b/client/src/components/layout/footer/Footer.tsx index 74ca5feb7..94214f2d0 100644 --- a/client/src/components/layout/footer/Footer.tsx +++ b/client/src/components/layout/footer/Footer.tsx @@ -58,6 +58,13 @@ export function Footer() { > Support / Patreon + window.scrollTo(0, 0)} + > + GDPR +