Datenschutz
Datenschutzerklärung
Die App „Dictation" ist vollständig lokal: Sprache, Transkripte und Verlauf verlassen dein Gerät nicht — kein Cloud-Backend, keine Telemetrie. Diese Website (dictation.stegner.pro) nutzt zusätzlich eine optionale, einwilligungsbasierte Reichweitenmessung, die ausschließlich nach deiner Zustimmung im Banner läuft (Details unten).
Die Verarbeitung läuft lokal in einer von der App gestarteten Runtime:
| Runtime | Zweck | Datenfluss |
|---|---|---|
| Gebündelte lokale MLX-Runtime | Speech-to-Text (lokales Modell) | Audio bleibt auf dem Gerät |
| Gebündelte lokale MLX-Runtime | Text-Cleanup (lokales Modell) | Text bleibt auf dem Gerät |
dictation.stegner.pro/appcast.xml | Sparkle-Update-Check | Nur HTTP-Request, keine Nutzungsdaten |
Welche Daten werden verarbeitet?
1. Mikrofon-Audio
- Zweck: Transkription gesprochener Sprache.
- Speicherort: Tempfile in
NSTemporaryDirectory(). Wird nach erfolgreicher Transkription oder Abbruch sofort gelöscht. - Übertragung: Keine. Die App übergibt Audiodateien direkt an die lokale Runtime auf demselben Mac. Verlässt das Gerät nie.
- Berechtigung:
NSMicrophoneUsageDescription(TCC-Prompt beim ersten Start).
2. Verlauf (History)
- Zweck: Letzte 50 Diktate für Re-Copy und Suche.
- Speicherort:
~/Library/Application Support/Dictation/history.sqlite(lokal, nicht synchronisiert). - Inhalt: Roh-Transkript, aufgeräumter Text, erkannte Sprache, Zeitstempel.
- Steuerung: In den Einstellungen deaktivierbar — bestehende Einträge werden dann gelöscht. Manueller Löschbutton vorhanden.
3. Persönliches Wörterbuch
- Zweck: Eigennamen, Orte und Fachbegriffe korrekt schreiben (z. B. Kretzschmar, Oer-Erkenschwick).
- Speicherort:
~/Library/Application Support/Dictation/dictionary.json. - Inhalt: Vom Nutzer selbst eingegebene Begriffe.
- Übertragung: Wird als Initial-Prompt an die lokalen Modelle weitergegeben, verlässt das Gerät nicht.
4. Snippets
- Zweck: Trigger-Phrasen für Text-Expansion.
- Speicherort:
~/Library/Application Support/Dictation/snippets.json. - Übertragung: Keine.
5. Update-Check (Sparkle)
- Zweck: Prüfen, ob eine neue App-Version verfügbar ist.
- Endpunkt:
https://dictation.stegner.pro/appcast.xml(statisches XML auf einem privaten Server). - Übertragene Daten: Standard-HTTP-Request inkl. User-Agent (
Dictation/<version> Sparkle/<version>). Keine Geräte-IDs, keine Telemetrie, keine Nutzungsdaten. - Hosting: Eigener NGINX-Server. Er schreibt Standard-Webserver-Logs (IP, Zeitstempel, User-Agent) für den Betrieb. Diese Logs werden nicht ausgewertet und nach 30 Tagen rotiert.
- Steuerung: Der Update-Check kann in den Einstellungen deaktiviert werden.
6. Berechtigungen
- Mikrofon (TCC): Pflicht — für die Audio-Aufnahme.
- Bedienungshilfen (Accessibility): Pflicht — für den globalen Hotkey und das Cmd+V-Einfügen in fremde Apps.
- Apple Events: Wird beim ersten Cmd+V-Einfügen angefordert (nur für den synthetischen Tastendruck).
Website-Analyse (nur mit Einwilligung)
Diese Website kann wiederkehrende Besuche erkennen, um Reichweite und Nutzung grob auszuwerten (z. B. Anzahl verschiedener Besucher, aufgerufene Seiten, App-Downloads). Das geschieht ausschließlich mit deiner aktiven Einwilligung über den Einwilligungs-Banner. Ohne Zustimmung wird nichts erhoben.
- Wie: Nach deiner Zustimmung berechnet dein Browser aus Geräte- und Browsermerkmalen (u. a. User-Agent, Sprache, Bildschirm, Zeitzone, Canvas- und WebGL-Signatur) einen pseudonymen Wiedererkennungswert („Fingerprint") und überträgt diesen an den Server. Über denselben Wert werden wiederkehrende Besuche erkannt.
- Rechtsgrundlage: Deine Einwilligung nach § 25 Abs. 1 TDDDG und Art. 6 Abs. 1 lit. a DSGVO.
- Gespeichert werden: der Wiedererkennungswert, die aufgerufene Seite, Zeitstempel, User-Agent sowie die gekürzte IP-Adresse (letztes Oktett auf 0 maskiert). Keine Namen, keine ungekürzte IP.
- Speicherdauer: Die Server-Logs werden nach spätestens 30 Tagen automatisch rotiert und gelöscht.
- Keine Weitergabe: Die Daten bleiben auf dem eigenen Server (dictation.stegner.pro). Keine Übermittlung an Dritte, keine Werbenetzwerke, kein Profiling über diese Website hinaus.
- Widerruf: Du kannst deine Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen — über Einwilligung zurücksetzen (blendet den Banner erneut ein) oder indem du die Website-Daten in deinem Browser löschst.
Die App selbst nimmt an dieser Messung nicht teil — sie sendet unverändert keine Nutzungsdaten und arbeitet vollständig lokal.
Was die App nicht tut
- Keine Cloud-Übertragung von Audio oder Text.
- Keine Analytics, kein Tracking, kein Crash-Reporting an externe Dienste.
- Keine Werbung.
- Keine In-App-Käufe.
- Keine Account-Anmeldung erforderlich.
- Keine Kontaktdaten, Kalender, Standortdaten oder andere TCC-geschützten Daten.
Drittanbieter-Bibliotheken
- Sparkle 2.x (MIT-Lizenz) — Auto-Update-Framework. Spricht ausschließlich mit
dictation.stegner.pro/appcast.xml. Quellcode: github.com/sparkle-project/Sparkle
Die lokal genutzten ML-Modelle (Speech-to-Text und Text-Cleanup) laufen via MLX in einer von der App gestarteten, gebündelten lokalen Runtime. Die Modellgewichte sind nicht Teil der App und werden unter ~/Library/Application Support/Dictation/Models gespeichert.
Aufbewahrung und Löschung
- Audio: Sofort nach der Transkription gelöscht.
- Verlauf, Wörterbuch, Snippets: Bleiben bis zur manuellen Löschung (Button in den Einstellungen) oder bis zur App-Deinstallation.
- App-Deinstallation: Löscht die App. Der Ordner
~/Library/Application Support/Dictation/bleibt — kann manuell entfernt werden.
Änderungen
Änderungen an dieser Datenschutzerklärung werden in der App-Version dokumentiert (Changelog) und unter dictation.stegner.pro/privacy.html veröffentlicht.
Kontakt
Bei Fragen oder Löschwünschen: matthias@stegner.pro