Kurz und ehrlich: Wenn du in deinem Shop eine App deinstallierst, verschwindet sie aus deiner App-Liste. Ihr Code verschwindet nicht immer mit. Viele Apps tragen beim Installieren ein Skript in dein Theme oder in die Bestellbestätigung ein, und beim Deinstallieren wird es nicht sauber wieder entfernt. Für dich ist die App weg, für deine Besucher lädt sie weiter.

Das ist mir auf meinem eigenen Shop passiert, und deshalb schreibe ich diesen Text.

Läuft bei dir noch eine App, die du längst gelöscht hast?
Genau solche Überbleibsel findet der Scan, weil er die Seite lädt wie ein Besucher und nicht in deine App-Liste schaut. Ich lese aus, welche Dienste auf deiner Seite laufen, und halte sie gegen das, was in deiner Erklärung steht. Rund 15 Sekunden, kostenlos, ohne Anmeldung.

Was genau passiert ist

In meinem Shop lief eine Bewertungs-App. Irgendwann habe ich sie deinstalliert, sie verschwand aus der Liste, die Sache war für mich erledigt.

Monate später scannte ich meine eigene Seite. Die App tauchte im Ergebnis wieder auf. Ich hielt es für einen Fehler meines eigenen Werkzeugs, öffnete den Seitenquelltext und suchte nach dem Namen. Da stand ein Skript, das bei jedem Seitenaufruf von einem Server der Firma nachgeladen wurde.

Damit ging bei jedem Besuch die IP-Adresse meiner Kundschaft an ein Unternehmen, mit dem ich längst keine Geschäftsbeziehung mehr hatte. Ich wusste es nicht. Ich hätte es auch nie herausgefunden, wenn ich nicht zufällig danach gesucht hätte.

Warum das so oft vorkommt

Shopify-Apps können auf mehreren Wegen Code in deinen Shop bringen:

  • Über ein Skript-Tag, das die App per Schnittstelle registriert. Beim Deinstallieren sollte sie es wieder entfernen. Nicht jede tut das.
  • Über dein Theme. Manche Apps bitten dich beim Einrichten, einen Schnipsel einzufügen, oder tun es selbst. Der bleibt beim Deinstallieren fast immer liegen.
  • Über die zusätzlichen Skripts auf der Bestellbestätigung. Ein Klassiker, weil dort selten jemand nachschaut.

Bei allen dreien gilt: die App ist weg, der Code nicht.

Warum das mehr ist als Kosmetik

Zwei Gründe, und der erste hat nichts mit Recht zu tun.

Deine Seite wird langsamer. Jedes Skript ist eine zusätzliche Verbindung zu einem fremden Server. Für einen Dienst, den du nicht mehr nutzt, ist das reiner Verlust.

Es fliessen weiterhin Personendaten. Sobald der Browser deiner Kundschaft eine Datei von einem fremden Server holt, kennt dieser Server die IP-Adresse, den Zeitpunkt und deine Shop-Adresse. Nach dem revDSG ist das eine Bekanntgabe, über die du informieren musst, samt Staat und Grundlage. Steht der Dienst nicht in deiner Erklärung, fehlt genau diese Angabe.

So findest du es

Von Hand, in zwei Minuten. Öffne deinen Shop, mach einen Rechtsklick, wähle „Seitenquelltext anzeigen“ und suche mit der Tastenkombination für Suchen nach dem Namen der App. Findest du eine Zeile mit `<script src=…` oder eine fremde Adresse, lädt der Dienst noch.

Das findet allerdings nur, was schon im ersten HTML steht. Vieles wird erst später im Browser nachgeladen und taucht dort nicht auf.

Vollständiger geht es mit einem Scan, der die Seite wie ein Besucher lädt und jede Anfrage protokolliert, die dabei nach aussen geht. Alle drei Wege im Vergleich, samt ihren Grenzen, stehen in Welche Dienste laufen auf meiner Website?.

So wirst du es los

Der Reihe nach, vom Wahrscheinlichsten zum Selteneren:

1. Einstellungen → Checkout → Zusätzliche Skripts. Hier liegen die Reste von allem, was je auf der Bestellbestätigung mitgelaufen ist.

2. Dein Theme. Unter Verkaufskanäle → Onlineshop → Themes → Code bearbeiten, dann in `theme.liquid` nach dem Namen suchen. Vorher eine Kopie des Themes anlegen.

3. Zurückgelassene Skript-Tags. Die siehst du im Adminbereich nicht. Wenn du nach den ersten beiden Schritten immer noch Funde hast, hilft meist, die App kurz erneut zu installieren und sauber wieder zu entfernen.

Bist du unsicher, ändere nichts selbst. Ein falsch gelöschter Schnipsel kann deinen Checkout beschädigen. Gib die Fundstelle deiner Webagentur weiter, für die ist es eine Sache von Minuten.

Und wenn du ihn behältst

Manche Dienste willst du weiterlaufen lassen, du hast sie nur aus der App-Liste entfernt, weil die Funktion inzwischen woanders steckt. Dann ist entfernen nicht nötig, aber deklarieren schon: mit Zweck, der Gesellschaft, die die Daten als Vertragspartnerin erhält, und dem Staat, in den sie gehen.

Wie verbreitet das ist

In meiner Erhebung über 206 Schweizer Websites nutzten 103 der 141 Seiten mit Erklärung mindestens einen Dienst, den ihr Text nicht nannte. Ein Teil davon sind genau solche Reste: Werkzeuge, von denen der Betreiber überzeugt war, sie längst entfernt zu haben.

Läuft bei dir noch eine App, die du längst gelöscht hast?
Genau solche Überbleibsel findet der Scan, weil er die Seite lädt wie ein Besucher und nicht in deine App-Liste schaut. Ich lese aus, welche Dienste auf deiner Seite laufen, und halte sie gegen das, was in deiner Erklärung steht. Rund 15 Sekunden, kostenlos, ohne Anmeldung.