- HEIC→JPEG, MOV/AVI→MP4 Konvertierung bei allen Upload-Endpoints (media_utils.py) - ffmpeg im Docker-Image, Video-Thumbnails (extract_video_thumb, poster-Attribut) - Google Analytics entfernt, Umami self-hosted eingebunden (index.html, datenschutz.js) - Admin-Panel Analytics-Tab: Stat-Cards, Sparkline 7 Tage, Top-Seiten (Umami-API-Proxy) - Admin-Panel Tab-Icons korrigiert (aus vorhandenem Phosphor-Sprite) - users.real_name Spalte: Username öffentlich, echter Name privat und optional - Registrierung: Label "Benutzername", Leerzeichen verboten, Profanity-Blockliste - Datenschutzerklärung: GA-Abschnitt durch Umami-Text ersetzt
114 lines
6.1 KiB
JavaScript
114 lines
6.1 KiB
JavaScript
/* ============================================================
|
|
BAN YARO — Datenschutzerklärung
|
|
============================================================ */
|
|
|
|
window.Page_datenschutz = (() => {
|
|
|
|
function init(container) {
|
|
const umamiSection = `
|
|
<section style="margin-bottom:var(--space-6)">
|
|
<h2 style="font-size:var(--text-base);font-weight:var(--weight-semibold);
|
|
color:var(--c-text);margin:0 0 var(--space-2)">Nutzungsanalyse (Umami)</h2>
|
|
<p style="font-size:var(--text-sm);color:var(--c-text-secondary);line-height:1.7;margin:0">
|
|
Wir verwenden Umami, ein datenschutzfreundliches Analysetool, das ausschließlich auf
|
|
unserem eigenen Server betrieben wird. Es werden keine Cookies gesetzt, keine
|
|
personenbezogenen Daten erhoben und keine Daten an Dritte weitergegeben.
|
|
Erfasst werden lediglich anonyme Seitenaufrufe zur Verbesserung der App.
|
|
Eine Rechtsgrundlage nach Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse) ist
|
|
gegeben; ein Widerspruch oder Opt-out ist nicht erforderlich, da keine
|
|
personenbezogenen Daten verarbeitet werden.
|
|
</p>
|
|
</section>
|
|
`;
|
|
|
|
container.innerHTML = `
|
|
<div style="max-width:640px;margin:0 auto;padding:var(--space-6) var(--space-4)">
|
|
|
|
<h1 style="font-size:var(--text-2xl);font-weight:var(--weight-bold);
|
|
color:var(--c-text);margin:0 0 var(--space-6)">Datenschutzerklärung</h1>
|
|
|
|
<section style="margin-bottom:var(--space-6)">
|
|
<h2 style="font-size:var(--text-base);font-weight:var(--weight-semibold);
|
|
color:var(--c-text);margin:0 0 var(--space-2)">Verantwortlicher</h2>
|
|
<p style="font-size:var(--text-sm);color:var(--c-text-secondary);line-height:1.7;margin:0">
|
|
René Degelmann, Ringstr. 26, 85560 Ebersberg<br>
|
|
E-Mail: <a href="mailto:mail@motocamp.de"
|
|
style="color:var(--c-primary)">mail@motocamp.de</a>
|
|
</p>
|
|
</section>
|
|
|
|
<section style="margin-bottom:var(--space-6)">
|
|
<h2 style="font-size:var(--text-base);font-weight:var(--weight-semibold);
|
|
color:var(--c-text);margin:0 0 var(--space-2)">Welche Daten wir verarbeiten</h2>
|
|
<p style="font-size:var(--text-sm);color:var(--c-text-secondary);line-height:1.7;margin:0">
|
|
Bei der Registrierung und Nutzung von Ban Yaro werden folgende Daten verarbeitet:
|
|
</p>
|
|
<ul style="font-size:var(--text-sm);color:var(--c-text-secondary);
|
|
line-height:1.7;margin:var(--space-2) 0 0;padding-left:var(--space-5)">
|
|
<li><strong>Accountdaten:</strong> Benutzername, E-Mail-Adresse, Passwort (gehashed)</li>
|
|
<li><strong>Hundeprofil:</strong> Name, Rasse, Alter, Foto (freiwillig)</li>
|
|
<li><strong>Standortdaten:</strong> Nur wenn du Gassi-Treffen, Giftköder-Meldungen oder die
|
|
Karte nutzt (jeweils nur nach expliziter Browser-Freigabe)</li>
|
|
<li><strong>Inhalte:</strong> Tagebucheinträge, Fotos, Forenbeiträge, Chatnachrichten</li>
|
|
<li><strong>Technische Daten:</strong> IP-Adresse (serverseitig für Sicherheit/Rate-Limiting),
|
|
Browser-Typ</li>
|
|
</ul>
|
|
</section>
|
|
|
|
<section style="margin-bottom:var(--space-6)">
|
|
<h2 style="font-size:var(--text-base);font-weight:var(--weight-semibold);
|
|
color:var(--c-text);margin:0 0 var(--space-2)">Rechtsgrundlage</h2>
|
|
<p style="font-size:var(--text-sm);color:var(--c-text-secondary);line-height:1.7;margin:0">
|
|
Die Verarbeitung erfolgt auf Basis von Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung)
|
|
für alle zur Bereitstellung des Dienstes notwendigen Daten, sowie Art. 6 Abs. 1 lit. a
|
|
DSGVO (Einwilligung) für optionale Funktionen wie Standortfreigabe.
|
|
</p>
|
|
</section>
|
|
|
|
<section style="margin-bottom:var(--space-6)">
|
|
<h2 style="font-size:var(--text-base);font-weight:var(--weight-semibold);
|
|
color:var(--c-text);margin:0 0 var(--space-2)">Datenweitergabe</h2>
|
|
<p style="font-size:var(--text-sm);color:var(--c-text-secondary);line-height:1.7;margin:0">
|
|
Deine Daten werden nicht an Dritte verkauft oder zu Werbezwecken weitergegeben.
|
|
Öffentliche Inhalte (Forum, Wiki, Giftköder-Karte) sind für alle Nutzer sichtbar.
|
|
Profile sind standardmäßig nur für registrierte Nutzer sichtbar.
|
|
</p>
|
|
</section>
|
|
|
|
${umamiSection}
|
|
|
|
<section style="margin-bottom:var(--space-6)">
|
|
<h2 style="font-size:var(--text-base);font-weight:var(--weight-semibold);
|
|
color:var(--c-text);margin:0 0 var(--space-2)">Deine Rechte (DSGVO)</h2>
|
|
<p style="font-size:var(--text-sm);color:var(--c-text-secondary);line-height:1.7;margin:0">
|
|
Du hast das Recht auf <strong>Auskunft</strong> (Art. 15), <strong>Berichtigung</strong>
|
|
(Art. 16), <strong>Löschung</strong> (Art. 17), <strong>Einschränkung der Verarbeitung</strong>
|
|
(Art. 18) sowie <strong>Datenportabilität</strong> (Art. 20). Zur Ausübung deiner Rechte
|
|
wende dich per E-Mail an
|
|
<a href="mailto:mail@motocamp.de" style="color:var(--c-primary)">mail@motocamp.de</a>.
|
|
Du hast außerdem das Recht, bei der zuständigen Aufsichtsbehörde Beschwerde einzulegen.
|
|
</p>
|
|
</section>
|
|
|
|
<section style="margin-bottom:var(--space-6)">
|
|
<h2 style="font-size:var(--text-base);font-weight:var(--weight-semibold);
|
|
color:var(--c-text);margin:0 0 var(--space-2)">Speicherdauer</h2>
|
|
<p style="font-size:var(--text-sm);color:var(--c-text-secondary);line-height:1.7;margin:0">
|
|
Deine Daten werden gelöscht, sobald du deinen Account löschst. Server-Logs
|
|
werden nach 30 Tagen automatisch gelöscht.
|
|
</p>
|
|
</section>
|
|
|
|
<p style="font-size:var(--text-xs);color:var(--c-text-muted);margin:0">
|
|
Stand: April 2026
|
|
</p>
|
|
|
|
</div>
|
|
`;
|
|
|
|
}
|
|
|
|
function refresh() {}
|
|
|
|
return { init, refresh };
|
|
})();
|