diff --git a/pug/includes/layout.pug b/pug/includes/layout.pug index df2558a..0c93f2a 100644 --- a/pug/includes/layout.pug +++ b/pug/includes/layout.pug @@ -25,20 +25,22 @@ html form(method="get" action="/search").search-form input(type="text" placeholder="Search" name="q" autocomplete="off" value=query).search - block content + div + block content - footer.footer__container - div.footer__center - p Released as AGPL free software. - .footer__cols - div - h3.footer__colhead Source - ul.footer__list - li: a(href="https://sr.ht/~cadence/tube") Project hub - li: a(href="https://lists.sr.ht/~cadence/tube-announce") Announcements - li: a(href="https://todo.sr.ht/~cadence/tube") Report a problem - div - h3.footer__colhead About - ul.footer__list - // li: a(href="/privacy") Privacy policy - // li: a(href="/js-licenses") JavaScript licenses + if showNav + footer.footer__container + div.footer__center + p Released as AGPL free software. + .footer__cols + div + h3.footer__colhead Source + ul.footer__list + li: a(href="https://sr.ht/~cadence/tube") Project hub + li: a(href="https://lists.sr.ht/~cadence/tube-announce") Announcements + li: a(href="https://todo.sr.ht/~cadence/tube") Report a problem + div + h3.footer__colhead About + ul.footer__list + li: a(href="/privacy") Privacy policy + // li: a(href="/js-licenses") JavaScript licenses diff --git a/pug/privacy.pug b/pug/privacy.pug new file mode 100644 index 0000000..90bfa33 --- /dev/null +++ b/pug/privacy.pug @@ -0,0 +1,40 @@ +extends includes/layout.pug + +block head + title Privacy policy + +block content + main.privacy-page + h1 Privacy policy + p This document contains details about the data this website collects, what it is used for, how it is stored, how it is shared, and how it can be removed. + h2 Data collected + h3 Data provided by you + p CloudTube will store this information when you personally enter it into the site: + ul + li personal settings + li list of channels you have subscribed to + li list of videos you have watched (only if enabled in settings) + h3 Data collected passively + p When your device requests any resource from CloudTube, this information about the request may be stored for up to 14 days: + ul + li the time the request was made + li the IP address + li the requested URL + li the response status code + h2 Accounts and cookies + p CloudTube does not allow users to create accounts. + p The first time a user personally provides data to the site, such as changing settings or subscribing to a channel, an ephemeral session is created and linked to a cookie. + p On future visits, this cookie will be used to look up the session, and provide a response based on that stored information. + p As described above, no personally identifiable information is linked to sessions. + p If the user never personally provides data to the site, no cookie will be stored. + h2 What the data is used for + ul + li providing the core service + li providing information for debugging + h2 How the data is shared + p It is not. + p Data stored by the site remains within the site, and is never shared with other companies or individuals. + h2 How to delete your data + p #[a(href="/settings") Visit the settings page] and find the "delete data" section. Read the text. + p To delete your data, check "I understand the consequences", then click "permanently erase my data". + p This will erase all of your data from the server, and delete the identifying cookie from your web browser. diff --git a/sass/includes/privacy-page.sass b/sass/includes/privacy-page.sass new file mode 100644 index 0000000..51c8ac0 --- /dev/null +++ b/sass/includes/privacy-page.sass @@ -0,0 +1,3 @@ +.privacy-page + max-width: 600px + margin: 0 auto diff --git a/sass/main.sass b/sass/main.sass index 409853d..3dec120 100644 --- a/sass/main.sass +++ b/sass/main.sass @@ -8,6 +8,7 @@ @use "includes/subscriptions-page.sass" @use "includes/settings-page.sass" @use "includes/cant-think-page.sass" +@use "includes/privacy-page.sass" @use "includes/forms.sass" @use "includes/nav.sass" @use "includes/footer.sass" diff --git a/server.js b/server.js index 9fb7cb7..b3b0b91 100644 --- a/server.js +++ b/server.js @@ -17,6 +17,7 @@ const {setInstance} = require("pinski/plugins") server.addPugDir("pug", ["pug/includes"]) server.addRoute("/cant-think", "pug/cant-think.pug", "pug") + server.addRoute("/privacy", "pug/privacy.pug", "pug") server.addStaticHashTableDir("html/static/js") server.addStaticHashTableDir("html/static/js/elemjs")