108 lines
4.7 KiB
Markdown
108 lines
4.7 KiB
Markdown
# Datenschutz und Datenverarbeitung
|
|
|
|
Dieses Dokument beschreibt den aktuellen technischen Stand von FeelAloud. Es
|
|
ist eine Entwicklungsdokumentation und ersetzt keine individuell geprüfte,
|
|
öffentlich erreichbare Datenschutzerklärung für den App Store.
|
|
|
|
## Kurzfassung
|
|
|
|
FeelAloud hat kein Konto, kein eigenes Backend, keine Werbung, kein Tracking
|
|
und keine Analyse-SDKs. Die App überträgt nach aktuellem Code keine
|
|
Tagebuchdaten an den Entwickler. Produktdaten verbleiben lokal, bis die Person
|
|
selbst einen Export über das iOS-Share-Sheet auslöst.
|
|
|
|
## Verarbeitete Daten
|
|
|
|
| Datenart | Zweck | Speicherort | Automatische Übertragung |
|
|
| --- | --- | --- | --- |
|
|
| Mikrofon-Audio während einer Aufnahme | Spracherkennung | Nur laufende Audio-Pipeline | Nein; On-Device-Erkennung wird erzwungen |
|
|
| Transkript | Tagebucheintrag und lokale Strukturierung | SwiftData nach Bestätigung | Nein |
|
|
| Stimmungs- und Ohrwurmfelder | Persönliche Dokumentation | SwiftData | Nein |
|
|
| Check-in-Wert und Kontextnotiz | Verlauf und Durchschnitt | SwiftData | Nein |
|
|
| Erinnerungszeiten | Lokale Notification-Planung | UserDefaults über `@AppStorage` | Nein |
|
|
| XLSX-/CSV-Datei | Freiwilliger Export | Temporäres App-Verzeichnis | Nur über selbst gewähltes Share-Ziel |
|
|
|
|
## Berechtigungen
|
|
|
|
### Mikrofon
|
|
|
|
Wird erst beim Start einer Spracheingabe angefragt. Das Audio wird an
|
|
`SFSpeechAudioBufferRecognitionRequest` übergeben und nicht als Audiodatei
|
|
gespeichert.
|
|
|
|
### Spracherkennung
|
|
|
|
Der Request setzt `requiresOnDeviceRecognition = true`. Ist die lokale deutsche
|
|
Erkennung nicht verfügbar, bricht FeelAloud ab und bietet eine manuelle Eingabe
|
|
an. Es existiert kein eigener Cloud-Fallback.
|
|
|
|
### Mitteilungen
|
|
|
|
Wird erst beim Aktivieren täglicher Erinnerungen angefragt. Die Erinnerungen
|
|
werden mit `UNCalendarNotificationTrigger` lokal geplant. Der Notification-
|
|
Inhalt enthält keine gespeicherte Stimmung und keinen Tagebuchtext.
|
|
|
|
## Lokale KI
|
|
|
|
FeelAloud verwendet `SystemLanguageModel.default` aus Apples Foundation Models.
|
|
Vor der Nutzung wird die Verfügbarkeit geprüft. Das Modell erhält das
|
|
Transkript und soll ausschließlich strukturierte Felder extrahieren. Die Person
|
|
prüft das Ergebnis vor dem Speichern.
|
|
|
|
Foundation Models sind kein Diagnosesystem. Der Prompt untersagt medizinische
|
|
Einschätzungen, Ratschläge und das Erfinden nicht genannter Inhalte.
|
|
|
|
## Speicherung, Aufbewahrung und Löschung
|
|
|
|
- Einträge und Check-ins liegen im lokalen SwiftData-Store des App-Containers.
|
|
- Einstellungen liegen in den lokalen UserDefaults des App-Containers.
|
|
- Es gibt keine automatische Aufbewahrungsfrist und keine Cloud-Synchronisation
|
|
durch eigenen App-Code.
|
|
- Der aktuelle Stand besitzt noch keine Schaltfläche **Alle Daten löschen**.
|
|
Das Entfernen der App löscht den lokalen App-Container. Eine In-App-Löschung
|
|
ist vor einer öffentlichen Veröffentlichung empfohlen.
|
|
- Falls später iCloud, Backup, Crash Reporting oder ein Backend ergänzt wird,
|
|
müssen dieses Dokument, die öffentliche Datenschutzerklärung, das Privacy
|
|
Manifest und die App-Store-Angaben neu bewertet werden.
|
|
|
|
## Export und Weitergabe
|
|
|
|
Ein Export erfolgt nur nach Tippen auf eine Exportfunktion. Anschließend zeigt
|
|
iOS das Share-Sheet. Ab diesem Zeitpunkt bestimmt die Person selbst das Ziel,
|
|
zum Beispiel Dateien, Mail oder eine Therapie-Praxis. Für den Datenschutz des
|
|
gewählten Ziels ist FeelAloud technisch nicht mehr zuständig.
|
|
|
|
Exporte können besonders sensible Freitexte enthalten. Die Oberfläche und die
|
|
App-Store-Beschreibung sollten darauf deutlich hinweisen.
|
|
|
|
## Privacy Manifest
|
|
|
|
`FeelAloud/PrivacyInfo.xcprivacy` deklariert:
|
|
|
|
- kein Tracking;
|
|
- keine vom Entwickler gesammelten Datentypen;
|
|
- Zugriff auf UserDefaults mit Required-Reason-Code `CA92.1`, ausschließlich
|
|
zum Lesen und Schreiben app-eigener Einstellungen.
|
|
|
|
Vor jedem App-Store-Upload sollte Xcodes Privacy Report geprüft werden. Neue
|
|
Frameworks oder APIs können weitere Required-Reason-Einträge erforderlich
|
|
machen.
|
|
|
|
## Erwartete App-Store-Datenschutzangabe
|
|
|
|
Auf Basis des derzeitigen Codes ist voraussichtlich **Data Not Collected** die
|
|
passende Angabe für die durch den Entwickler erhobenen Daten. Diese Einschätzung
|
|
muss unmittelbar vor der Einreichung anhand des finalen Builds und aller
|
|
aktivierten Apple-Dienste erneut geprüft werden.
|
|
|
|
TestFlight selbst kann im Auftrag von Apple Crash-, Nutzungs- und freiwillige
|
|
Feedbackdaten verarbeiten. Diese Verarbeitung ist von der Produktlogik der App
|
|
zu unterscheiden.
|
|
|
|
## Medizinischer und sicherheitsbezogener Hinweis
|
|
|
|
FeelAloud dient nur der persönlichen Dokumentation. Die App erkennt keine
|
|
Krisen zuverlässig und ersetzt weder medizinische Beratung noch Therapie oder
|
|
Notfallhilfe. Marketingtexte dürfen keine Diagnose- oder Heilversprechen
|
|
enthalten.
|