From 080df2de1f1f99fce3d7dffcce57f723fd266e17 Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Sun, 4 Oct 2020 17:10:13 +0200 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [PATCH] website: Add privacy policy. * website/apps/base/templates/privacy.scm: New file with web page on privacy. * website/apps/base/templates/components.scm (navbar): Add it. * website/po/POTFILES: Add it. * website/apps/base/builder.scm (privacy-builder): New procedure. (builder): Add it. --- website/apps/base/builder.scm | 23 +++++ website/apps/base/templates/components.scm | 18 +++- website/apps/base/templates/privacy.scm | 115 +++++++++++++++++++++ website/po/POTFILES | 1 + 4 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 website/apps/base/templates/privacy.scm diff --git a/website/apps/base/builder.scm b/website/apps/base/builder.scm index 4882dc5..2acf4dc 100644 --- a/website/apps/base/builder.scm +++ b/website/apps/base/builder.scm @@ -1,6 +1,22 @@ ;;; GNU Guix web site +;;; Copyright © 2020 Florian Pelz ;;; Initially written by sirgazil who waives all ;;; copyright interest on this file. +;;; +;;; This file is part of the GNU Guix web site. +;;; +;;; The GNU Guix web site 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 (at +;;; your option) any later version. +;;; +;;; The GNU Guix web site 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 the GNU Guix web site. If not, see . (define-module (apps base builder) #:use-module (apps base data) @@ -13,6 +29,7 @@ #:use-module (apps base templates help) #:use-module (apps base templates home) #:use-module (apps base templates menu) + #:use-module (apps base templates privacy) #:use-module (apps base templates security) #:use-module (apps base types) #:use-module (apps blog utils) @@ -54,6 +71,7 @@ (contact-builder) (irc-builder) (contribute-builder) + (privacy-builder) (security-builder) (graphics-builder)))) @@ -115,6 +133,11 @@ (make-page "menu/index.html" (menu-t) sxml->html)) +(define (privacy-builder) + "Return a Haunt page representing the Privacy page of the website." + (make-page "privacy/index.html" (privacy-t) sxml->html)) + + (define (security-builder) "Return a Haunt page representing the Security page of the website." (make-page "security/index.html" (security-t) sxml->html)) diff --git a/website/apps/base/templates/components.scm b/website/apps/base/templates/components.scm index 44d410e..1bf11e9 100644 --- a/website/apps/base/templates/components.scm +++ b/website/apps/base/templates/components.scm @@ -1,7 +1,22 @@ ;;; GNU Guix web site -;;; Copyright © 2019 Florian Pelz +;;; Copyright © 2019, 2020 Florian Pelz ;;; Initially written by sirgazil who waives all ;;; copyright interest on this file. +;;; +;;; This file is part of the GNU Guix web site. +;;; +;;; The GNU Guix web site 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 (at +;;; your option) any later version. +;;; +;;; The GNU Guix web site 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 the GNU Guix web site. If not, see . ;;; This module defines HTML parts like header, breadcrumbs, footer, ;;; buttons, etc., which are used website-wide. @@ -425,6 +440,7 @@ manual. (C_ "website menu" (menu-item #:label "Contact" #:active-item active-item #:url (guix-url "contact/"))) (C_ "website menu" (menu-item #:label "Contribute" #:active-item active-item #:url (guix-url "contribute/"))) (C_ "website menu" (menu-item #:label "Security" #:active-item active-item #:url (guix-url "security/"))) + (C_ "website menu" (menu-item #:label "Privacy" #:active-item active-item #:url (guix-url "privacy/"))) (C_ "website menu" (menu-item #:label "Graphics" #:active-item active-item #:url (guix-url "graphics/"))))) ,(horizontal-skip) ;; Languages dropdown. diff --git a/website/apps/base/templates/privacy.scm b/website/apps/base/templates/privacy.scm new file mode 100644 index 0000000..1511fe0 --- /dev/null +++ b/website/apps/base/templates/privacy.scm @@ -0,0 +1,115 @@ +;;; GNU Guix web site +;;; Copyright © 2020 Florian Pelz +;;; +;;; This file is part of the GNU Guix web site. +;;; +;;; The GNU Guix web site 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 (at +;;; your option) any later version. +;;; +;;; The GNU Guix web site 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 the GNU Guix web site. If not, see . + +(define-module (apps base templates privacy) + #:use-module (apps base templates components) + #:use-module (apps base templates theme) + #:use-module (apps base types) + #:use-module (apps base utils) + #:use-module (apps i18n) + #:export (privacy-t)) + +(define (privacy-t) + "Return the Privacy page in SHTML." + (theme + #:title (C_ "webpage title" '("Privacy")) + #:description + (G_ "Information on how your personal data is processed while using +GNU Guix’ services.") + #:keywords + (string-split ;TRANSLATORS: |-separated list of webpage keywords + (G_ "GNU|Linux|Unix|Free software|Libre software|Operating \ +system|GNU Hurd|GNU Guix package manager|Privacy|Data Protection") #\|) + #:active-menu-item (C_ "website menu" "About") + #:css (list + (guix-url "static/base/css/page.css")) + #:crumbs (list (crumb (C_ "website menu" "Privacy") "./")) + #:content + `(main + (section + (@ (class "page centered-block limit-width")) + ,(G_ `(h2 "How we use your personal information")) + ,(G_ + `(p + "Guix is made by people and organizations without a commercial + interest in your personal information. Nonetheless, some + services for Guix necessarily process your data to provide the + functionality you requested. We keep this to a minimum.")) + + ,(C_ "privacy policy section" `(h3 "Guix and Guix System")) + ,(G_ + `(p + "During your use of Guix’ software in its default configuration, + your IP address may be revealed to the network services you use. + Your IP address could be used to identify who uses the service and + from which internet connection it is used. These services include " + ,(G_ (manual-href "substitute servers" + (G_ "en") + (G_ "Substitutes.html"))) + " hosted by " + ,(G_ `(a (@ (href ,(guix-url "donate/"))) "our donors")) + " for the Guix project but also " + ,(G_ (manual-href "third-party services" + (G_ "en") + (G_ "Networking-Services.html"))) + " such as network, DNS and Network Time Protocol service providers. + This is necessary to provide you with a usable and secure system + environment. It shall be assumed that these services log your use + of their service along with your IP address to make it easier to + guard against malicious use. The " + ,(G_ `(a (@ (href ,(guix-url "manual/"))) "manual")) + " describes how to change the configuration of Guix to disable such + services or how to send data over the network via an HTTP(S) proxy, + Tor or other means that maybe expose less of your personal data.")) + ,(G_ + `(p + "When you tell Guix to install software for you, Guix will attempt + to download said software from the respective upstream provider and + various download mirrors, revealing your IP address. Your use of + third-party software installed via Guix is of course your + responsibility.")) + ,(C_ "privacy policy section" `(h3 "Website")) + ,(G_ + `(p + "When you access Guix’ website, your request will be logged along + with your IP address and the requested URL. This enables the + admins to more easily respond to excess usage or security attacks.")) + ,(G_ + `(p + "For proper presentation, Guix loads videos and scripts from " + ,(G_ `(a (@ (href "https://audio-video.gnu.org/")) + "audio-video.gnu.org")) " and " + ,(G_ `(a (@ (href "https://kiwiirc.com/")) + "kiwiirc.com")) + ". Please see their websites for explanations how they use your + data. The website also contains hyperlinks to third-party sites. + When you follow them, it is likely that your web browser is + configured to report the Guix website URL you were previously + visiting to the third-party site in a " + ,(G_ `(a (@ (href "https://en.wikipedia.org/wiki/HTTP_referer")) + "Referer header")) + ".")) + ,(C_ "privacy policy section" + `(h3 "Mailing lists, IRC and other means of communication")) + ,(G_ + `(p + "You can " + ,(G_ `(a (@ (href ,(guix-url "contact/"))) + "contact the Guix community")) + " via various third-party means. Their respective privacy policy + applies.")))))) diff --git a/website/po/POTFILES b/website/po/POTFILES index 6f9f349..a97c6e5 100644 --- a/website/po/POTFILES +++ b/website/po/POTFILES @@ -13,6 +13,7 @@ apps/base/templates/donate.scm apps/base/templates/graphics.scm apps/base/templates/irc.scm apps/base/templates/menu.scm +apps/base/templates/privacy.scm apps/base/templates/security.scm apps/blog/templates/components.scm apps/blog/templates/feed.scm -- 2.28.0