Skip to content

Commit 86565fb

Browse files
committed
Initial clean commit
0 parents  commit 86565fb

5 files changed

Lines changed: 766 additions & 0 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Deploy to Netlify
2+
3+
on:
4+
push:
5+
branches: [ main, master ]
6+
pull_request:
7+
branches: [ main, master ]
8+
9+
jobs:
10+
deploy:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v3
16+
17+
- name: Create env file
18+
run: |
19+
echo "FORMZERO_URL=${{ secrets.FORMZERO_URL }}" >> .env
20+
echo "EMAIL_WORKER_URL=${{ secrets.EMAIL_WORKER_URL }}" >> .env
21+
echo "SITE_URL=${{ secrets.SITE_URL }}" >> .env
22+
23+
- name: Deploy to Netlify
24+
uses: nwtgck/actions-netlify@v2.0
25+
with:
26+
publish-dir: '.'
27+
github-token: ${{ secrets.GITHUB_TOKEN }}
28+
deploy-message: "Deploy from GitHub Actions"
29+
enable-pull-request-comment: false
30+
enable-commit-comment: true
31+
overwrites-pull-request-comment: false
32+
env:
33+
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
34+
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
35+
timeout-minutes: 1

datenschutz.html

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
<!DOCTYPE html>
2+
<html lang="de">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>tüftle.li · Datenschutzerklärung</title>
7+
<style>
8+
* { margin: 0; padding: 0; box-sizing: border-box; }
9+
body {
10+
background: #fcfaf7;
11+
color: #1e1b1a;
12+
font-family: 'Inter', -apple-system, sans-serif;
13+
font-weight: 300;
14+
font-size: 1.125rem;
15+
line-height: 1.6;
16+
padding: 2rem;
17+
}
18+
.container {
19+
max-width: 780px;
20+
margin: 0 auto;
21+
}
22+
h1 {
23+
font-family: 'Cormorant Garamond', 'Times New Roman', serif;
24+
font-size: 3rem;
25+
margin-bottom: 2rem;
26+
border-left: 5px solid #2d4a5b;
27+
padding-left: 1.5rem;
28+
}
29+
h2 {
30+
font-family: 'Cormorant Garamond', serif;
31+
font-size: 2rem;
32+
margin: 2rem 0 1rem;
33+
}
34+
a {
35+
color: #2d4a5b;
36+
text-decoration: none;
37+
border-bottom: 1px dotted #6b7a85;
38+
}
39+
a:hover { border-bottom-color: #2d4a5b; }
40+
.footer {
41+
margin-top: 4rem;
42+
font-size: 0.9rem;
43+
color: #6b7a85;
44+
border-top: 1px solid #e9e4db;
45+
padding-top: 2rem;
46+
text-align: center;
47+
}
48+
</style>
49+
</head>
50+
<body>
51+
<div class="container">
52+
<h1>Datenschutzerklärung</h1>
53+
<p><em>Stand: März 2026</em></p>
54+
55+
<h2>1. Verantwortliche Stelle</h2>
56+
<p>Diese Website, tüftle.li, wird betrieben von Lex (vollständiger Name auf Anfrage). Bei Fragen erreichen Sie mich unter <a href="mailto:hello@tüftle.li">hello@tüftle.li</a>.</p>
57+
58+
<h2>2. Welche Daten werden erhoben?</h2>
59+
<p>Wenn Sie sich für die Startbenachrichtigung anmelden, erhebe ich:</p>
60+
<ul style="margin-left: 2rem;">
61+
<li>Ihre E-Mail-Adresse</li>
62+
<li>Ihre bevorzugte Sprache (Englisch oder Deutsch)</li>
63+
<li>Datum und Uhrzeit der Anmeldung</li>
64+
<li>Ihre ausdrückliche Einwilligung (Nachweis der Zustimmung)</li>
65+
</ul>
66+
<p>Es werden keine weiteren Daten erhoben. Ich verwende keine Cookies, Tracking-Pixel oder Analysetools.</p>
67+
68+
<h2>3. Zweck der Datenerhebung</h2>
69+
<p>Der einzige Zweck ist, Ihnen eine einzige Benachrichtigung zu senden, wenn tüftle.li startet. Ich werde Ihre E-Mail niemals für etwas anderes verwenden.</p>
70+
71+
<h2>4. Rechtsgrundlage (DSGVO Art. 6)</h2>
72+
<p>Die Verarbeitung erfolgt auf Grundlage Ihrer <strong>ausdrücklichen Einwilligung</strong> (Art. 6 Abs. 1 lit. a DSGVO), die Sie durch Setzen des Häkchens und Absenden des Formulars erteilen.</p>
73+
74+
<h2>5. Speicherung der Daten</h2>
75+
<p>Die Daten werden in Cloudflare Workers KV (einer sicheren, serverlosen Datenbank) gespeichert, die sich in der Europäischen Union befindet. Cloudflare ist nach dem EU-US Data Privacy Framework zertifiziert.</p>
76+
77+
<h2>6. Speicherdauer</h2>
78+
<p>Bis zum Start von tüftle.li. Nach dem Versand der Benachrichtigung werden alle E-Mail-Adressen gelöscht. Wenn Sie sich früher abmelden, werden Ihre Daten sofort entfernt.</p>
79+
80+
<h2>7. Ihre Rechte</h2>
81+
<p>Gemäss DSGVO haben Sie das Recht auf:</p>
82+
<ul style="margin-left: 2rem;">
83+
<li><strong>Auskunft</strong> — Kopie Ihrer Daten</li>
84+
<li><strong>Berichtigung</strong> — Korrektur unrichtiger Daten</li>
85+
<li><strong>Löschung</strong> — Entfernung Ihrer Daten</li>
86+
<li><strong>Einschränkung</strong> — Einschränkung der Verarbeitung</li>
87+
<li><strong>Datenübertragbarkeit</strong> — Erhalt Ihrer Daten in einem maschinenlesbaren Format</li>
88+
<li><strong>Widerspruch</strong> — Widerspruch gegen die Verarbeitung</li>
89+
</ul>
90+
<p>Um diese Rechte auszuüben, antworten Sie einfach auf eine meiner E-Mails oder schreiben Sie an <a href="mailto:hello@tüftle.li">hello@tüftle.li</a>. Ich werde innerhalb von 30 Tagen antworten.</p>
91+
92+
<h2>8. Widerruf der Einwilligung</h2>
93+
<p>Sie können Ihre Einwilligung jederzeit widerrufen, indem Sie auf eine E-Mail mit "abmelden" antworten oder mir direkt schreiben. Ihre Daten werden dann umgehend gelöscht.</p>
94+
95+
<h2>9. Weitergabe von Daten</h2>
96+
<p>Ich gebe Ihre Daten an niemanden weiter. Der einzige involvierte Drittanbieter ist Cloudflare, der als Auftragsverarbeiter fungiert (sie speichern die Daten in meinem Auftrag).</p>
97+
98+
<h2>10. Änderungen dieser Erklärung</h2>
99+
<p>Bei Änderungen wird diese Seite aktualisiert. Bei wesentlichen Änderungen können Abonnenten per E-Mail benachrichtigt werden.</p>
100+
101+
<div class="footer">
102+
<a href="/">← zurück zu tüftle.li</a> ·
103+
<a href="/privacy">English privacy policy</a> ·
104+
<a href="mailto:hello@tüftle.li">hello@tüftle.li</a>
105+
</div>
106+
</div>
107+
</body>
108+
</html>

env.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// env.js — будет генерироваться на этапе сборки
2+
window.ENV = {
3+
FORMZERO_URL: '{{ FORMZERO_URL }}',
4+
EMAIL_WORKER_URL: '{{ EMAIL_WORKER_URL }}',
5+
SITE_URL: '{{ SITE_URL }}'
6+
};

0 commit comments

Comments
 (0)