150 lines
9.4 KiB
HTML
150 lines
9.4 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Datenschutzerklärung · INFO1 Dashboard</title>
|
||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||
<style>
|
||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||
body { font-family: 'Inter', -apple-system, sans-serif; background: #f8fafc; color: #0f172a; min-height: 100vh; }
|
||
header { background: #fff; border-bottom: 1px solid #e2e8f0; padding: 0 32px; height: 56px; display: flex; align-items: center; gap: 16px; }
|
||
.brand { font-size: 16px; font-weight: 800; color: #2563eb; letter-spacing: -.5px; }
|
||
.back { font-size: 13px; color: #64748b; text-decoration: none; margin-left: auto; }
|
||
.back:hover { color: #2563eb; }
|
||
main { max-width: 740px; margin: 48px auto; padding: 0 24px 80px; }
|
||
h1 { font-size: 28px; font-weight: 800; letter-spacing: -.5px; margin-bottom: 6px; }
|
||
.subtitle { font-size: 14px; color: #64748b; margin-bottom: 40px; }
|
||
section { margin-bottom: 36px; }
|
||
h2 { font-size: 16px; font-weight: 700; color: #0f172a; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid #e2e8f0; }
|
||
p { font-size: 14px; line-height: 1.75; color: #334155; margin-bottom: 10px; }
|
||
p:last-child { margin-bottom: 0; }
|
||
ul { padding-left: 20px; margin-top: 6px; }
|
||
li { font-size: 14px; line-height: 1.75; color: #334155; margin-bottom: 4px; }
|
||
.tag { display: inline-block; background: #eff6ff; color: #1d4ed8; font-size: 12px; font-weight: 600; padding: 2px 9px; border-radius: 6px; margin-right: 4px; }
|
||
.box { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 20px 24px; }
|
||
a { color: #2563eb; text-decoration: none; }
|
||
a:hover { text-decoration: underline; }
|
||
table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 8px; }
|
||
th { text-align: left; padding: 8px 12px; background: #f8fafc; font-weight: 600; color: #374151; border-bottom: 1px solid #e2e8f0; }
|
||
td { padding: 8px 12px; color: #334155; border-bottom: 1px solid #f1f5f9; vertical-align: top; }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<span class="brand">INFO1 Dashboard</span>
|
||
<a class="back" href="/">← Zurück</a>
|
||
</header>
|
||
<main>
|
||
<h1>Datenschutzerklärung</h1>
|
||
<p class="subtitle">Zuletzt aktualisiert: April 2026 · Gilt für info1.simon0x.xyz</p>
|
||
|
||
<section>
|
||
<h2>1. Verantwortlicher</h2>
|
||
<div class="box">
|
||
<p>Dieses Dashboard wird privat betrieben von einem Schüler der IFB-Berufsfachschule Rosenheim ausschließlich für interne Klassenzwecke der Klasse INFO1. Es handelt sich um kein kommerzielles Angebot.</p>
|
||
<p style="margin-top:10px"><strong>Kontakt:</strong> <a href="mailto:kontakt@simon0x.xyz">kontakt@simon0x.xyz</a></p>
|
||
</div>
|
||
</section>
|
||
|
||
<section>
|
||
<h2>2. Welche Daten werden gespeichert?</h2>
|
||
<table>
|
||
<thead>
|
||
<tr><th>Datenkategorie</th><th>Inhalt</th><th>Zweck</th></tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr><td><span class="tag">Account</span></td><td>Benutzername (Klartext), Passwort als bcrypt-Hash (nicht lesbar, nicht umkehrbar)</td><td>Authentifizierung</td></tr>
|
||
<tr><td><span class="tag">Stundenplan</span></td><td>Fach, Raum, Lehrkraft, Uhrzeit, Wochentag</td><td>Persönliche Stundenplanverwaltung</td></tr>
|
||
<tr><td><span class="tag">Hausaufgaben</span></td><td>Titel, Fach, Fälligkeitsdatum, Erledigungsstatus</td><td>Aufgabenverwaltung</td></tr>
|
||
<tr><td><span class="tag">Noten</span></td><td>Fach, Note, Notentyp, optionale Anmerkung</td><td>Notenübersicht und Durchschnittsberechnung</td></tr>
|
||
<tr><td><span class="tag">Fehlzeiten</span></td><td>Datum, Fach, Grund</td><td>Fehlzeitentracking</td></tr>
|
||
<tr><td><span class="tag">To-Do</span></td><td>Aufgabentitel, Erledigungsstatus</td><td>Persönliche Aufgabenliste</td></tr>
|
||
<tr><td><span class="tag">Countdowns</span></td><td>Bezeichnung, Zieldatum</td><td>Ereignis-Countdowns</td></tr>
|
||
<tr><td><span class="tag">Links</span></td><td>Bezeichnung, URL</td><td>Persönliche Schnellzugriffe</td></tr>
|
||
<tr><td><span class="tag">Klassenkalender</span></td><td>Prüfungen und Ferieneinträge (klassenöffentlich)</td><td>Gemeinsame Terminübersicht der Klasse</td></tr>
|
||
</tbody>
|
||
</table>
|
||
<p style="margin-top:12px">Es werden <strong>keine</strong> Echtname, E-Mail-Adressen, IP-Adressen (dauerhaft), Gerätedaten oder Verhaltensprofile gespeichert. Es gibt kein Tracking, keine Analytics und keine Werbung.</p>
|
||
</section>
|
||
|
||
<section>
|
||
<h2>3. Wo werden die Daten gespeichert?</h2>
|
||
<p>Alle Daten werden in einer SQLite-Datenbank auf einem virtuellen Server der <strong>Hetzner Online GmbH</strong> (Industriestr. 25, 91710 Gunzenhausen, Deutschland) gespeichert. Der Server befindet sich physisch im Rechenzentrum Nürnberg (Deutschland) und unterliegt damit deutschem und europäischem Datenschutzrecht.</p>
|
||
<p>Es findet <strong>keine Übertragung in Drittländer</strong> (außerhalb der EU/EWR) statt.</p>
|
||
<p>Hetzner ist als Auftragsverarbeiter gem. Art. 28 DSGVO tätig. Datenschutzerklärung Hetzner: <a href="https://www.hetzner.com/legal/privacy-policy" target="_blank" rel="noopener">hetzner.com/legal/privacy-policy</a></p>
|
||
</section>
|
||
|
||
<section>
|
||
<h2>4. Rechtsgrundlage</h2>
|
||
<p>Die Verarbeitung erfolgt auf Grundlage von <strong>Art. 6 Abs. 1 lit. a DSGVO</strong> (Einwilligung). Du gibst deine Einwilligung durch die freiwillige Registrierung. Du kannst sie jederzeit widerrufen, indem du deinen Account löschst (siehe Abschnitt 7).</p>
|
||
</section>
|
||
|
||
<section>
|
||
<h2>5. Zugriff auf deine Daten</h2>
|
||
<p>Alle persönlichen Einträge (Stundenplan, Noten, Hausaufgaben usw.) sind ausschließlich für den jeweiligen Account sichtbar. <strong>Kein anderer Nutzer</strong> kann deine persönlichen Daten sehen.</p>
|
||
<p>Klassenkalender-Einträge (Prüfungen, Ferien) sind für alle Besucher der Seite sichtbar, da sie Klasseninformationen darstellen und keine persönlichen Daten enthalten.</p>
|
||
<p>Der Serverbetreiber hat technischen Zugriff auf die Datenbankdatei. Passwörter sind jedoch als bcrypt-Hash gespeichert und nicht lesbar.</p>
|
||
</section>
|
||
|
||
<section>
|
||
<h2>6. Speicherdauer</h2>
|
||
<p>Daten werden gespeichert bis:</p>
|
||
<ul>
|
||
<li>du deinen Account löschst (alle deine Daten werden sofort und vollständig gelöscht), oder</li>
|
||
<li>du eine Löschung per E-Mail anforderst, oder</li>
|
||
<li>das Dashboard eingestellt wird (Nutzer werden vorab informiert soweit möglich)</li>
|
||
</ul>
|
||
</section>
|
||
|
||
<section>
|
||
<h2>7. Deine Rechte (DSGVO Art. 15–21)</h2>
|
||
<ul>
|
||
<li><strong>Auskunft (Art. 15):</strong> Du kannst jederzeit Auskunft über deine gespeicherten Daten anfordern.</li>
|
||
<li><strong>Berichtigung (Art. 16):</strong> Du kannst alle Einträge direkt im Dashboard bearbeiten oder löschen.</li>
|
||
<li><strong>Löschung (Art. 17):</strong> Du kannst deinen Account in den Einstellungen vollständig löschen. Alle deine Daten werden dabei sofort gelöscht.</li>
|
||
<li><strong>Einschränkung (Art. 18):</strong> Auf Anfrage per E-Mail möglich.</li>
|
||
<li><strong>Widerspruch (Art. 21):</strong> Da die Verarbeitung auf Einwilligung basiert, entfällt sie mit Widerruf der Einwilligung (= Account-Löschung).</li>
|
||
<li><strong>Beschwerde:</strong> Du hast das Recht, bei der zuständigen Datenschutzaufsichtsbehörde Beschwerde einzulegen (Bayern: Bayerisches Landesamt für Datenschutzaufsicht, <a href="https://www.lda.bayern.de" target="_blank" rel="noopener">lda.bayern.de</a>).</li>
|
||
</ul>
|
||
</section>
|
||
|
||
<section>
|
||
<h2>8. Drittanbieter-Dienste</h2>
|
||
<table>
|
||
<thead><tr><th>Dienst</th><th>Zweck</th><th>Datenübertragung</th></tr></thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>Cloudflare</strong></td>
|
||
<td>CDN, DDoS-Schutz, HTTPS-Zertifikat</td>
|
||
<td>IP-Adressen werden von Cloudflare temporär verarbeitet (EU-Server möglich). Cloudflare speichert keine Inhalte dauerhaft. <a href="https://www.cloudflare.com/privacypolicy/" target="_blank" rel="noopener">Datenschutzerklärung</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Open-Meteo API</strong></td>
|
||
<td>Wetterdaten für Rosenheim</td>
|
||
<td>Anfragen gehen direkt vom Browser an api.open-meteo.com. Es werden nur Koordinaten übertragen, keine personenbezogenen Daten. <a href="https://open-meteo.com/en/terms" target="_blank" rel="noopener">Nutzungsbedingungen</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Google Fonts</strong></td>
|
||
<td>Schriftart Inter</td>
|
||
<td>Beim ersten Laden wird die Schriftart von Google-Servern geladen. Dabei wird deine IP-Adresse an Google übertragen. <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Datenschutzerklärung</a>. Falls unerwünscht: Seite funktioniert auch mit System-Schriftart.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
|
||
<section>
|
||
<h2>9. Sicherheit</h2>
|
||
<ul>
|
||
<li>Passwörter werden ausschließlich als bcrypt-Hash (Cost-Factor 12) gespeichert – niemals im Klartext</li>
|
||
<li>Alle Verbindungen laufen über HTTPS (TLS via Cloudflare)</li>
|
||
<li>Anmeldeversuch-Begrenzung: max. 10 Versuche pro 15 Minuten pro IP-Adresse</li>
|
||
<li>Session-Cookies sind als HttpOnly gesetzt (kein JavaScript-Zugriff)</li>
|
||
<li>Jeder Nutzer sieht nur seine eigenen Daten (serverseitige Filterung)</li>
|
||
</ul>
|
||
</section>
|
||
</main>
|
||
</body>
|
||
</html>
|