1. Verantwortlicher
Susanne Fischer
Schafstallstraße 23
72762 Reutlingen
Deutschland
E-Mail: info@emolito.net
Website: www.emolito.net
2. Überblick — Welche Daten erhebt die App?
Die Emolito App steuert zwei miteinander gekoppelte ESP32-IoT-Geräte, die ein synchronisiertes Lichtspiel über LEDs und einen Berührungssensor durchführen. Die App kommuniziert ausschließlich mit unserem eigenen Backend-Server (app.emolito.net). Es werden keine Analyse-, Werbe- oder Tracking-Dienste Dritter eingesetzt.
| Datenkategorie | Erhoben? | Zweck |
|---|---|---|
| Name, E-Mail | Ja | Benutzerkonto |
| Passwort | Ja | Authentifizierung (nur verschlüsselt gespeichert) |
| Zeitzone | Ja | Korrekte Zeitanzeige |
| ESP32-Seriennummer (MAC) | Ja | Geräteidentifikation |
| WiFi-SSID | Nur lokal | Vorausfüllung bei Geräteeinrichtung |
| WiFi-Passwort | Nur lokal per BLE | Wird nur an das ESP32-Gerät übertragen |
| Standort | Nein | Location-Berechtigung nur technisch für Bluetooth erforderlich |
| Smartphone-Geräte-ID | Nein | Wird nicht ausgelesen |
| Werbung / Tracking | Nein | Keine Werbe- oder Analyse-SDKs |
| Daten an Dritte | Nein | Ausschließlich eigenes Backend |
3. Rechtsgrundlagen (Art. 6 DSGVO)
| Verarbeitung | Rechtsgrundlage |
|---|---|
| Benutzerkonto (Name, E-Mail, Passwort) | Vertragserfüllung (Art. 6 Abs. 1 lit. b DSGVO) |
| Geräteregistrierung und Pairing | Vertragserfüllung (Art. 6 Abs. 1 lit. b DSGVO) |
| Lichtspiel-Zustandsdaten | Vertragserfüllung (Art. 6 Abs. 1 lit. b DSGVO) |
| Server-Logdateien (IP-Adresse, User-Agent) | Berechtigtes Interesse (Art. 6 Abs. 1 lit. f DSGVO) — Sicherheit und Fehlerbehebung |
| MQTT-Authentifizierung | Vertragserfüllung (Art. 6 Abs. 1 lit. b DSGVO) |
4. Benutzerkonto
4.1 Registrierung
Bei der Registrierung werden folgende Daten erhoben:
- Name — zur Anzeige gegenüber dem Pairing-Partner
- E-Mail-Adresse — als Login-Kennung und zur Anzeige gegenüber dem Pairing-Partner
- Passwort — wird ausschließlich als bcrypt-Hash gespeichert (nicht im Klartext)
- Zeitzone — wird automatisch vom Gerät erkannt (z. B. „Europe/Berlin")
4.2 Authentifizierung und Sessions
Nach dem Login werden JSON Web Tokens (JWT) ausgestellt:
- Access-Token — Gültigkeit 24 Stunden
- Refresh-Token — Gültigkeit 30 Tage
Die Tokens werden auf dem Smartphone in einem verschlüsselten Speicher abgelegt (Android: EncryptedSharedPreferences, iOS: Keychain). Auf dem Server wird ein kryptografischer Hash des Refresh-Tokens gespeichert, um aktive Sessions zu verwalten.
4.3 Sichtbarkeit gegenüber Pairing-Partnern
Wenn du ein Gerät mit einer anderen Person koppelst (Pairing), werden dem Partner folgende Daten angezeigt:
- Dein Name
- Deine E-Mail-Adresse
- Die Seriennummer und Bezeichnung deines Geräts
- Der Online-/Offline-Status deines Geräts
Dies ist für die Funktion des Pairings erforderlich. Du kannst ein Pairing jederzeit auflösen, wodurch diese Daten dem Partner nicht mehr angezeigt werden.
5. Geräteregistrierung (ESP32)
5.1 Erhobene Gerätedaten
Bei der Registrierung eines ESP32-Geräts werden gespeichert:
- Seriennummer — die MAC-Adresse des ESP32 (12-stellig, hexadezimal). Dies ist keine Smartphone-Kennung.
- Gerätetyp — Hardwaremodell des ESP32
- Bezeichnung — ein von dir frei gewählter Name (z. B. „Mein Emolito")
- Authentifizierungstoken — wird einmalig generiert und verschlüsselt gespeichert (PBKDF2-Hash)
5.2 Geräteeinrichtung per Bluetooth (BLE-Provisioning)
Die Ersteinrichtung des ESP32 erfolgt über Bluetooth Low Energy (BLE):
- Die App scannt nach ESP32-Geräten in der Nähe (BLE-Scan).
- Nach der Verbindung werden die WiFi-Zugangsdaten (SSID und Passwort) per BLE an das ESP32 übertragen.
- Die WiFi-SSID wird lokal auf dem Smartphone zur Vorausfüllung ausgelesen, aber nicht an unseren Server gesendet.
- Das WiFi-Passwort wird ebenfalls nicht an unseren Server gesendet — es wird ausschließlich lokal per BLE an das ESP32-Gerät übermittelt.
Hinweis zur Standortberechtigung: Android erfordert technisch eine Standortberechtigung für Bluetooth-Scans (bis Android 11). Die App erhebt keine Standortdaten. Ab Android 12 wird die Berechtigung BLUETOOTH_SCAN mit dem Flag neverForLocation verwendet.
6. Pairing und Lichtspiel
6.1 Pairing (Gerätekopplung)
Beim Pairing zweier Geräte werden gespeichert:
- Die Seriennummern beider Geräte
- Die Benutzer-IDs beider Besitzer
- Ein zeitlich begrenzter Pairing-Token (24 Stunden gültig)
- Der Status der Kopplung (ausstehend, aktiv, inaktiv)
Das Pairing kann jederzeit von beiden Seiten aufgelöst werden.
6.2 Lichtspiel-Zustandsdaten
Während eines aktiven Lichtspiels werden folgende Daten in Echtzeit verarbeitet:
- Aktuelle LED-Farbe (aus/grün/blau/rot) pro Gerät
- Zeitstempel der Farbwechsel
- Timer-Daten (Start, geplantes Ende, Dauer)
- Online-Status beider Geräte
Diese Daten sind für die Synchronisation des Lichtspiels zwischen beiden Geräten erforderlich.
6.3 MQTT-Kommunikation
Die beiden ESP32-Geräte kommunizieren untereinander über das MQTT-Protokoll. Die Zugangssteuerung (Authentifizierung und Zugriffsrechte) wird über unseren Server verwaltet. Es werden keine MQTT-Nachrichteninhalte auf dem Server gespeichert — der Server stellt lediglich sicher, dass nur gekoppelte Geräte miteinander kommunizieren können.
7. Server-Logdateien
Unser Server protokolliert bei jedem Zugriff:
- IP-Adresse
- User-Agent (Browser-/App-Kennung)
- Aufgerufener Endpunkt, HTTP-Methode, Statuscode
- Zeitstempel
- Benutzer-ID (falls angemeldet)
Rechtsgrundlage: Berechtigtes Interesse an der Sicherheit und Stabilität des Dienstes (Art. 6 Abs. 1 lit. f DSGVO).
Aufbewahrungsfrist: Logdateien werden nach 30 Tagen automatisch gelöscht.
8. Datenspeicherung und Sicherheit
8.1 Speicherort
Alle Daten werden auf einem Server in Deutschland gespeichert. Es findet keine Übermittlung in Drittländer statt.
8.2 Verschlüsselung
- Übertragung: Alle Verbindungen zwischen App und Server sind mit HTTPS/TLS verschlüsselt.
- Passwörter: Werden mit bcrypt (Kostenfaktor 12) gehasht — eine Rekonstruktion des Klartext-Passworts ist nicht möglich.
- Geräte-Token: Werden mit PBKDF2 gehasht.
- Lokale Speicherung auf dem Smartphone: Tokens werden in einem verschlüsselten Speicher abgelegt (Android Keystore / iOS Keychain).
8.3 Backups
Es werden regelmäßige verschlüsselte Backups der Datenbank erstellt. Backup-Dateien werden nach maximal 12 Monaten gelöscht.
9. Keine Weitergabe an Dritte
Deine Daten werden nicht an Dritte weitergegeben, verkauft oder zu Werbezwecken genutzt. Die App enthält:
- Keine Analyse-Tools (kein Google Analytics, kein Firebase Analytics, kein Crashlytics)
- Keine Werbe-SDKs (kein AdMob)
- Keine Tracking-Dienste
- Keine Social-Media-Plugins
Die einzige Netzwerkkommunikation der App erfolgt mit unserem eigenen Server unter app.emolito.net.
Ausnahme: Bei der Gerätekopplung (Pairing) werden Name, E-Mail und Gerätedaten dem jeweiligen Pairing-Partner angezeigt (siehe Abschnitt 4.3).
10. Deine Rechte (Art. 15–21 DSGVO)
Du hast jederzeit das Recht auf:
- Auskunft (Art. 15 DSGVO) — Welche Daten wir über dich gespeichert haben
- Berichtigung (Art. 16 DSGVO) — Korrektur falscher Daten
- Löschung (Art. 17 DSGVO) — Löschung deiner Daten (siehe Abschnitt 11)
- Einschränkung der Verarbeitung (Art. 18 DSGVO)
- Datenübertragbarkeit (Art. 20 DSGVO) — Export deiner Daten in einem gängigen Format
- Widerspruch (Art. 21 DSGVO) — Gegen Verarbeitungen auf Basis berechtigter Interessen
Zur Ausübung deiner Rechte wende dich bitte an: info@emolito.net
Du hast außerdem das Recht, dich bei einer Datenschutz-Aufsichtsbehörde zu beschweren (Art. 77 DSGVO).
11. Kontolöschung und Datenlöschung
Du kannst dein Benutzerkonto jederzeit in der App löschen (Einstellungen → Konto löschen). Bei der Löschung werden unwiderruflich entfernt:
- Dein Benutzerprofil (Name, E-Mail, Passwort-Hash)
- Alle registrierten Geräte und deren Daten
- Alle Pairings und Zustandsdaten
- Alle aktiven Sessions
- Alle MQTT-Zugriffsrechte
Verbleibende Daten nach der Löschung:
- Server-Logdateien, die deine Benutzer-ID enthalten, werden nach spätestens 30 Tagen automatisch gelöscht.
- Verschlüsselte Backups werden nach ihrem regulären Rotationszyklus gelöscht (maximal 12 Monate).
12. App-Berechtigungen im Detail
| Berechtigung | Zweck | Datenerhebung |
|---|---|---|
| Bluetooth (BLE) | Einrichtung des ESP32-Geräts | Keine Daten werden an den Server gesendet |
| Standort (nur Android ≤ 11) | Technisch für Bluetooth-Scan erforderlich | Es werden keine Standortdaten erhoben oder gespeichert |
| Kamera | QR-Code-Scan für Pairing | Kein Bild wird gespeichert oder übertragen |
| Internet | Kommunikation mit dem Emolito-Server | Siehe Abschnitte 4–7 |
13. Kinder
Die App richtet sich nicht an Kinder unter 13 Jahren. Wir erheben wissentlich keine Daten von Kindern unter 13 Jahren. Sollten wir feststellen, dass ein Kind unter 13 Jahren ein Konto erstellt hat, werden wir dieses umgehend löschen.
14. Änderungen dieser Datenschutzerklärung
Wir behalten uns vor, diese Datenschutzerklärung bei Bedarf anzupassen, etwa bei Funktionserweiterungen oder Gesetzesänderungen. Die aktuelle Version ist stets unter emolito.net/privacy abrufbar. Bei wesentlichen Änderungen informieren wir dich innerhalb der App.
15. Kontakt
Bei Fragen zum Datenschutz erreichst du uns unter: