Files
ifb-schulapp/public/datenschutz.html
T

149 lines
9.1 KiB
HTML
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.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Datenschutzerklärung · Klassenportal</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">Klassenportal</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.ifb.lol</p>
<section>
<h2>1. Verantwortlicher</h2>
<div class="box">
<p>Dieses Klassenportal wird privat von einer Privatperson betrieben, ausschließlich für interne Klassenzwecke. Es handelt sich weder um ein kommerzielles Angebot noch um ein offizielles Angebot einer Schule, eines Trägers oder einer Bildungseinrichtung.</p>
<p style="margin-top:10px"><strong>Kontakt:</strong> <a href="mailto:kontakt@info1.ifb.lol">kontakt@info1.ifb.lol</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 in <strong>Deutschland</strong> gespeichert. Der Server unterliegt deutschem und europäischem Datenschutzrecht.</p>
<p>Es findet <strong>keine Übertragung in Drittländer</strong> (außerhalb der EU/EWR) statt.</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. 1521)</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>