Fotografen-Website in Kassel, Teamprojekt

Neue Website für ein Fotostudio in Kassel: 16 Seiten, statisch, mit eigenem Node-Server für die Auslieferung. Teamprojekt: 39 Commits, davon 8 von mir. Mein Anteil lag auf der Seite, die man nicht sieht: ein fremdes Chat-Widget so einbinden, dass es ohne Einwilligung gar nicht erst lädt.

Vorher und nachher

Fritz ist Frieda, Vorher und nachher
Links die frühere Website, rechts die heutige. Beide Aufnahmen in derselben Fensterbreite, ohne Cookie-Leiste.

Mein Anteil

  • Chat-Widget der ADON CRM auf allen 15 Seiten eingebunden, nicht als direktes Script, sondern über einen Consent-Loader: vor der Einwilligung steht es gar nicht im DOM
  • Das fremde Widget vorher auseinandergenommen, bevor es hereindurfte: XHR mit Polling, Shadow DOM, kein iframe, kein WebSocket, spricht ausschließlich mit der eigenen Adresse
  • Neue Cookie-Kategorie Funktional angelegt und die Consent-Version erhöht. Ein neuer Verarbeitungszweck verlangt, erneut zu fragen
  • CSP auf dem Server erweitert: die Adresse des Widgets in script-src und connect-src
  • Cookies nach Planet49 gestellt: Analyse und Marketing standardmäßig aus, Funktional ebenso
  • Abschnitt zum Chat in der Datenschutzerklärung ergänzt
  • Erste Bildschirmseite: Bildrahmen so gesetzt, dass das Foto ihn ausfüllt; Studiotexte überarbeitet

Verifikation

  • Vor der Einwilligung: kein Widget im DOM, per Selektor geprüft, das Script ist nicht vorhanden
  • Nach Zustimmung zur Kategorie Funktional: das Widget wird eingefügt und baut sein Shadow-DOM-UI auf
  • Beim erneuten Aufruf mit gespeicherter Einwilligung lädt es von selbst
  • Keine CSP-Verstöße in der Konsole; die Verbindung zur API ist erlaubt, iframe und WebSocket werden nicht gebraucht
  • Der ganze Vorgang liegt als Integrationsjournal im Repository, nachvollziehbar, nicht nur behauptet

Technik: HTML, CSS, JavaScript, Node.js (Auslieferung und CSP), Docker

fritzistfrieda.de