Datenschutz
Datenschutzerklärung
Informationen zur Verarbeitung personenbezogener Daten in BrickMissing 8.
1. Verantwortlicher und Kontakt
Simon Weiss AustriaKontakt: simonweiss05@outlook.com
2. Zweck und Rechtsgrundlagen
BrickMissing dient der persönlichen Verwaltung einer LEGO-Sammlung, insbesondere von Sets, Teilen, Inventar, Fehlteilen, Minifiguren und Organisationsdaten. Account- und dienstbezogene Daten werden verarbeitet, um die angeforderten Funktionen bereitzustellen (Art. 6 Abs. 1 lit. b DSGVO, soweit anwendbar). Sicherheits-, Audit- und Missbrauchsschutzdaten werden auf Grundlage berechtigter Interessen an einem sicheren und zuverlässigen Betrieb verarbeitet (Art. 6 Abs. 1 lit. f DSGVO, soweit anwendbar). Eine Einwilligung wird nicht als pauschale Grundlage für die Kontoerstellung verwendet. Die endgültige rechtliche Einordnung des konkreten öffentlichen Betriebs sollte geprüft werden.
3. Registrierung und Benutzerkonto
Bei Registrierung und Kontonutzung verarbeitet BrickMissing insbesondere Benutzername, normalisierte E-Mail-Adresse, Accountstatus, Rollen, Erstellungs- und Änderungszeitpunkte sowie den letzten Login. Passwörter werden nicht im Klartext gespeichert, sondern mit den in Django konfigurierten Passwort-Hashverfahren verarbeitet. E-Mail-Verifikations- und Passwortreset-Tokens sind zeitlich begrenzt; die technischen Standardfristen betragen 86400 beziehungsweise 3600 Sekunden.
Für Zwei-Faktor-Authentifizierung kann ein verschlüsseltes TOTP-Secret gespeichert werden. Wiederherstellungscodes werden ausschließlich gehasht gespeichert. Bei E-Mail-Änderungen bleibt die bisherige Adresse aktiv, bis die neue Adresse bestätigt wurde.
4. Sessions, Sicherheit und Protokollierung
Die Anmeldung verwendet Django-Sessions und ergänzende AccountSession-Datensätze mit Sessionkennung, User-Agent sowie Erstellungs- und Aktivitätszeit. Die reguläre Session-Laufzeit beträgt 1209600 Sekunden. IP-Adressen, Request-IDs, Aktionen und minimierte Objektmetadaten können in AuditEvents zur Fehleranalyse, Nachvollziehbarkeit und Missbrauchsabwehr verarbeitet werden. Rate Limits schützen unter anderem Login, E-Mail-, Export- und Verwaltungsfunktionen. Passwörter, Tokens und Secrets werden nicht als Auditinhalt protokolliert.
5. Sammlungs- und Organisationsdaten
Je nach Nutzung verarbeitet BrickMissing Sets, Teile, Mengen, Zustände, Bau- und Vollständigkeitsstatus, Inventar und Lagerorte, Fehlteile, Minifiguren, Collections, MOCs und deren Versionen oder Teile, Wunschlisten, Ausleihen, persönliche Notizen, gespeicherte Ansichten, Bestellungen, Preise und Bestandsbewegungen. Diese Inhalte sind dem jeweiligen Benutzerkonto oder fachlich freigegebenen Beziehungen zugeordnet.
6. Private Dokumente und Uploads
Private Dokumente werden mit Metadaten und Dateiinhalt im privaten Medienbereich gespeichert. Downloads sind an den Eigentümer gebunden. Bei dauerhafter Account-Löschung werden ausschließlich eigene PrivateDocument-Datensätze und die zugehörigen physischen Dateien sicher entfernt. Ein Auditwerkzeug erkennt verwaiste Dateien; es löscht sie nicht ungeprüft.
7. Import, Export und Datenübertragbarkeit
Importvorgänge können ImportBatch-Datensätze und vom Benutzer bereitgestellte Fachinhalte verarbeiten. Bestehende Set-/Teileexporte bleiben von einem personenbezogenen Gesamtexport getrennt. Der personenbezogene Export erzeugt nach erneuter Bestätigung eine ZIP-Datei im Arbeitsspeicher, die ausschließlich Daten des angemeldeten Benutzers und zulässige private Dateien enthält. Passwort-Hashes, Sessions, Wiederherstellungscodes, TOTP-Secrets, API-Schlüssel und Infrastruktur-Secrets werden ausgeschlossen. Der Export wird nicht dauerhaft als Serverdatei gespeichert.
8. Account-Deaktivierung und dauerhafte Löschung
Bei Deaktivierung werden Anmeldung und Sicherheitsdaten deaktiviert und Kontaktdaten anonymisiert; fachliche Inhalte können zur Wahrung von Beziehungen bestehen bleiben. Die dauerhafte Löschung entfernt den Account, ausschließlich eigene löschbare Inhalte, Sessions, Sicherheitsdaten und private Dateien. Geschützte oder gemeinsam genutzte Beziehungen werden integritätsschonend behandelt. Beide Vorgänge verlangen Anmeldung, CSRF-Schutz, Passwortbestätigung und ein eindeutiges Bestätigungswort.
9. Aufbewahrung und Bereinigung
Personenbezogene Daten werden grundsätzlich so lange gespeichert, wie dies für den jeweiligen Zweck und die Nutzung des Kontos erforderlich ist oder bis eine Löschung erfolgt, soweit keine zulässigen Aufbewahrungsgründe entgegenstehen. Der Cleanup ist standardmäßig ein reiner Dry-run; nur ein ausdrückliches --apply löscht fällige Daten.
- Django-Sessions: bis zum technischen Ablaufdatum; verwaiste AccountSessions werden anschließend bereinigt.
- PendingEmailChange: 30 Tage nach Verwendung oder Ablauf.
- Verwendete Recovery Codes: 90 Tage nach Verwendung; aktive Codes bleiben erhalten.
- ImportBatch: 30 Tage.
- Security-AuditEvents: 365 Tage.
- Fachliche AuditEvents: 180 Tage.
- Gelesene Benachrichtigungen: 90 Tage nach dem Lesen; ungelesene Benachrichtigungen bleiben erhalten.
- Soft-gelöschte Sets, Teile, Bestellungen, MOCs und Exemplare: 30 Tage Wiederherstellungsfrist.
- Soft-gelöschte private Dokumente: 30 Tage; danach werden Datensatz und Datei sicher endgültig gelöscht.
- Legacy-Migrationsdaten: bewusst unbegrenzt für Import-Idempotenz und Migrationsnachweis.
- Backuprotation: höchstens 7 anwendungsverwaltete Backupstände.
Temporäre personenbezogene Exporte werden nur im Arbeitsspeicher erzeugt und nicht dauerhaft gespeichert. Rate-Limit-Einträge laufen entsprechend der jeweiligen technischen Schutzfrist im Cache ab. E-Mail-Verifikations- und Resetdaten unterliegen den oben beschriebenen Token-Ablaufzeiten.
10. Backups
Anwendungsbackups enthalten die Fachdatenbank und private Medien. Sie werden verschlüsselt gespeichert und auf Integrität geprüft. Eine Account-Löschung verändert bereits bestehende Backupstände nicht rückwirkend; gelöschte Daten können deshalb bis zum Auslaufen der Backuprotation enthalten bleiben. Nach einer Wiederherstellung dürfen zuvor gelöschte personenbezogene Daten nicht dauerhaft reaktiviert bleiben, ohne die Lösch- oder Anonymisierungsmaßnahmen erneut anzuwenden.
11. Server- und Infrastrukturlogs
Django, der Anwendungsserver, systemd/journald, der Webserver und die Datenbank können technische Protokolle einschließlich Zeitpunkt, Route, Status, IP-Adresse oder Request-ID erzeugen. Für den geprüften Production-Stand rotiert Nginx täglich mit 14 aufbewahrten Rotationen. MariaDB-General-Log und Slow-Query-Log sind deaktiviert. Für journald wurde keine ausdrückliche maximale Aufbewahrungsfrist festgestellt; dessen tatsächliche Aufbewahrung richtet sich daher nach der Serverkonfiguration und dem verfügbaren Speicher.
12. E-Mail und optionale Drittanbieter
Für Verifikation, Passwortreset und Sicherheitsnachrichten kann ein konfigurierbarer SMTP-/E-Mail-Dienst Empfängeradresse und Nachrichteninhalt verarbeiten. Anbieter, Region und Vertragsgrundlage hängen von der Production-Konfiguration ab.
Optional können Rebrickable (Set-, Teile- und Minifigurendaten mit verschlüsselt gespeichertem Benutzer-API-Key), BrickLink (API oder Links), BrickEconomy und Brickset (Preisdaten) sowie LEGO (Anleitungen, Setseiten oder Pick a Brick) genutzt werden. Eine Integration wird nur aktiv, wenn sie konfiguriert oder bewusst aufgerufen wird. Beim Öffnen externer Links gelten die Datenschutzbedingungen des jeweiligen Anbieters.
13. Externe Bilder
Gespeicherte externe Bilder werden in den implementierten Ansichten über den BrickMissing Image Proxy geladen. Dadurch wird der direkte Browserkontakt mit freigegebenen Bildhosts reduziert. Der Proxy verwendet eine HTTPS-Hostfreigabe sowie Schutzmaßnahmen gegen interne Zieladressen, Redirects, unerwartete Dateitypen und übergroße Antworten. Bewusst geöffnete externe Links und nicht vom Proxy erfasste externe Ziele können dennoch eine direkte Verbindung auslösen.
14. Cookies und lokale Speicherung
BrickMissing verwendet notwendige Cookies, aber keine im Code erkannten Analytics-, Werbe- oder Trackingdienste. Deshalb wird derzeit kein Consent-Banner angezeigt.
sessionid- Technisch erforderliche Anmeldung und Session; HttpOnly, SameSite=Lax und in Production Secure.
csrftoken- Technisch erforderlicher Schutz vor Cross-Site-Request-Forgery; SameSite=Lax und in Production Secure.
brickmissing-themein localStorage- Speichert ausschließlich die Darstellungspräferenz.
- Service-Worker-Cache
- Speichert statische Shell-Assets für die Anwendung; keine fachlichen oder personenbezogenen Datensätze.
15. Empfänger
Daten sind für den Betreiber und entsprechend berechtigte Administratoren zugänglich. Je nach Konfiguration können Hosting-/Infrastruktur-, E-Mail- und optionale Integrationsanbieter Empfänger oder Auftragsverarbeiter sein. Die tatsächlich eingesetzten Anbieter, Standorte und Verträge müssen vor Veröffentlichung vom Betreiber ergänzt und rechtlich geprüft werden.
16. Deine Rechte
Nach Maßgabe der DSGVO bestehen insbesondere Rechte auf Auskunft, Berichtigung, Löschung, Einschränkung der Verarbeitung und Datenübertragbarkeit. Soweit eine Verarbeitung auf berechtigten Interessen beruht, kann ein Widerspruchsrecht bestehen. Eine tatsächlich erteilte Einwilligung kann für die Zukunft widerrufen werden. Über Profilfunktionen können Daten exportiert, das Konto deaktiviert oder dauerhaft gelöscht werden. Für weitere Anliegen nutze die oben genannte Kontaktadresse.
Du kannst dich außerdem bei der zuständigen Datenschutzaufsicht beschweren. Für Österreich ist dies die Österreichische Datenschutzbehörde; aktuelle Informationen und Kontaktdaten stehen auf ihrer offiziellen Website unter dsb.gv.at.
17. Änderungen
Diese Datenschutzerklärung wird angepasst, wenn sich Funktionen, Anbieter oder rechtliche Rahmenbedingungen ändern. Maßgeblich ist die jeweils in BrickMissing veröffentlichte Fassung.