Matrix: Messenger Riot.im (Play Store) mit aktivem Google-Tracking

Gestern hatte ich darüber berichtet, dass laut Exodus Privacy der Matrix-Client Riot.im zwei Tracker integriert hat:

  • Google Firebase Analytics
  • Matomo (Piwik)

Ich habe das nun anhand der Riot.im Version 0.8.12 aus dem Google Play Store verifiziert. Der Google-Tracker schlägt unmittelbar nach dem Start an, ohne das man als Nutzer eine Wahl hätte. Aber der Reihe nach. Zunächst registriert sich Riot.im am Google-Cloud-Messaging-Dienst (GCM):

POST /c2dm/register3 HTTP/1.1
Authorization: AidLogin 4313553650077616773:2019295061565534427
app: im.vector.alpha
gcm_ver: 12874025
User-Agent: Android-GCM/1.5 (mido NJH47F)
Content-Length: 383
content-type: application/x-www-form-urlencoded
Host: android.clients.google.com
Connection: close
Accept-Encoding: gzip, deflate

X-subtype=912726360885&sender=912726360885&X-app_ver=81200&X-osv=25&X-cliv=fiid-11910000&X-gmsv=12874025&X-appid=co8hoF2J94A&X-scope=*&X-gmp_app_id=1%3A912726360885%3Aandroid%3A448c9b63161abc9c&X-app_ver_name=0.8.12&app=im.vector.alpha&device=4313553650077616773&cert=7168cbaeb9785f17f9e0cef2bc36dd200eec2e56&app_ver=81200&info=U8qwdvxavoEXQEb1aBJ6XhyiES7lJBY&gcm_ver=12874025&plat=0

Im Anschluss verbindet sich die App mit den Matrix-Servern https://matrix.org/blog/home/ und kontaktiert anschließend den App-Analysedienst (Google Firebase Analytics):

GET /config/app/1%3A912726360885%3Aandroid%3A448c9b63161abc9c?app_instance_id=4856a0b11a70c55c25d5985b1c667056&platform=android&gmp_version=12874 HTTP/1.1
If-Modified-Since: Tue, 31 Jul 2018 23:06:59 GMT
User-Agent: Dalvik/2.1.0 (Linux; U; Android 7.1.2; Redmi Note 4 Build/NJH47F)
Host: app-measurement.com
Connection: close
Accept-Encoding: gzip, deflate

Nach Eingabe von Benutzername und Passwort erscheint dann ein Popup mit dem Hinweis:

Bitte aktive Analysedaten um uns zu helfen Riot zu verbessern.
[NEIN] | [JA, ICH MÖCHTE HELFEN!]

Hier habe ich nun [NEIN] selektiert.

Das hindert die App allerdings nicht daran auch weiterhin Daten an den Host »app-measurement.com« zu übersenden – beispielsweise dann, wenn man die App deinstalliert. Damit hat der Schiebregler unter »Einstellungen -> Anonymisierte Analysedaten -> Sende Analysedaten« nur eine Fuktion: Er aktiviert / deaktiviert das Tracking zu Matomo (Piwik). Hier ein Verbindungsauszug:

GET /piwik.php?cdt=2018-08-02%2010%3A06%3A19%2B0200&_idvc=1&cvar=%7B%221%22%3A%5B%22App%20Platform%22%2C%22Android%20Platform%22%5D%2C%222%22%3A%5B%22App%20Version%22%2C%220.8.12%22%5D%2C%224%22%3A%5B%22Chosen%20Language%22%2C%22de_DE%22%5D%2C%227%22%3A%5B%22Homeserver%20URL%22%2C%22https%3A%5C%2F%5C%2Fmatrix.org%22%5D%2C%228%22%3A%5B%22Identity%20Server%20URL%22%2C%22https%3A%5C%2F%5C%2Fvector.im%22%5D%7D&url=http%3A%2F%2Fim.vector.alpha%2Fandroid%2FRiot.im%2FGooglePlay%2F0.8.12%2Fim%2Fvector%2Factivity%2FVectorRoomActivity&idsite=1&send_image=0&_idts=1533197179&res=1080x1920&apiv=1&new_visit=1&lang=de&ua=Dalvik%2F2.1.0%20%28Linux%3B%20U%3B%20Android%207.1.2%3B%20Redmi%20Note%204%20Build%2FNJH47F%29&uid=e4b5f34e-7d3a-4786-b35e-60bca3328ef9&rand=27740&_id=f62605817bdf433f&rec=1 HTTP/1.1
User-Agent: Dalvik/2.1.0 (Linux; U; Android 7.1.2; Redmi Note 4 Build/NJH47F)
Host: piwik.riot.im
Connection: close
Accept-Encoding: gzip, deflate

Demnach haben wir es hier mit einem ähnlichen Problem wie beim Messenger Wire zu tun. Dort wurden durch einen Bug ebenfalls ungefragt Daten an den App-Analysedienst Mixpanel übermittelt. Bei Riot.im ist es allerdings noch ein klein wenig schlimmer, denn das App-Tracking via Google lässt sich nicht innerhalb der App deaktivieren. Man beachte dazu auch eine Aussage von @matrix auf Mastodon:

[…] No google involved.

Für die Play Store Varinate dürfte das hiermit wiederlegt sein.

Das zeigt mir erneut: App-Tracking hat generell nichts in Apps verloren, die sich Sicherheit und Datenschutz auf ihre Fahnen schreiben. Die Entwickler scheinen diese Bibliotheken einfach nicht unter Kontrolle zu haben.

Hinweis

Die F-Droid-Version von Riot.im ist nicht betroffen. Dort ist lediglich der Matamo-Tracker integriert, der standardmäßig aus ist.

Update: Bubu hat zu dieser Thematik ein Issue auf GitHub geöffnet.

Update: Das Tracking via Firebase Cloud Messaging (FCM) lässt sich offenbar in der Android Manifest-Datei deaktivieren:

<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />
Du kannst den Blog aktiv unterstützen! Mitmachen ➡