From 03a399d24fe0e33550e62009d4adc5f9e938b6ae Mon Sep 17 00:00:00 2001 From: Mrugesh Mohapatra Date: Mon, 18 Feb 2019 19:05:34 +0530 Subject: [PATCH] feat(pages): import privacy policy to subdirectory --- client/src/components/Footer/index.js | 4 +- client/src/pages/about.js | 4 +- .../src/pages/{about.css => common-pages.css} | 0 client/src/pages/privacy-policy.js | 266 ++++++++++++++++++ client/src/pages/support.js | 4 +- 5 files changed, 272 insertions(+), 6 deletions(-) rename client/src/pages/{about.css => common-pages.css} (100%) create mode 100644 client/src/pages/privacy-policy.js diff --git a/client/src/components/Footer/index.js b/client/src/components/Footer/index.js index 1502fb9198..17cc4eb99a 100644 --- a/client/src/components/Footer/index.js +++ b/client/src/components/Footer/index.js @@ -54,7 +54,7 @@ function Footer() { Donate Shop Sponsors - Email Us + Email Us Our Community @@ -76,7 +76,7 @@ function Footer() { Code of Conduct - Privacy Policy + Privacy Policy Terms of Service diff --git a/client/src/pages/about.js b/client/src/pages/about.js index 480b09e32d..4423671aea 100644 --- a/client/src/pages/about.js +++ b/client/src/pages/about.js @@ -20,7 +20,7 @@ import { import { Link, Spacer } from '../components/helpers'; -import './about.css'; +import './common-pages.css'; const AboutPage = () => { return ( @@ -354,7 +354,7 @@ const AboutPage = () => { - + Our privacy policy diff --git a/client/src/pages/about.css b/client/src/pages/common-pages.css similarity index 100% rename from client/src/pages/about.css rename to client/src/pages/common-pages.css diff --git a/client/src/pages/privacy-policy.js b/client/src/pages/privacy-policy.js new file mode 100644 index 0000000000..d2ad159818 --- /dev/null +++ b/client/src/pages/privacy-policy.js @@ -0,0 +1,266 @@ +/* eslint-disable max-len */ +import React, { Fragment } from 'react'; +import Helmet from 'react-helmet'; +import { Grid, Col, Row } from '@freecodecamp/react-bootstrap'; + +import { Link, Spacer } from '../components/helpers'; + +import './common-pages.css'; + +const PrivacyPolicyPage = () => { + return ( + + + + + + +

freeCodeCamp.org Privacy Policy: Questions and Answers

+
+

+ We take your privacy seriously. And we give you full control over + your data. +

+

+ freeCodeCamp doesn't show you ads or sell your data to anyone. Our + nonprofit is instead supported by thousands of donors - many of + whom have learned to code on freeCodeCamp, gotten developer jobs, + and want to help you do the same. +

+

Does freeCodeCamp collect anonymous data?

+

+ When you use use the freeCodeCamp.org website, we may collect some + anonymous data so we can understand how people are using + freeCodeCamp, and basic facts like which browser they're using. +

+

In what situations does freeCodeCamp collect personal data?

+

+ If you create a freeCodeCamp account, we will collect some + personal data so we can follow your progress toward earning + developer certifications, and so you can customize your developer + portfolio. +

+

Can I use freeCodeCamp anonymously?

+

+ Yes. You can access all of freeCodeCamp's articles, videos, + podcasts, and interactive coding lessons without creating an + account. And if you don't create an account, we won't collect any + personal data about you. +

+

+ This said, if you want to earn freeCodeCamp's developer + certifications, you will need to create an account so we can + follow your progress through our curriculum. +

+

If I create an account, what data will you collect?

+

+ We'll ask you for your email address so you can use it to sign + into freeCodeCamp, and so we can send you announcements and + helpful programming-related links. +

+

+ When you create an account on freeCodeCamp, we publish a developer + portfolio page for you on freeCodeCamp.org. If you want, you can + add details about yourself, like your name, geographic location, + and a link to your personal website. +

+

+ By default, your developer portfolio will show which freeCodeCamp + lessons you have completed and when you completed them. It will + also show your code solutions for our algorithm challenges, links + any projects you've submitted, and any developer certifications + you've earned. +

+

+ You have full control over your data, and can set any of these + details to private, or delete them at any time. +

+

+ You said I have full control over my data. What does that mean, + exactly? +

+

+ It means that at any time, you can download all of your data in a + convenient JSON format. +

+

+ You can control which data shows up on your developer portfolio. +

+

+ You can also delete any of your personal data, or even delete your + entire account. +

+

+ When I delete my personal data from freeCodeCamp, is it really + deleted from freeCodeCamp's servers? +

+

+ Yes. When you delete personal data from freeCodeCamp, we + immediately delete it from our servers. +

+

+ We make emergency backups of our database every day, and we delete + each of these backups after a few days. So within a few days, your + personal data won't even exist in our backups. +

+

Does freeCodeCamp meet Europe's GDPR privacy regulations?

+

+ Yes. freeCodeCamp respects the privacy rights covered by + Regulation (EU) 2016/679 - the European Union's General Data + Protection Regulation (GDPR). Our legal team has studied the GDPR, + and we've built new features to comply with all of its rules. +

+

+ Even though GDPR only protects European citizens, freeCodeCamp is + extending these protections to everyone all over the world. +

+

+ freeCodeCamp has organized all the information that GDPR requires + us to give you into this easy-to-read question-and-answer format. + Our goal is to inform you of your specific rights to access data, + erase it, port it, rectify it, and object to automated + decision-making. +

+

Who has access to my personal data?

+

+ Even though freeCodeCamp has thousands of volunteers, none of + those people have access to your private data. +

+

+ freeCodeCamp has a few full-time staff, some of whom work + directly on our databases. They have the ability to view your + private data, but only do so when providing you with technical + support. +

+

+ As for the personal data that you choose to share on your + developer portfolio, anyone on the internet can see it by + navigating to your developer portfolio's public URL. Again, + we've given you full control over what parts of your developer + profile are public. +

+

What is freeCodeCamp's Donor Privacy Policy?

+

+ freeCodeCamp will not share our donors' names or personal + information with anyone outside of our nonprofit organization's + team. Donors may choose to display that they are donating to + freeCodeCamp on their freeCodeCamp profile. Otherwise, donor + information will only be used to process donations and send + email confirmations. This policy applies to any written, verbal, + or electronic communication. +

+

Can any other organizations access my data?

+

+ We don't sell your data to anyone. In order to provide service + to you, your data does pass through some other services. All of + these companies are based in the United States. +

+

+ We use Amazon Web Services, Azure, and mLab for our servers and + databases. You can read the privacy policy for{' '} + + Amazon Web Services + + ,{' '} + + Microsoft Azure + + , and mLab + . +

+

+ We use Stripe and PayPal to process donations. You can read the + privacy policy for{' '} + Stripe and for{' '} + + PayPal + + . +

+

+ We use the CloudFlare and Netlify Content Delivery Networks so + that freeCodeCamp is fast in all parts of the world. You can + read the privacy policy for{' '} + + CloudFlare + {' '} + and Netlify{' '} + online. +

+

+ We use Auth0 to sign you into freeCodeCamp. You can read{' '} + + the privacy policy for Auth0 online + + . +

+

+ We use Google Analytics to help us understand the demographics + of our community and how people are using freeCodeCamp. You can + opt out of Google Analytics on freeCodeCamp by{' '} + + installing this browser plugin + + . You can read{' '} + + the privacy policy for Google Analytics online + + . +

+

+ For your convenience, we give you the option to sign in using + GitHub, Google, or Facebook if you don't want to use your email + address to sign in. If you choose to use one of these sign in + options, some of your freeCodeCamp data will be shared with + these companies. You can read{' '} + + the privacy policy for GitHub + {' '} + and for Google{' '} + and for{' '} + Facebook. +

+

I have questions about my privacy on freeCodeCamp.

+

+ We're happy to answer them. Email us at{' '} + + privacy@freecodecamp.org + + . +

+

How can I find out about changes?

+

+ This version of freeCodeCamp’s privacy questions and answers + took effect May 25, 2018. +

+

+ freeCodeCamp will announce the next version by email. In the + meantime, freeCodeCamp may update its contact information in + these questions and answers by updating this page + (https://www.freecodecamp.org/privacy-policy). +

+

+ freeCodeCamp may change how it announces changes in a future + version of these questions and answers. +

+

+ That's all, folks. Know your privacy rights, and stay safe out + there! +

+ +
+
+
+ ); +}; + +PrivacyPolicyPage.displayName = 'PrivacyPolicyPage'; + +export default PrivacyPolicyPage; diff --git a/client/src/pages/support.js b/client/src/pages/support.js index c5f011a7c4..4b3e421eb4 100644 --- a/client/src/pages/support.js +++ b/client/src/pages/support.js @@ -5,7 +5,7 @@ import { Grid, Col, Row } from '@freecodecamp/react-bootstrap'; import { Link, Spacer } from '../components/helpers'; -import './about.css'; +import './common-pages.css'; const SupportPage = () => { return ( @@ -47,7 +47,7 @@ const SupportPage = () => { cancel your donations right from your settings page. In the meantime, if you need to update or cancel your monthly donation, forward an invoice you received in your email to{' '} - team@freecodecamp.org{' '} + team@freecodecamp.org{' '} and tell us what you'd like us to do, and we'll take care of it for you in our database.