Datenschutzverstöße bei der App Microsoft Copilot
Microsoft hat vor wenigen Tagen die Copilot-App für Android veröffentlicht. Ich habe in meinem Labor einen kurzen Blick darauf geworfen. Wie bei Microsoft üblich, stellt sich nicht die Frage, ob Datenschutzverstöße vorliegen, sondern in welchem Umfang. Bei Version 27.7.411216610 sieht es wie folgt aus. Unmittelbar nach dem Start (keine Nutzerinteraktion) werden die folgenden Gegenstellen (insgesamt 15 Domains) mit Daten beliefert bzw. etwas nachgeladen:
- oneclient.sfx.ms
- www.bing.com
- app.adjust.com
- edge.microsoft.com
- gateway.bingviz.microsoftapp.net
- superapp.msn.com
- firebaseinstallations.googleapis.com
- location.microsoft.com
- self.events.data.microsoft.com
- assets.msn.com
- api.msn.com
- sapphire.api.microsoftapp.net
- android.apis.google.com
- services.bingapis.com
- in.appcenter.ms
Dann erscheint zunächst der folgende (Consent-)Banner:
Nach einem (Consent-)Banner, der die Anforderungen an eine ausdrückliche, informierte, freiwillige und aktive Einwilligung erfüllt, sieht das für mich nicht aus.
Die nachfolgenden Datenübermittlungen erfolgen, bevor der Nutzer eine Interaktion durchgeführt hat. Dies ist häufig problematisch, da diese Daten/Informationen abgefragt bzw. übermittelt werden, bevor der Nutzer seine ausdrückliche, informierte, freiwillige und aktive Einwilligung gegeben hat. Nachfolgend greife ich mal vier Verbindungen raus.:
[1] Zunächst einmal zur Adjust GmbH (Hauptfirmensitz San Francisco, USA), einem Unternehmen, das sich auf das Tracking und die Analyse von Nutzern innerhalb von Apps spezialisiert hat [app.adjust.com]:
POST /session HTTP/1.1 Client-SDK: android4.30.1 Content-Type: application/x-www-form-urlencoded User-Agent: Dalvik/2.1.0 (Linux; U; Android 14; Pixel 6a Build/UQ1A.231205.015) Host: app.adjust.com Connection: close Accept-Encoding: gzip, deflate, br Content-Length: 861 gps_adid_attempt=1 api_level=34 event_buffering_enabled=0 hardware_name=UQ1A.231205.015 app_version=27.7.411216610 app_token=f1uo9a6ojr40 installed_at=2023-12-28T10:55:54.145Z+0100 created_at=2023-12-28T10:56:58.505Z+0100 device_type=phone language=de gps_adid=4b84b4a0-21c4-4dcd-8e81-c23f7c7a219b connectivity_type=1 device_manufacturer=Google display_width=1080 device_name=Pixel 6a needs_response_details=1 os_build=UQ1A.231205.015 updated_at=2023-12-28T10:55:54.145Z+0100 cpu_type=arm64-v8a screen_size=normal screen_format=long gps_adid_src=service os_version=14 android_uuid=fbb8a1a9-b1ba-47cd-9a95-cccea1fdb3ef environment=production&screen_density=high attribution_deeplink=1 session_count=1 display_height=2205 package_name=com.microsoft.copilot os_name=android ui_mode=1 tracking_enabled=1 sent_at=2023-12-28T10:56:58.640Z+0100
Es werden UIDs/IDs (u.a. auch die Google-Advertising-ID (4b84b4a0-21c4-4dcd-8e81-c23f7c7a219b
)) und diverse Gerätedaten (Modell, Hersteller, Auflösung, CPU) etc. vom Gerät abgefragt und ohne Einwilligung an Adjust übermittelt. Ich kann es nur gebetsmühlenartig wiederholen: Solche Zugriffe auf Endgeräte für Zwecke der Webanalyse, der Marktforschung und für jede Form der Werbung ohne informierte Einwilligung sind nach § 25 Abs. 1 TTDSG unzulässig. § 25 TTDSG regelt den Schutz der Privatsphäre bei Endgeräten und setzt Art. 5 Abs. 3 der ePrivacy-Richtlinie um. Noch dazu handelt es sich bei der Google-Advertising-ID um ein personenbeziehbares Datum, weshalb ebenfalls die DSGVO anwendbar ist.
[2] Weiter geht es mit der Gegenstelle self.events.data.microsoft.com
, die von Microsoft für den Empfang von Telemetriedaten genutzt wird. Die Daten liegen im Bond-Format vor. Bisher konnte ich diese nicht entcodieren – bin aber dran. Auch hier liegt ein Verstoß gegen § 25 Abs. 1 TTDSG vor.
[3] Die ungefähre Position bzw. Standort möchte Microsoft ebenfalls ermitteln. Dazu wird eine Anfrage an location.microsoft.com
gesendet:
GET /locations/api/v1/me/approximatelocation HTTP/1.1 X-MS-Session-Id: 16BD1407A9C64D63832929398E996EE6 X-MS-Correlation-Id: 8f0f7aa2-4965-45e0-925d-77e0aaba38de X-MS-MUID: user-agent: Mozilla/5.0 (Linux; Android 14; Pixel 6a Build/UQ1A.231205.015; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36 CopilotSapphire/27.7.411216610 Host: location.microsoft.com Connection: close Accept-Encoding: gzip, deflate, br
Die Antwort sieht wie folgt aus: { "location":{ "latitude":48.804988861083984, "longitude":9.215459823608398, "accuracy":3122.12744140625 } }
Demnach befinde ich mich aktuell in Stuttgart, in der Lammgasse 4, beim Bestattungsdienst Rentschler. Oha.
[4] Bei Microsoft werden Telemetrie- oder Ereignisdaten nie nur an eine Adresse gesendet, sondern meist an mehrere Gegenstellen. So auch an gateway.bingviz.microsoftapp.net
:
POST /receive?app=sapphire&bucket=75 HTTP/2 Host: gateway.bingviz.microsoftapp.net Accept: application/json Content-Type: application/json User-Agent: Dalvik/2.1.0 (Linux; U; Android 14; Pixel 6a Build/UQ1A.231205.015) Connection: Keep-Alive Accept-Encoding: gzip, deflate, br Content-Length: 2571 { "dvid":"0D3A2B2E516A442EBE564CE49AC49A39", "events":[ { "id":28, "sid":"16BD1407A9C64D63832929398E996EE6", "name":"PermissionStatus", "type":"Diagnostic", "ts":1703757418945, "data":{ "Camera":"false", "Location":"false", "Microphone":"false", "ReadStorage":"false", "Storage":"false","SMS":"false", "Notification":"false" } [...] "meta":{ "appPackage":"com.microsoft.copilot", "clientVersion":"27.7.411216610", "build":"Google_Production", "market":"de-DE", "inPrivate":"false", "applicationId":"F185A93DE6764B098D55089F610A3FB8", "installId":"DC89A46B3AAD4213934D00B68F3E9283", "advertisingId":"4B84B4A021C44DCD8E81C23F7C7A219B", "os":"Android", "osVersion":"14", "userAgent":"Mozilla\/5.0 (Linux; Android 14; Pixel 6a Build\/UQ1A.231205.015; ) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/114.0.0.0 Mobile Safari\/537.36 CopilotSapphire\/27.7.411216610", "timezone":"120", "deviceModel":"Google Pixel 6a", "locale":"de-DE", "deviceType":"Phone", "clientBucket":"75", "installSource":"Unknown", "launchSource":"AppIcon", "extSchema":{ "app":{ "installNetwork":"", "installCampaign":"", "installAdgroup":"", "installCreative":"", "utmSource":"", "utmMedium":"", "asId":1, "sessionsFromUpgrade":1, "resumeSource":"AppIcon", "darkThemeOn":true, "themeName":"DefaultDark", "detectedMarket":"", "displayLanguage":"de", "speechLanguage":"de-DE", "tags":"exp_notification_fre=no_notification_fre;" }, "client":{ "width":1080, "height":2205, "density":2.625, "screenMode":1 }, "device":{ "cpuModel":"", "cpuCores":8, "cpuMHz":2802, "ramTotalSize":5603 }, "user":{ "userSignedIn":false, "aadState":-1 }, "account":{ "isAADActive":false, "isAADSignedIn":false, "isMSAActive":false, "isMSASignedIn":false }, "ext.req.requestId":5 }, "first-install":1703757354145 }, "schemaVersion":"3.0" }
Auch hier fällt auf, dass ohne ausdrückliche, informierte, freiwillige und aktive Einwilligung die Google Advertising-ID (4b84b4a0-21c4-4dcd-8e81-c23f7c7a219b
) vom Gerät ausgelesen und an Microsoft übermittelt wird. Bei der Google-Advertising-ID handelt es sich um ein personenbeziehbares Datum – also ein Verstoß gegen die DSGVO. Und auch hier liegt ebenfalls ein Verstoß gegen § 25 Abs. 1 TTDS vor.
Fazit
Microsoft kennt die Vorgehensweise: Erst gegen Gesetze verstoßen und dann abwarten, was passiert. Wie bereits erläutert, werden gleich mehrere Datenschutzverletzungen begangen, sobald der Nutzer die App lediglich startet. Abgesehen von den Datentransfers kann man auch feststellen, dass eine ausdrückliche, informierte, freiwillige und aktive Einwilligung meiner Meinung nach anders aussehen sollte.