Heute fand im Landgericht eine öffentliche Anhörung zwischen den Anwälten des Investors auf dem Potsdamer RAW Gelände (Michael Zeligman, vertreten von Partsch und Partner) und der Vertretung des Mediamaro e.V. (Dr. Jasper Prigge), der rechtlich für die Inhalte auf dem Blog der städtischen Initiative „Potsdam – Stadt für alle“ verantwortlich ist.
Dabei hat die verantwortliche Richterin eine aus unserer Sicht schwierige und politisch – rechtliche falsche Einschätzung der Positionen vorgenommen.
Investor wollte städtische Initiative einschüchtern
Ende Juli veröffentlichte „Stadt für Alle“ einen Artikel, der die Erdölgeschäfte in Russland einer der Firmen des RAW Investors zum Thema machte. Informationen über den Ankauf von russischem Erdöl wurden hierfür von bekannten Medien wie Bloomberg oder der Wallstreet Journal bezogen und als Zitate ausgewiesen. Dennoch beauftragte der Investor einen Anwalt, um gegen die erneute Veröffentlichung der Aussagen vorzugehen. Die juristischen Schritte des Investors führten zur zwangsweisen, zwischenzeitlichen Löschung des betreffenden Artikels vom Blog und der Anhörung vor dem Landgericht Potsdam.
Schwierige und sehr unterschiedliche Einschätzungen
Der Tenor der Einschätzungen der Richterin im Landgericht ging in zwei Richtungen. Unser Artikel würde suggerieren, dass wir Herrn Zeligman den Handel mit russischem Erdöl Zeligman „heute“ vorwerfen. Dies ist aus unserer Sicht nicht der Fall. Wir haben deutlich angegeben, auf welche Quellen wir uns beziehen und es ist klar, wann diese veröffentlicht wurden. Auf diese haben wir unsere Recherche gestützt. Als kleine Initiative können wir nur mit öffentlich zugänglichen Informationen arbeiten.
Außerdem hielt die Richterin die Verwendung von Sekundärquellen mehrmals für problematisch.
Auch hier fand kaum Beachtung, dass wir über unseren Anwalt natürlich inzwischen die beglaubigten Übersetzungen der Primärquellen vorgelegt haben und diese wortgleich sind. Dies wurde insbesondere beim Streit um einen wichtigen Artikel des Wallstreet Journal deutlich. Ignoriert wurde auch, dass alle diese internationalen Medien, die wir als Quellen verwendet haben, offensichtlich nie abgemahnt wurden. Dies heißt im Grunde, dass der Wahrheitsgehalt oder die Tatsachen dort nicht bestritten werden. Aber, so die Richterin „in einem Artikel aus dem Juli 2023 sind Tatsachen aus dem Jahr 2022 unrelevant“. Dies sieht unser Anwalt und natürlich auch wir selbstredend ganz anders.
Eine sehr ernüchternde Schlussfolgerung wäre also, dass die Verwendung öffentlicher Quellen für politische Initiativen kaum mehr so möglich ist.
Politische Dimensionen
Völlig außer Acht gelassen wurden die politischen Dimensionen dieses Falles.
Weder ging das Landgericht auf die einschüchternde Vorgehensweise der Gegenseite ein, noch auf ihr eigenes Verschulden der Nichtbeachtung unserer Schutzschrift.
Besonders problematisch ist es für uns, dass der Handel mit russischen Erdöl durch einen Milliardär, der dieses Geld hier anlegen will nicht einmal thematisiert wurde.
Gerade für die Menschen aus der Ukraine, die im Gerichtssaal und bei der Kundgebung dabei waren ist dies eine ganz schwere Situation.
An der Kundgebung vor dem Landgericht beteiligten sich knapp 50 Menschen. Dies ist für uns eine große Ermutigung, weiter zu machen. Es ist in Potsdam ein Thema, woher das Geld für das große und aus unserer Sicht falsche IT – Centrum auf dem ehemaligen RAW Gelände kommt.
Initiative macht weiter und fordert Stadtpolitik auf, endlich genauer hinzusehen
Es bleibt dabei: Dies ist hier ein sogenannter SLAPP (strategic lawsuits against public participaton), ein Einschüchterungsversuch eines großen Unternehmens gegenüber einer kleinen politischen Initiative. Krass, dass dies ein Landgericht in Potsdam völlig ignoriert.
Das Netzwerk „Stadt für alle“ wird weiter Rechercheergebnisse über Zeligman und seine Unternehmen zusammentragen und veröffentlichen. Seit Beginn des Verfahrens haben wir ganz viele neue Informationen erhalten – so von oppositionellen russischen Journalist*innen und der Schweizer Initiative Public Eye. Diese werden wir jetzt aufarbeiten und natürlich veröffentlichen.
Gemeinsam mit unserem Anwalt werden wir die Verkündung und deren Begründung sorgfältig anschauen und gegebenenfalls in Berufung gehen.
Wichtig ist aber die stadtpolitische Dimension dieses großen – internationalen Falls.
Was tut die Stadt Potsdam, damit es in Zukunft nicht mehr zu solchen Bedrohungsszenarien gegenüber bürgerschaftlichem Engagement in Potsdam kommt?
Wir als Netzwerk „Stadt für Alle“ fragen die Stadtverordneten ernsthaft:
• Ist ein Investor, der eine Bürgerinitiative dermaßen einschüchtert und bedroht, wirklich eine gute Wahl für Potsdam?
• Ist ein Investor, der in Potsdam Geld anlegt, das er sehr wahrscheinlich aus russischem Erdöl erwirtschaftet hat, wirklich eine gute Wahl?
• Haben die Solidaritätsbekundungen der LHP gegenüber den Kriegsopfern aus der Ukraine vor diesem Hintergrund nicht ihre Glaubwürdigkeit verloren?
• Ist ein Investor, der sein Vermögen auch mit dem Export von fossilen Energieträgern wie Öl erwirtschaftet, für eine Stadt im Klimanotstand die richtige Wahl?
• Ist es spätestens jetzt nicht an der Zeit, Mechanismen einzuführen, die die Stadt vor solchen Investoren bewahren oder zumindest deren Vorzugsbehandlung verhindern?
Über die "Jugendsünde" des Ministers wurde viel diskutiert. Geschadet hat es ihm nicht, im Gegenteil. Ein Erklärungsmuster für den Rechtsruck in Ostdeutschland fällt damit aus.
Wäre der bayerische Wirtschaftsminister Hubert Aiwanger wirklich Opfer einer linksliberalen Kampagne, die ihn Wählerstimmen kosten sollte, so wäre sie nach hinten losgegangen. Aiwangers "Freien Wähler" lagen am Dienstag – knapp einen Monat vor der Landtagswahl – in einer Umfrage des Bayerischen Rundfunks (BR) bei 17 Prozent. Mit 11,6 Prozent mussten sie 2018 vorlieb nehmen. Im Vergleich zum Mai dieses Jahres haben sie fünf Prozentpunkte zugelegt und ihren bisherigen Höchstwert erreicht.
Anzeige
Berichte über seine "Jugendsünden", Aussagen ehemaliger Mitschüler über seine stramm-rechte Gesinnung in jungen Jahren, seine zögerliche Entschuldigung und seine Selbstdarstellung als Opfer einer "Schmutzkampagne" haben ihn offenbar für eine Zielgruppe, die sich irgendwo zwischen CSU und AfD bewegt, nur noch sympathischer gemacht.
Mit dieser Möglichkeit war zu rechnen – die Süddeutsche Zeitung (SZ) müsste naiv gewesen sein, um das völlig auszuschließen, als sie zuerst über das antisemitische Flugblatt berichtete, das er mit 17 Jahren bei sich getragen hatte und als dessen Verfasser er verdächtigt worden war.
Aber vielleicht hat hier eben doch keine linksliberale Redaktion wahltaktisch entschieden, ob dies berichtenswert ist oder nicht, sondern ein journalistisches Medium eine journalistische Entscheidung getroffen.
Die Frage, ob Aiwanger Rechtspopulist ist – oder nur ein gestandenes bayerisches Mannsbild, das die Sorgen des Mittelstands und der Häuslebauer ernst nimmt – war nämlich seit Monaten Gegenstand der öffentlichen Debatte.
Auch Anhänger der AfD hatten Aiwanger im Juni applaudiert, als er – der bayerische Wirtschafts- und Energieminister – mit Anti-Establishment-Attitüde auf einer Demonstration gegen das geplante Heizungsgesetz der Ampel-Bundesregierung aufgetreten war. "Es ist wichtig, dass wir denen in Berlin das Gas einstellen", hatte er dort unter anderem gesagt, nachdem der "Bauern, Handwerker, Mittelständler, Hausbesitzer, Autofahrer, Fleischesser" bei dem Aufmarsch in Erding begrüßt hatte.
Anzeige
"Jetzt ist der Punkt erreicht, wo endlich die schweigende große Mehrheit des Landes, sich die Demokratie wieder zurück holen muss und denen in Berlin sagen muss, ihr habt wohl den Arsch offen, da oben."
Aber es ging nicht nur um das Heizungsgesetz – natürlich dürften auch Stichworte wie "linksgrünes Gendergaga" nicht fehlen. In "krachertem" Bayerisch zog er alle Register eines Kulturkampfs, der sich keineswegs nur gegen die Ampel-Regierung richtet. Er beschwor die Angst vor dem Ende der traditionellen Familie herauf und echauffierte sich über das angebliche Verbot, "Mama und Papa" zu sagen.
Auch der CSU-Chef und Ministerpräsident Markus Söder war Teil dieser vermeintlichen Anti-Establishment-Veranstaltung – anders als Aiwanger distanzierte er sich dort aber zumindest von der AfD und erntete dafür Buhrufe. Dass Aiwanger diese Berührungsängste scheinbar nicht hatte, muss in seinem früheren schulischen Umfeld Erinnerungen wachgerufen haben.
Die BR-Umfrage, in der "Freie Wähler" und AfD zusammen auf 30 Prozent kommen, zeigt jedenfalls mit dieser Vorgeschichte einmal mehr, wie falsch es ist, vor allem Ostdeutschen eine besondere Anfälligkeit für rechte Ideologie und "anti-woke" Reflexe zu unterstellen – und letztlich die vor 33 Jahren aufgelöste DDR für den heutigen Rechtsruck verantwortlich zu machen.
Als Seniorpartner der Freien Wähler hat die CSU im Vergleich zum Mai drei Prozentpunkte verloren – sie liegt zur Zeit bei 36 Prozent. Die Freien Wähler sind damit zweitstärkste Kraft – bei der letzten Landtagswahl waren dies noch die Grünen, die im aktuellen "Bayerntrend" des BR mit 15 Prozent auf Platz drei liegen und seit der Umfrage im Mai einen Prozentpunkt verloren. Auf Platz vier folgt auch schon die ultrarechte AfD mit 13 Prozent, die SPD kommt aktuell nur auf neun Prozent.
FDP und Linke bleiben unter der Fünf-Prozent-Hürde – mit dem Unterschied, dass Die Linke noch die im bayerischen Landtag vertreten war, während die FDP es bei der letzten Wahl knapp geschafft hat, aber wohl nächsten Monat hinausfliegen wird, wenn sie nicht um mindestens zwei Prozentpunkte zulegt. Laut Umfrage liegt sie in Bayern bei drei Prozent, Die Linke wird nur unter "Andere" mitgezählt.
In ostdeutschen Bundesländern liegt die AfD zwar teilweise in Umfragen bei über 30 Prozent – aber dass sie in Bayern nur 13 Prozent erreicht, bedeutet eben nicht zwangsläufig, dass es in Bayern weniger Rechte und rechtsoffene Wahlberechtigte gibt, wenn dort gleichzeitig 17 Prozent Aiwangers Performance goutieren und 36 Prozent CSU wählen.
Langjährige Wähler der CSU störten sich nie daran, dass deren Spitzenpolitiker gegen Ende von Aiwangers Schulzeit und danach Begriffe wie "durchrasste Gesellschaft" verwendeten, um Stimmung gegen Menschen mit Migrationsgeschichte zu machen.
Als Verfasser des antisemitischen Flugblatts hat sich inzwischen Aiwangers Bruder bekannt und im Nachhinein von seinem Inhalt distanziert. Der Waffenhändler (!) will damals unter "offen linksradikalen" Lehrern gelitten haben, die zur Teilnahme an Demos der Anti-Atom-Bewegung gegen die Wiederaufbereitungsanlage (WAA) in Wackersdorf aufgerufen hätten. Für beide Brüder sei das ein "Kulturschock" gewesen, versuchte Helmut Aiwanger im Gespräch mit der Mediengruppe Bayern sein damaliges Verhalten zu erklären.
Tatsächlich war der damalige Protest gegen die WAA aber keine rein linksradikale Angelegenheit, sondern von so großer Breite, dass der Bau dieser Wiederaufbereitungsanlage 1989 eingestellt wurde – trotz CSU-Mehrheit im bayerischen Landtag. Auch sonst eher konservative Bauern aus der Region hatten damals die Proteste unterstützt.
Und noch etwas macht an der Wahrnehmung der Aiwangers stutzig: "offen linksradikale Lehrer" in den 1980er-Jahren in Bayern, nachdem im Zuge des Radikalenerlasses Regelanfragen beim Landesamt für Verfassungsschutz gestellt und fast ausschließlich Bewerberinnen und Bewerber aus dem linken Spektrum abgelehnt wurden?
Dieses Verfahren galt für den gesamten öffentlichen Dienst. Von 1973 und 1980 wurden in Bayern 102 Personen aus dem linken Spektrum abgelehnt und nur zwei aus dem rechten. In den Folgejahren wurden bis 1990 jeweils rund 20.000 Personen überprüft und jeweils eine bis sechs abgelehnt. Sich gegen Atomkraft engagieren, reichte allerdings nicht für ein Berufsverbot.
Wenn die Aiwanger-Brüder Sympathien für die damals sehr breite bayerische Anti-Atom-Bewegung als linksradikal wahrnahmen und bis heute so wahrnehmen, sagt das vielleicht mehr über ihre eigene Stellung im politischen Koordinatensystem aus.
Es gab zu Aiwangers Schulzeit in Bayern sicher keine linke Hegemonie – und schon gar keine, die ansatzweise erklären könnte, warum man sich als harmloser konservativer Junge mit einem Flugblatt über das "Vergnügungsviertel Auschwitz" wehren musste.
Antikommunismus gehört seit der Niederschlagung der Münchner Räterepublik 1919 zur DNA "Ordnungszelle Bayern". Niemand kann hier "chronische Seelenschäden" durch realsozialistischen Staat für den Rechtsruck verantwortlich machen, wie es Wolf Biermann und im Fall der Ostdeutschen tut.
Der heutige Antikommunismus braucht aber im Zweifel gar keine Kommunisten mehr. Manchmal unterstellen sich Neoliberale und völkische Rechte im Kulturkampf einfach gegenseitig totalitäre Züge, die sie besonders gerne mit der DDR in Verbindung bringen. (Claudia Wangerin)
Klimafreundlicher als Verbrenner sind Elektroautos durch die zunehmende Verbesserung des Strommixes fast immer, beim Datenschutz stehen sie dagegen fast immer schlechter da: Man kann schließlich nur sehr selten mit Bargeld laden. An einer Aufzeichnung der genutzten Ladesäulen für eine Abrechnung kommt man also nicht vorbei. Aber bei der Verwendung von den beliebten Ladeapps fühlt man sich auch darüber hinaus schnell überwacht: Wer erhält da alles Daten von meiner Reise? In diesem Test wollen wir uns den Datenverkehr von fast alle relevanten Ladeapps mal anschauen. Die gute Nachricht: Man braucht die Apps nicht unbedingt und es gibt Lösungen, die sowohl günstig als auch datenschutzfreundlich sind. Der Test hat sich aus technischen Gründen auf Android-Apps beschränkt, aber vieles davon lässt sich auf iOS übertragen.
1. Empfehlung und Fazit: So lädst du datenschutzfreundlich
Die Welt der Ladeanbieter ist kompliziert: Die einen bieten Plastikkarten zum Laden an, die anderen funktionieren nur über die App. Die einen haben einen festen Preis, die anderen einen variablen Preise je nach Ladesäule. Das alles mit dem Datenschutz zusammenzubringen, kann überfordern.
Für alle, die gerade in die Welt der Elektroautos einsteigen, habe ich die Testergebnisse hier in eine einfache Praxisempfehlung zusammengefasst: Such dir aus diesen vier verschiedenen Kategorien 2-3 Anbieter heraus. Damit hast du ein datenschutzfreundliches Setup, das nicht teuer ist und mit dem du fast überall laden kannst.
1. Ladekarte von einem lokalen Energieversorger: Wenn der Ladepreis eine große Rolle spielt, such dir einen günstigen Anbieter aus diesen drei regionalen Verbünden. Am ehesten findest du etwas in dieser nach Postleitzahlen sortierten Liste der 250 internen Roaming-Partner von Ladenetz.de – das ist der größte Verbund der lokalen Energieversorger. Vereinzelt findet man Schnäppchen ab 0,38 € AC (Langsamladung) und 0,48€ DC (Schnelladung). Je nach Wohnort ist vielleicht auch einer der 68 Partner aus dem Ladeverbund+ oder das sehr kleine Tank-E-Netzwerk interessanter. Vor allem für die Laternenparker, die nicht mit eigenem Strom laden können, kann eine günstige Karte für die eigene Region viel Geld sparen. Daher lohnt es sich, hier ein bisschen Zeit zu investieren, um die zahlreichen Angebote zu prüfen: Möglicherweise hat der Energie-Anbieter bei dir vor Ort einen Sonderpreis für seine eigenen Ladesäulen. Oder du findest einen Anbieter aus einer anderen Region, der sehr günstig ist, aber auch Kunden ohne StromvertragoderWohnsitz in seinem Gebiet annimmt. Das kann allerdings auch manchmal Probleme geben, wenn du dann damit vorwiegend teuer im Ausland lädst. Die direkten Apps der drei Anbieter braucht man nicht unbedingt, aber sie sind einwandfrei (Kurztests: Ladenetz, Ladeverbund, Tanke-E). Ladeverbund+ und TankeE kann man auch ohne Google Play Services ohne Einschränkung nutzen, wenn man sie über Aurora bezieht. Du kannst aber auch alle drei Ladesäulenkarten einfach im Browser öffnen und mit einem Shortcut auf den Startbildschirm deines Smartphones legen: Ladenetz-Karte, Ladeverbund+-Webapp und TankE-Webapp. Ein sehr günstiger Anbieter, den man auch noch in diese Kategorie zählen könnte, ist Aldi Süd: Hier kann man direkt mit Giro- oder Kreditkarte zum Festpreis Strom tanken (aktuell 0,29€ für AC-Stationen und 0,39€ für AC/DC-Stationen). Anders als bei Lidl geht das ohne Einkauf und ohne App. Ladesäulen findet man einfach über die Browser-Karte, es gibt gar keine App.
In Deutschland meist gute Abdeckung, aber für den Urlaub braucht man meist ein größeres Netzwerk: Ladenetz.de.
2. Ein Universalanbieter mit Festpreis und großer Abdeckung: Den brauchst du, denn vom kleinen lokalen Stadtwerk bekommst du zwar eventuell eine günstige Karte vor Ort, aber mit den maximal 100.000 Ladesäulen in Europa kann es in manchen Situationen oder im Urlaub knapp werden. Eine App oder Ladekarte, die bei großer europaweiter Abdeckung einen immer noch guten Preis bietet, ist die optimale Ergänzung. Hier eine Übersicht über die großen Festpreis-Anbieter, die ich aus Datenschutzperspektive empfehle. Vor allem Personen mit eigener Lademöglichkeit dürften auch nur mit einer dieser Karten froh werden.
Geht per App oder Ladekarte: EWE Go ist einer der datenschutzfreundlichen Anbieter mit mehr als 200.000 Partner-Ladesäulen.
¹ Preis exklusiv für Energiekunden² Preis für europäisches Ausland
3. EV-Map: Ich verwende sehr gerne diese Open-Source-App (Website | Kurztest) für die Ladesäulensuche. Der Vorteil: Du kannst dir Filter für deine Ladekarten- und Ladeapps erstellen, die du besitzt und schnell zwischen den Anbietern umschalten. Außerdem kannst du so auch schnell über den integrierten Dienst von chargeprice.app die Preise an einer Säule vergleichen, so dass du im Zweifel dort auch mit der richtigen Ladeapp oder Ladekarte lädst. Der Nachteil: Die Ladesäulen stammen entweder von der Community der altehrwürdigen Website goingelectric.de. Dann hat man oft Fotos und die Möglichkeit, nach Ladekarten (nicht nur nach den Netzwerken dahinter) zu filtern. Die andere Option sind die Daten des Projekts openchargemap.org: damit gibt’s dann keinen Ladekarten-Filter (weil die Zuordnung von Ladekarten zu Netzwerken mühsame Pflege und Hintergrundwissen erfordert). Aber dafür ist die Openchargemap-Quelle dann bei Ländern mit offiziellen Verzeichnissen (z.B. Deutschland und Frankreich) komplett. Auf der Website gibt es eine Liste der Datenquellen. Ich verwende daher standardmäßig goingelectric.de als Quelle und nutze nur im Notfall openchargemap.org, weil man dort nicht erfährt, welche seiner Ladekarten man an einer Säule nutzen kann.
Super Kombi: Die Open-Source-App EV-Map und ein paar Ladekarten aus Plastik.
Im Prinzip kannst du auch nur diese App zum Suchen dabei haben und zum Bezahlen dann Ladekarten aus Plastik. EV-Map kannst du bei F-Droid oder im Play Store finden, mit leicht unterschiedlichem Aufbau. Alternativen dazu sind die App Moovility (Website | Kurztest), die auch gut abgeschnitten hat oder die Webseite chargeprice.app. Für Deutschland gibt es außerdem eine hochoffizielle Browser-Karte der Bundesnetzagentur mit allen Ladesäulen. Diese Karte ist die umfangreichste von allen. Einen etwas anderen Datenbestand haben die Karten auf Basis von Openstreetmap: Hier sind auch viele (aber bei weitem nicht alle) Ladesäulen eingetragen. Auf Android nutzte ich das am liebsten über Osmand.
4. Anbieter mit variablen Preisen: Es gibt einige Anbieter, die variable Preise bieten. Die brauchst du im Normalfall nicht, aber sie können für folgende Situationen nützlich sein:
Per App kommt aus Datenschutzgründen eigentlich nur Bosch Charge My EV (Website | Kurztest) in Frage. Die Preise sind eher hoch. Mit 500.000 Ladepunkten in Europa ist es aber eine empfehlenswerte Notfallvariante, mit der du in schlecht ausgebauten Regionen wie Rumänien mit einer tadellosen App vielleicht doch noch eine Ladesäule in der Nähe findest. Auch für die wenigen Ladesäulen, die keine RFID-Funktion haben, ist das eine Notfalloption. Wirelane bringt als dritte Option nicht viel, weil es vermutlich identisch mit dem Netzwerk ist, dass du mit einer Karte von deinem lokalen Energieversorger abdeckst. Die Bosch-App funktioniert aber nicht für alternative Androids ohne Google Play Services.
Nur per RFID-Plastikkarte lassen sich drei weitere Anbieter aus diesem Segment datenschutzfreundlich nutzen. Und zwar, weil sie eine Ladesäulen-Map für den Browser anbieten. Die brauchst du ja, um vor dem Laden die Preise zu prüfen. Diese Kombi aus RFID-Karte und Browser-Map gibt es bei Chargemap, Chargenow und Freshmile. Preislich machen die drei vor allem bei Langsamladesäulen im Ausland Sinn, man kann dort manchmal für um die 0,35€ bis 0,45€/kwh laden. Bei dem Prepaid-Anbieter Freshmile muss man etwas rechnen (kwh-Preis + Minutenpreis) und bei Chargenow braucht man erst einen Login, bevor man die Preise online checken kann.
Das ist so ein typisches französisches Ladeabenteuer: Man kann kann mit der Freshmile-RFID-Karte für ca. 0,44€ datenschutzfreundlich laden, wenn man dort eine Ladesäule findet und sie funktioniert.
Und der wichtigste Tipp zum Schluss: Vielleicht geht es ja auch ganz ohne Auto. Das ist am umweltfreundlichsten und dann brauchst du auch keine Ladeapp!
3. Übersicht über alle Ergebnisse
Den Datenverkehr von insgesamt 41 Ladeapps habe ich unter die Lupe genommen – hier findest du einen Überblick und weiter unten dann die einzelnen Testergebnisse. Dass Apps im Normalfall nicht datenschutzkonform sind und die Behörden keine Bußgelder vergeben, ist in den letzten Jahren leider klar geworden (5 Jahre DSGVO: Mangelhafte Durchsetzung auch in Deutschland). Die vielen problematischen Ergebnisse überraschen also nicht.
Legende
Bezeichner
Beschreibung
⭐
Wird nicht eingesetzt
😠
Aktiv, aber deaktivierbar
😡
Wird eingesetzt
¹ Keine Bezahlfunktion integriert, Ladekarte, App oder Bankkarte zusätzlich notwendig.
Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.
¹ Keine Bezahlfunktion integriert – Ladekarte, App oder Bankkarte zusätzlich notwendig.
Suchst du mehr Infos zu Ladeapps und Preisen? Energieheld.de hat einen Preis-Vergleich – Ladekarten für Elektroautos und E-Tankstellen durchgeführt. Einen ausführlichen Test zu Ladeapps hat außerdem die Stiftung Warentest veröffentlicht, wobei meiner Meinung nach beim Prüfpunkt Datenschutz wenig paxisnahe Kriterien wie Mängel in der Datenschutzerklärung herangezogen wurden. Ladenetz ist die einzige App, die ich aus dem Testfeld des Artikels empfehlen kann. Sie erhielt dort den siebten Platz und bei der Benutzerfreundlichkeit leider nur ein „ausreichend“.
3. Die Kurztests im Detail
Die vielen Tests konnte ich nur mit einer oberflächlichen Einordnung und Bewertung durchführen. Das heißt, ich konnte den gefundenen IDs nicht immer mir viel Sorgfalt nachgehen, sondern habe oft nur aus meiner Erfahrung bewertet, für was die Verbindung da sein könnte und ob eine ID personenbeziehbar sein könnte.
Eine der beliebtesten Ladeapps ist mobility+ von EnBW. Das liegt daran, dass man ein wirklich großes Netz von 400.000 Ladepunkten in 17 Ländern Europas geboten bekommt. Außerdem kann man die App im Rahmen einer ADAC-Mitgliedschaft auch mit vergünstigten Preisen einsetzen (ADAC e-Charge).
[4] Medallia, ein Dienstleister für personalisierte Angebote. Bei den Verbindungen zu der dazugehörigen Domain thunderhead.com konnte ich auf die Schnelle keine installationsbezogene ID erkennen, der SiteKey bleibt nach Neuinstallation identisch. In der Datenschutzerklärung der „mobbility+“-App wird allerdings behauptet, dass Thunderhead eine gerätebezogene ID erhält.
Die Channel ID von Airship ändert sich bei jeder Installation. Nutzt ein User zusätzlich auch andere Channels (z.B. ein zweites Smartphone), dann kann Airship das Verhalten innerhalb mehrerer verschiedener Channels einem User zurordnen. Daher dürfte die ID nach TTDSG § 25 eigentlich nicht ohne Einwilligung aus dem Gerät gelesen werden. „Channels represent the various devices, users, and addresses that make up your audience. Channels are a concept fundamental to Airship; understanding the various applications of channels can help you better understand and target your audience.“
Fazit EnBW: Die App zeichnet Nutzerverhalten mit personenbezogenen IDs für die Personalisierung auf und sendet Analysedaten an verschiedene Drittanbieter. Die rechtlichen Rahmenbedingungen werden dabei nicht eingehalten. Die Datenschutzerklärung klärt außerdem nicht über alle Datenübertragungen auf. Ich würde die App nicht nutzen. Wer wirklich unbedingt mit EnBW oder ADAC laden möchte, kann aber die App einmalig installieren (ohne Google Play Store geht das mit dem Aurora Store), ein Konto (idealerweise mit einer dafür angelegten E-Mail-Adresse) anlegen, eine Zahlungsmethode zum Beispiel per Lastschrift eintragen und die Ladekarte aus Plastik bestellen. Danach kann man die App wieder löschen. Das funktioniert problemlos und die Datenschutzproblematik ist zu vernachlässigen, da die generierten IDs für alle Tracker installationsbezogen sind und so keine Verbindung zu anderen Datenpunkten hergestellt werden kann. Die Abrechnung der Ladevorgänge kommt dann monatlich per E-Mail. Die Suche nach Ladepunkten kann man dann am besten mit EV Map erledigen. Die offizielle Browser-Ladekarte von EnBW ist nur für einen groben Überblick geeignet, da man weder Orte suchen noch nach Schnell- und Langsamladern filtern kann.
Die Aral Fuel & Charge App ist wohl vor allem für Dienstwagen und Firmenflotten gedacht. Ich habe die App nur kurz ohne Login genutzt, hinzu kamen Entschlüsselungsprobleme.
Die Verbindungen:
[1] Google Firebase war dennoch gleich zu Beginn der App sichtbar.
[2] Trafineo ist der App-Partner von Aral, der die App auf einem Amazon-Server betreibt.
GET https://appservices.trafineo.com/v6/versioning/android HTTP/2.0
authorization: Bearer
user-agent: Android/11/SM-G900F/aral/3.4.0/
accept-encoding: gzip
No content
[3] Google Maps, die Verbindung konnte nicht entschlüsselt werden.
Fazit: Auch wenn es bei meiner Analyse Probleme mit der Entschlüsselung gab, konnte ich alle aufgebauten Verbindungen der App interpretieren. Außer Google Firebase, Google Maps und dem Appserver fanden sich keine Verbindungen, was schon einigermaßen gut ist. Die App kann man daher benutzen, ohne sich rundum analysiert zu fühlen. Mit einer Installationsmeldung und Absturzberichten an Google Firebase, die auch personenbezogene Daten enthalten könnten, muss man aber rechnen.
[2]Dynatraceist ein Cloud-Anbieter, ich vermute, dass hiermit die Leistungsfähigkeit der App überwacht wird oder auch Nutzungsanalyse betrieben wird. Diese Verbindungen waren leider auch Tage nach der letzten Nutzung im Hintergrund aktiv.
POST https://bf25527obn.bf.dynatrace.com/bf?type=js3&sn=v_4_srv_5_sn_B76DHLO5D0LNV0NA98L1TEASP195FBVP_app-3A14ca53528d23560f_1_ol_0_perc_100000_mul_1_rcs-3Acss_0&svrid=5&flavor=cors&vi=RRWBHRUTWJNOPLHBPABNUWVWHPPNQHBI-0&modifiedSince=1690812845219&rf=http%3A%2F%2Flocalhost%2F&bp=3&app=14ca53528d23560f&crc=3136648428&en=lbcifmz0&end=1 HTTP/2.0
content-length: 1477
user-agent: Mozilla/5.0 (Linux; Android 11; SM-G900F Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 Mobile Safari/537.36
content-type: text/plain;charset=UTF-8
accept: */*
origin: http://localhost
x-requested-with: com.bepower.BeCharge
sec-fetch-site: cross-site
sec-fetch-mode: cors
sec-fetch-dest: empty
referer: http://localhost/
accept-encoding: gzip, deflate
accept-language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
Raw
$a=1%7C1%7C_load_%7C_load_%7C-%7C1691246262605%7C1691246269333%7Cdn%7C36%7Csvtrg%7C1%7Csvm%7Ci1%5Esk0%5Esh1%7Ctvtrg%7C1%7Ctvm%7Ci1%5Esk0%5Esh1%2C2%7C7%7C_event_%7C1691246262605%7C_vc_%7CV%7C6728%5Epc%7CVCD%7C4981%7CVCDS%7C8%7CVCS%7C3313%7CVCO%7C6765%7CVCI%7C0%7CVE%7C0%5Ep0%5Ep151200%5Eps%5Esdiv.gm-style%3Ediv%3Afirst-child%3Ediv%3Anth-child%282%29%7CS%7C4370%2C2%7C8%7C_event_%7C1691246262605%7C_wv_%7ClcpE%7C-%7ClcpSel%7C-%7ClcpS%7C3016%7ClcpT%7C6604%7ClcpU%7C-%7ClcpLT%7C0%7Cfcp%7C6604%7Cfp%7C5798%7Ccls%7C0.0061%7Clt%7C4108%2C2%7C4%7C_onload_%7C_load_%7C-%7C1691246265052%7C1691246265484%7Cdn%7C36%7Csvtrg%7C1%7Csvm%7Ci1%5Esk0%5Esh1%7Ctvtrg%7C1%7Ctvm%7Ci1%5Esk0%5Esh1%2C3%7C5%7Cg14.2.12%7Cxhr%7Cg14.2.12%7C1691246265097%7C1691246265484%7Cdn%7C36%7Cxu%7C%2Fassets%2Fi18n%2Fen.json%7Csvtrg%7C1%7Csvm%7Ci1%5Esk0%5Esh1%7Ctvtrg%7C1%7Ctvm%7Ci1%5Esk0%5Esh1%7Cxrt%7Cb1691246265146e0f0g0h0i0k0l0m311X200T-1z11I1%2C1%7C9%7C_event_%7C1691246262605%7C_view_%7Ctvtrg%7C1%7Ctvm%7Ci1%5Esk0%5Esh1$rId=RID_2418$rpId=$domR=1691246265026$tvn=%2Fexplore$tvt=1691246262605$tvm=i1%3Bk0%3Bh1$tvtrg=1$tvg=explore$w=360$h=616$sw=360$sh=640$nt=a0b1691246262605e28f28g28h28i28k28l28m260o1238p2366q2367r2422s2447t2447u300X200$ni=4g|10|wifi$di=3$url=http%3A%2F%2Flocalhost%2Fexplore$title=BeCharge$sUrl=http%3A%2F%2Flocalhost%2F$latC=0$app=14ca53528d23560f$vi=RRWBHRUTWJNOPLHBPABNUWVWHPPNQHBI-0$fId=446263206_154$v=10269230629181806$vID=16912459539060UBI6GTF4VFQ4D98EDM8KTFESDN0HRG8$time=1691246270980
[3] Onesignal ist ein SDK, das für Push-Notifications eingesetzt wird.
[5] bepower.io ist der API-Server von Be Charge, hier werden z.b. die Ladesäulen abgefragt. Der Server ist bei Amazon gehostet.
GET https://api.prod.bepower.io/evc?lat=41.902747&long=12.482801&radiusM=3932.958 HTTP/2.0
accept: application/json
x-app-version: 4.11.1
accept-language: de
user-agent: Mozilla/5.0 (Linux; Android 11; SM-G900F Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 Mobile Safari/537.36
x-api-key: 1TxzudH9RY4VnRjFF4A7YSzXbWyGdjY6qyYdMSGa
origin: http://localhost
x-requested-with: com.bepower.BeCharge
sec-fetch-site: cross-site
sec-fetch-mode: cors
sec-fetch-dest: empty
referer: http://localhost/
accept-encoding: gzip, deflate
Query
lat: 41.902747
long: 12.482801
radiusM: 3932.958
Fazit: Die App setzt nicht nur ungefragt Google Firebase und eine Analysesoftware ein – letztere ist auch im Hintergrund aktiv, obwohl die App nicht benutzt wird. Das finde ich nicht nachvollziehbar. Ich würde die App deshalb und wegen der vielen Drittanbieter nicht nutzen.
BMW hat eine eigene Ladeapp, die über Partner über 540.000 Ladepunkte in Europa anbietet, das ist eine ganze Menge. Die Preise sind etwas komplizierter: Es gibt einen kostenlosen und einen Monatstarif. Wer keine monatliche Gebühr zahlt, muss vorher immer Preise checken. Die fixen Preise sehen hingegen ganz gut aus – aber sind auch nur für Leute, die einen BMW besitzen (es wird die Fahrgestellnummer abgefragt). Fürs Ausland gelten wieder andere Preise und beim Langsamladen muss man nach drei Stunden einen höheren Preis zahlen. Ich konnte die App nur zu einem kleinen Teil prüfen: Trotz Anmeldung war ich nicht in der Lage, Ladesäulen anzuzeigen (evtl. muss man dafür ein Elektroauto registrieren). Außerdem war BMW sicherheitstechnisch recht fortschrittlich: Man erkannte und warnte vor meinem gerooteten Android. Viele Verbindungen konnte ich nicht aufzeichnen.
Die Verbindungen:
[1] Here Maps: BMW war einer von den deutschen Autoherstellen, die Nokias Kartendienst Here vor einiger Zeit gekauft haben. Schön, dass sie es auch wirklich in ihren Apps benutzen. Beim Appstart sendet die App eine Installations-ID und erhält dann einen Token (Bearer), der für den Kartendienst verwendet wird. Anschließend werden alle Kartendaten mit dieser ID abgefragt. Soweit ich Einblick in den Datenverkehr hatte, fragt Here aber wie Mapbox nur Kacheln ab und erhält keinen genauen Standort. Da die Kacheln gecached werden, können auch nicht so einfach Bewegungsprofile erstellt werden. Here kann dennoch jede Kachelabfrage einer ID zuordnen, was aus Datenschutzsicht auch nicht ganz unproblematisch ist.
POST https://account.api.here.com/oauth2/token HTTP/1.1
Host: account.api.here.com
Accept: */*
Connection: TE
TE: gzip
Accept-Encoding: deflate, gzip
Authorization: OAuth oauth_consumer_key=“lizS9pzxd3bgXeaziBOuBA“,oauth_nonce=“f35b5a94-3d9b-4579-9fb9-97783ccb647b“,oauth_signature_method=“HMAC-SHA256″,oauth_timestamp=“1691700110″,oauth_version=“1.0″,oauth_signature=“J%2F9qQ5VPx3fst33rMG8aIHkGSsX84bowGCZbFkNkSVQ%3D“
User-Agent: OLP-CPP-SDK/1.15.4 (Android) HERE-SDK-4.14.4.0/explore
Content-Type: application/json
Content-Length: 84
JSON
{
„deviceId“: „68e079a6-057b-44e6-8c30-2d452456f6b1“,
„grantType“: „client_credentials“
}
GET https://vector.hereapi.com/v2/vectortiles/core/mc/12/2179/1421/omv HTTP/1.1
Host: vector.hereapi.com
Accept: */*
Connection: TE
TE: gzip
Accept-Encoding: deflate, gzip
If-Modified-Since: Thu, 01 Jan 1970 00:00:00 GMT
Authorization: Bearer eyJhbGciOiJSUzUxMiIsImN0eSI6IkpXVCIsImlzcyI6IkhFUkUiLCJhaWQiOiJEOUVJNFlHaHNDZDF1enpmNXVESCIsImlhdCI6MTY5MTcwMDExMSwiZXhwIjoxNjkxNzg2NTExLCJraWQiOiJqMSJ9.ZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJbjAuLmItTVUyREdrM0M0N0pmdjQtZTRpbFEuRlFjbE5lY3l3ZW8tSGlDenZWQkx4eDJoVVpDeWhnUjM0X0pFNUR0NHloaWlzZjN4ckJpUXVqMVVsUk9YM2s5TlczZWdCZFdfTzNpYVJadkZVbWIxdHpLTmRzX2xEQ0NMcDAzYnYxdDZLelFQNHhtcFJ1bnZLSFNUTVZsSllPRGc5amtjNE5zWHAxSG9PcXFCMHk1cFdnLl9XSUV4YnJGQjBOdnlSVlhVRlZiSDVDVksxT0JfcWFDOVlvTlBmQ09oVU0.sfSEQcZeyUUSanwaO7PI4KpOt3PB0vO3sd3x_2J7LEx_INM20StkU0-_NL_nUvwvJHBtvzotCTSXC4w3YQZ3F0vQiRZchMrS3qT9yLVOHlDziwgAtFt-NAGAtzcusSMO_llxWbw0hyfupyEqdR_xZpwnk8aSLyflZhpTCSSS7jnYX3lT5RuxJQDmVciY9VnIgYVT6NyoK9Osy0jDxSxAKEi9aZ7FPhN0uEbUt45iFQCFPORSRtB20QPrSUdhd1YAh3-G7l4Kj_PrXXXNjYSTLOSIfhwFiBlRacq5Xf2uvb-9d-pn8AlJDk34DyCTQvMQtJA4cbQowjWxiH52Tj54vA
No content
[2] Google Firebase meldet die Installation mit der eindeutifen Firebase-Installations-ID fid.
[3] Dynatrace: Dieses Unternehmen erhält regelmäßig kurze, eher technische Details über die Stabilität der App. Unklar, ob hier IDs enthalten sind. In einem anderen Test konnte ich beobachten, dass Dynatrace auch im Hintergrund aktiv ist, weshalb ich diesem SDK gegenüber skeptisch bin.
[4] BMW Server: Per API werden Details von BMW abgerufen. Diese ist offenbar von oder mit Hilfe von Countly betrieben, ein Cloud-Analyse-Unternehmen, welches offenbar für gehostete Daten Analysen anbieten kann. Das hier entsprechend immer eine deviceID mitgesendet wird, finde ich nicht so gut, denn dadurch können alle Aktionen in der App einem Gerät zugeordnet werden, auch wenn beispielsweise nur eine Ladesäule auf der Karte angezeigt werden soll. Genau das geschieht eben möglicherweise mit Countly. Der Server selbst liegt dann bei Microsoft, wobei ich nicht sehen kann, ob Countly oder BMW bei Microsoft direkt die Kunden sind.
Fazit: Auch wenn ich die App kaum testen konnte – was ich gesehen habe, reicht mir aus, um von der App abzuraten. Man wird auf Schritt und Tritt von einer Analysesoftware verfolgt und erhält auch gegenüber dem Kartendienst keine anonyme Auskunft. Auch wenn ich nicht genau sagen kann, was die App dann mit Bewegungsdaten macht, wäre mir das schon zu viel Analyse.
Bonnet war mir bis zum Test völlig unbekannt, aber ein Mastodon-Leser hat es vorgeschlagen. Offenbar ein Londoner Unternehmen, bei dem man die Preise je nach Ladenetzwerk bezahlt oder mit bis zu 15% vergünstigt erhält, wenn man ein Abo abschließt. Ob sich das Rechnen für Datenschutzinteressierte überhaupt lohnt, kann man schon nach dem Start bezweifeln:
Die Verbindungen:
[1] Google Firebase mit den Diensten Firebase Installations, Crashlytics, Messaging und das extrem umfangreiche Logging:
[2] Appsflyer ist ein Marketing-Unternehmen, welches gerne auch Zielgruppen nach installierten Apps anbietet. Ein Teil der Daten ist binär und kann nicht entschlüsselt werden. Im Verlauf der weiteren Appnutzung wird Appsflyer auch weitere Nutzungsdetails wie Häufigkeit des Gebrauchs erhalten.
GET https://gcdsdk.appsflyer.com/install_data/v4.0/com.bonnet?devkey=hGf5f9trtk5FSA5TBfvrg9&device_id=1691419678494-5332151796134004553 HTTP/1.1
Content-Type: application/json
Connection: close
User-Agent: Dalvik/2.1.0 (Linux; U; Android 11; SM-G900F Build/RQ3A.211001.001)
Host: gcdsdk.appsflyer.com
Accept-Encoding: gzip
Query
devkey: hGf5f9trtk5FSA5TBfvrg9
device_id: 1691419678494-5332151796134004553
POST https://conversions.appsflyer.com/api/v6.9/androidevent?app_id=com.bonnet&buildnumber=6.9.0 HTTP/1.1
Content-Type: application/octet-stream
Content-Length: 3544
User-Agent: Dalvik/2.1.0 (Linux; U; Android 11; SM-G900F Build/RQ3A.211001.001)
Host: conversions.appsflyer.com
Connection: Keep-Alive
Accept-Encoding: gzip
Hex
0000000000 69 fa d6 4f f0 cd cd 6e 8f a4 13 53 0f fd 3d 4c i..O…n…S..=L
0000000010 de fd 49 9f 7b 49 93 95 ca 9c b1 c3 46 67 6b 55 ..I.{I……FgkU
0000000020 16 87 18 ce 65 71 2f a1 e4 a5 63 9f e5 e0 94 31 ….eq/…c….1
0000000030 2d 57 2a cc 88 c0 64 20 b6 ad cc 44 cd 72 75 4e -W*…d …D.ruN
0000000040 68 d5 85 48 5b d9 46 1b 65 3f 49 c5 80 82 d2 b9 h..H[.F.e?I…..
0000000050 0d 4d a3 13 a6 c5 0b 1b 47 b0 88 d3 be f6 df d2 .M……G…….
0000000060 5f c1 95 15 58 df b5 46 ae dd 2d 46 2f 88 c7 75 _…X..F..-F/..u
0000000070 bb 76 7d e3 97 a8 ef 1b e9 dc f3 e2 be 28 0e b2 .v}……….(..
0000000080 64 ef 54 07 91 46 f8 0b 91 d4 11 26 23 5e 82 f2 d.T..F…..&#^..
0000000090 d3 ee 89 06 f4 f4 9e 65 27 17 cc 6d 37 5a b6 02 …….e‘..m7Z..
00000000a0 1c 06 31 78 34 2f 75 0e 72 0b 8c b2 df 56 10 b8 ..1×4/u.r….V..
00000000b0 14 2c 9d 1c 26 1d f6 e0 21 cd 30 35 9f bc a1 ba .,..&…!.05….
00000000c0 e3 2f e2 98 76 0b c2 07 c4 50 9d e0 ef b1 7a b8 ./..v….P….z.
00000000d0 55 29 8f b9 f5 b6 fe a9 3e 56 91 a0 d9 a8 c3 38 U)……>V…..8
00000000e0 b5 c0 79 23 37 43 be c2 58 77 64 63 33 11 60 ba ..y#7C..Xwdc3.`.
00000000f0 9c 15 17 bb 27 09 f7 08 5c 2a ce 2e 6a 4b 14 b3 ….’…\*..jK..
0000000100 80 0f d5 62 c9 8f f0 7f ac 14 c1 84 f8 c3 78 8c …b……….x.
0000000110 cd 26 06 ec 2a e4 ea fa 24 25 64 03 44 c9 c2 15 .&..*…$%d.D…
0000000120 22 40 fa f1 f8 4d 9c 6f 83 e2 08 50 0b 6f 13 30 „@…M.o…P.o.0
0000000130 80 0a 84 6d 9e 38 aa a3 fd 3e b1 cf 39 56 52 3e …m.8…>..9VR>
0000000140 de 54 2b 4f 42 48 bd 34 5b e8 c4 03 5d d2 be bb .T+OBH.4[…]…
0000000150 83 ee da fb 9d 63 96 8e 02 44 18 62 30 a1 3f 84 …..c…D.b0.?.
0000000160 a9 74 4e 1a f5 22 1a 02 48 80 31 d3 a7 02 13 9a .tN..“..H.1…..
0000000170 f3 6a f7 dd 47 08 22 e7 2b 93 20 c1 cf fb 5b b3 .j..G.“.+. …[.
0000000180 f8 dc 02 7c 3b 7d e4 40 5a 19 fa 62 85 fc 86 65 …|;}.@Z..b…e
0000000190 4f 24 8a 15 50 2f f8 34 07 81 c6 76 f9 4e af 41 O$..P/.4…v.N.A
00000001a0 2d d6 1e c3 06 3a 94 cb ac 2f d7 ef 95 09 b8 ae -….:…/……
00000001b0 71 75 2f 06 ca 4b ee 3d e8 26 89 4b a0 54 8b b2 qu/..K.=.&.K.T..
00000001c0 ee e1 45 c0 ee d0 89 df 6a 61 be 3f f7 14 cb 6c ..E…..ja.?…l
00000001d0 8c 05 ea 12 cd 6b c6 8e 94 5d 3c 74 86 18 39 76 …..k…]
0000000360 06 d7 80 e3 8a ee 45 6f 3f 20 d8 a3 e3 da 91 49 ……Eo? …..I
0000000370 bd 3c 52 49 53 d8 42 66 38 62 ab d4 95 1d 30 9f .<RIS.Bf8b….0.
0000000380 a4 81 58 80 58 97 11 be 03 2b 17 04 17 62 07 50 ..X.X….+…b.P
0000000390 b3 aa 27 09 9b a1 8c a4 c9 8e 29 b5 6b 3d 23 e6 ..’…….).k=#.
00000003a0 f6 75 5f 68 ce 42 88 c7 68 c4 e7 1b ca 54 66 c5 .u_h.B..h….Tf.
00000003b0 46 5f 8d 4e a2 23 f8 e8 07 95 d2 24 11 8a 08 b9 F_.N.#…..$….
00000003c0 fe b3 9f c5 f1 a9 c0 3d 39 27 1b 4c 0f c7 e3 f7 …….=9′.L….
00000003d0 40 c4 d3 13 f4 6d e3 52 a9 4b 1a 82 d7 e5 47 b9 @….m.R.K….G.
00000003e0 b1 8e 19 92 b8 6d 87 da 8d f2 88 da 6a 09 e9 82 …..m……j…
00000003f0 fa 1d 31 e3 5f 6c 4e 80 77 16 c1 34 13 4d c7 37 ..1._lN.w..4.M.7
0000000400 41 1b f8 21 35 01 31 60 50 8e 87 0e 0f 11 50 4e A..!5.1`P…..PN
0000000410 58 b8 ae ea eb 73 bd 65 34 1b 4e f5 be 92 be 10 X….s.e4.N…..
0000000420 ad 43 13 2a d3 58 ef 86 89 4a 36 d6 9b aa 05 47 .C.*.X…J6….G
0000000430 7c 1f ff 4c 2e 7f b7 ab c2 5d bf cd bb a5 2a 88 |..L…..]….*.
0000000440 9d b3 a2 24 91 e0 52 a7 95 65 7f d2 3d f6 6f 61 …$..R..e..=.oa
0000000450 33 93 3c 3f c6 ca 9b 9e 17 0b 06 b0 2f a2 14 b5 3.<?……../…
0000000460 f1 aa 5d 2a 31 71 fa 74 88 99 d3 6a a6 49 53 b6 ..]*1q.t…j.IS.
0000000470 11 4b cc 7d 00 37 51 94 4e 45 9d 70 e3 db 93 84 .K.}.7Q.NE.p….
0000000480 29 1a e0 89 d3 06 2a dd fc dd 40 19 b2 7d 54 0b )…..*…@..}T.
0000000490 f2 90 35 bd 5e 2f e7 4a 75 c4 76 c3 75 7b 02 7c ..5.^/.Ju.v.u{.|
00000004a0 e1 96 56 6a 4c dc ef 73 14 f5 3d 0c f8 9c 8c b1 ..VjL..s..=…..
00000004b0 9b 81 75 6a c4 10 6c 80 0a 40 5e 01 12 48 1f 26 ..uj..l..@^..H.&
00000004c0 2a 24 c6 08 fd 37 d7 b6 a5 3a 01 41 03 91 31 8e *$…7…:.A..1.
00000004d0 d7 01 36 8f 90 b1 0c b6 5f 81 b9 0b 95 d3 0d 9f ..6….._…….
00000004e0 f0 fd ca d3 9f f1 fd c0 3f f5 5a 6d c5 5f 44 02 ……..?.Zm._D.
00000004f0 59 e0 0b 75 e2 dc 95 79 0b 47 e0 29 6c e5 48 0d Y..u…y.G.)l.H.
0000000500 9a 0f 06 16 2d dd d8 d1 15 f7 e8 a8 da 5a d1 3f ….-……..Z.?
0000000510 b1 ff e6 01 c4 42 ba bc 41 38 3c cd 59 68 37 f4 …..B..A8….. .
0000000560 2b 1b 84 63 e4 d0 71 fa 98 5a e4 51 15 7f 8a 90 +..c..q..Z.Q….
0000000570 d1 63 9a 2b 5b aa ad 79 25 5e d1 79 87 da 6e fc .c.+[..y%^.y..n.
0000000580 78 48 95 5a 9e 11 b6 ea c1 07 81 5c 4e 4a 07 5a xH.Z…….\NJ.Z
0000000590 8c 7b 8a 18 ef 5e 40 ba e1 a7 66 8b 68 d4 46 ea .{…^@…f.h.F.
00000005a0 98 01 f6 06 4e c1 59 c7 ad 1a 91 44 e6 57 59 27 ….N.Y….D.WY‘
00000005b0 a8 bf a2 2b 51 f8 da 43 6f 9a 68 65 83 20 59 f3 …+Q..Co.he. Y.
00000005c0 70 c9 62 98 7a c3 29 d3 44 02 d2 91 72 a0 6d 57 p.b.z.).D…r.mW
00000005d0 68 6f d2 54 59 4d e3 0c 3a 47 f7 7e 5e cb cf 23 ho.TYM..:G.~^..#
00000005e0 3d 25 a6 27 bf da 2c da 46 52 18 a6 bc 7d c7 32 =%.‘..,.FR…}.2
00000005f0 4f 63 87 2b e7 ee 01 07 bd 57 56 5d 8e 09 e8 f9 Oc.+…..WV]….
0000000600 12 68 09 19 bd 3e 84 fe 87 ec 7a ff 24 b3 54 4b .h…>….z.$.TK
0000000610 88 04 dd 1a 45 cb ec 3c b9 91 24 a5 a4 44 ca a3 ….E…..4..S.n.
0000000800 c0 bd bb 25 84 fc 15 bd 34 62 c7 60 84 aa de 9c …%….4b.`….
0000000810 1d a9 07 60 17 31 43 2b 90 69 76 d4 8a 50 10 ef …`.1C+.iv..P..
0000000820 40 66 40 65 f6 c8 39 47 c8 86 e7 42 96 ec 02 9d @f@e..9G…B….
0000000830 e6 e1 9c e7 6d 01 8c 6b ca a5 bb 62 07 4c 3f 15 ….m..k…b.L?.
0000000840 ef f5 b1 80 72 f7 16 77 1b 1d 82 04 8b 1f 84 2b ….r..w…….+
0000000850 26 3e d6 2c e3 34 a4 82 97 34 f4 29 b1 41 a7 d0 &>.,.4…4.).A..
0000000860 2c d3 a2 b1 dd dc 21 6a d7 cc 52 0d e2 36 c9 b9 ,…..!j..R..6..
0000000870 bd 40 3d 0b 3e 5b 23 d6 bd 09 c3 aa a2 e0 9d e5 .@=.>[#………
0000000880 76 1e 4f a9 e2 ce 2a 7f c6 ac c7 73 09 3f ed 0c v.O…*….s.?..
0000000890 03 1f 99 e2 5c 32 42 25 27 13 ab 3d e5 6f 50 f4 ….\2B%‘..=.oP.
00000008a0 87 e8 74 c5 e2 a4 b1 1b 9f 1b 14 9d bf 55 f1 2d ..t……….U.-
00000008b0 41 0b 9d 32 08 20 09 97 38 27 7e 6e 58 2d be cc A..2. ..8’~nX-..
00000008c0 33 10 47 48 eb 43 09 fc a1 79 25 24 4f 90 d9 0d 3.GH.C…y%$O…
00000008d0 23 e6 96 b6 4a 3b fc 54 dc 61 39 d6 55 2f 8c dc #…J;.T.a9.U/..
00000008e0 4e 38 64 6a 3a 92 ac 93 57 d8 ce 2f 43 71 e9 ad N8dj:…W../Cq..
00000008f0 3e fb 39 0d f1 a4 82 79 fd 3f 12 6f a3 cc 8e cb >.9….y.?.o….
0000000900 2c dd 48 ad 3b 1f cd 59 07 7d 09 bb d4 3d f1 8f ,.H.;..Y.}…=..
0000000910 af c1 98 be 0c 61 59 0e 9e 65 d8 98 8d 6d 5c 1c …..aY..e…m\.
0000000920 b7 f5 a0 0d 82 e6 1c 65 76 23 2d ce 74 3f 52 e0 …….ev#-.t?R.
0000000930 c2 cc 08 cf f5 bc 30 90 79 25 87 1d a0 23 50 9d ……0.y%…#P.
0000000940 ed 63 18 f3 68 fe 10 4a a8 23 f3 a2 d8 9a 59 0e .c..h..J.#….Y.
0000000950 10 e9 f3 9c 3b 95 09 88 39 6e 9d 1c 8c 7b e0 55 ….;…9n…{.U
0000000960 54 ec fe 86 5d b5 06 35 7e 22 e4 fd 7d 7d 42 ae T…]..5~“..}}B.
0000000970 70 83 cf 16 09 c7 d4 77 be e0 71 86 9e d8 a3 f4 p……w..q…..
0000000980 d5 98 52 01 96 ba 26 2e 4f d5 0a f0 f9 69 f2 3b ..R…&.O….i.;
0000000990 1f e9 4e 12 5e 15 f6 0b f2 aa e8 c8 a6 97 ea 2d ..N.^……….-
00000009a0 8a f1 4f 89 47 ea 30 f6 de 3d 63 63 69 82 3b 8e ..O.G.0..=cci.;.
00000009b0 00 c5 a3 ca 3a 4d 81 07 31 93 8b 9a 55 06 c0 32 ….:M..1…U..2
00000009c0 cc e6 10 fb ee 8d f1 dc 4b 22 5b 66 50 aa 3a c2 ……..K“[fP.:.
00000009d0 da 92 78 6f 83 74 6d 16 f7 36 96 eb 8c 72 ae 49 ..xo.tm..6…r.I
00000009e0 2c c9 f3 9e eb 31 c3 98 c6 9d 06 ea 3f 96 27 dc ,….1……?.‘.
00000009f0 9c bd 03 6a a2 3f 28 78 0a 52 1b 53 c6 15 b6 f5 …j.?(x.R.S….
0000000a00 06 4a e9 b2 8a 8f 38 af d5 d5 ab 79 3b 86 83 34 .J….8….y;..4
0000000a10 18 e7 03 32 34 bb e1 b6 df f1 ad e3 c1 02 65 75 …24………eu
0000000a20 61 e1 7a 00 f1 2c 88 7c 26 83 87 66 26 f3 42 09 a.z..,.|&..f&.B.
0000000a30 ae 40 b2 bd 11 21 b5 0a f1 34 2f de b6 38 0d 16 .@…!…4/..8..
0000000a40 32 38 31 6f e2 35 07 e6 17 ef 97 f0 7d 4d dd e4 281o.5……}M..
0000000a50 cf 96 68 da 42 df 5a ed 54 6c 2d 54 3c 3f bb a0 ..h.B.Z.Tl-T<?..
0000000a60 7e 94 b8 d4 71 66 28 a8 5f 69 e0 6c 84 44 e6 94 ~…qf(._i.l.D..
0000000a70 96 d0 52 fd ae b7 5a 9e 82 4e c7 c4 e6 ee b3 45 ..R…Z..N…..E
0000000a80 9a b8 d5 14 42 9a 3c 24 5b 85 d9 a4 24 6f dd 5f ….B….. .a…a.\!
0000000b70 93 ae 95 49 57 55 25 54 37 63 c8 10 7f de 38 6b …IWU%T7c….8k
0000000b80 f3 23 c0 fb a1 09 97 d9 42 92 6e 9a 56 31 80 5a .#……B.n.V1.Z
0000000b90 13 c3 4e fd 2d f5 1a 9f fd 0a 75 c7 7c 1e 67 55 ..N.-…..u.|.gU
0000000ba0 81 f7 77 92 e8 8b c0 30 5a c6 73 19 ed be 7b f0 ..w….0Z.s…{.
0000000bb0 4a 33 52 1b 81 91 42 bc 88 51 55 f1 ad 1b 44 f7 J3R…B..QU…D.
0000000bc0 f4 a0 a2 d6 e4 b3 66 27 50 f6 8b 25 be 1c 59 4a ……f’P..%..YJ
0000000bd0 d8 27 12 8e 2e ce a1 ac 9a 55 85 6b 03 61 39 3b .’…….U.k.a9;
0000000be0 a9 5d 94 fb a0 9e e3 3f 81 ce 68 ea e0 f1 c8 fe .]…..?..h…..
0000000bf0 6a b4 17 5d 9c 8b 14 c0 65 04 46 1b 94 12 9f 33 j..]….e.F….3
0000000c00 98 e6 c2 03 2a e2 b2 0c 37 05 b0 ea 53 ef 06 65 ….*…7…S..e
0000000c10 17 f9 80 73 65 bf a0 ec ad 4e 38 78 9c 9e 2c b5 …se….N8x..,.
0000000c20 b4 f0 e2 a4 63 84 d2 e1 f6 ee 69 e7 12 93 c4 11 ….c…..i…..
0000000c30 76 01 e1 d9 f2 db 47 2f 99 1a 04 d4 44 60 0c 11 v…..G/….D`..
0000000c40 8a 2a 8c dd 3a ca a4 58 61 73 f0 e6 8e a3 15 16 .*..:..Xas……
0000000c50 83 28 a0 6b 89 ad 83 3d bd 1c 7f 77 2f e6 ed f1 .(.k…=…w/…
0000000c60 33 8d 9a c1 79 a4 f3 b1 85 46 20 bf 4e 79 4e 2d 3…y….F .NyN-
0000000c70 55 e9 fc 31 35 f6 8f 13 6e 0b 24 50 a4 88 79 6f U..15…n.$P..yo
0000000c80 52 04 c2 a7 8c d1 22 71 ba 29 6e 17 89 77 ce 37 R…..“q.)n..w.7
0000000c90 71 51 7d 0b a5 66 d2 c3 91 bf fb 2a a0 2c 49 6f qQ}..f…..*.,Io
0000000ca0 36 ef 38 de 0f 0c e6 e3 a0 2c e2 04 82 6d 75 af 6.8……,…mu.
0000000cb0 a3 5f ae 0f 51 0b b0 f5 96 30 ef f6 f4 74 44 c3 ._..Q….0…tD.
0000000cc0 2c 3b 54 3b 6b 3f d5 2b a6 7b cc 53 6b 7f 57 30 ,;T;k?.+.{.Sk.W0
0000000cd0 3b 4b f6 3c a1 b7 3e 65 fd 75 ca c6 56 38 28 de ;K.e.u..V8(.
0000000ce0 45 bb f6 03 f6 af 77 3e e9 1d d0 41 37 ec 6e 5b E…..w>…A7.n[
0000000cf0 ab 03 c2 90 4b 7e ed ad 93 0e c6 1a 97 ea 88 c4 ….K~……….
0000000d00 ff ba 41 df 42 2c e7 23 24 66 42 bd d0 4d 11 20 ..A.B,.#$fB..M.
0000000d10 f8 af 82 96 93 0f b5 ea 69 2e fc 32 3d 03 77 0d ……..i..2=.w.
0000000d20 f7 1f c7 ca fe 4a d2 84 7b af 17 18 83 2a 5f 41 …..J..{….*_A
0000000d30 21 c6 4e 86 45 6f bb b0 52 56 65 f5 9c a4 0c 97 !.N.Eo..RVe…..
0000000d40 96 e6 76 3f cc f6 44 9f 7b da 54 7f fd 08 21 b3 ..v?..D.{.T…!.
0000000d50 84 d8 54 46 3e 47 b0 df f7 3e 39 02 f1 58 8c 35 ..TF>G…>9..X.5
0000000d60 a0 42 1f 89 55 ee 29 63 9e 73 6d b5 21 49 09 3c .B..U.)c.sm.!I……+
0000000da0 6a 43 61 46 bf ab 8b 1f 96 e5 e0 f9 90 62 9e 40 jCaF………b.@
0000000db0 cf 17 84 93 8d 05 9c 84 99 ae 1f a8 87 15 37 33 …………..73
0000000dc0 17 8f 71 7b c7 57 e8 b8 dd 90 26 c8 99 69 94 bb ..q{.W….&..i..
0000000dd0 47 18 16 66 26 c7 cb f3 G..f&…
[3] Stripe ist ein Zahlungsdienstleister und erhält bereits Daten, bevor man überhaupt zahlen möchte. Hier ist allerdings noch keine ID sichtbar.
[4] Bonnet Server: Per API werden Details vom Server bei Amazon abgerufen. Richtig frech ist, dass dabei immer die Appsflyer-ID mitgesendet ist. So kann Bonnet seine eigenen Daten mit denen von Appsflyer zusammen auswerten und Zielgruppen generieren. Auch die Google Advertising-ID wird evtl. auf manchen Geräten ausgelesen, auf meinem offenbar nicht.
Fazit: Ich habe die App nur einmal gestartet und bereits umfangreiche Analyse- und Marketingeinbettungen gefunden. Einen Account habe ich dann gar nicht mehr angelegt. Wer die App hat, sollte sie sofort deinstallieren, die Aufzeichnung von Interessens- und Verhaltensdaten ist durch die Koppelung der Analysedaten an das reale Profil problematischer als bei den meisten anderen Lade-Apps.
Bosch ist nicht sonderlich bekannt als Ladeanbieter. Die App hat eine sehr große Abdeckung (500.000 Ladepunkte in Europa), aber keine festen Preise. In meinem Test schwankten sie von 47 Cent bis 97 Cent pro kwh! Man muss also immer vorher prüfen und mindestens eine weitere Karte dabei haben, wenn die Preise einer einzelnen Säule zu hoch sind. Beim Appstart muss man sich verpflichtend mit einer E-Mailadresse registrieren.
Hier die Verbindungen:
[1] Bosch Server: Per API werden Registrierung und Ladesäulenliste nachgeladen. Der Server ist bei Amazon AWS gehostet.
[2] Google Maps: Hier konnte ich wieder nicht alle Anfragen entschlüsseln. Google erhält aber den genauen Standort.
POST https://clients4.google.com/glm/mmap HTTP/1.1
Content-Type: application/binary
User-Agent: com.bosch.si.boschapp/755 (Linux; U; Android 11; de_DE; SM-G900F; Build/RQ3A.211001.001; Cronet/113.0.5672.24)
X-Device-Elapsed-Time: 348386228058324
X-Google-Maps-Mobile-API: com.bosch.si.boschapp,755,11.77.200,11.77.200,android:samsung-klte-SM_G900F
Content-Length: 725
Host: clients4.google.com
Connection: Keep-Alive
Accept-Encoding: gzip
Hex
0000000000 00 18 ff ff ff ff ff ff ff ff 00 05 64 65 2d 44 …………de-D
0000000010 45 00 1d 61 6e 64 72 6f 69 64 3a 73 61 6d 73 75 E..android:samsu
0000000020 6e 67 2d 6b 6c 74 65 2d 53 4d 5f 47 39 30 30 46 ng-klte-SM_G900F
0000000030 00 09 31 31 2e 37 37 2e 32 30 30 00 03 64 65 76 ..11.77.200..dev
0000000040 00 3e ff ff fe 09 1f 8b 08 00 00 00 00 00 00 00 .>…………..
0000000050 25 c6 31 8f 93 50 00 00 e0 7b 80 17 75 71 72 77 %.1..P…{..uqrw
0000000060 36 b9 86 f7 28 a5 0c 0e d2 52 e8 b5 50 78 14 28 6…(….R..Px.(
0000000070 5d 9a 57 b8 02 57 5a 5a 28 3d da e9 36 5d 74 e8 ].W..WZZ(=..6]t.
0000000080 60 f4 26 a7 26 2e 7a 71 31 71 f4 07 98 98 38 98 `.&.&.zq1q….8.
0000000090 9b 3a 1a 07 e3 e0 66 62 1c fc a6 ef 2e 03 59 81 .:….fb……Y.
00000000a0 7d 00 1e de f7 d3 59 65 9c e6 7e 54 c9 e3 ff 21 }…..Ye..~T…!
00000000b0 8b 05 a2 9a 72 1d 48 ef 00 0f e1 23 5c 8c 11 b2 ….r.H….#\…
00000000c0 83 d8 95 92 ae 3f 20 35 71 9d 17 51 d8 d0 79 9c …..? 5q..Q..y.
00000000d0 12 02 67 6a 1a 77 e6 2e 5a ba 7e cb 76 22 01 46 ..gj.w..Z.~.v“.F
00000000e0 4d 3f e4 cf 3b c3 b1 dc 1e 04 8e 67 6f b1 93 79 M?..;……go..y
00000000f0 52 1e b6 4f 05 3d af 4d ea 6b dc 9c c6 ae 27 b0 R..O.=.M.k….‘.
0000000100 88 28 4a 7b 34 c8 47 ae b6 86 88 93 34 75 d1 db .(J{4.G…..4u..
0000000110 58 d9 16 af 64 18 d5 74 a5 e6 26 62 1e 9e 11 f1 X…d..t..&b….
0000000120 34 6d 95 ba 43 96 b0 d0 e6 5c 9f 2c 0d ec 73 e7 4m..C….\.,..s.
0000000130 fd 28 5b 89 aa a5 67 3a 9e 8e 6c 32 32 39 6d 9e .([…g:..l229m.
0000000140 1a 60 07 8e 2d cf ea cb da 15 38 ba 06 cc 0d a0 .`..-…..8…..
0000000150 38 f6 3b 38 ba a4 c0 53 0a bc a7 3e 80 c7 2a 5b 8.;8…S…>..*[
0000000160 18 8a a2 af 3b 6e 91 5a 0e 0c 87 49 52 3a 26 1b ….;n.Z…IR:&.
0000000170 ab 2d b3 d5 90 43 b7 b6 8d 4d 79 59 4c ce b6 b8 .-…C…MyYL…
0000000180 b7 c9 1a 3d 51 51 6c c1 73 87 be 10 74 71 80 ab …=QQl.s…tq..
0000000190 7c 5a 8b bb 7a 50 8d f4 36 b1 92 04 c6 e6 c2 6f |Z..zP..6……o
00000001a0 b4 46 24 17 49 8e c2 ac 64 ab 09 8b 24 b1 ee 25 .F$.I…d…$..%
00000001b0 d5 6e c4 59 73 21 40 13 df 46 fd b2 cd 89 fa bc .n.Ys!@..F……
00000001c0 b8 e8 36 bd 13 af 81 90 37 91 ca de a4 33 4e 5a ..6…..7….3NZ
00000001d0 2a 6b 4c 71 44 9a 78 6d b8 63 a9 3c 99 39 dc 46 *kLqD.xm.c.K
0000000200 af 68 fa f6 81 be a1 ef fd d8 5b bb 6b eb c5 37 .h……..[.k..7
0000000210 eb ed ae ff 6a df 3f d0 e0 17 4d ef 98 5b 5c 05 ….j.?…M..[\.
0000000220 56 d8 97 cc cf af cf ff 80 d7 cc 6f fa c0 3c f9 V……….o..<.
0000000230 f2 79 7f fc 0f 70 b4 2d 24 01 02 00 00 00 27 00 .y…p.-$…..‘.
0000000240 00 00 92 22 6f 68 74 74 70 73 3a 2f 2f 77 77 77 …“ohttps://www
0000000250 2e 67 6f 6f 67 6c 65 2e 63 6f 6d 2f 6d 61 70 73 .google.com/maps
0000000260 2f 76 74 2f 69 63 6f 6e 2f 6e 61 6d 65 3d 61 73 /vt/icon/name=as
0000000270 73 65 74 73 2f 69 63 6f 6e 73 2f 70 6f 69 2f 71 sets/icons/poi/q
0000000280 75 61 6e 74 75 6d 2f 70 69 6e 6c 65 74 2f 63 69 uantum/pinlet/ci
0000000290 76 69 63 5f 62 6c 64 67 5f 70 69 6e 6c 65 74 2d vic_bldg_pinlet-
00000002a0 32 2d 6d 65 64 69 75 6d 2e 70 6e 67 26 73 63 61 2-medium.png&sca
00000002b0 6c 65 3d 34 4a 1f 64 75 68 23 67 65 74 54 65 78 le=4J.duh#getTex
00000002c0 74 75 72 65 46 6f 72 4c 61 62 65 6c 45 6c 65 6d tureForLabelElem
00000002d0 65 6e 74 28 29 ent()
Fazit: Eine datenschutzrechtlich sehr ordentliche App. Es gibt praktisch nur zwei absolut notwendige Verbindungen: Zum Bosch-Server für die Ladesäulen und zu Google Maps. Leider konnte ich dort nicht alle Daten einsehen und nachvollziehen, so dass man diese App wohl nur für Notfälle braucht: Die Preise an den Ladesäulen sind einfach zu unterschiedlich und nicht selten höher als anderswo. Da finde ich eine Festpreis-Ladeapp nützlicher. Wichtig für Fans von alternativen Androids: Die App funktioniert leider ohne Google Play Services gar nicht.
Chargemap ist ein französischer Multinetzwerk-Anbieter, mit dem man an 350.000 Ladepunkten in Europa laden kann. Die Preise sind von Ladesäule zu Ladesäule unterschiedlich und kommen mir eher teuer vor.
Die App meldet sich bereits kurz nach dem Start bei zahlreichen Dienstleistern:
[5] Adapty, ein Dienst für A/B-Tests und Abolösungen, erhält unter anderem eindeutige Geräte-IDs und sendet Verhaltensdaten an Amazon AWS (hier bereits base-64-decodiert).
[7] Der Chargemap-Server wird kontaktiert, um die Kartenfunktionalität bereitzustellen.
GET https://righty.chargemap.com/users/default/configuration HTTP/2.0
accept: application/json,application/json
authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2OTEyNDg0ODAsImV4cCI6MTY5MTI1NTY4MCwiY2xpZW50X2lkIjo5N30.OvRYB95ehJ7GN-xx67-8BJhBUMayFPwbwp_HUVWixZL8VD1OaeAG-gDTwbf7mDsV5PfKeFhB1Uq_aYOfem2ahwhNwvieJ5RGv426PKctAIPjhlfpKCKTzZDEzEt_n56PsnMDfNpSWNbAPD6mmd8ovQhudH1kfaXyvKhGkMWF9hPW2wFNcz_OIFsBDu_4Ea3eVOLxvLTiVyQpkeRAgq-OsEmuQLQsy8xb_5InOcbOxZEKW5BvdzXqIFTVREnD2aUKwUPwCYV4VwZUSZslsNiahqrcE8k4cvh1tEV9YNJb3hSy-pHvnPi1dxhqCMdQITLGQOwuPpmuV4T5XbAnVAKWKP00eZNcgW6YVH2OT_bdk2cFlAbCnutSTCRsJuWalsxkDGR0MD1B-cEnSxy6z6sTdCmiXi_SCyBFjyBVr0Yd2OwksKt5RbZUzvdJJ0POYN1SfdtMmOAmzAKIVJd-z5ko7GKey0rGzhPjXQXpYJ_gUttiXYZnl7izE4oLxfbGSsOk025MCDIH9WFWBt_P3e6cQzC7jfupE-ysc86AfvsomuCCVleOtQ4h9BI0nd6I_A5mVbQmseBU8ttKw2Wow7Uib0KOrbRm2bCWaJ0sAh27y37KLzj_htaruNUPHtCjQBi_ec8S686_BB9fxbHJAeAvfC0sgqqu80NNGsFA981q-tc
accept-charset: UTF-8
user-agent: Ktor client
content-type: */*
accept-encoding: gzip
No content
Fazit: Die App begeht mit der Einbindung von zahlreichen verhaltensbasierten, geräteübergreifenden Trackern massive Datenschutzverstöße. Ein Fall für die Behörden und Gerichte. Bitte unbedingt deinstallieren.
Chargenow ist ein mittelgroßer Ladeanbieter aus dem Umfeld deutscher Autohersteller. Die Preise sind abhängig von der verwendeten Ladesäule, können aber vorab in der Karte abgerufen werden.
Die Verbindungen:
[1] Mixpanel, ein App-Analyse-Dienst (der Inhalt war base64-decodiert).
Fazit: Einer der wenigen Anbieter, die ohne Googles Firebase arbeiten. Der Kartendienst von Google Maps erhält verschlüsselte Daten, die ich nicht bewerten kann. Der Analysedienst von Mixpanel und das Hosting auch der Nutzerkonten bei Microsoft sind sicher kaum geeignet für einen datenschutzkonformen Betrieb.
DKV Mobility stammt auch aus dem Bereich der Tankkarten und Flottenkunden, man kann also nicht als Privatkunde eine DKV-Karte erhalten. Entsprechend habe ich die App auch nicht mit Login getestet. Bis dorthin machte sie aber einen sehr guten Eindruck. So wurde man gesetzeskonform gefragt, ob man in eine Analyse einwilligen will und die Standardeinstellung war ohne Analyse.
Die Verbindungen:
[1] DKV-Server: Die API für die Ladepunkte wird von DKV bei Akamai gehostet. Die App meldet sich auch ohne Login mit einer von der App generierten Geräte-ID.
[2] Here wird als Kartendienst verwendet. Beim Appstart sendet die App eine Installations-ID und erhält dann eine ID, die für den Kartendienst verwendet wird. Here kann also jede Geo-Anfrage einer ID zuordnen, weshalb es nicht ganz unproblematisch ist, der App einen Standortzugriff zu erlauben. Im Vergleich mit US-amerikanischen Kartendiensten ist es aber von Vorteil, dass Here vorwiegend im Besitz der deutschen Fahrzeughersteller Audi, BMW und Mercedes-Benz Group ist und damit keine Ortungsdaten an Geheimdienste abfließen können.
[3] Microsoft Cloud: Einige Grafiken sind bei Microsoft gehostet, hier werden aber keinerlei Gerätedaten oder IDs übertragen.
GET https://weudkvproappfwstorage.blob.core.windows.net/configstorage/pins/service_laden_indicator_none_state_occupied_dark_mode_false.svg HTTP/1.1
Host: weudkvproappfwstorage.blob.core.windows.net
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/4.9.3
No content
Fazit: Eine der wenigen gesetzeskonformen Apps im Test, soweit ich sie ohne Login testen konnte. Mit dem deutschen Kartenanbieter Here und dem Fehlen von Analysesoftware oder Google Firebase ist die App aus Datenschutzsicht besonders empfehlenswert.
Entega ist ein Energieanbieter aus Darmstadt und mit der Ladekarte und App bekommt man vor allem an dessen Säulen einen festen Preis. Die App, die man auf der Seite von Entega angeboten bekommt, ist aber gar nicht von Entega, sondern von Last Mile Solutions, einem Ladetechnik- und Software-Anbieter aus den Niederlanden.
Die Verbindungen:
[1] Google Firebase wird über die Installation informiert.
[2] Last Mile Solutions Server Hier werden unter anderem die Ladesäulen für die Karte per API angefragt. Der Server registriert die App hier gleich mit einer ID, die vermutlich für die Installation stabil ist. Nicht ideal, aber da man sich vermutlich irgendwann per Login identifizieren muss, kein großes Problem.
[2] Piwik: Diese Analysesoftware analysiert profilbezogen die Interaktion mit der App. Das ist mit der personenbeziehbaren _id eigentlich einwilligungspflichtig. Piwik kann auch selbst installiert werden, hier läuft es aber als Service von Piwik direkt. Das involviert einen weiteren Drittanbieter, was immer schlecht ist. Wer darüber hinwegsehen kann, dass ein Webentwickler am anderen Ende der Leitung die angeklickten Pfade durch die App betrachtet, ist das kein Riesenproblem. Das Analysetool sammelt keine Geo-Parameter aus der Karten- und Ladenutzung. Die Parameter kann man bei Piwik nachschlagen. Die Analyse geht damit aber über eine rein technische Überwachung der Appstabilität und Sicherheit hinaus.
[3] Google Maps Browser: Bei der App handelt es sich offenbar um eine Web-App: Der Kartendienst ist in der Browservariante eingebunden. Das hat Vorteile für den Datenschutz und für Smartphones ohne Google Play Services. Aber die Karten waren sehr langsam auf meinem Gerät.
GET https://maps.google.com/maps/vt/pb=!1m4!1m3!1i14!2i8395!3i5416!2m3!1e0!2sm!3i658398911!3m12!2sde-DE!5e18!12m4!1e68!2m2!1sset!2sRoadmap!12m4!1e26!2m2!1sstyles!2zcy50OjJ8cy5lOmd8cC52Om9mZixzLnQ6NnxzLmU6Z3xwLmM6I2ZmYmZkM2Y4fHo6MnxwLmM6I2ZmYjZjY2Y3fHo6NHxwLmM6I2ZmYjFjOGY2fHo6NnxwLmM6I2ZmYWRjNWY1fHo6OHxwLmM6I2ZmYTljMmY0fHo6MTB8cC5jOiNmZmE1YmZmM3x6OjEyfHAuYzojZmZhMWJjZjIscy50OjJ8cy5lOmwuaXxwLnY6b2ZmfHo6MTN8cC52Om9mZnx6OjE1fHAudjpvZmYscy50OjR8cy5lOmwuaXxwLnY6b2ZmLHMudDozfHMuZTpsLnQuZnxwLmM6I2ZmNmU2ZjcyfHo6MTN8cC5jOiNmZjczNzQ3OHx6OjE1fHAuYzojZmY2ZTZmNzJ8ejoxNnxwLmM6I2ZmNjk2YTZkfHo6MTh8cC5jOiNmZjVmNjA2MyxzLnQ6MzN8cC52Om9mZixzLnQ6Mzd8cC52Om9mZixzLnQ6NDB8cy5lOmd8cC52Om9uLHMudDozNXxzLmU6Z3xwLnY6b2ZmLHMudDozNnxzLmU6Z3xwLnY6b2ZmLHMudDozM3xzLmU6Z3xwLnY6b2ZmLHMudDo2NXxzLmU6Z3xwLnY6b2ZmLHMudDozNHxzLmU6Z3xwLnY6b2ZmLHMudDo4MnxzLmU6Z3xwLnY6b24scy50OjM5fHMuZTpnfHAudjpvbixzLnQ6NDB8cy5lOmwuaXxwLnY6b2ZmLHMudDozNXxzLmU6bC5pfHAudjpvbnx6OjEwfHAudjpvZmZ8ejoxM3xwLnY6b2ZmfHo6MTV8cC52Om9ufHo6MTZ8cC52Om9mZixzLnQ6MzZ8cy5lOmwuaXxwLnY6b2ZmLHMudDozM3xzLmU6bC5pfHAudjpvZmZ8ejoxN3xwLnY6b2ZmfHo6MTh8cC52Om9mZixzLnQ6NjV8cy5lOmwudHxwLnY6b2ZmLHMudDozNHxzLmU6bC5pfHAudjpvZmZ8ejoxNnxwLnY6b24scy50OjM3fHMuZTpsLml8cC52Om9mZixzLnQ6Mzl8cy5lOmwuaXxwLnY6b258ejoxNHxwLnY6b2ZmLHMudDozOHxzLmU6bC5pfHAudjpvZmYscy50OjIwfHMuZTpsLnQuZnx6OjExfHAuYzojZmY1NjYwNzF8ejoxM3xwLmM6I2ZmNjM2ZTgzfHo6MTR8cC5jOiNmZjdjODc5YyxzLnQ6MTMxM3xzLmU6Z3xwLnY6b258ejoxMnxwLnY6b2ZmLHMudDoxMjk3fHMuZTpnfHAuYzojZmZmMGYyZjQscy50OjEyOTl8cy5lOmd8cC5jOiNmZmY5ZjllY3xwLnY6b258ejoxNHxwLmM6I2ZmZjZmNmVlfHo6MTV8cC5jOiNmZmY2ZjZlZXx6OjE2fHAuYzojZmZmNWY1ZjAscy50OjEwNTh8cy5lOmwuaXxwLnY6b2Zm!4e1!6m11!1e12!2i2!19m1!1e0!20m1!1e0!30m1!1f2!39b1!44e1!50e0!23i1376099!23i1379903!26m2!1e5!1e3!28i658 HTTP/2.0
user-agent: Mozilla/5.0 (Linux; Android 11; SM-G900F Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 Mobile Safari/537.36
accept: */*
origin: https://evc-net.com
x-requested-with: com.easyChargingQuality.app
sec-fetch-site: cross-site
sec-fetch-mode: cors
sec-fetch-dest: empty
accept-encoding: gzip, deflate
accept-language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
No content
Fazit: Ich konnte die App nicht komplett testen: Sie lief in meinem Analyse-Setup zu instabil und ich konnte evtl. auch nicht alle Anfragen abfangen. Das ging aber offenbar auch anderen Nutzenden so, wenn ich mir die Kommentare im Play Store anschaue. Beim Datenschutz ist die App nicht ideal: Die Installation wird an Google gemeldet und der Dienst kann bei möglichen Abstürzen Inhalte aus der App an Google senden. Ein Analysedienst bei dem technischen Anbieter der App erhält Daten – auch das ist nicht optimal. Ich sehe bei den etwas hohen Preisen und der Instabilität trotzdem wenig Chancen, dass man diese mäßigen Datenschutzmängel hinnehmen möchte.
Diese App gehörte früher mal zu Innogy, wurde dann aber von der Compleo-Gruppe übernommen, die wegen einer Insolvenz Anfang des Jahres in das Lüdenscheider Stecker-Imperium Kostal überging. Insofern ist das hier vielleicht auch nur eine Zwischenaufnahme. Die App bietet 185.000 Ladestationen zu mittlerweile gar nicht so guten Preisen.
Nach dem Start finden sich folgende Verbindungen:
[1] Google Firebase wird für die Dienste Firebase Installations und Crashyltics mit eindeutigen Installations-IDs kontaktiert.
[2] Pay1.de wird als Zahlungsdienstleister eingebunden, erhält zu diesem Zeitpunkt aber noch keine Daten.
GET https://secure.pay1.de/client-api/js/v1/payone_hosted_min.js HTTP/1.1
Host: secure.pay1.de
Connection: keep-alive
User-Agent: Mozilla/5.0 (Linux; Android 11; SM-G900F Build/RQ3A.211001.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 Mobile Safari/537.36
Accept: */*
X-Requested-With: com.innogy.echarge
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: script
Accept-Encoding: gzip, deflate
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
No content
[3] Google Firebaseio.com: Diese Datenbanksystem wird offenbar als schnelle Lösung für einen Teil der App-Funktionalität genutzt. Welche Daten dort gelagert werden, wenn man sich per Login identifiziert hat, konnte ich nicht prüfen. Es gab von der App immer wieder zahlreiche Kontakte zu google.com, die ich nicht einsehen konnte, aber vielleicht wird Rechnungsadresse oder Fahrzeug auch nur lokal im Smartphone gespeichert.
[4] Google Maps ist als Kartendienst eingebunden. Hier konnte ich mit ein bisschen Glück eine Abfrage einfangen, die aber zusätzlich verschlüsselte Elemente enthielt.
[5] eCharge Server: Über eine API werden Details der Karte wie z.B. die Ladestationen und ihre Verfügbarkeit abgefragt. Hier finden sich keine auffälligen Daten.
Fazit: Mit vielen Google-Diensten ist diese App definitiv nichts für Datenschutzfreunde. Sieht man von den ersten App-Start ab, die an Google Firebase gemeldet werden, findet sich kein Analysedienst in der App.
Dieser spanische Anbieter dürfte für alle interessant sein, die mit ihrem Elektroauto nach Spanien fahren wollen. Die Abdeckung vor Ort mit der App und dem RFID-Chip ist doch ein gutes Stück besser als mit den deutschen Anbietern. Der Hinweis „enthält Werbung“ im Playstore verheißt aber bereits nichts Gutes.
Die Verbindungen:
[1] Google Firebase: Gleich vier Verbindungen gehen beim Start an die verschiedenen Dienste von Googles Analysetool raus.
[2] Stripe, ein Zahlungsanbieter, erhält bereits Details zur App und zur Installation, obwohl noch gar nichts bezahlt werden muss. Das darf so nicht sein.
[4] Braze ist eine „Customer Engagement Platform. Hier werden alle Klicks in der App analysiert, um damit bestimmte Marketingaktionen auch auf anderen Kanälen auszulösen.
[5] Adjust ist ein weiterer Analysedienst, der stark auf Marketing ausgerichtet ist. Er kann offenbar auch die AAID (Android Werbe-ID) erhalten, was die nutzende Person dann auch auf anderen Plattformen ansprechbar macht.
[7] Google Maps liefert die Kartenfunktionalität. Nicht alle Requests waren entschlüsselbar. Typischerweise werden hier einfach Map-Tiles für eine Koordinate ausgeliefert. Es ist schwierige, die Binärdaten zu interpretieren, möglicherweise sind aber keine personenbeziehbaren IDs enthalten.
[8] Electromaps Server: Von hier werden dann die Ladepunkte für die Karte geladen und auch einige User-Account-Aktionen durchgeführt. Der Server ist bei Amazon gehostet.
Fazit: Die App enthält sehr viele Drittanbieter. Mixpanel und Adjust sind keine reinen Analysedienste mehr, die man für die interne Entwicklung nutzt, sondern überschreiten die Grenze zum Marketing. Man muss also damit rechnen, dass man in der App oder auf anderen Plattformen beworben wird, je nachdem wie man die App benutzt. So oder so bräuchten sie aber eine Einwilligung. Die App ist damit ein Fall für Behörden oder Gerichte. Ich empfehle, sie nicht zu nutzen bzw. sie zu deinstallieren.
Diese Ladeapp ist von Volkswagen, kann aber auch mit anderen Automarken genutzt werden. Neben einem recht hohen kw-Preis gibt es auch Abotarife, die dann einen geringeren kw-Preis haben, insbesondere wenn man nur die günstigen Partner-Netzwerken ansteuert.
Direkt nach dem Start stellt die App folgende Verbindungen her:
[2] LaunchDarkly ist ein Analysedienst. Bei der mitgesendeten ID context/key handelt es sich relativ sicher um eine Installations-ID, so dass alle Aktionen in der App personenbeziehbar aufgezeichnet und verarbeitet werden. Der Key war jedenfalls innerhalb mehrere App-Starts der selbe, nach einer Neuinstallation aber ein anderer. Dafür wäre eine Einwilligung notwendig.
Erst nach diesen Übertragungen erscheint das Einwilligungsfenster, bei dem ich ablehne.
[3] Elli Server: Per API werden Informationen über Ladepunkte von api.elli.eco abgerufen. Hier kann ich keine personenbeziehbaren IDs erkennen. Als Hoster wird Google verwendet.
[4] Google Maps wird als Kartendienst verwendet und erhält entsprechend alle Positionsdaten und -abfragen. Soweit ich das nachvollziehen kann, sind sowohl key und Android-Cert and die App gebunden und keine IDs, die das Gerät, die Installation oder die Nutzperson identifizieren.
Fazit: Wieder so eine App, die auf der Oberfläche brav nach Einwilligungen fragt, aber bereits vorher Analysedaten mit IDs übertragen hat. Die Diagnosedaten sehen auf den ersten Blick sehr technisch aus, aber die Software lässt sich mit der pseudonymen ID auch für langfristige A/B-Tests einsetzen, so dass die Grenze zur Verhaltensanalyse überschritten ist. Ich würde die App nicht nutzen. Wer wirklich unbedingt mit Elli laden möchte, kann aber die App einmalig installieren, ein Konto (idealerweise mit einer nur dafür erstellten E-Mail-Adresse) anlegen, eine Zahlungsmethode zum Beispiel per Lastschrift eintragen und die Ladekarte aus Plastik bestellen. Ob das auch ohne Google Play Services mit dem Aurora Store funktioniert, kann ich nicht sagen.
Elvah verfolgt einen etwas anderen Ansatz als die meisten Anbieter: Man bucht dort ein festes Kontingent und muss sich dann nicht mehr um Preise kümmern. Ob das wirklich günstiger ist, hängt am Ende einfach vom eigenen Fahrtenmuster ab. Erst nach meinem Test habe ich bemerkt, dass Elvah insolvent ist und an E.ON Drive übergeben wird, so dass man ohnehin erstmal über die Zukunftspläne schlau machen sollte, bevor man sich dort anmeldet.
In der App von Elvah fand ich folgende Verbindungen:
[2] Rudderstack: Die App wird mit einem Baukasten-System des US-amerikanischen Softwareanbieters Rudderstack betrieben. Der operiert zwar als Auftragsverarbeiter, aber behält sich alle Rechte der auf der Plattform anfallenden Nutzungsdaten (nicht aber die in der App verwendeten Daten) vor. Diese sollen dann anonymisiert oder agreggiert sein. Parameter wie „anonymousId“ wirken auf den ersten Blick wie altbekannte Datenschutz-Trickserei aus der Startup-Szene. Diese Verbindungen waren leider auch Tage nach er letzten Nutzung im Hintergrund aktiv.
[5] Mapbox. Als Kartendienst kommt das relativ datenschutzfreundliche Mapbox SDK zum Einsatz (dabei wird allerdings auch eine User-ID sku mitgesendet, die offenbar für die Abrechnung bzw. Traffic-Kappung von Mapbox benötigt wird). Mapbox vermietet in dieser Form gesammelte Bewegungsdaten auch als anonymisierte Bewegungsdaten weiter. Das sieht sauber aus, aber auch hier gibt es keine Sicherheit, dass US-Behörden über solche SDKs auch an präzisere Daten kommen.
[8] Der Elvah Server: Hinter der Domain echarge.services steckt schließlich die Elvah GmBH selbst (vermutlich ist dieser Server bei Amazon gehostet).
Fazit: Die App zeigt die üblichen Begleiterscheinungen von kleinen agilen Start-Ups: Diese können nicht alles selbst entwickeln und hosten. Sie sind daher auf die wenigen Dienstleister angewiesen, die ihnen genau die benötigten Komponenten betriebsfertig und zum guten Preis liefern. Der Datenschutz fällt dann hinten runter. Vor allem die umfangreichen Verbindungen zu Google Firebase Analytics sind nicht nachvollziehbar. Die Anzahl an Drittanbietern ist zudem recht hoch.
EnBW ODR ist eine Tocherfirma von EnBW, aber betreibt eine eigene Ladeapp mit Ladekarte und eigenen Tarifen. Im Unterschied zu EnBW lässt sich hier die Ladekarte auch unabhängig von der App bestellen. Die Preise sind etwas anders strukturiert und für Langsamlader etwas günstiger, aber sonst nicht so viel anders.
Die Verbindungen:
[1] Google Firebase meldet den ersten App-Start und erhält Konfigurationen von Google.
[2] allaboutapps ist die österreichische Firma, die die App offenbar entwickelt hat. Mit dabei ist ein Authentifizierungs-Token, das auch in der Kommunikation mit dem API-Server von ODR genutzt wird, vermutlich damit die API nicht unauthorisiert genutzt wird. Jedenfalls handelt es sich wohl nicht um Installations-IDs innerhalb des von mir hier dekodierten Bearer-Tokens, diese bleiben auch bei Neuinstallation gleich.
[3] ODR Server: Per API werden Daten wir beispielsweise die Ladesäulen abgefragt. Dabei erfährt ODR nicht den Standort, sondern nur den jeweiligen Kartenmittelpunkt, der ja auch manuell verstellt sein kann.
POST https://odr.v2.api.htb.services/graphql/ HTTP/2.0
accept: application/json
x-apollo-operation-id: 08de39e749c320f039ea24eb1c0e5e0cf69fcf44e3c4e77773ea0b86c4f925dc
x-apollo-operation-name: ChargepointsAndSites
x-apollo-cache-key: c130dc588861a5350bcfa00557db646a
x-apollo-cache-fetch-strategy: NETWORK_ONLY
x-apollo-expire-timeout: 0
x-apollo-expire-after-read: false
x-apollo-prefetch: false
x-apollo-cache-do-not-store: false
user-agent: com.beenergised.chargemobile.odr/321831 (Android; 11; 30) Version/V3.3.16
accept-language: de-DE
authorization: Bearer eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6IkFOWU0iLCJpYXQiOjE2OTE3ODUwNDcsImV4cCI6MTY5MTc4ODY0NywiYXVkIjpbIjdhNzkwZjAwLTg4NmUtNDdmYS1iOTg0LWJkNWMzM2Y5MDM1OCJdLCJpc3MiOiJvZHIudjIuYXBpLmh0Yi5zZXJ2aWNlcyIsInN1YiI6IjIzZDg1OTRkLTYyOGItNDZiOC1iMGE0LWJjNDZlNjMyYzdjOCJ9.ZLnM4iqGTi0_v2qlWbG7X4aZqhvEFuWVb129HA-SfWOJ5BAvXQZweppGX8ZPTlPFFcKFLf1bA1Sh76N5cXzxVBpHK2x53vTkYQ7TENaYEsYjAz0kQXihU9LmWLTUSg1g4MIFkCh_tbY5mkDZ3raJQTYpMhztsjOeqqRIX71iUkg
content-type: application/json; charset=utf-8
content-length: 1220
accept-encoding: gzip
JSON
{
„operationName“: „ChargepointsAndSites“,
„query“: „query ChargepointsAndSites($pagination: PaginationFilter, $location: LocationFilter, $connectors:[ConnectorFilter]) { cpsPagedLocationBased(pagination: $pagination, location: $location, filter: $connectors, ignoreMarketingConfiguration: false) { __typename pagination { __typename isLastPage offset limit totalCount } data { __typename …BaseChargingPoint } } sitesPagedLocationBased(location: $location, filter: $connectors, ignoreMarketingConfiguration: false) { __typename data { __typename …BaseSite cps { __typename …BaseChargingPoint } } } } fragment BaseChargingPoint on Cp { __typename id label publicName latitude longitude address zip city status { __typename simple } connectors { __typename …BaseConnector } siteId isFavoured information { __typename marketingDisplay } } fragment BaseConnector on Connector { __typename id label evseId status { __typename simple } connectorType { __typename id label chargePointType maxPowerRating plugType } sortOrder } fragment BaseSite on Site { __typename id label latitude longitude }“,
„variables“: {
„connectors“: [],
„location“: {
„latitude“: 48.962724,
„longitude“: 10.130162,
„radius“: 28.0
},
„pagination“: {
„offset“: 0
}
}
}
[4] Google Maps liefert die Karten, auch hier sind wieder keine personenbeziehbaren IDs zur erkennen, aber ich konnte nicht den kompletten Verkehr abfrangen und entschlüsseln. Klickt man eine Ladesäule an, gibt Google eine Routingoption, so dass Google die angeklickten Ladesäulen erfährt. Das ist auch nicht optimal, aber auch kein größeres Problem.
Fazit: Die App ist einigermaßen datenschutzfreundlich, wenn man mal von Google Firebase absieht, das zum ersten Start eine Meldung an Google macht. Richtig gut ist aber, dass man Firebase im Menu auch deaktivieren kann. Und wenn man die App das allererste Mal ohne Internet startet und Firebase dann deaktiviert, dann wird die Installation gar nicht mehr an Google gemeldet. Unter diesen Bedingungen kann ich die App auch für Datenschutzfreunde empfehlen, auch wenn Google Maps natürlich immer nicht so gerne gesehen ist. Wichtig für Fans von alternativen Androids: Die App stürzte bei mir ohne Google Play Services ab. Sie kann so oder so keine Ladesäulen-Karte anzeigen, da das Google Maps SDK die Play Services benötigt. Da die RFID-Karte ohne App bestellbar ist, bleibt aber die Nutzung des Festpreis-Anbieters mit Plastikkarte und EV-Map.
Plugshare war früher, als es noch weniger Ladesäulen gab, einer Art Kleinanzeigenportal für Ladesäulen, bei dem man seine private Ladesäule mit anderen teilen konnte. Heute ist es – um es vorwegzunehmen, eine üble Datenabzocke. Diese App bitte sofort deinstallieren.
Hier die Verbindungen:[1] Google Firebase erfährt die Installations-ID. Außerdem wird Firebase Messaging aktiviert und Firebase Analytics sendet Verhaltensdaten.
[2] Amazon Ads wird in die App eingebunden und erhält zahlreiche Gerätedetails, darunter offenbar auch die AAID, Androids Werbe-ID, wenn diese nicht gesperrt ist wie auf meinem Gerät. Der Zweck ist offensichtlich eine Versteigerung von Werbeanzeigen in der App mit einem Targeting auf den User. In einem solchen Real-Time-Bidding werden auch außerhalb der App persönliche Verhaltensdaten zwischen den teilnehmenden Unternehmen der Versteigerung ausgetauscht und ausgewertet. Die hier ausgetauschten IDs machen das möglich.
[2] Stripe wird als Zahlungsdienstleister kontaktiert, obwohl es hier noch gar nicht zu bezahlen gibt. Die gesendeten Daten sind hier aber nicht problematisch.
[3] Google Admob wird eingebunden. Ich vermute, dass hier einzelne Werbe-Slots für die Versteigerung ausgeschrieben oder vorbereitet werden. Aus der Antwort geht hervor, dass zahlreiche Partner-Unternehmen über Google Mediation per Adapter in die App eingebunden wurden: AdColony, AppLovin, Facebook, Maio, Mintegral, Pangle, Snap, Tapjoy und Vungle. Man muss damit rechnen, dass diese Unternehmen im Rahmen der Werbeversteigerung außerhalb der App Verhaltensdaten und IDs von den Nutzenden der App erhalten. Das ist ohne Einwilligung eine Datenschutzkatastrophe.
[4] Pubmatic ist ebenfalls eine Werbeplattform. Hier werden nun sogar die exakten Geokoordinaten an den Werbedienstleister gesendet. Pubmatic tritt datenschutzrechtlich nicht als Dienstleister auf, sondern als eigenständiger Dritter. Das heißt, alle Daten, die hier an Pubmatic gesendet werden, gehören von da an diesem Drittanbieter und der kann sie auch für eigene Zwecke nutzen und zu Geld machen. Das ist ein Datenschutz-GAU und der Tiefpunkt im ganzen Test.
[6] Google Maps liefert die Kartenfunktionalität. Nicht alle Requests waren entschlüsselbar. Typischerweise werden hier einfach Map-Tiles für eine Koordinate ausgeliefert. Es ist schwierige, die Binärdaten zu interpretieren, möglicherweise sind aber keine personenbeziehbaren IDs enthalten.
Fazit: Die App ignoriert das europäische Datenschutzrecht wie kein anderer Anbieter im Test und sendet Verhaltensdaten inklusive Standortdaten an zahlreiche Drittanbieter, die daraus Profile erstellen und für eigene Zwecke nutzen können. Ich empfehle dringend, die App zu deinstallieren! Auch die Webkarte nutzt zahlreiche Einbettungen für die Verhaltensanalyse und Werbeversteigerung ohne Einwilligung. Ein klarer Fall für die Datenschutzbehörde oder ein anderes Rechtsverfahren. Wer die App installiert hatte, dem wurde ein ziemlicher Schaden an der Privatsphäre verursacht.
Diese App bietet weltweit über 200.000 Ladepunkte an und gehört leider auch nicht mehr zu den günstigsten. Hinzu kommt, dass die Karte nur in Deutschland feste Preise anbietet, so dass man im Ausland eigentlich immer in der App nachprüfen muss, welche Preise an einer bestimmten Ladesäule verlangt werden.
Direkt nach dem Start führt die App folgende Verbindungen aus:
[1] Google Firebase mit den Diensten Crashlytics und Firebaseinstallations
[2] Mixpanel, ein App-Analyse-Dienst. Die gesendeten Daten habe ich hier bereits Base-64-decodiert. Wenig verwunderlich, dass hier einwilligungspflichtige Geräte-IDs dabei sind. Noch unangenehmer fällt auf, dass auch Verhaltensdaten wie Verweildauer oder das eingetragene Fahrzeug abgegriffen werden können. Da Mixpanel auch Schnittstellen zu Marketingstools, sogenannten Customer data platforms bietet, werde ich das als Werbetracking zählen, auch wenn es hier vermutlich nur um internes Marketing geht und nicht um die Weitergabe von IDs für die Generierung von Zielgruppen anderer Werbetreibender.
[5] Google Maps ist als Kartendienst eingebunden, die Verbindungen konnte ich nicht einsehen.
Fazit: Mit den Analysediensten von Google Firebase, aber insbesondere von Mixpanel verletzt die App die deutschen Datenschutzgesetze, weil hier ohne Einwilligung eindeutige IDs und Verhaltensdaten gesendet werden.
Die App des italienischen Energieversorgers Enel gilt als Geheimtipp für Italienreisen, da andere Karten in dem Land meist keine sonderlich gute Abdeckung haben.
[2] Adobe Experience Cloud Identitätsdienst: Das hier ist ein außerordentlich problematischer Aufruf: Mit der verwendeten, geräteübergreifenden d_mid kann Enel die Person, die die App installiert hat, entweder auf anderen Kanälen für Enel bewerben oder anderen Unternehmen als Zielgruppe überlassen. Wenn man sich in die Enel-App einloggt, kann der Abgleich auch zusätzlich über Mobilnummer oder E-Mail-Adresse erfolgen, die die nutzende Person evtl. auch in anderen Apps und Websites verwendet hat. Zusätzlich scheint Enel auch weitere Nutzungsdetails an Adobe zu senden. Diese Verbindungen waren leider auch Tage nach er letzten Nutzung im Hintergrund aktiv!
[3] Facebook, Google Ads, Adform und Zemanta: Beim Klick auf den Registrierungslink, den man per E-Mail erhalten hat, werden im Hintergrund zahlreiche Marketingunternehmen kontaktiert und erhalten Cookies und IDs. Man kann davon ausgehen, dass diese Cookies auch über Adobe wieder an die E-Mailadresse geknüpft werden können. Spätestens damit weiß die Werbebranche vermutlich, welche Person nun ein Elektroauto besitzt.
[4] Dynatrace: Dieses Unternehmen erhält regelmäßig kurze, eher technische Details über die Stabilität der App. Unklar, ob hier IDs enthalten sind. Diese Verbindungen waren leider auch Tage nach er letzten Nutzung im Hintergrund aktiv.
[5] Enel Server: Die restliche Funktionalität der App, darunter die Login-Verwaltung und die Suche nach Ladesäulen, aber auch die Fahrzeugverwaltung wird über eine API organisiert. Der Server wird vermutlich von dem US-Unternehmen Imperva/Incapsula betrieben.
GET https://emobility.enelx.com/api/vehicles/v1/catalog?make=ALFA+ROMEO&model=&version=&year=®ion=EU&batterySize=&chargingRate= HTTP/1.1
user-agent: dio
country: DE
accept: application/json,application/*+json
x-dynatrace:
accept-encoding: gzip
authorization: Bearer 4fa66174-2c9a-37ff-afe4-db7510d907fa
host: emobility.enelx.com
content-type: application/json; charset=utf-8
Query
make: ALFA ROMEO
model:
version:
year:
region: EU
batterySize:
chargingRate:
[6] Google Maps ist als Kartenanbieter integriert, die Verbindungen konnten aber nicht eingesehen werden.
Fazit: Die App nutzt überdurchschnittlich viele Analysedienste, die außerdem die Grenze zum Marketing und zur verhaltensbasierten Analyse überschreiten. Dabei werden beim Anmeldeprozess auch IDs mit anderen Drittanbietern ausgetauscht. Das kann auch dazu führen, dass IDs aus E-Mail-Adresse oder Mobilnummer bei Drittanbietern für Marketing verwendet werden. Das ist ein klarer Verstoß gegen die Datenschutzgesetze. Auf jeden Fall deinstallieren!
E.ON ist ein börsennotierter Energieriese aus Essen. Die Ladeapp bietet mit 230.000 Ladepunkten eine gute mittlere Größe, wobei man in Frankreich und Spanien gar nichts findet und die Preise sehr hoch sind, so dass ich mich gerade frage, warum ich das überhaupt testen soll. Aber gut, hier die Verbindungen:
[1] Google Firebase mit den Diensten Firebaseinstallations und Crashlytics und den üblichen IDs.
[2] Virta Server: Hier sieht man, dass die App eigentlich eine gebrandete Variante von Virta EV ist, die wir später auch noch testen. Firebase wird sogar gesondert über diesen eigenständigen App-Teil informiert. Der API-Server wird von Amazon gehostet. Was im dritten Request sichtbar ist: Die App sendet eine Device-ID, auch wenn man nicht eingeloggt ist. Auch das scheint mir nicht in Einklang mit den Datenschutzgesetzen zu sein.
[3] Google Maps liefert die Kartenfunktionalität. Nicht alle Requests waren entschlüsselbar. Typischerweise werden hier einfach Map-Tiles für eine Koordinate ausgeliefert. Es ist schwierige, die Binärdaten zu interpretieren, möglicherweise sind aber keine personenbeziehbaren IDs enthalten.
Fazit: Die App ist beim Datenschutz wie die meisten anderen nicht ganz auf Linie mit den Datenschutzgesetzen. Aber wenn man von Firebase Installations und Crashlytics absieht (die nur beim Start aktiv sind), findet sich kein Analysetracker. Bei den Preisen und der eingeschränkten Abdeckung kann man dem Anbieter aber ohnehin gut aus dem Weg gehen.
Diese App ist ein Sonderfall, da sie nicht für die Abrechnung von Ladevorgängen verwendet werden kann, sondern nur Ladestationen auf einer Karte anzeigt. Damit eignet sie sich aber wunderbar für alle Personen, die am liebsten mit einer Plastikkarte an den Ladesäulen zahlen wollen (was fast immer möglich ist). EV Map ist Open Source und sowohl im Google Play Store als auch im F-Droid-Store verfügbar. Die beiden Varianten unterscheiden sich primär durch den eingesetzten Kartendienst: Google Maps oder Mapbox.
Die Verbindungen:
[1] Goingelectric ist eine Community, die Ladesäulen in einer umfangreichen Datenbank sammelt und unabhängig von Netzwerken zur Verfügung stellt. Hier werden die Ladesäulen für eine bestimmte Region abgefragt, dabei sind keine personenbeziehbaren IDs zu erkennen. Wenn man die App mit der Quelle Openchargemap nutzt, ändert sich diese Verbindung natürlich.
[2] Google Maps (nur Play-Store-Variante): Nicht alle Requests waren entschlüsselbar. Typischerweise werden hier einfach Map-Tiles für eine Koordinate ausgeliefert. Es ist schwierige, die Binärdaten zu interpretieren, möglicherweise sind aber keine personenbeziehbaren IDs enthalten.
[2] Mapbox (nur F-Droid-Variante). Dieser Kartendienst ist relativ datenschutzfreundlich. Allerdings wird eine User-ID sku mitgesendet, die offenbar für die Abrechnung bzw. Traffic-Kappung von Mapbox benötigt wird). Dies habe ich bereits in einem Issue gemeldet, aber offenbar kann das nicht deaktiviert werden. Da Mapbox von EV Map keine genauen Koordinaten erhält, sondern nur die abgefragten Kartenkacheln und auch nur auf manuellen Befehl eine Ortung vornimmt, kann von dieser App kein exaktes Bewegungsprofil an Mapbox übertragen werden.
Darüber hinaus nutzt die App keinen eigenen Server und keine anderen Dienste oder Einbettungen ein.
Fazit: Auch wenn die Open-Source-App sehr datenschutzfreundlich und extrem datensparsam ist, kann man in beiden Varianten der App nicht ganz sicher ausschließen, dass von den Kartenanbietern pseudonyme Bewegungsdaten verarbeitet werden. Diese wären aber nur sehr grob, da diese Daten ja nur während der ausschließlich manuell ausgelösten Standort-Abfrage (das Zielkreuz rechts unten) übertragen werden. Während bei Google Maps keine IDs sichtbar sind, konnte ich dort nicht den kompletten Datenverkehr unverschlüsselt einsehen. Bei Mapbox waren alle Requests entschlüsselbar, aber dort war eine Installations-ID in den Anfragen sichtbar, die nach eigenen Angaben für die Abrechnung notwendig ist und verhindern soll, dass ein Gerät massenhaft Kartenkacheln von der API zieht.Wer beim Datenschutz auf der ganz sicheren Seite sein will, kann auch einfach bei der Play-Store-Variante die Ortung über die Zielkreuz-Schaltfläche an häufig genutzen Orten wie Wohnung oder Arbeitsstätte unterlassen. Bei Mapbox liegt der Vorteil neben der Transparent darin, dass der Dienst nie eine genaue Koordinate erhält, sondern lediglich die benötigten Vector-Map-Tiles, deren Nummern von Mapbox offenbar intern im Gerät aus dem Standort berechnet oder nachgeschlagen wurden. Damit kann man der Mapbox-Server einen realen Standort also nur auf vielleicht 50-100m erahnen. Sind die Kartenkacheln bereits im Cache, werden sie auch nicht erneut angefragt und Mapbox erfährt gar nichts von der Ladesäulensuche. Selbst die theoretisch mögliche Ermittlung einer realen Person anhand häufig genutzt Ladesäulen halte ich unter diesen Umständen für unmöglich. Die Problematik betrifft aber natürlich auch alle anderen Ladeapps, ich habe sie hier nur nochmals ausführlicher behandelt.
EWE ist einer der großen deutschen Energieversorger und hat seinen Sitz in Oldenburg. Europaweit kann man 400.000 Ladepunkte ansteuern, was genug ist um keine zweite Karte dabei haben zu müssen. Früher gab es mal eine Ladekarte ohne App, aber das gibt’s nicht mehr. Für die nun nutzlosen alten Plastikkarten hat EWE 500 Bäume gepflanzt (kein Witz). Die Preise sind im Mittelfeld, mit 0,59€ bei Langsamladern, die nicht von EWE sind, aber eher hoch. Günstiger als der Konkurrent EnBW ist die App aber dennoch.
Beim Start der App sieht man tatsächlich nur einen Aufruf. Nun muss man einwilligen, dass z.B. bei Google Maps Daten in unsichere Drittländer übertragen werden. In einem zweiten Schritt wird man vorbildlich aufgefordert, in Analyse durch z.B. Google Firebase einzuwilligen. Hier habe ich abgelehnt. Die App sendet dann sehr brav Daten nur zu diesen zwei Servern:
[1] EWE Server: Per API werden alle benötigten Daten mit dem EWE-Backend bei Amazon ausgetauscht, hier beispielsweise einige Ladesäulen zu einer Koordinate angefordert.
Fazit: EWE Go ist eine der wenigen Lade-Apps, die sich an die datenschutzrechtlichen Vorgaben hält und Analysetracking selbst beim Appstart nur nach vorheriger Zustimmung einsetzt. Bleibt noch die Verwendung von Google Maps als Kartenanbieter: Hier kann ich keine sichere Aussage machen, ob die Daten pseudonyme IDs enthalten und sich so aus den Daten ein Bewegungsprofil erstellen lässt. Wer sicher gehen will, erlaubt der App die Lokalisierung nur auf manuelle Nachfrage und nicht an häufig genutzten Orten wie Wohnung oder Arbeitsplatz. Oder man gibt gar keinen Standort frei und sucht sich den Ort zum Laden manuell. Wichtig für Fans von alternativen Androids: Die App funktioniert in ihren Grundfunktionen auch ohne Google Play Services – dann fehlt aber Google Maps mit der Ladesäulenkarte. Auch Ladevorgänge lassen sich dann nicht starten. Man kann sich aber damit bei EWE registrieren, eine RFID-Ladekarte bestellen und in der Profilverwaltung seine vergangenen Ladungen einsehen. Die Ladesäulen findet man auch ebensogut auf einer Onlinekarte, die man sich als Shortcut auf den Startbildschirm des Smartphones legen kann. Allerdings ohne Filter für AC/DC, so dass ich weiterhin zunächst auf EV Map suchen würde. In jedem Fall ist der Anbieter eine datenschutzfreundliche Alternative für die weit verbreitete EnBW-Ladekarte.
Freshmile ist ein Prepaid-Anbieter: Man lädt zum Beispiel über seine Kreditkarte Geld in die App oder die Freshmilekarte, die es auch ohne App gibt. Vor allem in Frankreich bietet Fresmile sehr günstige Preise, teilweise im Bereich von 0,20-0,30€ pro kwh. Das hängt aber vom Ladenetz ab und erfolgt teilweise mit einer komplizierten Mischberechnung aus kw und Minuten. Wer genau recherchiert, kann aber Superschnäppchen machen und sein Auto für unter 10€ vollladen.
Die Verbindungen:[1] Sentry ist ein technischer Analysedienst, der zum Beispiel die Leistung der App oder Fehlerquellen überwacht. Tatsächlich konnte ich nur diesen einen Request beobachten, so dass ich nicht von einem umfangreichen Profiling ausgehe. Bedauerlich ist, dass die Analyse neben der Sitzungs-ID sid auch die optionale User-ID did nutzt. Die App-Nutzung wird also pseudonym überwacht. Klassische Analysedaten wie Nutzungsdauer oder Öffnen und Schließen der App werden allerdings nicht überwacht.
POST https://o332186.ingest.sentry.io/api/5320683/envelope/ HTTP/1.1
User-Agent: sentry.java.android/5.0.1
X-Sentry-Auth: Sentry sentry_version=7,sentry_client=sentry.java.android/5.0.1,sentry_key=711afe7f4c9d48db93b0affbad01256d
Content-Encoding: gzip
Content-Type: application/x-sentry-envelope
Accept: application/json
Connection: close
Host: o332186.ingest.sentry.io
Accept-Encoding: gzip
Content-Length: 321
[decoded gzip] Raw
{„sdk“:{„name“:“sentry.java.android“,“version“:“5.0.1″,“packages“:[{„name“:“maven:io.sentry:sentry“,“version“:“5.0.1″},{„name“:“maven:io.sentry:sentry-android-core“,“version“:“5.0.1″},{„name“:“maven:io.sentry:sentry-android-ndk“,“version“:“5.0.1″}]}}
{„content_type“:“application/json“,“type“:“session“,“length“:249}
{„sid“:“51506e98-1103-4da4-9a69-f6fd6b746b03″,“did“:“64fdafc1-ce07-4757-af60-42a05a73f1dc“,“init“:true,“started“:“2023-08-07T16:34:53.205Z“,“status“:“ok“,“timestamp“:“2023-08-07T16:34:53.205Z“,“attrs“:{„release“:“com.freshmile.charge@4.14.0+40051″}}
[2] Freshmile Server: Per API werden Ladesäulen und andere Karten-Features vom Freshmile-Server abgerufen. Dieser wird von dem französischen Anbieter Outscale gehostet. Eine eindeutige User-ID sehe ich auf den ersten Blick nicht.
[3] Mapbox wird als datenschutzfreundlicher Kartenprovider verwendet. Auch hier wird kein Standort übertragen, sondern nur Kacheln angefordert. Allerdings ist die pseudonyme ID sku enthalten. Details dazu habe ich im Test bei EV Map beschrieben.
Fazit: Mit Ausnahme des sehr technischen Analyserequests beim Start der App gibt es hier kaum etwas zu bemängeln. Die App kommt ohne Google aus und sendet keinen genauen Standort an den datenschutzfreundlichen Kartendienst Mapbox.
Hyundai ist bekannt dafür, besonders sparsame Elektroautos herzustellen und von daher wäre es auch schön, wenn diese sich dann genauso datensparsam nutzen lassen. Die Preise sind mittelmäßig und erinnern an BMW Charge: Ein etwas komplizierteres Tarifmodell, wobei ein kwh-Preis von 0,79€ bei einem Monatsabo etwas happig erscheint. Die App stammt von der deutschen Firma Digital Charging Solutions und ist vermutlich nur eine gebrandete Version von Chargenow vom gleichen Anbieter.
Die Verbindungen sind entsprechen exakt identisch zu Chargenow:[1] Mixpanel, ein App-Analyse-Dienst (der Inhalt war base64-decodiert).
Fazit: Einer der wenigen Anbieter, die ohne Googles Firebase arbeiten. Der Kartendienst von Google Maps erhält verschlüsselte Daten, die ich nicht bewerten kann. Der Analysedienst von Mixpanel und das Hosting bei Microsoft mit eindeutigen Geräte-IDs sind sicher kaum geeignet für einen datenschutzkonformen Betrieb.
Ionity ist ein gemeinsames Unternehmen von vorwiegend deutschen Autoherstellern und für seine Apothekenpreise bekannt. Wenn Diesel-Dieter mal den Liter-Sprit für fast 3€ angeboten bekommen würde, würde er sofort ohnmächtig in seine Ledersitze sinken Bei Ionity scheint das aber zu funktionieren. Selbst mit monatlichem Abo liegt die App noch über den Preisen anderer Anbieter. Vielleicht ist der Strom ja besonders schonend für den Motor?
Hier sind die Verbindungen:
[1] Google Firebase erfährt die Installation und konfiguriert die App:
[2] Crowdin kümmert sich um die Spracheinstellungen und Texte in der App, hier sind keine personenbeziehbaren Daten involviert.
GET https://distributions.crowdin.net/30144c2c256307f40ac9c38k2ku/manifest.json HTTP/2.0
user-agent: crowdin-android-sdk/1.5.7 android/30
accept-encoding: gzip
No content
[3] Amazon Cognito: Bei der Pflichtanmeldung wird Amazon AWS Cognito genutzt und die E-Mailadresse ungehasht in die Amazon-Cloud übertragen. Naja, das ginge besser. Außerdem wird ein Device-Fingerprint erstellt (hier teilweise schon base64-entschlüsselt).
[4] Google Maps wird als Kartendienst genutzt und erhält die exakten Koordinaten meines Standorts. Teile des Datenverkehrs konnte ich dabei nicht abfangen und analysieren.
[5] Ionity Server: Per API wird das von Amazon gehostete Ionity-Backend mit meinem Standort kontaktiert, um Ladesäulen abzufragen. Das geschieht bei geöffneter App etwa alle zehn Sekunden, was sehr seltsam scheint. Evtl. liegt es aber an meinem Test-Setup, in dem Google Maps wegen einem Zertifikatfehler nicht antwortet.
Fazit: Die App ist ganz solide, aber noch kein Datenschutz-Luxusprodukt: Bedingt durch die Wahl der Login-Infrastruktur werden zahlreiche Gerätedaten und die E-Mail im Klartext an einen Amazon-Server übertragen, wo diverse Datenschutzfplichten nicht erfüllt werden können (zum Beispiel unsicherer Drittstaat, keine fristgerechte Löschung von Logfiles). Rechtliche fragwürdig ist wie bei vielen anderen Anbietern der Einsatz von Firebase. Von einem Premiumanbieter würde ich beim Datenschutz etwas mehr erwarten, aber positiv ist in jedem Fall das Fehlen von Analyse- und Werbetracking.
[5] Jucr-Server: Kurz bekam ich auch noch eine API-Abfrage an das Jucr-Backend bei Amazon zu sehen, bevor man mir dann eine Registrierung mit E-Mail verweigerte und auf eine Mobilnummer bestand. Ob das ein Trick ist oder mit meinem Entschlüsselungs-Setup zusammenhängt, kann ich nicht sagen. An der Stelle habe ich den Test abgebrochen.
GET https://id.jucr.io/oidc/r/.well-known/openid-configuration HTTP/1.1
User-Agent: Dalvik/2.1.0 (Linux; U; Android 11; SM-G900F Build/RQ3A.211001.001)
Host: id.jucr.io
Connection: Keep-Alive
Accept-Encoding: gzip
No content
Fazit: Auch wenn die App nur bis zur Zwangsregistrierung mit Mobilnummer durchgeführt wurde, reicht das aus, um ein klares Urteil zu fällen: Diese App sammelt Verhaltensdaten, um sie für Marketingzwecke an Dritte zu geben. Sie ist damit ein klarer Fall für die Datenschutzbehörde oder ein Gericht, aber nicht fürs eigene Smartphone. Wer die App schon hat, sollte sie unbedingt deinstallieren.Zurück zur Übersicht
ladenetz.de
Dieser Verbund wird von Energie Schwaben und einigen lokalen deutschen Energieversorgern betrieben. Hinzukommen viele interne Roaming-Partner sowie externe Netzwerke, so dass man in ganz Europa immerhin 180.000 Ladepunkte hat. Man kann das Netzwerk daher entweder direkt mit einer Ladenetz-Ladekarte nutzen oder mit der Ladekarte des lokalen Anbieters (der oft nur Kunden aus der eigenen Region annimmt). Die Preise lassen sich daher nicht präzise vorhersagen.
Die App dient also generell nur zum Auffinden von Ladesäulen (und damit zum Ersatz der gleichwertigen Browser-Kartenansicht), aber kann nicht zum Bezahlen an der Säule verwendet werden.
Folgende Verbindungen werden aufgebaut:[1] Ladecloud Server: Das Backend wird per API für die Ladesäulensuche kontaktiert. Hier werden nur die absolut notwendigen Daten zugesendet und es finden sich keinerlei personenbeziehbare IDs in den Anfragen. Entsprechend ist es auch irrelevant, dass der Server von Microsoft gehostet wird und damit keine ordentliche Kontrolle über die staatlichen Zugriffe garantiert ist.
[2] Google Maps: Wie so oft konnte ich die Verbindung nicht komplett abfangen und nicht alles entschlüsseln. Es kann also nicht sichergestellt werden, ob hier an anderer Stelle IDs übertragen wurden.
Fazit: Die Ladenetz-App gehört zu den ganz wenigen Apps, die sich an die Datenschutzgesetze halten. Die Einbettung vom Google-Maps-Modul, das von mir hier nicht wirklich getestet werden konnte, hinterlässt dennoch eine Vertrauenslücke. Nachdem die App ohnehin nur die Browser-Kartenansicht repliziert, scheint mir ein Browser-Shortcut auf die Ladenetz-Website datenschutztechnisch die bessere Wahl, wenn der Smartphone-Browser so konfiguriert ist, dass er die Cookie regelmäßig löscht. Möglicherweise übertragene IDs werden so jedenfalls sicher wieder entfernt und auf zahlreiche Daten wie die Bewegungssensoren hat Google über den Browser nur auf Nachfrage Zugriff.
Ladeverbund+ ist auch keine besonders bekannte App, denn dahinter stehen einige Stadtwerke, vor allem aus Nordbayern. Die Preise sind auf den ersten Blick bei allen Ladesäulen außerhalb der teilnehmenden Stadtwerke sehr hoch (auch langsame Säulen im Bereich von 0,60-0,70€. Aber angeblich gibt es einen Rabatt, wenn man bei einem der Energieversorge Kunde ist. Damit ist die App eigentlich nur für diese interessant. Technisch realisiert wurde die App offenbar von Chargecloud, die auch bei Maingau in der Appverbindung sichtbar wurden. Dennoch ist diese App anders aufgebaut. Beim Start überrascht die App mit sehr konsequentem Datenschutz: Auf Wunsch kann man Google Maps deaktivieren und bekommt dann nur eine Liste von Säulen in der Umgebung angezeigt. Das ist natürlich nicht sehr nützlich, aber mit gefällt die volle Kontrolle. Die App ist praktisch technisch identisch mit der Website ladeverbundplus.chargecloud.de.
Folgende Verbindung ist dann die einzige:
[1] Chargecloud Server: Die Abfrage enthält keinerlei IDs, contract bleibt auch nach einer Neuinstallation identisch und ist vielleicht eine API-Lizenzkey, zum Beispiel vom Ladeverbund bei Chargecloud. Der API-Server ist bei Amazon gehostet.
[2] Google Maps (Browser): Erst nach aktivieren der Kartenfunktion erscheint die Karte, hierbei handelt es sich um ein Browser-Interface. Offenbar über einen Maps-API-Zugang, der über den langen Key authorisiert wird. Die anderen Codes ändern sich bei jedem Request, so dass ich hier auf den ersten Blick keine personenbeziehbaren IDs erkennen kann. Die Browservariante ist in jedem Fall für mich transparenter als das Google Maps SDK, so dass ich hier noch weniger Bedenken habe. Da man unterwegs auch meist wechselnde IP-Adressen hat, dürfte man vor Google komplett anonym sein.
Fazit: Die App ist aus Datenschutzperspektive sehr ordentlich umgesetzt. Es gibt kein Analysetracking und kein Google Firebase und selbst ohne Google Maps kann man die App nutzen. Ich kann nicht ganz einschätzen, wer preislich von dieser App einen Nutzen hat – evtl. die Kunden direkt an den Ladesäulen der Energieversorger. Aber wer die App gerne nutzt, muss sich jedenfalls keine Sorgen um Tracking machen, das findet hier nicht statt.
Lichtblick ist ein großer Ökostromanbieter aus Hamburg, der hin- und wieder auch für seine etwas lasche Ökostromphilosophie kritisiert wurde. Aber am Ende ist das wohl aus Umweltperspektive immer noch besser als eine Ladeapp von einem Fossilunternehmen. Etwa 200.000 Ladepunkte in Europa sind mit der App nutzbar. Relativ günstig wird es, wenn man zusätzlich auch noch einen Energievertrag mit dem Unternehmen hat, dann gibt es nämlich einen Vorteilstarif. Beim Start ist mir etwas negativ aufgefallen, dass man gleich mit Klimaargumenten in eine Einwilligung getrickst werden soll: „Lichtblick und alle Partner wollen, dass ihr auf der Website ganz einfach alles zu Energie und Klimaschutz findet.“ Hab natürlich trotzdem abgelehnt.
Die App konnte von mir nicht vollständig analysiert werden, nach wenigen Verbindungen gab es Probleme mit meinem selbsterstellten Zertifikat, welches Einblicke in die Übertragungen verschafft. Folgende Verbindungen gab es bis dahin:[1] Google Firebase meldet die Installation und holt Daten für die Konfiguration ab.
Fazit: Die App konnte leider nicht komplett getestet werden, sie stürzte immer wieder ab, was evtl. an meinem selbsterstelltem Root-Zertifikat für die Entschlüsselung lag. Google Firebase lässt sich zwar in den Einstellungen deaktivieren, aber soweit ich das nachvollziehen konnte, geht das nicht ohne Internetverbindung, so dass die erste Verbindung an Firebase immer rausgeht. Ansonsten waren bis zu diesem Punkt keine besonders problematischen Verbindungen erkennbar. Lichtblick gehört zu den wenigen Anbietern, die ein großes Ladenetzwerk zu einem Festpreis und eine Ladekarte per Bestellung auf der Website anbieten. Damit kann man diesen Anbieter ideal auch ganz ohne App nutzen.
Beim Einkaufen Strom laden kann man bei einigen Supermärkten, ich habe hier mal exemplarisch Lidl herausgesucht, weil das bei Mastodon vorgeschlagen wurde. Man kann laut FAQ auch mit einer anderen App oder Ladekarte dort laden, aber dann sind die Preise auch nicht mehr so unschlagbar günstig. Vor allem für sehr kleine Stadtautos ohne eigene Ladesäule, die man während einem Einkauf auch schon halb voll bekommt, ist Lidl mit aktuell 0,29€/kwh eine sehr günstige Option.
Bis zur Zwangsregistrierung mit Mobilnummer waren bereits so viele Trackingeinbettungen zu sehen, dass ich mir nicht die Mühe gemacht habe, die App mit einer Wegwerf-Mobilnummer zu testen. Bei dem Einwilligungsdialog habe ich die optionalen Marketingeinbettungen abgelehnt.
Folgende Verbindungen waren bis zur Registrierung sichtbar:
[1] Google Firebase mit den Diensten Firebaseinstallations, Crashlytics und Firebaselogging. Letzteres ist außerordentlich umfangreich. Alle drei Dienste erhalten pseudonyme IDs.
[2] Dynatrace ist ein Cloud-Anbieter, ich vermute, dass hiermit die Leistungsfähigkeit der App überwacht wird oder auch Nutzungsanalyse betrieben wird. Diese Verbindungen waren leider auch Tage nach der letzten Nutzung im Hintergrund aktiv.
[4] Google Maps ist als Kartendienst integriert, vermutlich wird dies dann auch für die Auswahl der Ladesäulen verwendet. Die Verbindung konnte ich nicht abfangen.
[5] Salesforce Marketing Cloud wird beim Schließen der App kontaktiert und sendet eine Geräte-ID. Ich denke man kann davon ausgehen, dass mit diesen Daten Marketing betrieben werden soll. Das ist nicht schön.
Fazit: Die App enthält angeblich nur optional Marketingeinbettungen, aber sendet IDs an die Salesforce Marketing Cloud. Dieser Anbieter ist bekannt dafür, Marketingdaten auch mit realen Daten wir Telefonnummern oder E-Mailadresse zusammenführen zu können. Auch die umfangreichen Analysediensten von Google und Google Maps sprechen stark dagegen, die App trotz des guten Preises zu nutzen. Wer unbedingt auf den günstigen Preis angewiesen ist und bereits ein Google-Android nutzt, sollte wenigstens eine einmalig und kurzfristig nur dafür registrierte Mobilnummer und E-Mailadresse verwenden. Ansonsten sollte man sich mal beim KonkurrentenAldiumsehen, dort kann man ähnlich günstig auch ohne App und nur mit Girokarte Strom tanken – und das auch ohne dort einzukaufen.
Dieser kommunale Stromanbieter ist etwas Besonderes, denn er hat sich bei Elektroautofahrenden als wichtige Alternative zum Platzhirsch EnBW etabliert. In Deutschland ein bisschen günstiger, kein Appzwang und eine fast genauso gute Abdeckung mit 410.000 Ladepunkten in Europa. Nur die Preise im europäischen Ausland sind seit kurzem überteuert. Mal sehen, ob man mit der App von dem wichtigen Underdog etwas anfangen kann.
Die Verbindungen:[1] Google Firebase meldet die Installation der App, damit ist die Datenschutzkonformität leider schon dahin.
[2] Einfachstromladen.de ist der API-Endpunkt von Maingau, der bei Amazon gehostet ist. Hier gefällt mir die absolute Datensparsamkeit: Es wird keine ID mitgesendet und die Anfragen sind daher gegenüber Maingau anonym, wenn man in der App nicht angemeldet ist.
[3] Mapbox ist der datenschutzfreundliche Kartenanbieter. Wie im Schnelltest unter EV Map ausführlicher besprochen, werden dabei keine genauen Standorte übertragen, sondern nur Kacheln abgefragt, die noch nicht im Cache sind. Dafür gibt es aber eine Installations-ID.
[4] Goingelectric: In Einzelfällen werden noch Bilder von Ladestationen aus der Goingelectric-Community nachgeladen. Auch hier sieht man keine auffällige Daten. Der verwendete Key gehört offenbar zu Maingau und ist damit nicht personenbeziehbar.
Fazit: Leider startet auch diese App erstmalig mit einer Meldung an Firebase Installations. Im anschließenden Betrieb ist die App aber außerordentlich datenschutzfreundlich, insbesondere gehört sie zu den wenigen Apps, die auf Mapbox statt Google Maps setzt. Auch nach einem Login in der App konnte ich keine anderen Datenverbindungen zu anderen Drittanbietern feststellen. Bei weiteren Starts habe ich die Meldung an Firebase nicht mehr gesehen, so dass man vielleicht auch als Datenschutzfan damit leben kann bzw. die App erstmalig einfach ohne Internetverbindung öffnet. Leider schützt das dann nicht davor, dass die App Absturzbericht an Google senden kann, die möglicherweise auch personenbeziehbare Daten enthalten. Maingau gehört aber zu den wenigen Anbietern, die ein großes Ladenetzwerk zu einem Festpreis und eine Ladekarte per Bestellung auf der Website anbieten. Damit kann man diesen Anbieter ideal auch ganz ohne App nutzen.
Wenn man sein Geld schon für einen teuren Mercedes ausgegeben hat, dann kann man sich über recht gute Preise mit den zwei verschiedenen Monatsgebühren von Mercedes Me Charge freuen. Auch einen Tarif ohne Monatsgebühr gibt es, aber dann muss man immer vor dem Laden die Preise der Säule prüfen. Mal sehen, ob der Datenschuz bei Mercedes auch Premium ist. Da ich keinen Mercedes besitze, konnte ich mich auch nicht einloggen und die App nur beim Start überprüfen.
Die Verbindungen der App:
[1] Google Firebase meldet die Installation der App an Google. Leider ist außerdem das sehr umfangreiche Firebase Logging aktiviert.
[2] Mercedes Server: Hier wird bereits gleich eine eindeutige Tracking-ID mitgesendet. Auch wenn man die App nur mit Login nutzen kann, würde das möglicherweise auch bedeuten, dass eine einfache Ladesäulensuche auch mit personenbeziehbarer ID bei Mercedes eingeht. Aber das ist eher eine Kleinigkeit. Gut ist, dass die Logindaten direkt von Mercedes verwaltet werden. Der Server ist bei Microsoft registriert.
[3] Here Maps: Leider konnte ich ohne Login nicht zur Kartenansicht gelangen, aber im Code der App habe ich Hinweise darauf gefunden, dass wie bei My BMW der Dienst „Here“ verwendet wird.
Fazit: Leider enttäuscht auch der Premium-Anbieter Mercedes beim Datenschutz. Gleich zwei Analysedienste sind integriert, die personenbeziehbare IDs erhalten und teilweise umfangreich die Nutzung der App analysieren. Das Schreiben und Lesen einer solchen ID für Analysezwecke ist nach deutschen Datenschutzgesetzen aber nur mit Einwilligung möglich. Auch wenn keine Werbetracking eingebunden ist: Ich würde die App so nicht nutzen wollen.
Moovility ist eine weitere Meta-App, die zunächst nur Preise von anderen Anbietern vergleicht und für die komfortable Suche nach Ladesäulen eingesetzt werden kann. Mal sehen ob das Münchener Unternehmen Cirrantic beim Datenschutz gegen den Open-Source-Konkurrenten EV Map bestehen kann. Zusätzlich bietet die App in Betaphase eine Wallet, in die man offenbar virtuelle Ladekarten oder Kreditkarten speichern (oder verknüpfen?) kann und dann doch direkt bezahlen kann. Das wirkte auf mich alles reichlich verwirrend, aber ich bin auch nicht der Typ der mit Wallets zahlt. Beim Start fällt sofort eine Besonderheit auf: Die App ist eigentlich nur eine ver(k)appte Website und setzt viele HTML-Einbindungen ein. Das hat für meinen Test den Vorteil, dass ich in alle Google-Verbindungen reinschauen konnte: Es wird entsprechend nicht wie in den anderen das Google Maps SDK genutzt, sondern die Google Maps Browservariante. Das dürfte für den Datenschutz durchaus von Vorteil sein.
Die Verbindungen:
[1] Moovility-Server: Per API, aber auch mit HTML-Verbindungen werden einzelne Details der Karte geladen. Auch ohne Anmeldung wird dabei ein ID-Cookie UUID genutzt, so dass alle Anfragen zusammengeknüpft werden können. Eine echte Überraschung ist der deutsche Server, der bei Hetzner gehostet ist: Das hatte kein anderer Anbieter im Test.
[2] Google Maps (Browser): Verschiedene Anfragen gehen an Google Maps per Browser-Interface raus. Soweit ich das erkennen kann, hat Moovility hier einen Maps-API-Zugang, der über den langen Key authorisiert wird. Die anderen Codes ändern sich bei jedem Request, so dass ich hier auf den ersten Blick keine personenbeziehbaren IDs erkennen kann.
Fazit: Die App ist trotz Google Maps datenschutzrechtlich einwandfrei und auch ohne Bedenken zu nutzen. Die Abfragen an den Kartendienst laufen hier nämlich nicht über das Maps SDK, sondern über eine HTML-Website, die intern vom Browser des Smartphones angezeigt wird. Allerdings muss man sich im Klaren darüber sein, dass Moovility auch ohne Anmeldung eine eindeutige Nutzer-ID vergibt, was ich etwas bedenklich finde. Damit können immerhin interessante Nutzungsmuster ausgewertet werden. Wer das nicht dauerhaft möchte, kann der App aber auch einfach regelmäßig mal alle Daten löschen, dann startet man als neue nutzende Person.
Keine Datenschutzerklärung auf der Website und laut Stiftung Warentest bereits erhebliche Mängel in der Datenschutzerklärung der App: Von dem italienischen Anbieter Nextcharge ist zunächst nicht viel zu erwarten.
Nach dem Start stelle ich folgende Verbindungen fest:
[1] Google Firebase wird über die Installation und den ersten Start informiert
[2] Nextcharge Server: Nach Bestätigung eines Banners, der keine Ablehnung bietet, kommuniziert die App mit dem Nextcharge-Server über eine API. Hier wird bereits eine eindeutige ID verwendet. Der Server wird bei Aruba/Hewlett Packard gehostet, was eine kleine Überraschung zu den sonstigen gleichförmigen Anbietern darstellt. Was die Rechtssicerheit der Daten gegenüber amerikanischen Behörden darstellt, ist das aber kein Vorteil.
[3] Google Maps ist der Kartenanbieter, hier sind zwar keine IDs sichtbar, aber ein Teil des Datenverkehrs konnte nicht entschlüsselt werden. Der API-Key authentifiziert das Softwareprojekt, das Kartendaten von Google bezieht, in diesem Fall wohl Nextcharge.
Fazit: Die App macht weniger Verbindungen auf, als befürchtet: Insbesondere ist kein Analysetracking integriert. Nicht so schön ist die Vergabe einer User-ID, bevor man sich eingeloggt hat. Dies verstößt bereits gegen TTDSG §25, aber ist natürlich etwas kleinlich kritisiert, weil man sich ja im Normalfall irgendwann einloggt. Google Maps erhielt nur wenig Daten, war aber in meiner Analyse auch nicht komplett einsehbar. Bleibt noch die Installationsmeldung an Google Firebase, die ebenfalls nicht datenschutzkonform ist. Da die App nicht wirklich einen Nutzen gegenüber der Webversion der Karte bietet, würde ich auf die App verzichten.
Diese Ladeapp ist insofern sehr verbreitet, weil der Kleinwagen Zoe immer noch sehr beliebt ist. Es ist immer noch eines der sparsamsten und günstigsten Elektroautos. Beim Start lehne ich den Einwilligungsbanner ab.
Folgende Verbindungen sind zu sehen:
[1] Google Firebase erfährt von der Installation und Firebase Messages wird für Push-Nachrichten konfiguriert und auch Firebase Remoteconfig erhält IDs.
[2] Contentsquare ist ein Analyseanbieter. Soweit ich das verstehe geht nur der erste Request an den Anbieter, die weiteren Verhaltensdaten werden über einen Amazon-AWS-Server geleitet und enthalten dann die eigentlichen Verhaltensdaten wie angeklickte Buttons. Diese Verbindungen waren leider auch Tage nach er letzten Nutzung im Hintergrund aktiv.
[3] Gigya ist ein Identitätsprovider, der Trackingprofile über Geräte hinweg verknüpfen kann. Er gehört mittlerweile zu SAP. Diese Einbettung ist aus Datenschutzsicht sehr problematisch, weil die gesammelten Verhaltensdaten offenbar auch mit anderen Aktivitäten auf anderen Plattformen oder in anderen Apps verknüpft werden könnten. Wenn dies für Marketingzwecke geschieht, ist es ohne Einwilligung illegal.
POST https://socialize.eu1.gigya.com/socialize.getIDs HTTP/1.1
x-dynatrace: MT_3_1_759079219_1-0_b886c62d-dc29-43be-8436-d2c076491d00_1_3126_8
Accept-Encoding: gzip
connection: close
Content-Type: application/x-www-form-urlencoded
User-Agent: Dalvik/2.1.0 (Linux; U; Android 11; SM-G900F Build/RQ3A.211001.001)
Host: socialize.eu1.gigya.com
Content-Length: 173
URLEncoded form
apiKey: 3_4LKbCcMMcvjDm3X89LU4z4mNKYKdl_W0oD9w-Jvih21WqgJKtFZAnb9YdUgWT9_a
format: json
httpStatusCodes: false
nonce: 1691598544013_1392362421
sdk: Android_6.1.0
targetEnv: mobile
[4] Onetrust ist ein Anbieter von Einwilligungs-Lösungen, er erhält hier keine problematischen Daten.
[5] Microsoft Cloud: Eine Grafik wird Microsoft Azure geladen. Unproblematisch, aber irgendwie seltsam, das nicht in die App zu packen. Soll uns hier aber nicht interessieren.
[6] Gigya: Hier wird die ungehashte E-Mailadresse an den Identitätsprovider gesendet, der damit ein Verhaltensprofil anlegt. Würde ich sehr wundern, wenn das nicht für Marketingzwecke verwendet werden würde.
[7] Renault Server: Per API wird unter anderem die Userverwaltung organisiert und Ladesäulen abgefragt. Problematisch ist, dass auch diese Requests immer die ID von Gigya tragen, so dass auch diese Daten in die Verhaltensanalyse bei dem SAP-Unternehmen einfließen können.
[7] Amazon AWS: Hier werden die Zugangsdaten aus dem Account nochmals auf eine Amazon AWS Cloud geschickt. Bedenklich ist, dass hier als „Purpose“ Marketing angegeben wurde, obwohl ich keinerlei Einwilligungen gegeben habe. Profilbildung für Marketing wäre problematisch und ohne Einwilligung nicht legal.
Fazit: Diese App ist hochproblematisch: Sie nutzt Verhaltensanalysen und sendet sie mit der Klartext-E-Mail-Adresse an Gigya (SAP), wo man nach eigenen Angaben geräteübergreifende Profile anlegt und für Marketingzwecke auswertet. Ob diese Daten auch Drittfirmen zur Verfügung gestellt werden, konnte ich nicht überprüfen – die Firma bietet diese Dienst aber für Kunden an. Im besten Fall werden damit nur die verschiedenen Logins von Renault und z.B. seinen Autohäusern zusammengeknüpft und für internes Marketing verwendet. Legal ist das aber ohne Einwilligung kaum. Die App stellt auch sonst sehr viele Verbindungen zu Drittfirmen her, so dass ich ganz klar von jeder Nutzung abrate. Wer die App bereits hat: deinstallieren. Sonst wird man weiter von Renault fürs Marketing profiliert.
Ob man den Übergang in die Elektromobilität nun wirklich mit dem Unternehmen durchführen muss, das jahrelang gegen Umweltschutz und Klimaarbeit lobbyiert hat, sollte jede Person kritisch für sich entscheiden. Beim Datenschutz kann die Shell Recharge App aber ebensowenig glänzen. Nach dem Start stellten wir ohne Einwilligung folgende Verbindungen fest:
[1] Google Firebase erhält für verschiedene Dienste (Firebase Installations, Firebase Messaging und Firebase Remote config) eindeutige Identifier wie die Installations-ID.
[3] Datadog ist ein eher technisch orientierter Analysedienst, mit dem man die Sicherheit und Stabilität der App überwachen kann. Hier kann man darüber streiten, ob die gesendete application id und Datenpunkte wie die Verweildauer oder detaillierte Aktionen im Rahmen der Datenschutzgesetze ohne Einwilligung zulässig sind. Auch ein Frustrations-Zähler, der vermutlich prüft, wie oft man verärgert auf den Bildschirm presst, ist eine unangenehme Überwachung. Mir erscheint es nicht unbedingt notwendig, diese Sachen auf jedem Gerät abzufragen, es würde bei einer Auswahl freiwilliger Personen sicher auch ausreichen, das Fehleraufkommen in der App zu überwachen.
Eine Anmeldung habe ich in der App nicht mehr ausgetestet.
Fazit: Auch bei der Shell Recharge App sind zahlreiche Analysedienste eingebunden und man man kann überwiegend nicht davon ausgehen, dass die deutschen Datenschutzgesetze eingehalten werden.
Auch diese App wird von dem deutschen Unternehmen Chargecloud realisiert, die technisch auch bei Ladeverbund+ und Maingau beteiligt waren. Diese App ist exakt die gleiche wie Ladeverbund+ und stellt die gleichen Verbindungen her, so dass ich hier keine Einzelbesprechung der Verbindungen mache. Der Unterschied liegt offenbar in einem anderen Ladenetzwerk: Die TankE-Energieversorger (Browser-Karte) sind eher in einer Banane zwischen Soest, Solingen über den Großraum Köln nach Frankfurt angeordnet, wobei beispielsweise auch in Ingolstadt viele zu finden sind. Außerdem kann man sich auch direkt in der App mit einem TankE-Login registrieren, ohne bei einem der Partner-Energieversorge einen Vertrag zu haben und dann direkt über die App bezahlen. Auch hier fiel positiv auf, dass man mit einer einfachen SEPA-Lastschrift ohne weitere Drittanbieter eine Zahloption angeboten bekommt.
Fazit: Aus Datenschutzperspektive uneingeschränkt empfehlenswert.
Die Tesla-App haben natürlich viele, die einen Tesla besitzen. Aber Tesla bietet auch viele seiner Supercharger für Personen an, die eine andere Marke fahren. Die Preise sind relativ gut und man kann sie nochmals verbessern, indem man 12,99$ im Monat bezahlt. Das könnte sich für Vielfahrer lohnen, die viel auf Autobahnen schnellladen.
Hier die Verbindungen:
[1] Google Firebase wird über die Installation informiert, damit Absturzberichte abgefangen werden können. Außerdem wird über Firebase Remote Config eine Konfiguration für die App nachgeladen.
Es folgen größtenteils verschiedene Endpunkte, die von Tesla betrieben werden. Weil das sicher viele interessiert, führe ich sie hier genauer als sonst auf:
[2] ownership.tesla.com scheint für die Accountverwaltung zuständig zu sein, evtl. auch nur für die Authentifizierung per Browser innerhalb der App. Hier sehe ich auf den ersten Blick nicht auffälliges. Die Infrastruktur ist wohl bei Akamai gehostet, daher das entsprechende Cookie.
GET https://ownership.tesla.com/mobile-app/account/details?deviceLanguage=de&deviceCountry=DE&ttpLocale=de_DE HTTP/2.0
accept: */*
x-tesla-user-agent: TeslaApp/4.23.6-1844/074a3374b7/android/30
charset: utf-8
cache-control: no-cache
accept-language: de
authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Im5ZdVZJWTJTN3gxVHRYM01KMC1QMDJad3pXQSJ9.eyJpc3MiOiJodHRwczovL2F1dGgudGVzbGEuY29tL29hdXRoMi92MyIsImF1ZCI6WyJodHRwczovL293bmVyLWFwaS50ZXNsYW1vdG9ycy5jb20vIiwiaHR0cHM6Ly9hdXRoLnRlc2xhLmNvbS9vYXV0aDIvdjMvdXNlcmluZm8iXSwiYXpwIjoib3duZXJhcGkiLCJzdWIiOiJlODc2YWY3Ny1lODQzLTQ1Y2MtYjI1Mi1mMGE1MGM2MjhkYzciLCJzY3AiOlsib3BlbmlkIiwiZW1haWwiLCJvZmZsaW5lX2FjY2VzcyIsInBob25lIl0sImFtciI6WyJwd2QiXSwiZXhwIjoxNjkyMzIwMjAwLCJpYXQiOjE2OTIyOTE0MDAsIm91X2NvZGUiOiJOQSIsImxvY2FsZSI6ImVuLVVTIiwiYXV0aF90aW1lIjoxNjkyMjkxMzk0fQ.pGpuBt_Z3kElhyglUiXrX9TJc-tl7fYMQIOKoi5yAULchaLSL8V9eaiPfL3dIJtNXx5FhK8LabZ5abgclCnhmXw9TnD91aLnHiEVkPxoSaxZ6ybwpbsxtlTw79iGLDR3eabrIeTjF4Ax2Ollh5mUvaLpGtg8a1BusoNMSYWyQYCmgZTAwfpyShZhB2FHAQxx6Z3SeWU6PDC_BYqWFLM9ZI_r2qTvphu3izJkASsNHLWCLXvsTW19dCy5fRYGG5gZtLjqCx6vc1Lz7LvzVZ-_YAeDhj4MY0Wqn5agaSRwp0FQWTZdBsQ-bzHGKAEqvIUL95DHZQJfv_7CilHKpAD3tA
x-txid: 7886eec5-55f5-4920-b8dd-59ca894edabb
x-request-id: 7886eec5-55f5-4920-b8dd-59ca894edabb
accept-encoding: gzip
cookie: ak_bmsc=697C40406D2529584E4E135E08868911~000000000000000000000000000000~YAAQrcXdWP1y1/KJAQAA0NptBBT7eI1TdvtQGLxggX1NuIQaX55EjeIitMgm9MYpKOjVMkNFXFw2t1JhJfCi5PKGfEHUs/CNMQDUvR0IdTeIkGNPwLogS1v/C6Fhl85I/B8516bgLhruadvSxmgYDLcE4+HeO1kr5ev2L9GTpqFw8dBYf8usIcZF0sKW1mJL/hzNUcjDzkNxE+PuLtuR50gYoju4omNFAgBLLNTtzSViF9m9p5AChw49LUdns/9GeA3GCtS8XXWppHPKAbraLeDXFhFZOEaJTCeXZPfekTAfE5DA7VVlVX6New7H1irYPzTdJevbjhJQTwGwbpCmRPxkLVg7zWNMtaGYlRvCbIq2IC9H84w8mqbgLSIQ9yfay1CrAHOqWCQIsfh/1ogBddrgqbxuBVrhGlhDZ9NFfcej
user-agent: okhttp/5.0.0-SNAPSHOT
Query
deviceLanguage: de
deviceCountry: DE
ttpLocale: de_DE
[3] digitalassets.tesla.com: Hier werden sportliche Videos von einem Content-Server geladen, nichts Spannendes.
GET https://digitalassets.tesla.com/oxp/video/upload/SplashScreenVideo_a6569eee8d4c6.mp4 HTTP/2.0
icy-metadata: 1
user-agent: ReactNativeVideo/4.23.6-1844 (Linux;Android 11) ExoPlayerLib/2.13.3
accept-encoding: identity
No content
[4] analytics-relay.tesla.com ist ein von Tesla betriebener Analysedienst. Möglicherweise ist der nur aktiv, solange man nicht eingeloggt ist, ich habe ihn später nicht mehr gesehen.
[5] signaling.vn.teslamotors.com ist der ungewöhnlichste Request, den ich im ganzen Test abfangen konnte. Websocket ist eine eher seltene Schnittstelle, die hier als Alternative zum HTTP-Protokoll verwendet wird. Sie kommuniziert hier mit einem sogenannten Hermes-Server – das ist offenbar ein Javascript-Server, der für die Kommunikation mit Websocket gebaut wurde. Keine Ahnung, warum man das technisch so macht, evtl. um effektiver nur einzelne Nachrichten ohne Rückmeldung auszutauschen. Oder auch um ohne Webserver direkt per Wifi zwischen Smartphone und Auto kommunizieren zu können (hier geht es direkt an den Tesla-Server). Im Prinzip ist es aber am Ende inhaltlich auch nichts Anderes als eine normale HTTP-API-Kommunikation.
[6] akamai-apigateway-charging: Hier werden nun offenbar Ladesäuleninformationen abgerufen. Ich sehe keine Anhaltspunkte, dass Tesla hier eine ID oder meinen Login mitsendet, so dass die Suche nach Ladesäulen selbst anonym sein könnte. Allerdings ist der genaue Standort dabei, anstatt nur Quadrate abzufragen wie in anderen Apps. Wenn man unterwegs ist, ist das aber natürlich auch sehr unproblematisch.
POST https://akamai-apigateway-charging-ownership.tesla.com/graphql?deviceLanguage=de&deviceCountry=DE&ttpLocale=de_DE&operationName=GetNearbyChargingSites HTTP/1.1
accept: */*
x-tesla-user-agent: TeslaApp/4.23.6-1844/074a3374b7/android/30
charset: utf-8
cache-control: no-cache
accept-language: de
authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Im5ZdVZJWTJTN3gxVHRYM01KMC1QMDJad3pXQSJ9.eyJpc3MiOiJodHRwczovL2F1dGgudGVzbGEuY29tL29hdXRoMi92MyIsImF1ZCI6WyJodHRwczovL293bmVyLWFwaS50ZXNsYW1vdG9ycy5jb20vIiwiaHR0cHM6Ly9hdXRoLnRlc2xhLmNvbS9vYXV0aDIvdjMvdXNlcmluZm8iXSwiYXpwIjoib3duZXJhcGkiLCJzdWIiOiJlODc2YWY3Ny1lODQzLTQ1Y2MtYjI1Mi1mMGE1MGM2MjhkYzciLCJzY3AiOlsib3BlbmlkIiwiZW1haWwiLCJvZmZsaW5lX2FjY2VzcyIsInBob25lIl0sImFtciI6WyJwd2QiXSwiZXhwIjoxNjkyMzIwMjAwLCJpYXQiOjE2OTIyOTE0MDAsIm91X2NvZGUiOiJOQSIsImxvY2FsZSI6ImVuLVVTIiwiYXV0aF90aW1lIjoxNjkyMjkxMzk0fQ.pGpuBt_Z3kElhyglUiXrX9TJc-tl7fYMQIOKoi5yAULchaLSL8V9eaiPfL3dIJtNXx5FhK8LabZ5abgclCnhmXw9TnD91aLnHiEVkPxoSaxZ6ybwpbsxtlTw79iGLDR3eabrIeTjF4Ax2Ollh5mUvaLpGtg8a1BusoNMSYWyQYCmgZTAwfpyShZhB2FHAQxx6Z3SeWU6PDC_BYqWFLM9ZI_r2qTvphu3izJkASsNHLWCLXvsTW19dCy5fRYGG5gZtLjqCx6vc1Lz7LvzVZ-_YAeDhj4MY0Wqn5agaSRwp0FQWTZdBsQ-bzHGKAEqvIUL95DHZQJfv_7CilHKpAD3tA
x-txid: 7558b687-111b-4c1d-90fe-54fa8d96330e
x-request-id: 7558b687-111b-4c1d-90fe-54fa8d96330e
Content-Type: application/json
Content-Length: 1311
Host: akamai-apigateway-charging-ownership.tesla.com
Connection: Keep-Alive
Accept-Encoding: gzip
Cookie: ak_bmsc=697C40406D2529584E4E135E08868911~000000000000000000000000000000~YAAQrcXdWP1y1/KJAQAA0NptBBT7eI1TdvtQGLxggX1NuIQaX55EjeIitMgm9MYpKOjVMkNFXFw2t1JhJfCi5PKGfEHUs/CNMQDUvR0IdTeIkGNPwLogS1v/C6Fhl85I/B8516bgLhruadvSxmgYDLcE4+HeO1kr5ev2L9GTpqFw8dBYf8usIcZF0sKW1mJL/hzNUcjDzkNxE+PuLtuR50gYoju4omNFAgBLLNTtzSViF9m9p5AChw49LUdns/9GeA3GCtS8XXWppHPKAbraLeDXFhFZOEaJTCeXZPfekTAfE5DA7VVlVX6New7H1irYPzTdJevbjhJQTwGwbpCmRPxkLVg7zWNMtaGYlRvCbIq2IC9H84w8mqbgLSIQ9yfay1CrAHOqWCQIsfh/1ogBddrgqbxuBVrhGlhDZ9NFfcej
User-Agent: okhttp/5.0.0-SNAPSHOT
GraphQL
{
„query“: „…“,
„variables“: {
„args“: {
„userLocation“: {
„latitude“: 48.06******
„longitude“: 11.49******
},
„northwestCorner“: {
„latitude“: 48.94227613234345,
„longitude“: 10.410025343298912
},
„southeastCorner“: {
„latitude“: 47.18289058618875,
„longitude“: 12.588988579809666
},
„languageCode“: „de“,
„countryCode“: „DE“
}
},
„operationName“: „GetNearbyChargingSites“
}
—
query GetNearbyChargingSites($args: GetNearbyChargingSitesRequestType!) {
charging {
nearbySites(args: $args) {
sitesAndDistances {
…ChargingNearbySitesFragment
}
}
}
}
fragment ChargingNearbySitesFragment on ChargerSiteAndDistanceType {
activeOutages {
message
nonTeslasAffectedOnly {
value
}
}
availableStalls {
value
}
centroid {
…EnergySvcCoordinateTypeFields
}
drivingDistanceMiles {
value
}
entryPoint {
…EnergySvcCoordinateTypeFields
}
haversineDistanceMiles {
value
}
id {
text
}
localizedSiteName {
value
}
maxPowerKw {
value
}
trtId {
value
}
totalStalls {
value
}
siteType
accessType
waitEstimateBucket
hasHighCongestion
}
fragment EnergySvcCoordinateTypeFields on EnergySvcCoordinateType {
latitude
longitude
}
[7] Google Maps liefert die Kartenfunktionalität. Nicht alle Requests waren entschlüsselbar. Typischerweise werden hier einfach Map-Tiles für eine Koordinate ausgeliefert. Es ist schwierige, die Binärdaten zu interpretieren, möglicherweise sind aber keine personenbeziehbaren IDs enthalten.
[9] uicrashtracer.tesla.com: Hier haben wir die App wohl überlastet und so wird sichtbar, dass Tesla auch eine eigene Analysesoftware für einen App-Crash betreibt. Die Daten sind sehr technisch, aber es ist durchaus eine User-ID mit dabei sowie einige Gerätedetails, darunter auch die Batterietemperatur. Würde zwar gerne vorher gefragt werden, wenn soetwas abgefragt wird, aber zumindest ist hier kein Missbrauchspotential gegeben.
POST https://uicrashtracer.tesla.com/api/8/envelope/ HTTP/1.1
User-Agent: sentry.java.android/6.16.0
X-Sentry-Auth: Sentry sentry_version=7,sentry_client=sentry.java.android/6.16.0,sentry_key=b137b6b4d8c047ba9e429ac9fb9ddf32
Content-Encoding: gzip
Content-Type: application/x-sentry-envelope
Accept: application/json
Connection: close
Host: uicrashtracer.tesla.com
Accept-Encoding: gzip
Content-Length: 2189
[decoded gzip] Raw
{„event_id“:“753c9ebb6eaa4e3bae7e3bc73e364dc5″,“sdk“:{„name“:“sentry.java.android“,“version“:“6.16.0″,“packages“:[{„name“:“maven:io.sentry:sentry“,“version“:“6.16.0″},{„name“:“maven:io.sentry:sentry-android-core“,“version“:“6.16.0″},{„name“:“maven:io.sentry:sentry-android-ndk“,“version“:“6.16.0″}],“integrations“:[„ShutdownHook“,“Ndk“,“Anr“,“AppComponentsBreadcrumbs“,“SystemEventsBreadcrumbs“,“AppLifecycle“]}}
{„content_type“:“application/json“,“type“:“event“,“length“:6044}
{„timestamp“:“2023-08-17T17:48:06.208Z“,“exception“:{„values“:[{„type“:“Error“,“value“:“Given action \\“SET_NONTESLA_MAP_REGION\\“, reducer \\“nonteslaMapRegion\\“ returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.“,“stacktrace“:{„frames“:[{„filename“:“app:///index.android.bundle“,“function“:“callFunctionReturnFlushedQueue“,“lineno“:1,“colno“:422052,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“__guard“,“lineno“:1,“colno“:423057,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“anonymous“,“lineno“:1,“colno“:422096,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“__callFunction“,“lineno“:1,“colno“:423765,“in_app“:true},{„filename“:“native“,“function“:“apply“,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“callTimers“,“lineno“:1,“colno“:523986,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“_callTimer“,“lineno“:1,“colno“:522165,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“anonymous“,“lineno“:1,“colno“:522898,“in_app“:true},{„filename“:“native“,“function“:“apply“,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“timerExpired“,“lineno“:1,“colno“:1198960,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“trailingEdge“,“lineno“:1,“colno“:1199011,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“invokeFunc“,“lineno“:1,“colno“:1198686,“in_app“:true},{„filename“:“native“,“function“:“apply“,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“anonymous“,“lineno“:1,“colno“:5223607,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“anonymous“,“lineno“:1,“colno“:5028483,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“dispatch“,“lineno“:1,“colno“:5222288,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“combination“,“lineno“:1,“colno“:5223411,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“combination“,“lineno“:1,“colno“:5223411,“in_app“:true},{„filename“:“app:///index.android.bundle“,“function“:“combination“,“lineno“:1,“colno“:5223534,“in_app“:true}]},“mechanism“:{„type“:“onerror“,“handled“:false}}]},“level“:“fatal“,“fingerprint“:[],“modules“:{},“event_id“:“753c9ebb6eaa4e3bae7e3bc73e364dc5″,“contexts“:{„app“:{„app_identifier“:“com.teslamotors.tesla“,“app_start_time“:“2023-08-17T17:45:50.251Z“,“app_name“:“Tesla“,“app_version“:“4.23.6-1844″,“app_build“:“1844″,“permissions“:{„WRITE_SETTINGS“:“not_granted“,“AD_ID“:“granted“,“ACTIVITY_RECOGNITION“:“granted“,“READ_MEDIA_IMAGES“:“not_granted“,“RECORD_AUDIO“:“not_granted“,“NFC“:“granted“,“FOREGROUND_SERVICE“:“granted“,“ACCESS_FINE_LOCATION“:“not_granted“,“RECEIVE“:“granted“,“READ_CALENDAR“:“not_granted“,“DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION“:“granted“,“ACCESS_NETWORK_STATE“:“granted“,“CHANGE_WIFI_STATE“:“granted“,“WAKE_LOCK“:“granted“,“BLUETOOTH_CONNECT“:“not_granted“,“WRITE_EXTERNAL_STORAGE“:“not_granted“,“INTERNET“:“granted“,“READ_EXTERNAL_STORAGE“:“not_granted“,“RECEIVE_BOOT_COMPLETED“:“granted“,“CAMERA“:“not_granted“,“BIND_GET_INSTALL_REFERRER_SERVICE“:“granted“,“BLUETOOTH_ADMIN“:“granted“,“ACCESS_COARSE_LOCATION“:“granted“,“READ_GSERVICES“:“granted“,“READ_MEDIA_VIDEO“:“not_granted“,“READ_CONTACTS“:“not_granted“,“CHANGE_NETWORK_STATE“:“granted“,“BLUETOOTH“:“granted“,“BLUETOOTH_SCAN“:“not_granted“,“CHECK_LICENSE“:“granted“,“CHANGE_WIFI_MULTICAST_STATE“:“granted“,“VIBRATE“:“granted“,“WRITE_CALENDAR“:“not_granted“,“ACCESS_WIFI_STATE“:“granted“,“DOWNLOAD_WITHOUT_NOTIFICATION“:“granted“},“in_foreground“:true},“device“:{„manufacturer“:“samsung“,“brand“:“samsung“,“family“:“SM-G900F“,“model“:“SM-G900F“,“model_id“:“RQ3A.211001.001″,“archs“:[„armeabi-v7a“,“armeabi“],“battery_level“:82.0,“charging“:true,“online“:true,“orientation“:“portrait“,“simulator“:false,“memory_size“:1785765888,“free_memory“:337289216,“low_memory“:false,“storage_size“:12481081344,“free_storage“:4601192448,“screen_width_pixels“:1080,“screen_height_pixels“:1920,“screen_density“:3.0,“screen_dpi“:480,“boot_time“:“2023-08-11T20:18:35.266Z“,“timezone“:“Europe/Amsterdam“,“id“:“cfd758ee-e3b0-49c3-9578-c0a0dbe64f0e“,“language“:“de“,“connection_type“:“wifi“,“battery_temperature“:42.8,“locale“:“de_DE“},“os“:{„name“:“Android“,“version“:“11″,“build“:“lineage_klte-userdebug 11 RQ3A.211001.001 92502ee78e“,“kernel_version“:“3.4.113-lineageos-g76f2c76e68d“,“rooted“:false},“react_native_context“:{„turbo_module“:false,“fabric“:false,“js_engine“:“hermes“}},“sdk“:{„name“:“sentry.javascript.react-native“,“version“:“5.3.0″,“packages“:[{„name“:“npm:@sentry/react-native“,“version“:“5.3.0″}],“integrations“:[„ModulesLoader“,“ReactNativeErrorHandlers“,“Release“,“InboundFilters“,“FunctionToString“,“Breadcrumbs“,“LinkedErrors“,“Dedupe“,“HttpContext“,“EventOrigin“,“SdkInfo“,“ReactNativeInfo“,“RewriteFrames“,“DeviceContext“,“ReactNativeTracing“]},“request“:{„headers“:{}},“tags“:{„event.origin“:“javascript“,“githash“:“074a3374b7″,“installerStore“:“com.android.vending“,“event.environment“:“javascript“,“isSideLoaded“:“false“,“hermes“:“true“},“release“:“com.teslamotors.tesla@4.23.6-1844″,“environment“:“tesla“,“platform“:“javascript“,“user“:{„id“:“d61b3cf2-4aac-42ba-bf4a-44339ae92b3b“},“dist“:“1844″,“breadcrumbs“:[{„timestamp“:“2023-08-17T17:48:06.765Z“,“message“:“Error: Given action \\“SET_NONTESLA_MAP_REGION\\“, reducer \\“nonteslaMapRegion\\“ returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined., js engine: hermes“,“data“:{„logger“:“console“,“arguments“:[„Error: Given action \\“SET_NONTESLA_MAP_REGION\\“, reducer \\“nonteslaMapRegion\\“ returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined., js engine: hermes“]},“category“:“console“,“level“:“error“}]}
Fazit: Die Tesla-App setzt sehr viel eigene Software ein, die bei Amazon und Akamai gehostet ist. Eine sehr einfach Klickanalyse überwacht die Appnutzung profilbezogen. Eine eigene App-Crashüberwachung wird mit dem Standard von Google Firebase kombiniert. Die beim App-Crash gesendeten Daten sind umfangreich, aber durchaus in ihrem Zweck nachvollziehbar und nicht wirklich sensibel. Das ändert nichts daran, dass der Einsatz der Analysesoftware und der Crashtest-Software sowohl von Tesla als auch von Firebase eine Einwilligung benötigt, weil es über eine rein für den Betrieb unbedingt notwendige Maßnahme hinausgeht. Auch Google Maps ist für viele Datenschutzfans sicher nicht die ganz optimale Wahl. Wer aber ohnehin ein normales Android-Handy mit Google benutzt, muss sich mit dieser App keine besonderen Sorgen über seine Verhaltensdaten machen. Nicht unerwähnt bleiben sollte aber, dass die Website von Tesla auch Werbetracking von Google Doubleclick und Twitter einsetzt. Man sollte sich also nicht wundern, wenn nach einer Registrierung in der Tesla-App auch bei Twitter oder auf anderen Seiten Werbung von Tesla auftauchen. Wer das verhindern will, nutzt die Registrierung und andere Funktionen der Website nur in einem Browser mit Werbeblocker.
Vattenfall ist ein Energieanbieter, der vor allem in Hamburg viele Ladesäulen betreibt. Mit dem Angebot InCharge kann darüber hinaus aber auch an 100.000 Partner-Ladepunkten geladen werden. Man kann auch ohne App nur mit einer Ladekarte laden. Einen Festpreis gibt es aber nur an den Vattenfall-Ladesäulen, so dass die App in den meisten Fällen benötigt wird.
Die Verbindungen:
[1] Google Firebase meldet die Installation und registriert die App für Absturzberichte bei Crashlytics. Außerdem ist das sehr umfangreiche Firebase Analytics aktiv und sendet zahlreiche Gerätedaten.
[2] Microsoft Azure: Die App wird komplett auf dem SaaS-Dienst von Azure betrieben und fragt hier zum Beispiel die Ladestationen per API aus einer Datenbank ab.
[3] Microsoft Appcenter ist ein weiterer Analysedienst, der zahlreiche Verhaltensdaten und Gerätedetails erhält. Hier beispielsweise, welcher Menüpunkt in der App aufgerufen wurde.
[4] Google Maps liefert die Kartenfunktionalität. Nicht alle Requests waren entschlüsselbar. Typischerweise werden hier einfach Map-Tiles für eine Koordinate ausgeliefert. Es ist schwierige, die Binärdaten zu interpretieren, möglicherweise sind aber keine personenbeziehbaren IDs enthalten.
Fazit: Die App von Vattenfall enthält zwei sehr umfangreiche Analysetools, die jede Aktivität in der App mit einer pseudonymen ID aufzeichnen. Das entspricht nicht den gesetzlichen Vorgaben und dürfte für viele Menschen störend sein. Ich würde die App daher nicht benutzen. Immerhin kann man seine Ladekarte auch ohne App bestellen, so dass man die Analyse umgehen kann. Die Ladestationen aus dem Netzwerk findet man dann am besten mit EV Map.
Virta ist eine finnische Ladeplattform und bietet über Partner insgesamt 400.000 Ladepunkte an. Die Roaming-Preise, die man jeweils direkt auf der Karte in der App abfragen muss, fand ich auf den ersten Blicke etwas hoch, einmal sogar über 1€ pro kwh, das kommt dann schon umgerechnet auf die Kilometerleistung an einen Spritpreis von 4,50€ ran. Vielleicht auch nur ein Ausreißer. Aber wir wollen ja hier vor allem die Datenschutzperspektive beleuchten.
Das waren die Verbindungen:
[1] Google Firebase meldet die Installation und registriert die App für Absturzberichte bei Crashlytics.
[2] Virta Server: Per API werden alle benötigten Details wie die Ladesäulen geladen. Bei manchen Requests, die sich vermutlich auf das Benutzerprofil beziehen, ist eine Installations-ID dabei. Gut finde ich, dass bei den Georequests nach Ladesäulen keine ID mitgesendet wurde.
[3] Google Maps liefert die Kartenfunktionalität. Nicht alle Requests waren entschlüsselbar. Typischerweise werden hier einfach Map-Tiles für eine Koordinate ausgeliefert. Es ist schwierige, die Binärdaten zu interpretieren, möglicherweise sind aber keine personenbeziehbaren IDs enthalten.
[4] Datadog ist ein eher technisch orientierter Analysedienst, mit dem man die Sicherheit und Stabilität der App überwachen kann. Hier kann man darüber streiten, ob die gesendete application id und Datenpunkte wie die Verweildauer oder detaillierte Aktionen im Rahmen der Datenschutzgesetze ohne Einwilligung zulässig sind. Mir erscheint es nicht unbedingt notwendig, diese Sachen auf jedem Gerät abzufragen, es würde bei einer Auswahl freiwilliger Personen sicher auch ausreichen, das Fehleraufkommen in der App zu überwachen.
Fazit: Sieht man mal von den Meldungen an Google Firebase ab, scheint mir die App einigermaßen datenschutzkonform zu sein, wobei sich auch über den Einsatz des sehr technischen Analysedienstes Datadog streiten ließe. Was allerdings nicht in Ordnung ist: Wenn man in den Einstellungen die Erstellung „anonymer“ Analyse deaktivert, dann sendet die App trotzdem weiterhin Daten an Datadog und Firebase. Hier funktioniert was nicht. Tendentiell würde ich von der App also aus Datenschutzperspektive eher abraten.
Wirelane ist ein Anbieter für Ladetechnik und Ladesoftware. Nach dem Start der App wird man für die verpflichtende Registrierung auf die Website emobilitycloud.com umgeleitet, die als Whitelabel-Website auch für andere Energieversorge einen Login bereitstellt. Ich vermute, dass es Wirelane selbst ist, das hier die Software auch für viele andere Anbieter bereitstellt, zum Beispiel auch für die Stadtwerke München (SWM).
[1] Gravatar: Bei der Registrierung meldet man sich im Browser an. Wie auch alle anderen Stadtwerke-Anmeldeseiten, die auf Emobilitycloud.com basieren, wird hier die gehashte E-Mail von Nutzenden der Ladekarten-Verwaltungs-Website an Gravatar gesendet. Auch bei jedem Login innerhalb der App wird der Dienst kontaktiert. Gravatar gehört wie die Software WordPress zu Automattic. Die können die gehashten E-Mails zwar nicht in Klartext zurückrechnen, aber wenn sie eine ungehashte Liste von E-Mails haben, könnten sie herausfinden, bei welchen Diensten die dazugehörigen Personen angemeldet sind. Jetzt kann man eigentlich nicht davon ausgehen, dass man das bei WordPress macht, aber andererseits kann man seit Edward Snowden auch nicht mehr zu viel Naivität mit US-Diensten haben.
[2] emobilitycloud.com: Unter der bereits erwähnten zentralen Infrastruktur, die vermutlich zu Wirelane gehört, ruft die App nun einerseits die Ladepunkte für die Karte ab und andererseits werden hier Profilinformationen abgefragt. Dabei wird jeweils ein Bearer für die Authentifizierung mitgesendet. In diesem Token ist allerdings die E-Mail-Adresse enthalten (im Verbindungsbeispiel habe ich es bereits entschlüsselt und die E-Mail unkenntlich gemacht). Das macht für alle Profil-Aktionen zwar Sinn, aber beim Abrufen von Ladesäulen auf der Karte wäre es nicht notwendig. Hier könnte man zum Beispiel herausfinden, an welchen Orten eine Person sucht, aber dann nicht (oder mit einer anderen App tankt). Das ist eher ein kleines Privatsphäre-Problem, generell wird man ja seinem Ladeanbieter vertrauen müssen, was die Orte und Routen betrifft, die in solchen Daten enthalten sind. Der Server ist in Deutschland bei Hetzner gehostet, das finde ich aus Datenschutzsicht richtig gut.
[3] Google Maps liefert die Kartenfunktionalität. Nicht alle Requests waren entschlüsselbar. Typischerweise werden hier einfach Map-Tiles für eine Koordinate ausgeliefert. Es ist schwierige, die Binärdaten zu interpretieren, möglicherweise sind aber keine personenbeziehbaren IDs enthalten.
[4] [1] Sentry ist ein technischer Analysedienst, der zum Beispiel die Leistung der App oder Fehlerquellen überwacht. Bedauerlich ist, dass die Analyse neben der Sitzungs-ID sid auch die optionale User-ID did nutzt. Die App-Nutzung wird also pseudonym überwacht. Aus dem Request geht zwar hervor, dass die Analyse einen typischen Zertifizierungsfehler gemeldet hat, der mit meinem Test-Setup zusammenhängt. Aber auch wenn ich den Datenverkehr nicht entschlüsselt habe, war der Request zu sehen. Besser wäre es, wenn man auch solche technischen Rückmeldungen nur optional und freiwillig integriert. Klassische Analysedaten wie Nutzungsdauer oder Öffnen und Schließen der App werden allerdings nicht überwacht.
POST https://o970427.ingest.sentry.io/api/5921747/envelope/ HTTP/1.1
User-Agent: sentry.java.android/6.22.0
X-Sentry-Auth: Sentry sentry_version=7,sentry_client=sentry.java.android/6.22.0,sentry_key=27e4da3d7ab54bb5808e6ed5665d76e7
Content-Encoding: gzip
Content-Type: application/x-sentry-envelope
Accept: application/json
Connection: close
Host: o970427.ingest.sentry.io
Accept-Encoding: gzip
Content-Length: 517
[decoded gzip] Raw
{„sdk“:{„name“:“sentry.java.android“,“version“:“6.22.0″,“packages“:[{„name“:“maven:io.sentry:sentry“,“version“:“6.22.0″},{„name“:“maven:io.sentry:sentry-android-core“,“version“:“6.22.0″},{„name“:“maven:io.sentry:sentry-android-fragment“,“version“:“6.22.0″},{„name“:“maven:io.sentry:sentry-android-timber“,“version“:“6.22.0″}],“integrations“:[„SQLite“,“DatabaseInstrumentation“,“FileIOInstrumentation“,“OkHttpInstrumentation“,“LogcatInstrumentation“,“UncaughtExceptionHandler“,“ShutdownHook“,“AppLifecycle“,“AnrV2″,“ActivityLifecycle“,“UserInteraction“,“FragmentLifecycle“,“Timber“,“AppComponentsBreadcrumbs“,“SystemEventsBreadcrumbs“,“NetworkBreadcrumbs“]},“sent_at“:“2023-08-14T15:15:35.417Z“}
{„content_type“:“application/json“,“type“:“session“,“length“:276}
{„sid“:“661ea159-c2d2-45e2-ae32-147fe3d07e9e“,“did“:“7ae96487-8c7d-4679-a097-2d0b067c643b“,“init“:true,“started“:“2023-08-14T15:15:35.381Z“,“status“:“ok“,“errors“:0,“timestamp“:“2023-08-14T15:15:35.381Z“,“attrs“:{„release“:“wirelane-2.0.4-afa435c“,“environment“:“production“}}
Fazit: Obwohl in der App einige Kleinigkeiten datenschutztechnisch nicht gut gemacht sind, kann man jeweils ein Auge zudrücken und in allen drei Kategorien ein Sternchen vergeben. Erfreulich ist, dass Firebase nicht eingesetzt wird – ob Sentry so viel anders ist, kann ich nicht beurteilten, aber das Unternehmen hinter Sentry ist immerhin nicht im Markt für verhaltensbasierte Werbung engagiert wie Google. Ich würde weiterhin Ladekarte und EV Map vorziehen gegenüber Wirelane. Aber es gibt keinen ernsthaften Grund, diese App nicht zu nutzen. Was hingegen eine ziemliche Sauerei ist, dass der Facebook-Tracker auf der Website unter wirelane.com ohne Einwilligung verwendet wird. Das war aber auch nicht Gegenstand dieses Tests.
Wenn du Ergänzungen oder konrekte Fragen zum Beitrag hast, dann besuche dasoffizielle Forum. Dort kann über den Beitrag diskutiert werden. Alternativ kannst du auch imChatraumvorbeikommen, um dein Anliegen dort zu erörtern.
Abschließender Hinweis
Die Blog-Beiträge haben nicht wie Enzyklopädie-Einträge (bspw. Wikipedia) den Anspruch, dauerhaft aktuell und richtig zu sein, sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Redaktionsschluss.Kritik, Anregungen oder Korrekturvorschläge zum Beitrag nehme ich gerne per E-Mail entgegen.
Eine zweiwöchige, verdeckte Observation der Umweltaktivistin Cécile Lecomte (auch bekannt als „Eichhörnchen“) war rechtswidrig. Das hat das Verwaltungsgericht Hannover (VG) am Mittwoch geurteilt. Ebenso wie auch die Ausschreibung Lecomtes zur Fahndung, was einen Eintrag in das Informationssystem INPOL und ein detailliert geführtes Bewegungsprofil zufolge hatte.
Die Bundespolizei hatte die Maßnahmen etwa damit gerechtfertigt, dass sich die erfahrene Kletteraktivistin bei den Aktionen verletzten könnte. Das reiche in keiner Weise als Begründung aus, sagte das Gericht. Weiter erläutert das VG, inwieweit die Maßnahmen gegen Cécile Lecomte nicht rechtens waren: Eine Fahndungsausschreibung dürfe auf Seiten der Polizei nur zu einer Sensibilisierung bei einer Kontrolle führen und nicht zu einer so weit umfassenden Sammlung und Speicherung so vieler persönlicher Daten.
Cécile Lecomte erfurt 2015 in einem anderen Verfahren, dass sie bereits einmal als polizeilich „relevante Person“ eingestuft worden war. Im Zuge von polizeilichen Ermittlungen wird das bei politisch motivierter Kriminalität genutzt. Nach einer Prüfung wurde diese Einstufung durch das LKA Niedersachsen wieder gelöscht.
Friedlich gegen Atomkraft und fossile Energieträger
Lecomte hatte bei ihren Aktionen aber stets darauf geachtet, friedlich zu protestieren. Sie demonstriert bereits seit vielen Jahren etwa gegen Atomkraft und die Nutzung fossiler Energieträger.
Cécile Lecomte, die mittlerweile auf einen Rollstuhl angewiesen ist, äußert sich zu dem Urteil auf ihrer Webseite und vertritt dieselbe Argumentation wie das Gericht:
[D]ie Polizei argumentiert einerseits mit meiner Erfahrung und Expertise und ‚herausgehobener Stellung‘ in der Protestszene. Sie behauptet anderseits, dass ich mich verletzen kann, weil ich Schwerbehindert bin. Das ist zutiefst ableistisch und Unsinn! Klettern will gelernt sein. Wer nicht klettern kann, sollte es lassen. Das gilt auch für Polizeibeamt*innen.
Sie stellt aus ihrer Sicht klar, dass Klettern etwas ist, was man lernen kann und nichts mit der körperlichen Verfassung zu tun hat. Das Urteil des VG Hannover ist noch nicht rechtskräftig.
Three years ago, the Arch Linux community began a migration to the GitLab DevSecOps Platform to modernize our software development tooling and processes. We recently announced a major moment on that journey: migrating our entire packaging toolchain to Git and GitLab. This move completely reshaped our packaging workflow, tooling, and storage — the very backbone of our package creation process.
The move has been pivotal for our continued success as a project. Our package repositories contain nearly 14,000 packages at the time of this writing, and GitLab's collaborative features empower our package maintainers to seamlessly collaborate, promoting efficient and effective teamwork. Using GitLab as a central platform also enhances visibility across the project. We can now effortlessly trace the history of changes, collaborate on enhancements and bugs, and follow the evolution of each package — all in a single place.
I'm a devoted free open source software engineer and currently have the privilege of serving as the project leader of Arch Linux. In this article, I'll explain how and why we undertook this complex, but ultimately worthwhile, endeavor.
Understanding Arch Linux's infrastructure
To understand the complexity of this migration, you'll first need to understand the history of Arch's infrastructure.
Central to our distribution are our PKGBUILD packaging sources, which are the essential blueprints that shape each package installable with pacman from our official repositories. Previously, our packaging infrastructure relied on Subversion for managing our packaging sources.
For more than a decade of Arch Linux's development, Subversion served as a reliable companion for working with our packaging source code. However, the open source software development landscape has transformed significantly since the advent of the Arch Linux project; technologies have advanced and collaboration dynamics have evolved (note, for example, the popularization of DevOps processes and practices).
Recognizing the need to adapt and optimize, we started a journey that would shape the future of how members of the Arch Linux community work together. To enhance collaboration and pave the way for future improvements to Arch, we decided to undertake migration of our packaging sources to individual Git repositories, and we chose to host them with GitLab.
Migrating 14,000 Arch Linux packages
This would be no small task. Currently, the Arch Linux community maintains 13,930 installable packages, all of which are now managed in 12,138 individual Git repositories. But we knew the benefits would be worth the effort involved in such an enormous migration.
For example, one of the standout advantages of Git is its ability to empower packagers with a new level of insight into their work. The ease of inspecting local history would become a game-changer, especially as packaging evolved into a collective effort, with multiple maintainers collaborating to refine and enhance individual packages (Subversion requires a client-server connection to inspect the history).
But the decision to migrate was not just about adopting Git. It also reflected our aspiration to provide our community with an environment that fosters extensive collaboration. Our history with Subversion had shown its limitations in this regard (more on that in a moment). The synergy between Git packaging repositories and the GitLab platform was evident; it opened doors to enhanced collaboration, offered powerful version control features, and laid the groundwork for more efficient packaging processes.
The migration of Arch Linux's packaging infrastructure to GitLab was the pinnacle of several factors aligning perfectly. The need for a more robust collaboration platform, the growing prominence of Git, and the desire to utilize the benefits of modern version control converged to make this move a natural progression for Arch.
We decided it was time to get it done.
Three years and a weekend
Arch Linux has been gradually adopting and migrating operations to GitLab over the course of three years. Extending that migration to our packaging infrastructure was the next vital step of the process — and the pivotal moment of switching to GitLab hosting and workflow for packaging occurred within the span of a single weekend.
A change of this magnitude touches the very core of our distribution, and it was only possible with thorough, meticulous preparation. For weeks, our migration team diligently crafted a runbook that ensured every major aspect and change were considered, minimizing risk and boosting our confidence.
When our concentrated migration effort began, the migration team focused entirely on this rollout, everyone collaborating in a Jitsi video call with screen sharing. The strategic choice of a weekend for performing the migration aligned perfectly with our volunteer-driven community, offering sufficient time for a buffer and quick resolution to any unforeseen hiccups.
The first challenge was transferring our extensive Subversion history to GitLab. For some time, we had been running git-svn with a timer to be able to provide some packaging history to another repository. Our custom tooling made use of git-svn imports, which was a gigantic monorepo containing all packages as individual branches.
Our migration solution was a carefully crafted script that used git-filter-repo, of which we could run several instances in parallel and which also supported the ability to convert only repositories that changed since the last run (determined by deltas). The script also filtered history, commit messages, rewrote author data to incorporate our GitLab user handles, filtered unwanted files, and more. Additionally, we tagged all previous releases where we could determine the origin of the exact commit.
But the migration wasn't confined to a mere transfer of Subversion history to GitLab; it involved revisiting workflows, tools, and all software that interacted with the version control system. From redefining workflows to embracing new tools, every step was vital to ensuring that Arch Linux developed in a coherent way.
We also wanted to seize the moment as an opportunity to reimagine and revamp package maintainer tooling. So we also created pkgctl, a modern interface that not only refreshed and streamlined our tooling but also enhanced user and contributor experience.
Fortunately, the entire migration flowed seamlessly. By the end of the weekend, we had succeeded.
Benefits of a journey with GitLab
Our packaging migration was the latest milestone in Arch Linux's overall journey with GitLab. Migrating our packaging infrastructure to GitLab allows us to maximize and enjoy those improvements even more.
Since the Arch Linux community began migrating to GitLab in 2020, Arch maintainers and contributors have enjoyed a significantly improved experience interacting with and contributing to the project. The advantages not only enhance our current workflows but also open up exciting possibilities for the future.
Here's a rundown of the benefits we've seen from our overall migration so far.
Deeper collaboration
Before the migration, for example, lack of a dedicated collaborative platform for our packaging sources posed challenges to both users and package maintainers. While Flyspray, our bug tracker, was valuable, its scope was limited to tracking issues rather than facilitating meaningful collaboration. Proposed changes were often submitted as patch files in attachments, resulting in a cumbersome experience for users suggesting improvements and maintainers reviewing these changes.
The process of iterating through these patch files was tedious because we lacked the ability to comment on specific lines (not to mention the ability to discuss diverse sub-topics in individual threads).
Today, GitLab's standard merge request feature has improved this process dramatically. It helps us collaborate smoothly, allowing threaded discussions, precise comments, and code suggestions on individual code segments. Although merge requests are a simple, staple feature, their impact on streamlining our processes is invaluable, serving as the bedrock of GitLab's collaborative strength.
The ability to seamlessly integrate issue tracking and merge requests within the same platform fosters a more cohesive and efficient workflow for our entire community. We're looking forward to tracking and managing packaging-related issues, bugs, and enhancements directly within GitLab soon.
Better automation
Our use of GitLab CI/CD has played a crucial role in automating our development work across our software projects.
We utilize CI/CD pipelines for everything from running tests to auditing dependencies—even publishing release artifacts, such as Rust crates, automatically using a tag pipeline. The efficiency we gain through this functionality is invaluable for ensuring the integrity and quality of our projects. We've realized some security improvements, too. Automating our usage of dependencies means we become aware of tracked security issues in our software projects used dependencies via commit pipelines, as well as scheduled pipelines (so we can bump and potentially deploy/release our software projects in case its necessary).
Adopting GitLab has helped us better serve our community. The Service Desk feature has emerged as a game-changer, offering a streamlined channel to manage specific user requests. This integration with GitLab enhances the workflow without sacrificing overview.
And recently, we've significantly increased our use of GitLab Pages. We rely on Pages for publishing documentation, monthly reports, our Web Key Directory and static sites, and we're enthusiastic about expanding its application in the future.
More than new tools
Arch Linux's migration wasn't just about adopting the latest tools. Our motivation for migrating — and the positive consequences of the upgrade — reflect the values of open source communities like ours, where working together is essential for moving forward. By adopting GitLab, Arch Linux is improving our project's overall atmosphere, creating a space where contributions are welcomed, reviewed, and integrated more easily, and in a way that conforms to contemporary best practices.
We're proud to be GitLab Open Source Partners, and we extend our gratitude to GitLab for providing a platform that seamlessly aligns with our vision.
Diskussion
Ich freue mich auf Deine Beteiligung zum Artikel
Abschließender Hinweis
Die Blog-Beiträge haben nicht wie Enzyklopädie-Einträge (bspw. Wikipedia) den Anspruch, dauerhaft aktuell und richtig zu sein, sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Redaktionsschluss.Kritik, Anregungen oder Korrekturvorschläge zum Beitrag nehme ich gerne per E-Mail entgegen.