diff --git a/www/maposmatic/context_processors.py b/www/maposmatic/context_processors.py index fd824a45..f30f1a80 100644 --- a/www/maposmatic/context_processors.py +++ b/www/maposmatic/context_processors.py @@ -166,4 +166,7 @@ def all(request): 'paypal_country_code': paypal_country_code, 'OUTER_BOUNDS_JSON': www.settings.MAX_BOUNDING_OUTER, + + 'SUBMITTER_MAIL_LIFETIME': www.settings.SUBMITTER_MAIL_LIFETIME, + 'SUBMITTER_IP_LIFETIME': www.settings.SUBMITTER_IP_LIFETIME, } diff --git a/www/maposmatic/templates/maposmatic/new.html b/www/maposmatic/templates/maposmatic/new.html index e7090118..48b75dac 100644 --- a/www/maposmatic/templates/maposmatic/new.html +++ b/www/maposmatic/templates/maposmatic/new.html @@ -413,7 +413,10 @@ $('#error-modal').modal('show')
{% trans "Your Email address (for notifications, optional)" %} - {{ form.submittermail }} + {{ form.submittermail }} + {% if SUBMITTER_MAIL_LIFETIME %} + ({% trans "will be deleted after" %}{{ SUBMITTER_MAIL_LIFETIME }} {% trans "hours" %}) + {% endif %}
diff --git a/www/maposmatic/templates/maposmatic/privacy.html b/www/maposmatic/templates/maposmatic/privacy.html new file mode 100644 index 00000000..9fd1bcce --- /dev/null +++ b/www/maposmatic/templates/maposmatic/privacy.html @@ -0,0 +1,80 @@ +{% extends "maposmatic/base.html" %} + +{% comment %} + coding: utf-8 + + maposmatic, the web front-end of the MapOSMatic city map generation system + Copyright (C) 2012 David Decotigny + Copyright (C) 2012 Frédéric Lehobey + Copyright (C) 2012 Pierre Mauduit + Copyright (C) 2012 David Mentré + Copyright (C) 2012 Maxime Petazzoni + Copyright (C) 2012 Thomas Petazzoni + Copyright (C) 2012 Gaël Utard + Copyright (C) 2018 Hartmut Holzgraefe + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +{% endcomment %} +{% load i18n %} +{% load l10n %} +{% load extratags %} + +{% block title %}{% trans "Privacy Statement" %}{% endblock %} + +{% block page %} +

{% trans "Privacy Statement" %}

+ +

Encryption

+ +

+All web traffic is encrypted using TLS/SSL, using certificates provided by LetsEncrypt(url). +

+ +

+When trying to access the site via unencrypted http: URLs you'll automatically be redirected +to the encrypted https: URL counterparts. +

+ +

Logging

+ +

+The web server only logs date and time, requested URL and HTTP status, it does normally not log +IP addresses, user agent strings or referer URLs. These additional fields may temporary be added to log entries when necessary to analyze problems (although so far that has never been needed), but such additional access logs will be removed again within 24 hours. +

+ +

+When submitting an actual map rendering job, your IP address will +{% if SUBMITTER_IP_LIFETIME < 0 %} +be stored until removed manually +{% elif SUBMITTER_IP_LIFETIME == 0 %} +not be stored +{% else %} +stored for {{SUBMITTER_IP_LIFETIME}} hours +{% endif %} +along with the actual map request. +

+ +

+If you chose to also provide an email address for notification when +your request has been processed completely, this mail address will +be stored +{% if SUBMITTER_MAIL_LIFETIME > 0 %} +for {{ SUBMITTER_MAIL_LIFETIME }} hours. +{% else %} +until removed manually. +{% endif %} +

+ + +{% endblock %} diff --git a/www/maposmatic/views.py b/www/maposmatic/views.py index c36c2e34..41934cd0 100644 --- a/www/maposmatic/views.py +++ b/www/maposmatic/views.py @@ -82,6 +82,13 @@ def about(request): } ) +def privacy(request): + """The privacy statement page.""" + return render(request, + 'maposmatic/privacy.html', + { } + ) + def documentation_user_guide(request): """The user guide page.""" return render(request, diff --git a/www/settings_local.py.dist b/www/settings_local.py.dist index b1bc1d38..79f51353 100644 --- a/www/settings_local.py.dist +++ b/www/settings_local.py.dist @@ -166,6 +166,11 @@ PIWIK_BASE_URL = '' # storage without purging SUBMITTER_IP_LIFETIME=-1 +# how many hours to store the optonal submitter IP address in +# the database after the related rendering job finished +# set to 0 to keep them forever +SUBMITTER_MAIL_LIFETIME=24 + # Weblate base URL - link to translation service WEBLATE_BASE_URL = 'https://translate.get-map.org/' diff --git a/www/urls.py b/www/urls.py index 42eb2b8e..b8881823 100644 --- a/www/urls.py +++ b/www/urls.py @@ -76,6 +76,10 @@ urlpatterns = [ views.about, name='about'), + url(r'^privacy/$', + views.privacy, + name='privacy'), + url(r'^donate/$', views.donate, name='donate'),