AstraOS Ver. 1.27:
All checks were successful
Deploy AstraOS Panel / deploy (push) Successful in 12s
All checks were successful
Deploy AstraOS Panel / deploy (push) Successful in 12s
- Datenschutzerklärung hinzugefügt
This commit is contained in:
parent
54fa2b9601
commit
5455ec17d0
149
AstraOS/Frontend/HTML/datenschutz.html
Normal file
149
AstraOS/Frontend/HTML/datenschutz.html
Normal file
|
|
@ -0,0 +1,149 @@
|
||||||
|
{% extends "sidebar.html" %}
|
||||||
|
|
||||||
|
{% block title %}Datenschutzerklärung — AstraOS{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<main class="p-6">
|
||||||
|
<h1 class="text-3xl font-bold mb-6">Datenschutzerklärung</h1>
|
||||||
|
|
||||||
|
<div class="space-y-6">
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">1. Verantwortlicher für die Datenverarbeitung</h2>
|
||||||
|
<p class="mb-2"><strong>Name:</strong> {{ datenschutz.name }}</p>
|
||||||
|
<p class="mb-2"><strong>Adresse:</strong> {{ datenschutz.address }}</p>
|
||||||
|
<p><strong>Kontakt:</strong> <a href="mailto:{{ datenschutz.email }}" class="text-purple-400 hover:underline">{{ datenschutz.email }}</a></p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">2. Geltungsbereich</h2>
|
||||||
|
<p class="text-gray-300 mb-2">Diese Datenschutzerklärung ist gültig für die Website astra-os.de und alle zugehörigen Dienste („Dienst"). Sie informiert Nutzer über die Verarbeitung personenbezogener Daten gemäß der Datenschutz-Grundverordnung (DSGVO) und dem Telemediengesetz (TMG).</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">3. Verarbeitete Datenarten</h2>
|
||||||
|
<ul class="list-disc list-inside space-y-2 text-gray-300">
|
||||||
|
<li><strong>Authentifizierungsdaten:</strong> Discord-Benutzerkonto (ID, Username, Avatar-URL), falls Sie sich über Discord anmelden.</li>
|
||||||
|
<li><strong>Benutzerprofildaten:</strong> Benutzername, E-Mail-Adresse, Rollen, Berechtigungen, Steam-ID (falls angegeben).</li>
|
||||||
|
<li><strong>Verbindungsdaten:</strong> IP-Adresse, Browser-Typ, Zugriffszeitstempel, Referrer, User-Agent.</li>
|
||||||
|
<li><strong>Aktionsprotokolle (Logs):</strong> Aufzeichnungen von Benutzeraktionen in der Verwaltungsoberfläche (User-Management, Bot-Verwaltung, Einstellungsänderungen).</li>
|
||||||
|
<li><strong>Altersüberprüfungsdaten:</strong> Geburtsdatum (verschlüsselt gespeichert) und Verifizierungsstatus.</li>
|
||||||
|
<li><strong>Bot-Daten:</strong> Discord-Bot-Konfigurationen, Token, Logs der laufenden Bots.</li>
|
||||||
|
<li><strong>IP-Analyzer-Daten:</strong> Eingegebene IP-Adressen, Abfrageergebnisse, geografische Standorte.</li>
|
||||||
|
<li><strong>Session-Daten:</strong> Session-ID und Authentifizierungstoken (in Cookies / Session Security).</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">4. Rechtliche Grundlagen der Verarbeitung</h2>
|
||||||
|
<ul class="list-disc list-inside space-y-2 text-gray-300">
|
||||||
|
<li><strong>Art. 6 Abs. 1 Buchstabe a DSGVO:</strong> Einwilligung (z. B. bei Discord-Login).</li>
|
||||||
|
<li><strong>Art. 6 Abs. 1 Buchstabe b DSGVO:</strong> Erforderlichkeit für die Erfüllung eines Vertrags (Bereitstellung der Dienste).</li>
|
||||||
|
<li><strong>Art. 6 Abs. 1 Buchstabe f DSGVO:</strong> Berechtigte Interessen (Sicherheit, Missbrauchsprävention, Betriebsfortsetzung).</li>
|
||||||
|
<li><strong>§ 7 TMG:</strong> Speicherung von Zugriffsdaten für die Dauer der Sessionen (z. B. IP-Adressen in Logs).</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">5. Zweck der Verarbeitung</h2>
|
||||||
|
<ul class="list-disc list-inside space-y-2 text-gray-300">
|
||||||
|
<li>Bereitstellung und Verwaltung des Portal-Zugangs.</li>
|
||||||
|
<li>Authentifizierung und Autorisierung von Nutzern.</li>
|
||||||
|
<li>Verwaltung von Benutzerrollen und Berechtigungen.</li>
|
||||||
|
<li>Logging und Auditierung von Aktionen (Compliance, Sicherheit).</li>
|
||||||
|
<li>Archivierung von Discord-Bot-Daten und ETS2-DLC-Verwaltung.</li>
|
||||||
|
<li>Analyse von IP-Adressen (IP-Analyzer-Tool).</li>
|
||||||
|
<li>Altersüberprüfung für altersgerechte Inhalte.</li>
|
||||||
|
<li>Sicherheit, Missbrauchserkennung und Schutz vor Angriffen.</li>
|
||||||
|
<li>Technischer Support und Troubleshooting.</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">6. Speicherdauer</h2>
|
||||||
|
<ul class="list-disc list-inside space-y-2 text-gray-300">
|
||||||
|
<li><strong>Benutzerkonto:</strong> Solange das Konto aktiv ist; nach Konto-Löschung werden Daten anonym gemacht oder gelöscht (max. 30 Tage).</li>
|
||||||
|
<li><strong>Session & Cookies:</strong> 8 Stunden (oder bis Logout).</li>
|
||||||
|
<li><strong>Logs:</strong> Mindestens 90 Tage zu Sicherheits- und Compliance-Zwecken, danach Archivierung/Löschung.</li>
|
||||||
|
<li><strong>IP-Analyzer-Ergebnisse:</strong> Können kurzzeitig gespeichert werden (bis zu 7 Tage).</li>
|
||||||
|
<li><strong>Altersüberprüfungsdaten:</strong> Solange notwendig für die Überprüfung; danach Löschung.</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">7. Weitergaben an Dritte</h2>
|
||||||
|
<p class="text-gray-300 mb-2">Ihre Daten werden an folgende Drittanbieter weitergegeben:</p>
|
||||||
|
<ul class="list-disc list-inside space-y-2 text-gray-300">
|
||||||
|
<li><strong>Discord (OAuth 2.0):</strong> Ihre Discord-User-ID und Authentifizierungsinformationen werden während des Anmeldevorgangs an Discord übermittelt. Discord unterliegt den <a href="https://discord.com/privacy" target="_blank" rel="noopener noreferrer" class="text-purple-400 hover:underline">Discord Privacy Policy</a>.</li>
|
||||||
|
<li><strong>MongoDB:</strong> Ihre Daten werden in einer MongoDB-Datenbank gespeichert. Die Datenbank wird sicher gehostet und ist extern nicht erreichbar.</li>
|
||||||
|
<li><strong>Keine weiteren Weitergaben:</strong> Wir geben Ihre Daten nicht an Werbetreibende, Marketing-Unternehmen oder andere nicht autorisierte Dritte.</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">8. Cookies & Session-Management</h2>
|
||||||
|
<p class="text-gray-300 mb-2"><strong>Technisch notwendige Cookies:</strong></p>
|
||||||
|
<ul class="list-disc list-inside space-y-2 text-gray-300 mb-4">
|
||||||
|
<li><strong>Session-Cookie:</strong> Speichert Ihre Authentifizierungsinformationen für 8 Stunden. HttpOnly und Secure Flags sind aktiviert.</li>
|
||||||
|
<li><strong>CSRF-Token:</strong> Schutz vor Cross-Site-Request-Forgery-Angriffen.</li>
|
||||||
|
</ul>
|
||||||
|
<p class="text-gray-300"><strong>Analyse-Cookies:</strong> Wir verwenden derzeit keine Google Analytics oder andere Tracking-Tools.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">9. Sicherheitsmaßnahmen</h2>
|
||||||
|
<ul class="list-disc list-inside space-y-2 text-gray-300">
|
||||||
|
<li>HTTPS-Verschlüsselung für alle Übertragungen (TLS/SSL).</li>
|
||||||
|
<li>Passwort-Hashing mit Werkzeug-Sicherheitsbibliothekauszügen (werkzeug.security).</li>
|
||||||
|
<li>Session-Cookies mit Secure, HttpOnly und SameSite-Flags.</li>
|
||||||
|
<li>CSRF-Schutz via Flask-WTF.</li>
|
||||||
|
<li>Firewall und DDoS-Schutz durch Hosting-Provider.</li>
|
||||||
|
<li>Regelmäßige Aktualisierung von Sicherheits-Patches.</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">10. Betroffenenrechte (DSGVO)</h2>
|
||||||
|
<p class="text-gray-300 mb-4">Sie haben folgende Rechte:</p>
|
||||||
|
<ul class="list-disc list-inside space-y-2 text-gray-300 mb-4">
|
||||||
|
<li><strong>Auskunftsrecht (Art. 15 DSGVO):</strong> Sie können jederzeit eine Kopie ihrer Daten anfordern.</li>
|
||||||
|
<li><strong>Recht auf Berichtigung (Art. 16 DSGVO):</strong> Sie können unrichtige Daten korrigieren.</li>
|
||||||
|
<li><strong>Recht auf Löschung (Art. 17 DSGVO):</strong> Sie können die Löschung ihrer Daten verlangen (sofern keine gesetzlichen Aufbewahrungspflichten bestehen).</li>
|
||||||
|
<li><strong>Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO):</strong> Sie können die Verarbeitung ihrer Daten begrenzen.</li>
|
||||||
|
<li><strong>Recht auf Widerspruch (Art. 21 DSGVO):</strong> Sie können der Verarbeitung widersprechen.</li>
|
||||||
|
<li><strong>Recht auf Datenportabilität (Art. 20 DSGVO):</strong> Sie können ihre Daten in einem strukturierten Format erhalten und an einen anderen Anbieter übermitteln.</li>
|
||||||
|
<li><strong>Widerrufsrecht:</strong> Sie können erteilte Einwilligungen jederzeit widerrufen.</li>
|
||||||
|
</ul>
|
||||||
|
<p class="text-gray-300 mb-2"><strong>Ausübung der Rechte:</strong> Richten Sie Anfragen bitte an <a href="mailto:{{ datenschutz.email }}" class="text-purple-400 hover:underline">{{ datenschutz.email }}</a>.</p>
|
||||||
|
<p class="text-gray-300"><strong>Beschwerderecht:</strong> Sie haben das Recht, sich bei einer Datenschutzbehörde zu beschweren.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">11. API-Anfragen & externe Services</h2>
|
||||||
|
<ul class="list-disc list-inside space-y-2 text-gray-300">
|
||||||
|
<li><strong>Discord API:</strong> Bei OAuth-Authentifizierung wird Ihre Discord-ID mit unserem System verknüpft. Siehe <a href="https://discord.com/privacy" target="_blank" rel="noopener noreferrer" class="text-purple-400 hover:underline">Discord Privacy Policy</a>.</li>
|
||||||
|
<li><strong>IP-Geolocation-APIs:</strong> IP-Analyzer nutzt möglicherweise externe APIs zur Standortbestimmung. Diese Anfragen werden mit der abgefragten IP-Adresse durchgeführt (keine persönlichen Daten).</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">12. Automatisierte Entscheidungsfindung & Profiling</h2>
|
||||||
|
<p class="text-gray-300">Wir verwenden keine automatisierten Entscheidungsfindung oder systematisches Profiling (z. B. Scoring) für die Nutzer.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">13. Änderungen dieser Datenschutzerklärung</h2>
|
||||||
|
<p class="text-gray-300">Wir behalten uns vor, diese Datenschutzerklärung jederzeit zu ändern. Im Falle wesentlicher Änderungen werden wir Sie informieren oder um Ihre Zustimmung erneut bitten. Das Datum der letzten Änderung ist am Ende dieser Erklärung angegeben.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-black/40 border border-purple-500/20 p-6 rounded-lg">
|
||||||
|
<h2 class="text-2xl font-bold mb-4 text-purple-300">14. Kontakt</h2>
|
||||||
|
<p class="text-gray-300 mb-2">Für Fragen zur Datenschutz kontaktieren Sie bitte:</p>
|
||||||
|
<p class="text-gray-300"><a href="mailto:{{ datenschutz.email }}" class="text-purple-400 hover:underline">{{ datenschutz.email }}</a></p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="bg-purple-500/10 border border-purple-500/30 p-4 rounded-lg">
|
||||||
|
<p class="text-gray-400 text-sm"><strong>Letztes Update:</strong> Juni 2026</p>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
{% endblock %}
|
||||||
|
|
@ -366,7 +366,7 @@
|
||||||
{% block content %}{% endblock %}
|
{% block content %}{% endblock %}
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
© 2026 AstraOS | <a href="{{ url_for('impressum') }}" class="text-gray-300 hover:underline">Impressum</a>
|
© 2026 AstraOS | <a href="{{ url_for('impressum') }}" class="text-gray-300 hover:underline">Impressum</a> | <a href="{{ url_for('datenschutz') }}" class="text-gray-300 hover:underline">Datenschutz</a>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1478,6 +1478,17 @@ def impressum():
|
||||||
'company_registration': os.environ.get('IMPRESSUM_COMPANY_REG')
|
'company_registration': os.environ.get('IMPRESSUM_COMPANY_REG')
|
||||||
}
|
}
|
||||||
return render_template('impressum.html', active_page='impressum', impressum=impressum_data)
|
return render_template('impressum.html', active_page='impressum', impressum=impressum_data)
|
||||||
|
|
||||||
|
@app.route('/datenschutz')
|
||||||
|
def datenschutz():
|
||||||
|
# Datenschutzerklärungsdaten werden aus Umgebungsvariablen geladen
|
||||||
|
datenschutz_data = {
|
||||||
|
'name': os.environ.get('IMPRESSUM_NAME', 'AstraOS'),
|
||||||
|
'email': os.environ.get('IMPRESSUM_EMAIL', 'kontakt@astra-os.de'),
|
||||||
|
'address': os.environ.get('IMPRESSUM_ADDRESS', '')
|
||||||
|
}
|
||||||
|
return render_template('datenschutz.html', active_page='datenschutz', datenschutz=datenschutz_data)
|
||||||
|
|
||||||
@app.route('/update_maintenance', methods=['POST'])
|
@app.route('/update_maintenance', methods=['POST'])
|
||||||
@login_required
|
@login_required
|
||||||
@permission_required('maintenance_management')
|
@permission_required('maintenance_management')
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue