Kundenprojekt · Rechtsberatung

Rechtsanwälte Thomas Schmid & Kollegen

Website einer Ulmer Kanzlei mit Rechtsgebieten, Anwaltsprofilen, Mandanteninformationen und Kontaktstrecke.

Zeitraum
2025 – 2026
Meine Rolle
Konzeption, Entwicklung, Suchmaschinenoptimierung, Sicherheitsüberprüfung
Technologien
React 18 · TypeScript · Vite · Tailwind CSS · Supabase
Hosting
Vercel, statisch vorgerendert; Supabase Edge Function für die Kontaktstrecke
Status
im Einsatz
Live
www.kanzlei-tschmid.de, öffnet in neuem Tab
Seite Unsere Kanzlei auf kanzlei-tschmid.de: links die weinrote Navigation mit Wortmarke und den Menüpunkten von Startseite bis Datenschutz, rechts ein Foto des Kanzleigebäudes von der Straße aus, darunter die Überschrift, der Untertitel und der Beginn des Abschnitts Philosophie

Worum es geht

Die Website stellt die zehn Rechtsgebiete der Kanzlei dar, stellt die Ansprechpartner vor, hält Mandanteninformationen bereit und ermöglicht den Erstkontakt über ein Formular. Den Bereich Aktuelles pflegt die Kanzlei selbst über einen Redaktionsbereich mit Anmeldung.

Eine Kanzlei wird über Suchmaschinen gefunden. Der Schwerpunkt liegt deshalb auf Auffindbarkeit und darauf, dass die Inhalte auch ohne JavaScript vollständig ausgeliefert werden.

Meine Rolle

Konzeption, vollständige Entwicklung, Suchmaschinenoptimierung und Datenschutzumsetzung stammen von mir, ebenso die Sicherheitsüberprüfung vom September 2026.

Technische Umsetzung

  1. Statisches Prerendering

    Die Anwendung ist in React gebaut und wird vor der Auslieferung mit Puppeteer zu statischem HTML vorgerendert. Suchmaschinen und Besucher ohne JavaScript erhalten vollständige Inhalte. Unbekannte Pfade liefern einen echten 404-Status.

  2. Keine Drittanbieter beim Seitenaufruf

    Schriften und Bilder der Seiten liegen auf dem eigenen Host; Beitragsbilder aus dem Redaktionsbereich liefert das eigene Backend aus. Das eingebettete Video lädt erst nach ausdrücklicher Einwilligung und dann über die cookiefreie Variante des Anbieters. Ein Audit über alle 27 Routen ohne Einwilligung protokollierte 394 Anfragen; einziger Fremdkontakt ist das eigene Backend, das auf der Seite Aktuelles die Beiträge lädt.

  3. Abgesicherte Kontaktstrecke

    Die Formularübermittlung läuft über eine serverlose Funktion mit festem Empfänger, Herkunftsprüfung, Ratenbegrenzung je Absender, verstecktem Prüffeld gegen automatische Einsendungen und Größenbegrenzung auf 16 KiB. Die IP-Adresse des Absenders wird für die Ratenbegrenzung nur als gesalzener SHA-256-Hash gehalten, nicht im Klartext. Der Zugangsschlüssel zum Mailversand liegt serverseitig; ein Grep über alle 97 ausgelieferten Dateien ergab keinen Treffer.

  4. Sicherheits-Header

    Der Server liefert eine Content-Security-Policy, die außer dem eigenen Host nur das Backend für Beiträge und den Videorahmen der cookiefreien Anbietervariante zulässt, dazu eine Permissions-Policy, die Kamera, Mikrofon, Standort und Zahlungsschnittstellen sperrt, sowie X-Frame-Options, nosniff, HSTS und eine Referrer-Policy.

Sicherheitsüberprüfung

Im September 2026 habe ich die Website einer systematischen Prüfung unterzogen: Abgleich der Aussagen mit dem Quelltext, Protokollierung aller Netzwerkanfragen über sämtliche Routen, Suche nach Zugangsdaten im ausgelieferten Code und Prüfung der Antwort-Header.

Die Prüfung ergab eine Schwachstelle in der Formularübermittlung: Die Empfängeradresse wurde vom Browser mitgesendet, sodass sich technisch E-Mails im Namen der Kanzlei an beliebige Empfänger hätten auslösen lassen. Die Übermittlung wurde umgebaut, der Empfänger liegt jetzt fest auf dem Server, und die Absicherung aus Punkt 03 kam hinzu. Eine Testreihe mit elf Prüfungen gegen die Funktion belegt das Verhalten, acht davon wurden gegen die Live-Adresse wiederholt.

Aus derselben Prüfung folgten die übrigen Maßnahmen: Ablösung extern geladener Bilder durch eigene WebP-Dateien, die Sicherheits-Header, echte Fehlerstatus für unbekannte Pfade und die Härtung des Bildspeichers im Redaktionsbereich auf Rasterformate bis 5 MB.

Messwerte

Lighthouse, mobil, gemessen am 17. September 2026 gegen die Live-Adresse in einem Browserfenster ohne Erweiterungen: Performance 90 · Barrierefreiheit 93 · Best Practices 100 · Suchmaschinenoptimierung 100.