Lufthansa bindet bei Buchung JavaScript von Marketing-Anbieter Tealium ein

Gastbeitrag von FrauTux

FrauTux ist der Alptraum aller faulen Datenschutzbeauftragten und für die eine oder andere (bittersüße) Kritik hier verantwortlich. Seit 2011 beschäftigt sie sich beruflich mit dem Datenschutz. Sie ist Informatikerin mit Schwerpunkt IT-Sicherheit und mag keine Einführungstexte oder wenn jemand als Experte bezeichnet wird. Seit 2019 schreibt sie für den Kuketz Blog und hat sich hier intensiv mit den Bereichen Tourismus und Bildung auseinandergesetzt. Ihre Spezialität: Komplexe Themen möglichst verständlich und manchmal auch humorvoll aufzubereiten.

Beim Buchungsformular (https://book.lufthansa.com) der Lufthansa werden wichtige Informationen zu eurer Person und eurem Flug erfasst:

  • Name ggf. auch Zweitname
  • Adresse
  • Zahlungsinformation
  • Identifikationsdokumente wie bspw. Reisepassnummer
  • ggf. Mitreisende
  • Essenswünsche / Allergien (Teil des PNR)
  • u. v. m.

In diesen Kontext wird ebenfalls ein JavaScript

https://tags.tiqcdn.com/utag/lufthansa/main/prod/utag.js

vom US-Marketing-Anbieter Tealium (Tracking, Big-Data etc) eingebunden. Interessant bei dem von dieser Firma nachgeladenen Code-Schnipsel ist dabei insbesondere folgender Ausschnitt:

else if(a==='app/WeatherData/UPDATE_SELECTED_CLIMATE_GRAPH'){if(p){let params=JSON.parse(JSON.stringify(p));if(params){if(params["name"]){fire=true;tv='co click ppfi';ec=nfcStr;ea='click';el="weather | climate graph | "+params.name;}}}}
else if(a==='app/HealthDocumentInspector/FETCH_PNR_DETAILS_REQUESTED'){fire=true;tv='co ddc click btn in step0 provide flight info';ec='digital doc check';ea='click';el='PNR DETAILS REQUESTED';}
else if(a==='app/HealthDocumentInspector/FETCH_PNR_DETAILS_SUCCEEDED'){fire=true;tv='co ddc display of step1 Passengers details';ec='digital doc check';ea='show';el='FETCH PNR DETAILS SUCCEEDED';}
else if(a==='app/HealthDocumentInspector/SAVE_PASSENGER_DETAILS'){fire=true;tv='co ddc click to step2 Upload certificates';ec='digital doc check';ea='click';el='SAVE PASSENGER DETAILS';}
else if(a==='app/HealthDocumentInspector/SAVE_CERTIFICATE_DETAILS'){fire=true;tv='co ddc click to step3 Upload additional entry documents';ec='digital doc check';ea='click';el='SAVE CERTIFICATE DETAILS';}
else if(a==='app/HealthDocumentInspector/SAVE_ADDITIONAL_CERTIFICATE'){fire=true;tv='co ddc click to step3 Upload additional entry documents';ec='digital doc check';ea='click';el='SAVE ADDITIONAL CERTIFICATE';}
else if(a==='app/HealthDocumentInspector/SAVE_BORDER_ENTRY_DOCUMENTS'){fire=true;tv='co ddc click to step4 consent and submit';ec='digital doc check';ea='click';el='SAVE BORDER ENTRY DOCUMENTS';}
else if(a==='app/HealthDocumentInspector/CHECK_FORM_IS_CHANGED'){fire=true;tv='co ddc click to step4 consent and submit';ec='digital doc check';ea='click';el='CHECK FORM IS CHANGED';}
else if(a==='app/HealthDocumentInspector/SUBMIT_USER_CONSENT_FORM_REQUESTED'){fire=true;tv='co ddc click last step consent and submit';ec='digital doc check';ea='click';el='SUBMIT USER CONSENT FORM REQUESTED';}
else if(a==='app/HealthDocumentInspector/UPLOAD_HEALTH_DOCUMENT_FORM_REQUESTED'){fire=true;tv='co ddc click last step consent and submit';ec='digital doc check';ea='click';el='UPLOAD HEALTH DOCUMENT FORM REQUESTED';}
else if(a==='app/HealthDocumentInspector/UPLOAD_HEALTH_DOCUMENT_FORM_SUCCEEDED'){fire=true;tv='co ddc show last step Thank you Upload successfull';ec='digital doc check';ea='show';el='UPLOAD HEALTH DOCUMENT FORM SUCCEEDED';}
else if(a==='@@redux-form/SET_SUBMIT_FAILED'&&(document.querySelectorAll(".healthdocumentinspector .progress-bar-container .col:not(.inactive) .index-indicator.text-center").length>0||document.querySelectorAll(".healthdocumentinspector .tab-links a").length>0)){fire=true;var myStep=(document.querySelectorAll(".healthdocumentinspector .progress-bar-container .col:not(.inactive) .index-indicator.text-center").length>0)?document.querySelector(".healthdocumentinspector .progress-bar-container .col:not(.inactive) .index-indicator.text-center").innerText:(document.querySelector(".healthdocumentinspector .tab-links .tab-nav-link-wrapper:nth-child(1) a").classList.value.indexOf("tab-active")>=0?"1 booking code":"2 ticket number");tv='co ddc error first step'+myStep+' fields empty';ec='digital doc check';ea='error';el=(myStep=="1")?'PNR DETAILS EMPTY':'ERROR FORM STEP'+myStep;}else if(a.indexOf("HealthDocumentInspector")>0){var step=parseInt(document.querySelector("div.container.contentpage-wrapper div.healthdocumentinspector div.progress-bar-container div.progress-bar-wrapper > span").getAttribute("style").split(":")[1].replace(/\D+/g,''))/25;var eventLabel=a.split("/HealthDocumentInspector/")[1].replace(/_/g," ").toLowerCase();fire=true;tv='co ddc click step '+step+' - '+eventLabel;ec='digital doc check';ea='click';el=eventLabel.toUpperCase();}

Potenziell hat das eingebundene JavaScript Zugriff auf alle auf der Webseite eingegebenen Daten, darunter insbesondere auch die nach der DSGVO besonders geschützten Gesundheitsinformationen.

Im Tealium Skript tauchen folgende Referenzen auf:

  • PNR Records (Namen ggf. Geburtsdaten)
  • Gesundheitsdaten (Health Document)
  • Passagierdetails (ggf. Adresse, Sitzplatz, Allergien etc.)

Man muss sich vor Augen führen: Dieses JavaScript ist auf einer Website aktiv, die auch Zahlungsinformationen und Gesundheitsdaten übermittelt. Gesundheitsdaten zählen zu nach Art 9. DSGVO zu den besonders schützenswerten Daten. In der Datenschutzerklärung der Lufthansa ist zu Tealium nichts zu finden. Kunden der Lufthansa sollten eine Art. 15 DSGVO-Auskunft bei der Lufthansa einreichen, die wie folgt aussehen könnte:

Betreff: Auskunft gem. Art 15 DSGVO

Sehr geehrte Damen und Herren,

ich bin Kunde der Lufthansa und habe hierfür in den vergangenen Jahren Ihr Buchungsformular genutzt. Beim Buchungsvorgang werden Daten an das Big Data Unternehmen Tealium Inc. (11095 Torreyana Road San Diego, CA 92121) übermittelt. Nach Art. 15 DSGVO verlange ich hiermit Auskunft darüber, welche Daten zu meiner Person bzw. meinen Buchungen an Tealium Inc. übermittelt wurden.

Zur Identifikation meiner Person anbei:

  • Name: XY
  • Adresse: XY
  • ggf. Lufthansa ID / Kundenummer: XY

Ich erwarte binnen der gesetzlichen Frist von einem Monat Ihre Rückmeldung.

Mit freundlichen Grüßen
XY

Es dürfte spannend werden, was die Lufthansa darauf antwortet.

Hinweis

Laut Tracker Radar wird das JavaScript von Tealium von diversen Webseiten eingebunden, was theoretisch ein seitenübergreifendes User-Tracking ermöglicht.

Scan nach offenen Ports auf den Rechnern der Nutzer

Doch das war noch nicht alles, denn auch der bereits durch eBay negativ aufgefallene Dienst »ThreatMetrix« ist im Buchungsformular aktiv. Wenn die Domain book.lufthansa.com von Windows-Usern besucht wird, scannt ein JavaScript namens check.js im Hintergrund auf offene Ports auf den Rechnern der Besucher. Auf diesen Umstand wird weder in den Datenschutzbestimmungen der Lufthansa hingewiesen, noch wird der Nutzer anderweitig hierüber informiert oder gar nach seiner Einwilligung gefragt.

Hilf mit die Spendenziele zu erreichen! Mitmachen ➡