From f3439eba5c00ae4a597ce8477fc62b57d2cbf525 Mon Sep 17 00:00:00 2001 From: The_Grits Date: Fri, 13 May 2016 20:45:48 -0400 Subject: [PATCH 1/5] Add privacypolicy route --- src/routes.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/routes.json b/src/routes.json index 8dbe3f90f..9e7bc0c37 100644 --- a/src/routes.json +++ b/src/routes.json @@ -90,5 +90,11 @@ "pattern": "^/community_guidelines$", "view": "guidelines/guidelines", "title": "Scratch Community Guidelines" + }, + { + "name": "privacypolicy", + "pattern": "^/privacy_policy/?$", + "view": "privacypolicy/privacypolicy", + "title": "Privacy Policy" } ] From c2fca9c4c666b682830a5c69b60048d975b69e77 Mon Sep 17 00:00:00 2001 From: The_Grits Date: Sat, 14 May 2016 22:39:40 -0400 Subject: [PATCH 2/5] Squash and Merge --- src/views/privacypolicy/privacypolicy.jsx | 193 ++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 src/views/privacypolicy/privacypolicy.jsx diff --git a/src/views/privacypolicy/privacypolicy.jsx b/src/views/privacypolicy/privacypolicy.jsx new file mode 100644 index 000000000..ce3268000 --- /dev/null +++ b/src/views/privacypolicy/privacypolicy.jsx @@ -0,0 +1,193 @@ +var React = require('react'); +var FormattedMessage = require('react-intl').FormattedMessage; +var render = require('../../lib/render.jsx'); +var Page = require('../../components/page/www/page.jsx'); +var Box = require('../../components/box/box.jsx'); + +var Privacypolicy = React.createClass({ + type: 'Privacypolicy', + render: function () { + return ( +
+ +

+ We made Scratch so people like you could create projects, + share ideas, and build a community. To make this happen, + we collect some information for our users. The Scratch Team + understands how important privacy is to our community, + especially kids and parents. We wrote this privacy policy + to explain what information we collect, how we use it, + and what we're doing to keep it safe. If you have any + questions regarding this privacy policy, you can + contact us. +

+

+ Please do not share personal contact information, such as + your name, physical address, email address, phone number, + or anything else that can be used to make contact outside + of the Scratch website. Please report projects, comments, + or forum posts that contain this kind of information so + the Scratch team can remove it, and please remind the + author of our policy. +

+

What information does the Scratch Team collect about me?

+

+ Account Information: + In order to build projects or comment on other users' projects, + you need to make an account. During account creation, we ask you + for a username, your country, birth month and year, gender, and + your email address (or your parent or guardian's email address if + you are under 13 years old). We ask that you select a user name + that does not disclose your real name or other information that + could identify you. Other users can see your username and country, + but not your age, gender, or email address. +

+

+ User-generated Content: + All of your Scratch projects, comments, and forum posts are stored + on the Scratch servers. Other users can see your shared projects, + comments, and forum posts, along with your username. Because the + Scratch Team is responsible for moderation, we have access to all + content stored on the Scratch website, including unshared projects. + If you prefer to work on projects in complete privacy, you can use + either the Scratch 2 offline editor + or Scratch 1.4. +

+

+ Usage Information: + When you use Scratch, our servers will automatically store a limited + amount of information about how you use the website. This information + includes a number that identifies your computer (the IP address), which + pages you visited, and what browser you are using. +

+

+ Google Analytics: + We also collect some data on where you click and which parts of the + site you visit using Google Analytics. This "click data" helps us figure + out ways to improve the website. Information collected and processed by + Google Analytics includes the user's IP address, network location, and + geographic location. Google Analytics acquires all its information + directly from the user, by installing a cookie (see below) on your + computer, if you have enabled JavaScript. Scratch does not share any + information it collects with Google, and Google does not collect any + personal identifying information about you. +

+

+ Cookies: + When you log in, the Scratch website asks your browser to put an http + "cookie" on your computer. The cookie is actually a small text file + that our site can send to your browser for storage on your computer. + This allows the website to remember that you are logged in when you + go to a different page. +

+

How does the Scratch Team use my information?

+
    +
  • + We collect age and gender data so that we know who is using our + website. +
  • +
  • + If you forget your password, we will ask you to disclose to us + your birth month and year so that we can verify your account, and + your email address so that we can send you a new password. +
  • +
  • + We will use your email address to respond to messages you send us + or to communicate with you about the Scratch service or your account. +
  • +
  • + We send out occasional email updates about Scratch to the confirmed + email address on your account. Scratch will never sell or share your + email address without your permission. You can unsubscribe from these + updates by clicking the unsubscribe link found at the bottom of the + email. +
  • +
  • + Parents and guardians who register their under-13 year olds for + Scratch may also receive additional updates from the + Scratch Foundation, + a non-profit that supports Scratch educational initiatives. + The Scratch Foundation will never sell or share your email + address without your permission. You can unsubscribe from these + updates by clicking the unsubscribe link found at the bottom of + the email. +
  • +
  • + If we detect repeated abusive behavior from your account, IP address, + or email address, we may share your account name, IP address, and the + time and content of the abusive behavior with the IP address owner + (such as a school or internet service provided). +
  • +
  • + We may use de-identified location, age, gender, and usage data + in research studies intended to improve our understanding of + how people learn with Scratch. The results of this research are + shared with educators and researchers through conferences, + journals, and other publications. You can find out more on our + Research page. +
  • +
  • + We may disclose some of the information we collect to third-party + service providers that help us manage communications to and from + the Scratch website and improve website performance. We are + satisfied that these service providers have privacy policies that + restrict them from further disclosing any of your information. +
  • +
  • + Other than as described above, we will never share personally + identifiable information about you with any other person, + company, or organization, except: +
      +
    • + As required to comply with our obligations under the law. +
    • +
    • + For technical reasons, if we are required to transfer the + data on our servers to another location or organization. +
    • +
    +
  • +
+

How can I update my personal information?

+

+ You can update your password, email address, and country through + the Account Settings page. + You can also reset your password through the + Account Reset + page. You cannot change your username, but you can make a new + account and manually copy your projects to the new account. +

+

+ If you want to delete your account entirely, log in to Scratch, + and then click your username in the top right-hand corner. Select + "Account Settings," then click the "I want to delete my account" + link at the bottom of the page. +

+

How does the Scratch Team protect my information?

+

+ The Scratch Team has in place physical and electronic procedures + to protect the information we collect on the Scratch website. We + strictly limit individual access to the Scratch servers and the + data we store on them. However, as effective as these measures + are, no security system is impenetrable. We cannot completely + guarantee the security of our database, nor can we guarantee that + the information you supply will not be intercepted while being + transmitted to us over the Internet. +

+

Notifications of Changes to the Privacy Policy

+

+ We review our security measures and Privacy Policy on a periodic + basis, and we may modify our policies as appropriate. We may also + change or update our Privacy Policy if we add new services or + features. If we make any changes to our privacy practices, we will + amend this Privacy Policy accordingly and post the amended policy + on the Scratch website. We encourage you to review our Privacy + Policy on a regular basis. +

+
+
+ ); + } +}); + +render(, document.getElementById('app')); From 5d05d19566dd87de338de97a31f86786df37b574 Mon Sep 17 00:00:00 2001 From: The_Grits Date: Sat, 14 May 2016 23:21:10 -0400 Subject: [PATCH 3/5] aha Does this fix the lint error? --- src/views/privacypolicy/privacypolicy.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/privacypolicy/privacypolicy.jsx b/src/views/privacypolicy/privacypolicy.jsx index ce3268000..e8ff02fe4 100644 --- a/src/views/privacypolicy/privacypolicy.jsx +++ b/src/views/privacypolicy/privacypolicy.jsx @@ -152,8 +152,8 @@ var Privacypolicy = React.createClass({

You can update your password, email address, and country through the Account Settings page. - You can also reset your password through the - Account Reset + You can also reset your password through the + Account Reset page. You cannot change your username, but you can make a new account and manually copy your projects to the new account.

From 5e9c87e9ebf947b311818b5dbe6d67b415a67f08 Mon Sep 17 00:00:00 2001 From: The_Grits Date: Mon, 16 May 2016 06:44:01 -0400 Subject: [PATCH 4/5] Update Travis --- .travis.yml | 10 ++-------- package.json | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6267fb4a6..f0faf2485 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ node_js: sudo: required cache: directories: + - /home/travis/virtualenv/python2.7/lib/python2.7/site-packages - node_modules notifications: slack: @@ -21,7 +22,6 @@ env: - secure: EX1fyov+f6ytWN2ZSL4dLslwrVkp6Ho/uoSLO38/qNG3XdGmBN4VprxddcQiWfo+Mrg3GdWcfcM/VazhhStBi1uLfZiw3RHZaSGuWbiuD2EtzqtlC+OVvoajgy91QFajh9Zzuwa0rYbEPd/sw01R53NoWJYl0GSteWk7C8Wv6anl4FUJCqgvvTV2ZEcyTtGcVJgUhKi1MfNpTSM6JWBy0DWszcyxj7C8LSs1+l9ZjAtnlUBWY13HsrNu8G5d+FwqGHZLUAjdu2O602wxV897/xLARLduZ+01ALpVefNEEGMB1Wd+xMw4dm2B0Uk86a4TBRCeOgJZ1yoJoPpGPOHTo+dgNXcU8ReszGVoy7uOjFWwu82FQq8gzfcf75yzaRJgG8/BJ6BkJfa0EmFg3iO5CwixQyHR5+CqsedtoLAWVT8zlOfQ/Z6yx4Pm7jXQSOkyvo09YJ2QIn4IFGPvwOVS7Firzi+fLl8GYApeSV9G10e1IzA4pPrKdJMRA4qRMPt9zJGq7ZO1J/d9aW/5KIsJUDnodnl7yXJyDMOyNeljT9I82ciHZcURxRRY080vrW6dgNJE1V9jxBhWEvr2iCeWMMedWaGuC41I7K9L79eW8lmaE+cQ+OZrzpOJP4GbfmIiXrh+0M4ChL/xBpjtiFwpNdkCXXhzWMnjJ4wCrii4yuc= - AWS_ACCESS_KEY_ID=$EB_AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY=$EB_AWS_SECRET_ACCESS_KEY - - CXX=g++-4.8 - FASTLY_ACTIVATE_CHANGES=true # FASTLY_API_KEY - secure: XNWcCnqSAd4MpKg6FVe3WeFmdqfdH753+PBCOEkJrHS+AHmLMuWsjIQFJ3LUR9ylEQRVPR2OyXJW/R8NI9toStREgwE4fwIVo0l4fwYqLStxYpEKlcWfkJ3uNpRZhvcVmUBycelrnjJqXVdrtlxPCKX0tNkpcKH2b98We7A2/r7HxKv13upDxWTQ/qRUv0+SJCRTB4n/QInABi87Ef8Q2rNGrL0WQzQvVBeiEXOP0JSkyYK4+q65gswMKPehgiFagnYVgJN9J9Q1VrBDc06gidbznBcEpPaBAYvsTTY9dWTJxaaKNSrmOIe/OiuJUEHjb+8NL+j6Lp7wX8lzEjbr0FkVlFnxS9VbftS2KFkN7+c3RF57+tsq0xwJ6vgomIVS5FupHgl/oCJicnH/FLfynditOLZhmhF+Ed5GCAoIEamRRzcVHdjvglsEtYsDX1/z2t+HKYtPQuXYOywDRVTSPf88eEbu8ehfgNcYaIAuD6eedyDnKTOIv7owWs3Y7GsxQ2jBLGXq1YoUEkPtB0vfaHi72CeEhDQ53mEn2Ure47UMGMgUjKtiIhDBNTbECwP/ZDJv1accGRljKjDy93aCJeRi1T7Op7tDbHSl4ScieeOwOeKJMcD1U5JGdA/sRnjjgSKb24P2ys4NYr95dgqWNNGPGMxca+lGufzdEaTQT44= @@ -50,15 +50,9 @@ env: - SKIP_CLEANUP=true - NODE_ENV=production - WWW_VERSION=${TRAVIS_COMMIT:0:5} -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - g++-4.8 install: - sudo -H pip install -r requirements.txt - - npm install + - npm --production=false install deploy: - provider: script skip_cleanup: $SKIP_CLEANUP diff --git a/package.json b/package.json index 6f922e101..727df8d0c 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "minilog": "2.0.8", "node-sass": "3.3.3", "pako": "0.2.8", - "po2icu": "git://github.com/LLK/po2icu.git#develop", + "po2icu": "0.0.2", "postcss-loader": "0.8.2", "react-addons-test-utils": "0.14.7", "react-modal": "0.6.1", From 76c003d85408a44d12bc5f4dbf7440aadf425fb2 Mon Sep 17 00:00:00 2001 From: The_Grits Date: Mon, 16 May 2016 06:45:06 -0400 Subject: [PATCH 5/5] Lint fixes --- src/views/privacypolicy/privacypolicy.jsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/views/privacypolicy/privacypolicy.jsx b/src/views/privacypolicy/privacypolicy.jsx index e8ff02fe4..057b553f1 100644 --- a/src/views/privacypolicy/privacypolicy.jsx +++ b/src/views/privacypolicy/privacypolicy.jsx @@ -1,5 +1,4 @@ var React = require('react'); -var FormattedMessage = require('react-intl').FormattedMessage; var render = require('../../lib/render.jsx'); var Page = require('../../components/page/www/page.jsx'); var Box = require('../../components/box/box.jsx'); @@ -153,8 +152,8 @@ var Privacypolicy = React.createClass({ You can update your password, email address, and country through the Account Settings page. You can also reset your password through the - Account Reset - page. You cannot change your username, but you can make a new + Account Reset + page. You cannot change your username, but you can make a new account and manually copy your projects to the new account.

@@ -184,7 +183,7 @@ var Privacypolicy = React.createClass({ on the Scratch website. We encourage you to review our Privacy Policy on a regular basis.

- + ); }