From 541a1f93bcaf02032d5d51b722b07fb7a8a25551 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 27 Jan 2023 00:45:23 -0800 Subject: [PATCH] feat: add privacy policy (#1484) --- .env.example | 1 + components/nav/NavFooter.vue | 6 ++++ constants/index.ts | 2 -- docs/content/2.deployment/1.netlify.md | 1 + docs/content/privacy.md | 38 ++++++++++++++++++++++++++ locales/en.json | 1 + nuxt.config.ts | 1 + 7 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 docs/content/privacy.md diff --git a/.env.example b/.env.example index c3cc17d0f4..a0aebb6b52 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,6 @@ NUXT_PUBLIC_TRANSLATE_API= NUXT_PUBLIC_DEFAULT_SERVER= +NUXT_PUBLIC_PRIVACY_POLICY_URL= # Production only NUXT_CLOUDFLARE_ACCOUNT_ID= diff --git a/components/nav/NavFooter.vue b/components/nav/NavFooter.vue index 223a71aa53..ef8484b03a 100644 --- a/components/nav/NavFooter.vue +++ b/components/nav/NavFooter.vue @@ -73,6 +73,12 @@ function toggleDark() { {{ $t('settings.about.label') }} + · Mastodon diff --git a/constants/index.ts b/constants/index.ts index e98fcf6425..c5c1d39dc7 100644 --- a/constants/index.ts +++ b/constants/index.ts @@ -20,6 +20,4 @@ export const STORAGE_KEY_NOTIFICATION = 'elk-notification' export const STORAGE_KEY_NOTIFICATION_POLICY = 'elk-notification-policy' export const STORAGE_KEY_PWA_HIDE_INSTALL = 'elk-pwa-hide-install' -export const COOKIE_MAX_AGE = 10 * 365 * 24 * 60 * 60 * 1000 - export const HANDLED_MASTO_URLS = /^(https?:\/\/)?([\w\d-]+\.)+\w+\/(@[@\w\d-\.]+)(\/objects)?(\/\d+)?$/ diff --git a/docs/content/2.deployment/1.netlify.md b/docs/content/2.deployment/1.netlify.md index 054f3be687..8068bd9821 100644 --- a/docs/content/2.deployment/1.netlify.md +++ b/docs/content/2.deployment/1.netlify.md @@ -45,6 +45,7 @@ There are 5 environment variables to add. | NUXT_CLOUDFLARE_NAMESPACE_ID | This is your CloudFlare KV Namespace ID. You can find it in "Workers > KV". | | NUXT_STORAGE_DRIVER | Because we're using CloudFlare, we'll need to set this to `cloudflare`. | | NUXT_PUBLIC_DEFAULT_SERVER | This is the address of the Mastodon instance that will show up when a user visits your Elk deployment and is not logged in. If you don't make that variable, it will point to `m.webtoo.ls` by default. | +| NUXT_PUBLIC_PRIVACY_POLICY_URL | This is the URL to a web page with information on your privacy policy. | That's it! All that's left to do is... diff --git a/docs/content/privacy.md b/docs/content/privacy.md new file mode 100644 index 0000000000..4ccf07f1ef --- /dev/null +++ b/docs/content/privacy.md @@ -0,0 +1,38 @@ +# Privacy + +> Last updated January 27, 2023 + +This privacy notice for Elk describes how we handle your information when you: + +- Visit https://elk.zone, https://main.elk.zone or https://docs.elk.zone. + +- Download and use our mobile or desktop application (Elk) + +::alert{type=warning} +Elk is [open source](https://github.com/elk-zone/elk) and other websites that link to this privacy notice may not be affiliated with Elk or bound by this policy. +:: + +## Information + +We do not collect or process your personal or sensitive information. + +The only information retained by Elk when you use it is the host name of your Mastodon instance, which we need in order to log you in to that instance. + +We use two third-party providers to provide server and content delivery network (CDN) capacity. They each have their own privacy policies which you can read: [Cloudflare](https://www.cloudflare.com/privacypolicy/) and [Netlify](https://www.netlify.com/privacy/). + +We use aggregated information from these third-party providers to let us know about traffic and visits to Elk. + +## Tracking + +We do not use tracking technologies (for example, cookies). We store information about your user interface preferences in your local browser storage. + +## Updates + +We will update this notice as necessary to stay compliant with relevant laws. + +When we update this privacy notice, the updated version will be indicated by a new 'Revised' date. The updated version will be effective as soon as it is accessible. If we make material changes to this privacy notice, we may notify you either by prominently posting a notice of such changes or by directly sending you a notification. We encourage you to review this privacy notice frequently to be informed of how we are protecting your information. + +## Contact + +If you have questions or comments about this notice, you may raise an issue at https://github.com/elk-zone/elk. + diff --git a/locales/en.json b/locales/en.json index 6157cad793..dd037dc8c3 100644 --- a/locales/en.json +++ b/locales/en.json @@ -221,6 +221,7 @@ "local": "Local", "muted_users": "Muted users", "notifications": "Notifications", + "privacy": "Privacy", "profile": "Profile", "search": "Search", "select_feature_flags": "Toggle Feature Flags", diff --git a/nuxt.config.ts b/nuxt.config.ts index f78be1e862..559e3c7c6f 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -93,6 +93,7 @@ export default defineNuxtConfig({ apiToken: '', }, public: { + privacyPolicyUrl: '', env: '', // set in build-env module buildInfo: {} as BuildInfo, // set in build-env module pwaEnabled: !isDevelopment || process.env.VITE_DEV_PWA === 'true',