diff --git a/src/main.rs b/src/main.rs
index 9f58bea4..eeef461c 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -31,7 +31,7 @@ use rocket::{
request::{FlashMessage, Request},
routes,
};
-use rocket_dyn_templates::Template;
+use rocket_dyn_templates::{context, Template};
use serde::{Deserialize, Serialize};
pub const MAX_UPLOAD_BYTES: u64 = 50 * 1024 * 1024;
@@ -89,6 +89,11 @@ async fn index(
Template::render("index", &context)
}
+#[get("/privacy-policy")]
+async fn privacy_policy() -> Template {
+ Template::render("privacy_policy", context! {})
+}
+
// Handle missing DB
#[catch(503)]
@@ -151,6 +156,7 @@ async fn main() -> Result<()> {
"/",
routes![
index,
+ privacy_policy,
flights::list,
flights::list_nologin,
flights::flight,
diff --git a/templates/base.html.tera b/templates/base.html.tera
index b2df6267..7d5d1582 100644
--- a/templates/base.html.tera
+++ b/templates/base.html.tera
@@ -82,7 +82,7 @@
diff --git a/templates/privacy_policy.html.tera b/templates/privacy_policy.html.tera
new file mode 100644
index 00000000..cd70301b
--- /dev/null
+++ b/templates/privacy_policy.html.tera
@@ -0,0 +1,175 @@
+{% extends 'base' %}
+
+{% block content %}
+
+
Privacy Policy
+
+Who is responsible for this website?
+
+Bargen Software, Danilo Bargen
+8732 Neuhaus SG, Switzerland
+E-mail: flugbuech@bargen.dev
+
+General
+
+This page explains what happens to your data when using this website, in
+accordance with article 13 of the Swiss Federal Constitution and the data protection provisions of
+the Swiss Confederation (Data Protection Act, DSG).
+
+This website does not integrate any third party
+services. There are no third party trackers, no ads, no externally loaded fonts, or anything like
+that. Everything loaded comes from the Flugbuech webserver.
+
+What data is being processed or collected?
+
+When accessing this website, the following information is being collected by the
+web server and stored for 14 days in order to properly operate and optimize the website:
+
+
+
+
+ Data point |
+ Example |
+ Comment |
+
+
+
+
+ Anonymized IP Address |
+ 178.197.222.0 |
+ IP addresses are anonymized (by discarding the last octet) and stored in web server
+ access logs for 14 days. After this period, the access logs are deleted. |
+
+
+ HTTP User Agent |
+ Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0 |
+ The browser's HTTP user agent is stored in web server access logs for 14 days. After
+ this period, the access logs are deleted. |
+
+
+
+
+For keeping track of usage statistics, a self-hosted instance of Plausible is being used. The data is only used because I am curious
+how Flugbuech is being used, and want to be able to optimize the website. It is not being shared
+with any third party. Plausible does not collect any personal data or personal identifiable
+information.
+
+When accessing this website, the following information is being collected by the
+access statistics tool (Plausible) and stored indefinitely:
+
+
+
+
+ Data point |
+ Example |
+ Comment |
+
+
+
+
+ Page URL |
+ https://flugbuech.bargen.dev/stats/ |
+ We track the page URL of each page view on our website, in order to determine how many
+ times a specific pages has been viewed. |
+
+
+ HTTP Referer |
+ https://duckduckgo.com/ |
+ We use the referrer string to find the number of visitors referred to our website from
+ links on other sites. |
+
+
+ Browser |
+ Firefox 120.0.1 |
+ We use this to find out what browsers and browser version numbers people use when
+ visiting our website. This is derived from the User-Agent HTTP header. The full User-Agent
+ is discarded. |
+
+
+ Operating System |
+ macOS 10.15 |
+ We use this to find out what operating systems people use when visiting our website. We
+ store the brand of the operating system and the version number. This is derived from the
+ User-Agent HTTP header. The full User-Agent is discarded. |
+
+
+ Device Type |
+ Desktop |
+ We use this to find out what devices people use when visiting your website. Devices are
+ categorized into desktop, mobile or tablet. This is derived from the User-Agent HTTP header.
+ The full User-Agent is discarded. |
+
+
+ Country, Region, City |
+ Switzerland, St. Gallen, Rapperswil |
+ We look up the visitor's location using their IP address. We do not track anything more
+ granular than the city level and the IP address of the visitor is discarded. |
+
+
+
+
+More information about Plausible can be found at
+plausible.io/data-policy.
+
+When submitting flights to this website as a registered user, the following
+information is being collected and stored (until deleted by you), because that is the whole purpose
+of this website:
+
+
+
+
+ Data point |
+ Comment |
+
+
+
+
+ Information about Flight |
+ Launch location, landing location, glider, flight duration, distance, etc. This
+ information is manually entered or imported from an IGC file. |
+
+
+ IGC Flight Recording |
+ The IGC file (optional) includes timestamps and location information from the flight. It
+ might also include the pilot's name. |
+
+
+ Flight Comment |
+ Optionally you can enter a comment about the flight. |
+
+
+
+
+Cookies
+
+The website uses a temporary cookie for security reasons (CSRF cookie) as well as
+a persistent cookie for keeping you logged in (expiring after 1 year).
+
+Who is this data shared with?
+
+The processed data is not being shared with any third party.
+
+Where is the data stored / transferred to?
+
+The data is stored on a virtual server located in Germany hosted by Netcup and operated by us.
+
+Your Rights
+
+
+
+ - You have the right of access: Send an e-mail to flugbuech@bargen.dev requesting your data, and I will
+ send it to you.
+ - You have the right to erasure: Send an e-mail to flugbuech@bargen.dev requesting the deletion of your
+ account and all your data, and I will comply (after a verification).
+
+
+
+Last Update
+
+This page was last updated on December 21, 2023.
+
+{% endblock %}