Merge lp:~cjwatson/canonical-identity-provider/central-terms into lp:canonical-identity-provider/release

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: no longer in the source branch.
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: lp:~cjwatson/canonical-identity-provider/central-terms
Merge into: lp:canonical-identity-provider/release
Diff against target: 432 lines (+13/-354)
5 files modified
django_project/settings_base.py (+3/-1)
src/webui/templates/_footer.html (+2/-2)
src/webui/templates/registration/_create_account_form.html (+1/-1)
src/webui/templates/static/privacy.html (+0/-348)
src/webui/urls.py (+7/-2)
To merge this branch: bzr merge lp:~cjwatson/canonical-identity-provider/central-terms
Reviewer Review Type Date Requested Status
Daniel Manrique (community) Approve
Review via email: mp+346765@code.launchpad.net

Commit message

Refer to terms of service and data privacy policy on www.ubuntu.com rather than locally.

Description of the change

I couldn't entirely get rid of the local terms of service text because of /terms/embedded/, but that shouldn't be a major problem for now.

To post a comment you must log in.
Revision history for this message
Daniel Manrique (roadmr) wrote :

+1, thanks!

Not sure about terms/embedded but we could tackle that later.

review: Approve
Revision history for this message
Otto Co-Pilot (otto-copilot) wrote :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'django_project/settings_base.py'
2--- django_project/settings_base.py 2018-05-10 20:08:13 +0000
3+++ django_project/settings_base.py 2018-05-23 17:32:45 +0000
4@@ -462,6 +462,7 @@
5 PREFLIGHT_TABLE_CLASS = 'listing'
6 PREPEND_WWW = False
7 PRE_AUTHORIZATION_VALIDITY = 2
8+PRIVACY_POLICY_URL = 'https://www.ubuntu.com/legal/dataprivacy'
9 PROFANITIES_LIST = []
10 PROFILE_FILENAME = 'sso.profile'
11 PROFILE_PATTERN = '(api|identityprovider|ubuntu_sso_saml|webui)\\..*'
12@@ -578,7 +579,8 @@
13 },
14 }
15 ]
16-TERMS_OF_SERVICE_URL = 'https://login.ubuntu.com/terms/'
17+TERMS_OF_SERVICE_URL = (
18+ 'https://www.ubuntu.com/legal/terms-and-policies/terms-of-service')
19 TESTING = False
20 THOUSAND_SEPARATOR = ','
21 THROTTLE_MAX_REQUESTS = 3600
22
23=== modified file 'src/webui/templates/_footer.html'
24--- src/webui/templates/_footer.html 2018-05-10 20:08:13 +0000
25+++ src/webui/templates/_footer.html 2018-05-23 17:32:45 +0000
26@@ -10,8 +10,8 @@
27 <p class="title">{% trans "Ubuntu One. One place to log in to everything on Ubuntu." %}</p>
28 <p class="links">
29 {% spaceless %}
30-<a href="{% url 'terms_and_conditions' %}">{% trans "Terms" %}</a>&nbsp;&middot;&nbsp;
31-<a href="{% url 'privacy_policy' %}">{% trans "Privacy" %}</a>&nbsp;&middot;&nbsp;
32+<a href="{{ 'terms_of_service'|static_url }}">{% trans "Terms" %}</a>&nbsp;&middot;&nbsp;
33+<a href="{{ 'privacy_policy'|static_url }}">{% trans "Privacy" %}</a>&nbsp;&middot;&nbsp;
34 <a href="{{ 'support_form'|static_url }}">{% trans "Support" %}</a>&nbsp;&middot;&nbsp;
35 <a href="{{ 'dp_bugs'|static_url }}">{% trans "Report a bug on this site" %}</a>
36 {% block language_footer %}
37
38=== modified file 'src/webui/templates/registration/_create_account_form.html'
39--- src/webui/templates/registration/_create_account_form.html 2017-02-26 01:29:52 +0000
40+++ src/webui/templates/registration/_create_account_form.html 2018-05-23 17:32:45 +0000
41@@ -71,7 +71,7 @@
42
43 {{ create_form.accept_tos }}
44
45- <label for="id_accept_tos">{% blocktrans with "terms_of_service"|static_url as tos_url %}I have read and accept the <a href='{{ tos_url }}' class='external' target="_blank">Ubuntu One terms of service</a>{% endblocktrans %}</label>
46+ <label for="id_accept_tos">{% blocktrans with tos_url="terms_of_service"|static_url privacy_url="privacy_policy"|static_url %}I have read and accept the <a href="{{ tos_url }}" class="external" target="_blank">Ubuntu One terms of service</a> and <a href="{{ privacy_url }}" class="external" target="_blank">data privacy policy</a>{% endblocktrans %}</label>
47
48 </div>
49
50
51=== removed file 'src/webui/templates/static/privacy.html'
52--- src/webui/templates/static/privacy.html 2014-07-30 18:05:14 +0000
53+++ src/webui/templates/static/privacy.html 1970-01-01 00:00:00 +0000
54@@ -1,348 +0,0 @@
55-{% extends "base.html" %}
56-{% load i18n static_url %}
57-{% block title %}{% blocktrans %}Privacy Policy{% endblocktrans %}{% endblock %}
58-{% block text_title %}<h1 class="u1-h-main">{% trans "Canonical Privacy Policy" %}</h1>{% endblock %}
59-{% block content %}
60-<div class="legal">
61- <div class="account-faq">
62- <div class="box">
63- <div class="title">
64- <h3>{% trans 'Table of Contents' %}</h3>
65- </div>
66- <div class="body">
67- <ul class="questions">
68- <li><a href="{% url 'privacy_policy' %}#what-we-collect">{% trans "What we collect" %}</a></li>
69- <li><a href="{% url 'privacy_policy' %}#what-we-do-with-what-we-collect">{% trans "What we do with data" %}</a></li>
70- <li><a href="{% url 'privacy_policy' %}#access">{% trans "Access" %}</a></li>
71- <li><a href="{% url 'privacy_policy' %}#cookies">{% trans "Cookies" %}</a></li>
72- <li><a href="{% url 'privacy_policy' %}#how-do-we-protect-what-we-collect">{% trans "How do we protect what we collect" %}</a></li>
73- <li><a href="{% url 'privacy_policy' %}#what-happens-if-the-terms-change">{% trans "What happens if these terms change" %}</a></li>
74- <li><a href="{% url 'privacy_policy' %}#legal-notice">{% trans "Legal Notice" %}</a></li>
75- <li><a href="{% url 'privacy_policy' %}#how-to-contact-us">{% trans "How to contact us" %}</a></li>
76- </ul>
77- </div>
78- </div>
79- </div>
80- <div class="content-updates">
81- <p>
82- {% blocktrans %}
83- <strong>What’s changed?</strong> On Thursday 18th October 2012 we updated our privacy policies by consolidating them into one document.
84- {% endblocktrans %}
85- </p>
86-
87- <p>
88- {% blocktrans %}
89- <strong>Why?</strong> We care about your privacy and want to ensure that it is clear what personal information we are collecting from you, when we collect it and what we do with that personal information. By consolidating all of our policies into one place we hope that it will be easier for you to see what we're doing.
90- {% endblocktrans %}
91- </p>
92-
93- <p>
94- {% blocktrans %}
95- <strong>What's changed?</strong> Nothing. We're not doing anything different with your personal information. We're just making things clearer.
96- {% endblocktrans %}
97- </p>
98-
99- <p>
100- {% blocktrans %}
101- Please read the updated Privacy Policy to find out more.
102- {% endblocktrans %}
103- </p>
104- </div>
105-
106- <div class="section" id="general">
107-
108- <p>
109- {% blocktrans with canonical="http://www.canonical.com/" ubuntu="http://www.ubuntu.com/" %}
110- Canonical collects personal information from you in a number of different ways. For example, when you download one of our products, receive services from us or use one of our websites (including <a href="{{ canonical }}">www.canonical.com</a> and <a href="{{ ubuntu }}">www.ubuntu.com</a>).</p>
111- {% endblocktrans %}
112- </p>
113-
114- <p>
115- {% blocktrans %}
116- At Canonical, we consider your privacy to be extremely important to us. These are the fundamental principles that we follow in relation to your personal information:
117- {% endblocktrans %}
118- </p>
119-
120- <ul class="items">
121- <li>
122- {% blocktrans %}
123- We don’t ask you for personal information unless we truly need it.
124- {% endblocktrans %}
125- </li>
126- <li>
127- {% blocktrans %}
128- We don't share your personal information with anyone except to provide you with services, products, to comply with the law, or to protect our rights
129- {% endblocktrans %}
130- </li>
131- <li>
132- {% blocktrans %}
133- We don't store personal information unless required for the on-going operation of services to you, to provide you with products, to comply with law or to protect our rights.
134- {% endblocktrans %}
135- </li>
136- <li>
137- {% blocktrans %}
138- We will use personal information that you provide to us in accordance with this Privacy Policy.
139- {% endblocktrans %}
140- </li>
141- </ul>
142- </div>
143-
144- <div class="section">
145- <h2 id="what-we-collect">{% trans "What we collect" %}</h2>
146-
147- <p>
148- {% blocktrans %}
149- We may collect the following types of personal information from you:
150- {% endblocktrans %}
151- </p>
152-
153- <ul class="items">
154- <li>
155- {% blocktrans %}
156- <strong>Websites</strong> - When you register to use certain parts of our websites, such as wikis or message boards, or register for free accounts, we may ask for personal information such as your full name, email address and a password.
157- {% endblocktrans %}
158- </li>
159- <li>
160- {% blocktrans %}
161- <strong>Chat rooms, forums and newsgroups</strong> - These are available to our community. Any information that you disclose in these areas becomes public information and may be recorded, archived and republished by anyone. Please exercise caution when deciding to disclose any personal information in such areas.
162- {% endblocktrans %}
163- </li>
164- <li>
165- {% blocktrans %}
166- <strong>Canonical products</strong> - When you register for services or purchase any product from Canonical, we may ask for information such as your email address, billing address, and credit card information. Credit card information is only used in processing your transaction. Please note that we may use a third party payment processing merchant to process your payments.
167- {% endblocktrans %}
168- </li>
169- <li>
170- {% blocktrans %}
171- <strong>Non-personally identifying information</strong> - Canonical may collect non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, referring site, and the date and time of each visitor's request. Our purpose in collecting non-personally identifying information is to better understand how visitors use our websites and services. For further information about ow we use cookies, see the “cookie” section below.
172- {% endblocktrans %}
173- </li>
174- <li>
175- {% blocktrans %}
176- <strong>Error reports</strong> - When you chose to send an error report, it includes a unique identifier for your computer. This identifier does not identify you, unless you (or someone acting on your behalf) discloses it separately. An error report may include personal information such as the state of programs that were running at the time. You can block future error reports from the privacy panel of System Settings.
177- {% endblocktrans %}
178- </li>
179- <li>
180- {% blocktrans with url="http://www.ubuntu.com/aboutus/online-accounts-legal-notice" %}
181- <strong>Ubuntu Online Accounts</strong> - When you use Ubuntu Online Accounts, your personal information is stored on your PC and it can be accessed by some applications. <a href="{{ url }}">To see the legal notice explaining how we use this personal information, please click here.</a>
182- {% endblocktrans %}
183- </li>
184- <li>
185- {% blocktrans %}
186- <strong>General</strong> - If you contact us and provide us with information, we may keep a record of that correspondence and information.
187- {% endblocktrans %}
188- </li>
189- </ul>
190-
191- </div>
192-
193- <div class="section">
194- <h2 id="what-we-do-with-what-we-collect">{% trans "What do we do with the information we collect" %}</h2>
195-
196- <p>
197- {% blocktrans %}
198- We may use your information in the following ways:
199- {% endblocktrans %}
200- </p>
201-
202- <ul class="items">
203- <li>
204- {% blocktrans %}
205- To authenticate access to certain features of our websites.
206- {% endblocktrans %}
207- </li>
208- <li>
209- {% blocktrans %}
210- To contact you to respond to enquiries or to provide notices to you regarding your use of our websites or the provision of our services.
211- {% endblocktrans %}
212- </li>
213- <li>
214- {% blocktrans %}
215- To provide services, products, process payment, and authenticate access (where required).
216- {% endblocktrans %}
217- </li>
218- <li>
219- {% blocktrans %}
220- To analyse the performance or the appropriateness of products or services.
221- {% endblocktrans %}
222- </li>
223- <li>
224- {% blocktrans %}
225- To comply with legal and regulatory requirements (including responding to court orders, subpoenas and to prevent crime). These special circumstances may require us to disclose personal information.
226- {% endblocktrans %}
227- </li>
228- <li>
229- {% blocktrans %}
230- To contact you if your actions violate your agreement with us (if any).
231- {% endblocktrans %}
232- </li>
233- <li>
234- {% blocktrans %}
235- To fix errors and analyse trends.
236- {% endblocktrans %}
237- </li>
238- <li>
239- {% blocktrans %}
240- To study how anonymous users interact with our websites and services.
241- {% endblocktrans %}
242- </li>
243- <li>
244- {% blocktrans %}
245- To market our products or services to you.
246- {% endblocktrans %}
247- </li>
248- </ul>
249-
250- <p>
251- {% blocktrans %}
252- Unless you have notified us otherwise, Canonical may occasionally send you email to tell you about new features, solicit feedback, or just to keep you up to date with what's going on. We may use various community websites (Launchpad Answers, Ubuntu Forums, blogs etc.) to communicate this type of information, so we expect to keep this type of information to a minimum. If you no longer wish to receive such communications from us, please follow the unsubscribe instructions provided in any of the communications, modify the communications preferences in your account or contact us using the contact details provided below.
253- {% endblocktrans %}
254- </p>
255- </div>
256-
257- <div class="section">
258- <h2 id="access">{% trans "Access" %}</h2>
259-
260- <p>
261- {% blocktrans %}
262- The information you provide to us will be held on computers and may be accessed by or given to our staff working inside and outside of the UK and to third parties, including contractors and companies within Canonical’s group, for the purposes set out in this Privacy Policy, i.e. to provide you with products or services, or as otherwise agreed with you.
263- {% endblocktrans %}
264- </p>
265-
266- <p>
267- {% blocktrans %}
268- You acknowledge that it may be necessary for your information to be processed by such parties and that it may be transferred to someone who provides a service to us in another country, including some outside of the European Economic Area, and you consent to such processing and transfer. If it is necessary to transfer your personal information outside of the European Economic Area we will make every effort to ensure that the person to whom we pass the personal information agrees to treat it with the same level of protection as we do.
269- {% endblocktrans %}
270- </p>
271-
272- <p>
273- {% blocktrans %}
274- If we are sold or merge with another business entity your personal information may be disclosed to our new business partners or owners.
275- {% endblocktrans %}
276- </p>
277-
278- <p>
279- {% blocktrans %}
280- Unless required by law, we will not otherwise share, sell or distribute any personal information you provide to us without your consent.
281- {% endblocktrans %}
282- </p>
283-
284- </div>
285-
286- <div class="section">
287- <h2 id="cookies">{% trans "Cookies" %}</h2>
288-
289- <p>
290- {% blocktrans with url="#cookie-info" %}
291- We use persistent cookies to support a smooth user experience. This cookie remains on your computer after you close your browser and may be used by your browser on subsequent visits to our websites. We also use cookies to better understand how you interact with our websites and services and to improve our websites and services overall. <a href="{{ url }}">For a list of the cookies we use, please see the following table</a>
292- {% endblocktrans %}
293- </p>
294-
295- <p>
296- {% blocktrans %}
297- If you do not wish to have cookies placed on your computers, please set your browsers to refuse cookies before visiting our websites and using our services.
298- {% endblocktrans %}
299- </p>
300-
301- </div>
302-
303- <div class="section">
304- <h3 id="cookie-info">{% trans "Cookie Information" %}</h3>
305-
306- <table class="cookie-info">
307- <thead>
308- <tr>
309- <th class="cookie">{% trans "Cookie" %}</th>
310- <th class="cookie-name">{% trans "Name" %}</th>
311- <th class="purpose">{% trans "Purpose" %}</th>
312- <th>{% trans "More information" %}</th>
313- </tr>
314- </thead>
315- <tbody>
316- <tr>
317- <td><span class="trc" title="site cookie acceptance">site cookie acceptance</span></td>
318- <td><span class="trc" title="_cookies_accepted">_cookies_accepted</span></td>
319- <td>{% blocktrans %}This cookie is used to record if a user has accepted the use of cookies on our website.{% endblocktrans %}</td>
320- <td>{% blocktrans %}To withdraw your consent after accepting this cookie, delete the _cookies_accepted cookie. Find out how at <a href="http://www.aboutcookies.org">Aboutcookies.org</a>{% endblocktrans %}</td>
321- </tr>
322- <tr>
323- <td><span class="trc" title="Google Analytics">Google Analytics</span></td>
324- <td><span class="trc" title="_utma _utmb _utmc _utmz">_utma _utmb _utmc _utmz</span></td>
325- <td>{% blocktrans %}These cookies are used to collect information about how visitors use our website, which we use to help improve it. The cookies collect information in an anonymous form, including the number of visitors to the site, where visitors have come to the site from and the pages they visited.{% endblocktrans %}</td>
326- <td>{% blocktrans %}Find out more about Google Analytics privacy please visit <a href="http://www.google.com/intl/en_uk/analytics/privacyoverview.htm">Google Analytics privacy overview</a>{% endblocktrans %}</td>
327- </tr>
328- <tr>
329- <td><span class="trc" title="Crazy egg">Crazyegg</span></td>
330- <td><span class="trc" title="_is_returning">_is_returning</span></td>
331- <td>{% blocktrans %}Crazyegg tracks javascript on some pages of our site to understand what links our visitors are clicking on. This helps us optimize our content for the best user experience. The Crazyegg script may store a cookie on your computer. This cookie may contain a session ID, a visitor ID and a few other dynamically created parameters that allow Crazyegg to track our site's traffic accurately. No personal information is stored within the cookie.{% endblocktrans %}</td>
332- <td>{% blocktrans %}For Crazy Egg's complete Privacy Policy please visit <span class="trc"><a href="http://www.crazyegg.com/privacy">Crazy Egg privacy policy</a></span>{% endblocktrans %}</td>
333- </tr>
334- <tr>
335- <td><span class="trc" title="Marketo Munchkin">Marketo Munchkin</span></td>
336- <td><span class="trc" title="_mkto_trk">_mkto_trk</span></td>
337- <td>{% blocktrans %}Marketo’s cookie allows us to track repeated visits to the website, and link each visit to the information voluntarily provided by the visitor. For example, if the visitor is asked to provide us with their name, company name and email address, we will know the identity of the visitor when they visit the site at a later date, or when we send them email.{% endblocktrans %}</td>
338- <td>{% blocktrans %}For Marketo’s complete Privacy Policy please visit <a href="http://uk.marketo.com/trust/privacy.php">Marketo privacy statement</a>{% endblocktrans %}</td>
339- </tr>
340- </tbody>
341- </table>
342- </div>
343-
344- <div class="section">
345- <h2 id="how-do-we-protect-what-we-collect">{% trans "How do we protect the information we collect" %}</h2>
346- <p>
347- {% blocktrans %}
348- Canonical is very concerned about protecting the confidentiality of your personal information. We have security measures, including administrative, physical and electronic measures, to protect against the loss, exposure, misuse or alteration of information that we have collected from you in the use of the services. These measures include SSL data encryption to transmit your personal information as well as technical architectures and systems to prevent unauthorised third parties from accessing your personal information.
349- {% endblocktrans %}
350- </p>
351- </div>
352-
353- <div class="section">
354- <h2 id="what-happens-if-the-terms-change">{% trans "What happens if these terms change" %}</h2>
355- <p>
356- {% blocktrans %}
357- Although most changes are likely to be minor, Canonical may change this Privacy Policy from time to time, and at Canonical's sole discretion. If the alterations constitute a material change to the Privacy Policy, we will notify you by email if you have provided your email address to us. What makes up a "material change" will be determined by Canonical, in good faith and using common sense and reasonable judgment. You may also check this page for any changes to this Privacy Policy.
358- {% endblocktrans %}
359- </p>
360-
361- </div>
362-
363- <div class="section">
364- <h2 id="legal-notice">{% trans "Legal notice" %}</h2>
365- {% url 'terms_and_conditions' as terms_url %}
366- <p>
367- {% blocktrans with url=terms_url%}
368- For further information on Canonical's terms and conditions please see the legal notice for our websites and our <a href="{{ url }}">terms of service</a> for Ubuntu One.
369- {% endblocktrans %}
370- </p>
371- <p>
372- {% blocktrans %}
373- For certain products and services we may also provide you with specific terms and conditions. Please refer to those specific legal notices for further information. This Privacy Policy is incorporated by reference into those legal notices.
374- {% endblocktrans %}
375- </p>
376- </div>
377-
378- <div class="section">
379- <h2 id="how-to-contact-us">{% trans "How to contact us" %}</h2>
380-
381- <p>
382- {% blocktrans with email="isd-support@canonical.com"%}
383- You have a right to access the personal information we hold about you or to obtain a copy of it. If you would like to do so please contact us by postal mail to the address below or, if your query is in relation to Ubuntu One, email <a href="mailto:{{ email }}">{{ email }}</a>.
384- {% endblocktrans %}
385- </p>
386- <p>
387- {% blocktrans with email="webmaster@canonical.com"%}
388- Please submit any questions or comments about this Privacy Policy, or about our use of your personal information by contacting us by postal mail at the following address: Canonical Group Ltd, 5th Floor, Blue Fin Building, 110 Southwark Street, London, England, SE1 0SU or by emailing us at <a href="mailto:{{ email }}">{{ email }}</a>.
389- {% endblocktrans %}
390- </p>
391- </div>
392-
393- <div class="section">
394- <p>
395- {% blocktrans %}
396- Last updated - 18th October 2012</p>
397- {% endblocktrans %}
398- </p>
399- </div>
400-
401-</div>
402-{% endblock %}
403
404=== modified file 'src/webui/urls.py'
405--- src/webui/urls.py 2018-02-15 11:27:21 +0000
406+++ src/webui/urls.py 2018-05-23 17:32:45 +0000
407@@ -2,7 +2,9 @@
408 # the GNU Affero General Public License version 3 (see the file
409 # LICENSE).
410
411+from django.conf import settings
412 from django.conf.urls import url
413+from django.views.generic.base import RedirectView
414
415 from identityprovider.models import AUTHTOKEN_PATTERN
416
417@@ -122,11 +124,14 @@
418 # the urls formerly know as Ubuntu One
419 url(r'^one-redirect$', static_page, {'page_name': 'one-redirect'},
420 name='one-redirect'),
421- url(r'^terms/$', static_page, {'page_name': 'terms'},
422+ url(r'^terms/$', RedirectView.as_view(url=settings.TERMS_OF_SERVICE_URL),
423 name='terms_and_conditions'),
424+ # XXX cjwatson 2018-05-23: Is this still used? If so, we need an
425+ # embedded-themed version of this page on the legal site that we can
426+ # redirect to.
427 url(r'^terms/embedded/$', static_page, {'page_name': 'terms_embedded'},
428 name='terms_and_conditions_embedded'),
429- url(r'^privacy/$', static_page, {'page_name': 'privacy'},
430+ url(r'^privacy/$', RedirectView.as_view(url=settings.PRIVACY_POLICY_URL),
431 name='privacy_policy'),
432 ]
433