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

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-srcundconnect-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