1
0
Files
tideshift-website/src/pages/privacy.astro
T

168 lines
5.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
import BaseLayout from "../layouts/BaseLayout.astro";
---
<BaseLayout pageTitle="Privacy Policy">
<div class="privacy">
<h1 class="heading-gradient">Privacy Policy</h1>
<div class="content">
<p>
<strong>Tideshift Digital e.U.</strong> (“we”, “our”, “us”) respects
your privacy and is committed to protecting any data related to your
use of this website.
</p>
<section>
<h2 class="heading-gradient">Analytics</h2>
<p>
We use <strong>
<a
target="_blank"
href="https://umami.is/"
class="hoverable"
rel="noreferrer noopener">self-hosted Umami</a
>
</strong> to measure basic website usage (such as page views and
referrers). No personal data, cookies, or IP addresses are collected
or stored.
</p>
</section>
<section>
<h2 class="heading-gradient">Hosting</h2>
<p>
This website is hosted by <strong>
<a
target="_blank"
href="https://www.hetzner.com/"
class="hoverable"
rel="noreferrer noopener">Hetzner Online GmbH</a
></strong
>. Standard server logs may be collected automatically for
technical and security purposes. These logs can include IP
addresses and access times. The logs are used solely for
server maintenance and security and are not combined with
any other data or used for analytics.
</p>
</section>
<section>
<h2 class="heading-gradient">Data Retention</h2>
<p>
Analytics data collected by Umami are stored temporarily and
only in an anonymized, aggregated form. No personally
identifiable information is retained. Server logs are stored
by Hetzner in accordance with their standard retention
policies, primarily for operational and security purposes.
</p>
</section>
<section>
<h2 class="heading-gradient">Legal Basis</h2>
<p>
Data processing through analytics and hosting is based on
our legitimate interest (Article 6(1)(f) GDPR) in
maintaining and improving our websites performance and
security.
</p>
</section>
<section>
<h2 class="heading-gradient">Your Rights</h2>
<p>
Since we do not collect or process personal data directly,
no action is generally required from you. However, if you
have any questions or concerns regarding data protection,
you may contact us at
<a
href="mailto:privacy@tideshiftdigital.com"
class="hoverable">privacy@tideshiftdigital.com</a
>.
</p>
</section>
<section>
<h2 class="heading-gradient">Data Controller</h2>
<p>
The data controller responsible for this website is:<br />
<strong>Tideshift Digital e.U.</strong><br />
Email: <a
href="mailto:privacy@tideshiftdigital.com"
class="hoverable">privacy@tideshiftdigital.com</a
>
</p>
</section>
</div>
</div>
</BaseLayout>
<style>
.privacy {
padding-inline: 5rem;
max-width: var(--max-content-width);
margin-inline: auto;
> div {
margin-top: 2rem;
}
}
h1 {
margin-top: 10rem;
font-size: var(--fs-page-title);
line-height: var(--leading-title);
letter-spacing: var(--tracking-narrow);
font-weight: 600;
}
.content {
max-width: 80ch;
> * + * {
margin-top: 1rem;
}
}
</style>
<script>
import { gsap } from "gsap";
import { SplitText } from "gsap/SplitText";
gsap.registerPlugin(SplitText);
const page = document.querySelector(".privacy");
if (page) {
const mm = gsap.matchMedia();
mm.add("(prefers-reduced-motion: no-preference)", () => {
new SplitText(page.querySelector("h1"), {
type: "words, chars",
autoSplit: true,
mask: "chars",
charsClass: "char",
onSplit: (self) => {
gsap.from(self.chars, {
duration: 1,
yPercent: -120,
scale: 1.2,
stagger: 0.015,
ease: "expo.out",
onComplete: () => self.revert(),
});
},
});
gsap.from(page.querySelectorAll(".content > *"), {
duration: 1,
delay: 0.3,
opacity: 0,
yPercent: -20,
ease: "expo.out",
stagger: 0.1,
});
});
}
</script>