Initial FeelAloud project
This commit is contained in:
107
docs/PRIVACY.md
Normal file
107
docs/PRIVACY.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user