Skip to content
This repository has been archived by the owner on Jan 17, 2023. It is now read-only.

Commit

Permalink
Merge pull request #706 from meandavejustice/619-privacy-tos
Browse files Browse the repository at this point in the history
Add privacy and terms of use pages
  • Loading branch information
lmorchard committed May 4, 2016
2 parents fc28163 + 586365d commit ca8af43
Show file tree
Hide file tree
Showing 12 changed files with 372 additions and 6 deletions.
23 changes: 23 additions & 0 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ const sourcemaps = require('gulp-sourcemaps');
const through = require('through2');
const uglify = require('gulp-uglify');
const tryRequire = require('try-require');
const Remarkable = require('remarkable');
const md = new Remarkable();

const IS_DEBUG = (process.env.NODE_ENV === 'development');

Expand Down Expand Up @@ -57,6 +59,25 @@ gulp.task('clean', function cleanTask() {
]);
});

const legalTemplates = require('./legal-copy/legal-templates');

function convertToLegalPage() {
return through.obj(function(file, encoding, callback) {
file.contents = new Buffer(`${legalTemplates.templateBegin}
${md.render(file.contents.toString())}
${legalTemplates.templateEnd}`);
file.path = gutil.replaceExtension(file.path, '.html');
this.push(file);
callback();
});
}

gulp.task('legal', function legalTask() {
return gulp.src('./legal-copy/*.md')
.pipe(convertToLegalPage())
.pipe(gulp.dest('./legal-copy/'));
});

// based on https://github.com/gulpjs/gulp/blob/master/docs/recipes/browserify-with-globs.md,
// except we use the Promise returned by globby, instead of passing it a callback.
gulp.task('scripts', shouldLint('js-lint', 'lint'), function scriptsTask() {
Expand Down Expand Up @@ -143,6 +164,7 @@ gulp.task('build', function buildTask(done) {
'images',
'locales',
'addon',
'legal',
done
);
});
Expand All @@ -152,6 +174,7 @@ gulp.task('watch', ['build'], function watchTask() {
gulp.watch(SRC_PATH + 'images/**/*', ['images']);
gulp.watch(SRC_PATH + 'app/**/*.js', ['scripts']);
gulp.watch(SRC_PATH + 'addon/**/*', ['addon']);
gulp.watch(['./legal-copy/*.md', './legal-copy/*.js'], ['legal']);
gulp.watch('./locales/**/*', ['locales']);
});

Expand Down
62 changes: 62 additions & 0 deletions legal-copy/legal-templates.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
module.exports.templateBegin = `
<!doctype html>
<html>
<head>
<title>Test Pilot</title>
<link rel="shortcut icon" href="/static/images/favicon.ico">
<link rel="stylesheet" href="https://code.cdn.mozilla.net/fonts/fira.css">
<link rel="stylesheet" href="/static/styles/main.css">
<meta charset="utf-8">
<meta name="defaultLanguage" content="en-US">
<meta name="availableLanguages" content="en-US">
<meta name="viewport" content="width=device-width">
<link rel="localization" href="/static/locales/{locale}/app.l20n'">
</head>
<body>
<div data-hook="page-container">
<div class="flat-blue">
<div class="shifted-stars"></div>
<header id="main-header" class="responsive-content-wrapper">
<h1>
<a href="/" class="wordmark" data-l10n-id="siteName">Firefox Test Pilot</a>
</h1>
</header>
</div>
<div class="full-page-wrapper space-between">
<div class="responsive-content-wrapper">`,

module.exports.templateEnd = `
</div>
<footer id="main-footer" class="responsive-content-wrapper">
<div id="footer-links">
<a href="https://www.mozilla.org" class="mozilla-logo"></a>
<a data-l10n-id="footerLinkLegal" href="https://www.mozilla.org/about/legal/" class="boilerplate">Legal</a>
<a data-l10n-id="footerLinkPrivacy" href="/privacy" class="boilerplate">Privacy</a>
<a data-l10n-id="footerLinkTerms" href="/privacy" class="boilerplate">Terms of Use</a>
<a data-l10n-id="footerLinkCookies" href="https://www.mozilla.org/privacy/websites/#cookies" class="boilerplate">Cookies</a>
<a data-l10n-id="footerLinkContribute" href="https://www.mozilla.org/contribute/signup/" class="boilerplate">Contribute</a>
</div>
</footer>
</div>
</div>
<script src="https://pontoon.mozilla.org/pontoon.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)
},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
if (typeof(ga) !== 'undefined') {
ga('create', 'UA-49796218-34', 'auto');
} else {
console.warn(
'You have google analytics blocked. We understand. Take a ' +
'look at our privacy policy to see how we handle your data.'
);
}
</script>
</body>
</html>`;
84 changes: 84 additions & 0 deletions legal-copy/privacy-notice.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@

<!doctype html>
<html>
<head>
<title>Test Pilot</title>
<link rel="shortcut icon" href="/static/images/favicon.ico">
<link rel="stylesheet" href="https://code.cdn.mozilla.net/fonts/fira.css">
<link rel="stylesheet" href="/static/styles/main.css">

<meta charset="utf-8">
<meta name="defaultLanguage" content="en-US">
<meta name="availableLanguages" content="en-US">
<meta name="viewport" content="width=device-width">
<link rel="localization" href="/static/locales/{locale}/app.l20n'">

</head>
<body>
<div data-hook="page-container">
<div class="flat-blue">
<div class="shifted-stars"></div>
<header id="main-header" class="responsive-content-wrapper">
<h1>
<a href="/" class="wordmark" data-l10n-id="siteName">Firefox Test Pilot</a>
</h1>
</header>
</div>
<div class="full-page-wrapper space-between">
<div class="responsive-content-wrapper">
<h1>Test Pilot Privacy Notice</h1>
<p>May 3, 2016</p>
<p>Mozilla cares about your Privacy. The <a href="https://www.mozilla.org/privacy/">Mozilla Privacy Policy</a> describes how we handle information that we receive from you in connection with Test Pilot.</p>
<h2>Things you should know</h2>
<p>Firefox sends Mozilla data when Test Pilot is installed; and also if a Test Pilot Experiment is enabled. This includes data on Firefox and user interactions with Firefox. We use this data to build better Firefox features. &lt;a&gt;Learn More.&lt;/a&gt;</p>
<ul>
<li><p><strong>General Data Collection:</strong> Firefox starts sending Mozilla data once the Test Pilot Add-On is installed. In addition, Mozilla receives data from enabled Test Pilot Experiments. Before enabling a Test Pilot Experiment, you can review the specific data collection by checking the “Your Privacy” section of the Experiment’s information page.</p>
<ul>
<li><p><strong>Telemetry and Browser Data:</strong> Test Pilot uses Firefox’s Telemetry to send Mozilla data about your Browser and Test Pilot. Installing the Test Pilot Add-On will enable Telemetry if it was not already enabled. Telemetry is a feature in Firefox that sends Mozilla usage, performance, and responsiveness statistics about user interface features, memory, and hardware configuration. Your IP address is also collected as a part of a standard server log. Usage statistics are transmitted using SSL and help us improve future versions of Firefox. In addition to the normal data sent by Firefox’s Telemetry, the Test Pilot Add-On also sends <a href="https://github.com/mozilla/testpilot/blob/master/docs/README-METRICS.md">information</a> about your installed Test Pilot Experiments and User Agent String to Mozilla.</p></li>
<li><p><strong>Usage Data:</strong> We want to better understand how Test Pilot users interact with Firefox during specific Test Pilot Experiments. For example, in addition to the normal data collected by Firefox’s Telemetry, we may measure user interactions with mouse, touch, and accessibility tools, as well as Firefox interfaces and controls; the timing and frequency of these actions, etc.</p></li>
</ul></li>
<li><p><strong>Turning-off Data Collection:</strong> Individual Test Pilot Experiments can be disabled by you at anytime, which will stop corresponding data collection. Note, however, that we’ll continue to receive data from Firefox, and the Test Pilot webpages you visit, until the Test Pilot Add-on is uninstalled.</p></li>
<li><p><strong>Choice, Control, Minimization:</strong> We try to balance your privacy with our need for data to improve Firefox. Test Pilot, and each Test Pilot Experiment, are optional. We minimize data collection to only what is needed. We also try to separate personal information (such as your Firefox Account email) from browser, usage, and referral data; this allows us to better understand user engagement without identifying your behavior specifically.</p></li>
</ul>
<p>We connect with Test Pilot participants using email, Firefox, and on the Test Pilot website. To better understand user engagement with Test Pilot, we also use cookies, analytics, and non-Mozilla services. &lt;a&gt;Learn More.&lt;/a&gt;</p>
<ul>
<li><p><strong>Server Logs:</strong> Your interaction with the Test Pilot website, including the installation of the Test Pilot Add-On and any Experiments, is collected as part of a standard server log. This server log data will be associated with your IP address and Firefox Account ID, and will be routinely destroyed in accordance with our Privacy Policies.</p></li>
<li><p><strong>Communications:</strong> When Test Pilot is enabled, we use your Firefox Account email address or Firefox, to obtain feedback and notify you of new Test Pilot Experiments. If you disable a specific Test Pilot Experiment, we may contact you to learn more about your experience. You can opt-out from email communications using the “unsubscribe” link or by uninstalling the Test Pilot Add-On.</p></li>
<li><p><strong>Cookies and Analytics:</strong> We use cookies, clear GIFs, and analytics in our communications and on our webpages. For example, cookies are used to remember your Firefox Account information and analytics are used to measure engagement with our emails and webpages. Learn more about our privacy practices in connection with websites, communications, and cookies <a href="https://www.mozilla.org/en-US/privacy/websites/">here</a>.</p></li>
<li><p><strong>Referral Data:</strong> We collect information about the source that referred you to Test Pilot (e.g., Firefox snippet, email, webpage link, etc.).</p></li>
<li><p><strong>Non-Mozilla Services:</strong> We use services of other companies like ExactTarget, Google, and SurveyGizmo for emails, analytics, and surveys. We encourage you to review their privacy policies and terms, as they are different from ours.</p></li>
</ul>


</div>
<footer id="main-footer" class="responsive-content-wrapper">
<div id="footer-links">
<a href="https://www.mozilla.org" class="mozilla-logo"></a>
<a data-l10n-id="footerLinkLegal" href="https://www.mozilla.org/about/legal/" class="boilerplate">Legal</a>
<a data-l10n-id="footerLinkPrivacy" href="/privacy" class="boilerplate">Privacy</a>
<a data-l10n-id="footerLinkTerms" href="/privacy" class="boilerplate">Terms of Use</a>
<a data-l10n-id="footerLinkCookies" href="https://www.mozilla.org/privacy/websites/#cookies" class="boilerplate">Cookies</a>
<a data-l10n-id="footerLinkContribute" href="https://www.mozilla.org/contribute/signup/" class="boilerplate">Contribute</a>
</div>
</footer>
</div>
</div>
<script src="https://pontoon.mozilla.org/pontoon.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)
},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

if (typeof(ga) !== 'undefined') {
ga('create', 'UA-49796218-34', 'auto');
} else {
console.warn(
'You have google analytics blocked. We understand. Take a ' +
'look at our privacy policy to see how we handle your data.'
);
}
</script>
</body>
</html>
30 changes: 30 additions & 0 deletions legal-copy/privacy-notice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Test Pilot Privacy Notice
May 3, 2016

Mozilla cares about your Privacy. The [Mozilla Privacy Policy](https://www.mozilla.org/privacy/) describes how we handle information that we receive from you in connection with Test Pilot.

## Things you should know

Firefox sends Mozilla data when Test Pilot is installed; and also if a Test Pilot Experiment is enabled. This includes data on Firefox and user interactions with Firefox. We use this data to build better Firefox features. <a>Learn More.</a>

- **General Data Collection:** Firefox starts sending Mozilla data once the Test Pilot Add-On is installed. In addition, Mozilla receives data from enabled Test Pilot Experiments. Before enabling a Test Pilot Experiment, you can review the specific data collection by checking the “Your Privacy” section of the Experiment’s information page.

- **Telemetry and Browser Data:** Test Pilot uses Firefox’s Telemetry to send Mozilla data about your Browser and Test Pilot. Installing the Test Pilot Add-On will enable Telemetry if it was not already enabled. Telemetry is a feature in Firefox that sends Mozilla usage, performance, and responsiveness statistics about user interface features, memory, and hardware configuration. Your IP address is also collected as a part of a standard server log. Usage statistics are transmitted using SSL and help us improve future versions of Firefox. In addition to the normal data sent by Firefox’s Telemetry, the Test Pilot Add-On also sends [information](https://github.com/mozilla/testpilot/blob/master/docs/README-METRICS.md) about your installed Test Pilot Experiments and User Agent String to Mozilla.

- **Usage Data:** We want to better understand how Test Pilot users interact with Firefox during specific Test Pilot Experiments. For example, in addition to the normal data collected by Firefox’s Telemetry, we may measure user interactions with mouse, touch, and accessibility tools, as well as Firefox interfaces and controls; the timing and frequency of these actions, etc.

- **Turning-off Data Collection:** Individual Test Pilot Experiments can be disabled by you at anytime, which will stop corresponding data collection. Note, however, that we’ll continue to receive data from Firefox, and the Test Pilot webpages you visit, until the Test Pilot Add-on is uninstalled.

- **Choice, Control, Minimization:** We try to balance your privacy with our need for data to improve Firefox. Test Pilot, and each Test Pilot Experiment, are optional. We minimize data collection to only what is needed. We also try to separate personal information (such as your Firefox Account email) from browser, usage, and referral data; this allows us to better understand user engagement without identifying your behavior specifically.

We connect with Test Pilot participants using email, Firefox, and on the Test Pilot website. To better understand user engagement with Test Pilot, we also use cookies, analytics, and non-Mozilla services. <a>Learn More.</a>

- **Server Logs:** Your interaction with the Test Pilot website, including the installation of the Test Pilot Add-On and any Experiments, is collected as part of a standard server log. This server log data will be associated with your IP address and Firefox Account ID, and will be routinely destroyed in accordance with our Privacy Policies.

- **Communications:** When Test Pilot is enabled, we use your Firefox Account email address or Firefox, to obtain feedback and notify you of new Test Pilot Experiments. If you disable a specific Test Pilot Experiment, we may contact you to learn more about your experience. You can opt-out from email communications using the “unsubscribe” link or by uninstalling the Test Pilot Add-On.

- **Cookies and Analytics:** We use cookies, clear GIFs, and analytics in our communications and on our webpages. For example, cookies are used to remember your Firefox Account information and analytics are used to measure engagement with our emails and webpages. Learn more about our privacy practices in connection with websites, communications, and cookies [here](https://www.mozilla.org/en-US/privacy/websites/).

- **Referral Data:** We collect information about the source that referred you to Test Pilot (e.g., Firefox snippet, email, webpage link, etc.).

- **Non-Mozilla Services:** We use services of other companies like ExactTarget, Google, and SurveyGizmo for emails, analytics, and surveys. We encourage you to review their privacy policies and terms, as they are different from ours.
Loading

0 comments on commit ca8af43

Please sign in to comment.