From 99ab47ba1ff7d957e338720938d7f8c658ab8540 Mon Sep 17 00:00:00 2001 From: Kevin Adametz Date: Fri, 3 Jul 2026 16:17:59 +0000 Subject: [PATCH] Datenschutzerklaerung v0.3 eingebaut, Cookie-Seite zurueckgebaut - Datenschutz: vollstaendige v0.3 aus docs/legal, host-aware Bausteine (Hub: Kundenkonto/Login-Magic-Link/Stripe; Spokes: Medienprivileg, Newsroom, Aenderungslink-Variante); Systemwerte aufgeloest (Magic-Link 15 Min. aus MagicLinkGenerator, Logs 14 Tage, Stripe Payments Europe); ersetzt den Platzhalter samt falscher Google-Analytics-Behauptung - Cookie-Seite raus (Cookies stehen in Abschnitt 4 der Datenschutz- erklaerung, kein Banner noetig): Route -> 301 auf /datenschutz, Legacy-Alias cookies.html -> datenschutz, Footer + Sitemap bereinigt Co-Authored-By: Claude Fable 5 --- .../Controllers/Web/SitemapController.php | 4 +- .../components/web/hub/site-footer.blade.php | 1 - .../components/web/site-footer.blade.php | 1 - resources/views/web/cookies.blade.php | 120 ---- resources/views/web/datenschutz.blade.php | 590 ++++++++++++++++-- routes/web.php | 7 +- tests/Feature/Web/HubStaticPageShellTest.php | 2 +- tests/Feature/Web/NavigationLinksTest.php | 10 +- tests/Feature/Web/PressekontoHubHomeTest.php | 5 +- tests/Feature/Web/StaticPagesTest.php | 23 +- 10 files changed, 563 insertions(+), 200 deletions(-) delete mode 100644 resources/views/web/cookies.blade.php diff --git a/app/Http/Controllers/Web/SitemapController.php b/app/Http/Controllers/Web/SitemapController.php index 745e4e10..abe1c499 100644 --- a/app/Http/Controllers/Web/SitemapController.php +++ b/app/Http/Controllers/Web/SitemapController.php @@ -25,13 +25,13 @@ class SitemapController extends Controller /** @var list */ private const HUB_PAGES = [ 'faq', 'hilfe', 'api', 'kuendigung', - 'impressum', 'datenschutz', 'agb', 'cookies', 'richtlinien', 'melden', + 'impressum', 'datenschutz', 'agb', 'richtlinien', 'melden', ]; /** @var list */ private const PORTAL_PAGES = [ 'preise', 'veroeffentlichen', 'newsrooms', 'faq', 'hilfe', 'api', - 'impressum', 'datenschutz', 'agb', 'cookies', 'richtlinien', 'melden', + 'impressum', 'datenschutz', 'agb', 'richtlinien', 'melden', ]; public function __invoke(Request $request): Response diff --git a/resources/views/components/web/hub/site-footer.blade.php b/resources/views/components/web/hub/site-footer.blade.php index cd7958de..955a9c6f 100644 --- a/resources/views/components/web/hub/site-footer.blade.php +++ b/resources/views/components/web/hub/site-footer.blade.php @@ -66,7 +66,6 @@
  • Veröffentlichungsrichtlinien
  • Inhalte melden
  • Datenschutz
  • -
  • Cookies
  • {{-- Selfservice-Kündigung ohne Login (Entscheidung E2/T3neu: B2B-only, der Button bleibt freiwillig über den B2B-Standard hinaus erhalten; diff --git a/resources/views/components/web/site-footer.blade.php b/resources/views/components/web/site-footer.blade.php index efaf2a0a..609348b6 100644 --- a/resources/views/components/web/site-footer.blade.php +++ b/resources/views/components/web/site-footer.blade.php @@ -78,7 +78,6 @@ AGB Richtlinien Inhalte melden - Cookies Datenschutz diff --git a/resources/views/web/cookies.blade.php b/resources/views/web/cookies.blade.php deleted file mode 100644 index 2d3786a4..00000000 --- a/resources/views/web/cookies.blade.php +++ /dev/null @@ -1,120 +0,0 @@ -@extends('web.layouts.web-master') - -@section('title', 'Cookie-Richtlinien') -@section('meta_description', 'Informationen zu den auf dieser Website eingesetzten Cookies und deren Verwaltung.') - -@section('content') - - {{-- Platzhalter-Text — vor Go-Live an das echte Cookie-/Consent-Setup anpassen. --}} -
    -

    Was sind Cookies?

    -

    - Cookies sind kleine Textdateien, die auf Ihrem Computer oder mobilen Gerät gespeichert werden, wenn - Sie eine Website besuchen. Sie ermöglichen es der Website, Ihr Gerät zu erkennen und bestimmte - Informationen über Ihre Nutzung zu speichern. -

    -

    - Wir verwenden Cookies, um Ihnen ein optimales Nutzungserlebnis zu bieten und unsere Website - kontinuierlich zu verbessern. -

    - -

    Welche Cookies verwenden wir?

    - -

    1. Notwendige Cookies

    -

    - Diese Cookies sind für den Betrieb der Website unbedingt erforderlich und können nicht deaktiviert - werden. Beispiele: -

    -
      -
    • Session-Cookies (Anmeldung)
    • -
    • Sicherheits-Cookies (CSRF-Schutz)
    • -
    • Cookie-Einwilligungs-Cookies
    • -
    - -

    2. Funktionale Cookies

    -

    Diese Cookies ermöglichen erweiterte Funktionalitäten und Personalisierung. Beispiele:

    -
      -
    • Spracheinstellungen
    • -
    • Dark-Mode-Präferenzen
    • -
    • Gespeicherte Filtereinstellungen
    • -
    - -

    3. Analytische Cookies

    -

    Diese Cookies helfen uns zu verstehen, wie Besucher mit unserer Website interagieren. Dienste:

    -
      -
    • Google Analytics (anonymisiert)
    • -
    • Interne Analysetools
    • -
    - -

    4. Marketing-Cookies

    -

    Diese Cookies werden verwendet, um Ihnen relevante Werbung anzuzeigen. Beispiele:

    -
      -
    • Remarketing-Cookies
    • -
    • Social Media Tracking
    • -
    -
    - - {{-- Cookie-Laufzeiten als editoriale Tabelle (außerhalb .pm-body für klare Rahmung). --}} -
    -

    Cookie-Laufzeiten

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Cookie-TypLaufzeit
    Session-CookiesBis zum Schließen des Browsers
    Funktionale Cookies1 Jahr
    Analytische Cookies2 Jahre
    Marketing-Cookies1 Jahr
    -
    -
    - -
    -

    Wie können Sie Cookies verwalten?

    -

    Sie können Ihre Cookie-Einstellungen jederzeit ändern. Die meisten Browser erlauben es Ihnen:

    -
      -
    • Cookies anzuzeigen und zu löschen
    • -
    • Cookies von Drittanbietern zu blockieren
    • -
    • Alle Cookies zu blockieren
    • -
    • Cookies beim Schließen des Browsers zu löschen
    • -
    -

    - Bitte beachten Sie, dass das Deaktivieren von Cookies die Funktionalität unserer Website - beeinträchtigen kann. -

    - -

    Weitere Informationen

    -

    - Weitere Informationen zum Datenschutz finden Sie in unserer - Datenschutzerklärung. -

    -

    - Bei Fragen zu unseren Cookie-Richtlinien kontaktieren Sie uns bitte unter: - datenschutz@businessportal.de -

    -
    -
    -@endsection diff --git a/resources/views/web/datenschutz.blade.php b/resources/views/web/datenschutz.blade.php index 4685b58e..c5563f45 100644 --- a/resources/views/web/datenschutz.blade.php +++ b/resources/views/web/datenschutz.blade.php @@ -1,98 +1,552 @@ @extends('web.layouts.web-master') @section('title', 'Datenschutzerklärung') -@section('meta_description', 'Informationen zur Verarbeitung personenbezogener Daten auf dieser Website.') +@section('meta_description', 'Informationen zur Verarbeitung personenbezogener Daten: Hosting, Kundenkonto, Zahlungsabwicklung, Inhaltsprüfung, Meldeverfahren und Ihre Rechte.') + +@php + // Datenschutzerklärung v0.3 (docs/legal, 03.07.2026) — Bausteine je Host: + // Hub rendert Kundenkonto/Stripe/Login-Variante, die Spokes die + // Portal-Bausteine (Medienprivileg, Newsroom, Änderungslink-Variante). + // Systemwerte: Magic-Link-TTL 15 Min. (MagicLinkGenerator::createLoginLink). + $host = request()->getHost(); + $isHub = str_contains($host, 'pressekonto'); + $brandKey = $isHub ? 'pressekonto' : (str_contains($host, 'presseecho') ? 'presseecho' : 'businessportal24'); + $brand = config('domains.domains.'.$brandKey.'.brand', []); + $portalName = ($brand['name'] ?? '').($brand['accent'] ?? ''); + $contactEmail = $brand['contact_email'] ?? 'info@businessportal24.com'; + $reportEmail = $brand['report_email'] ?? $contactEmail; + $hubUrl = rtrim((string) config('domains.domain_portal_url', config('app.url')), '/'); + $hubLabel = str_replace(['https://', 'http://'], '', $hubUrl); + $magicLinkTtl = '15 Minuten'; +@endphp @section('content') - {{-- Platzhalter-Text — vor Go-Live durch die finale Datenschutzerklärung ersetzen. --}}
    -

    1. Datenschutz auf einen Blick

    -

    Allgemeine Hinweise

    +

    1. Verantwortlicher

    +

    Verantwortlicher für die Datenverarbeitung auf {{ $host }} ist:

    - Die folgenden Hinweise geben einen einfachen Überblick darüber, was mit Ihren personenbezogenen - Daten passiert, wenn Sie diese Website besuchen. Personenbezogene Daten sind alle Daten, mit denen - Sie persönlich identifiziert werden können. + adametz.media
    + Inhaber: Kevin Adametz
    + In der Lake 4
    + 33739 Bielefeld
    + E-Mail: {{ $contactEmail }}

    -

    Datenerfassung auf dieser Website

    +

    2. Grundsätze und Rechtsgrundlagen

    - Wer ist verantwortlich für die Datenerfassung auf dieser Website?
    - Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen Kontaktdaten - können Sie dem Abschnitt „Hinweis zur Verantwortlichen Stelle" in dieser Datenschutzerklärung - entnehmen. + Wir verarbeiten personenbezogene Daten nur, soweit dies für den Betrieb dieses Angebots, + die Erbringung unserer Leistungen, die Bearbeitung von Anfragen oder aufgrund gesetzlicher + Pflichten erforderlich ist.

    - -

    2. Hosting

    -

    Wir hosten die Inhalte unserer Website bei folgenden Anbietern:

    -

    Externes Hosting

    - Diese Website wird extern gehostet. Die personenbezogenen Daten, die auf dieser Website erfasst - werden, werden auf den Servern des Hosters / der Hoster gespeichert. Hierbei kann es sich v. a. um - IP-Adressen, Kontaktanfragen, Meta- und Kommunikationsdaten, Vertragsdaten, Kontaktdaten, Namen, - Websitezugriffe und sonstige Daten, die über eine Website generiert werden, handeln. -

    - -

    3. Allgemeine Hinweise und Pflichtinformationen

    -

    Datenschutz

    -

    - Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln - Ihre personenbezogenen Daten vertraulich und entsprechend den gesetzlichen Datenschutzvorschriften - sowie dieser Datenschutzerklärung. -

    - -

    4. Datenerfassung auf dieser Website

    -

    Cookies

    -

    - Unsere Internetseiten verwenden so genannte „Cookies". Cookies sind kleine Datenpakete und richten - auf Ihrem Endgerät keinen Schaden an. Sie werden entweder vorübergehend für die Dauer einer Sitzung - (Session-Cookies) oder dauerhaft (permanente Cookies) auf Ihrem Endgerät gespeichert. -

    -

    Server-Log-Dateien

    -

    - Der Provider der Seiten erhebt und speichert automatisch Informationen in so genannten - Server-Log-Dateien, die Ihr Browser automatisch an uns übermittelt. Dies sind: + Die jeweilige Rechtsgrundlage nennen wir in den einzelnen Abschnitten dieser + Datenschutzerklärung. Je nach Verarbeitung kommen insbesondere folgende Rechtsgrundlagen in + Betracht:

      -
    • Browsertyp und Browserversion
    • -
    • verwendetes Betriebssystem
    • -
    • Referrer URL
    • -
    • Hostname des zugreifenden Rechners
    • -
    • Uhrzeit der Serveranfrage
    • -
    • IP-Adresse
    • +
    • Art. 6 Abs. 1 lit. b DSGVO, soweit die Verarbeitung zur Erfüllung eines Vertrags oder zur Durchführung vorvertraglicher Maßnahmen erforderlich ist,
    • +
    • Art. 6 Abs. 1 lit. c DSGVO, soweit wir rechtlich zur Verarbeitung verpflichtet sind,
    • +
    • Art. 6 Abs. 1 lit. f DSGVO, soweit die Verarbeitung zur Wahrung berechtigter Interessen erforderlich ist,
    • +
    • Art. 85 DSGVO in Verbindung mit den jeweils anwendbaren medien- und presserechtlichen Sonderregelungen, soweit personenbezogene Daten zu journalistisch-redaktionellen Zwecken verarbeitet werden.
    - -

    5. Analyse-Tools und Werbung

    -

    Google Analytics

    - Diese Website nutzt Funktionen des Webanalysedienstes Google Analytics. Anbieter ist die Google - Ireland Limited („Google"), Gordon House, Barrow Street, Dublin 4, Irland. + Eine Weitergabe personenbezogener Daten an Dritte erfolgt nur, wenn sie in dieser + Datenschutzerklärung beschrieben ist, wenn sie für die Leistungserbringung erforderlich + ist, wenn eine gesetzliche Pflicht besteht oder wenn Sie eingewilligt haben.

    +

    Wir verkaufen keine personenbezogenen Daten und schalten keine personalisierte Werbung.

    +

    Die Übertragung dieser Website erfolgt verschlüsselt über TLS.

    -

    6. Newsletter

    -

    Newsletterdaten

    +

    3. Hosting und Server-Logs

    - Wenn Sie den auf der Website angebotenen Newsletter beziehen möchten, benötigen wir von Ihnen eine - E-Mail-Adresse sowie Informationen, welche uns die Überprüfung gestatten, dass Sie der Inhaber der - angegebenen E-Mail-Adresse sind und mit dem Empfang des Newsletters einverstanden sind. + Unsere Systeme werden bei der Hetzner Online GmbH, Industriestr. 25, 91710 Gunzenhausen, + Deutschland, betrieben. Mit Hetzner besteht ein Vertrag zur Auftragsverarbeitung gemäß + Art. 28 DSGVO. +

    +

    + Beim Aufruf unserer Seiten verarbeitet der Webserver technisch notwendige Verbindungsdaten. + Dazu gehören insbesondere:

    - -

    7. Ihre Rechte

    -

    Sie haben folgende Rechte:

      -
    • Recht auf Auskunft über Ihre gespeicherten personenbezogenen Daten
    • -
    • Recht auf Berichtigung unrichtiger Daten
    • -
    • Recht auf Löschung Ihrer Daten
    • -
    • Recht auf Einschränkung der Datenverarbeitung
    • -
    • Recht auf Datenübertragbarkeit
    • -
    • Widerspruchsrecht gegen die Datenverarbeitung
    • -
    • Beschwerderecht bei einer Aufsichtsbehörde
    • +
    • IP-Adresse,
    • +
    • Zeitpunkt des Aufrufs,
    • +
    • aufgerufene Seite,
    • +
    • übertragene Datenmenge,
    • +
    • Referrer-URL,
    • +
    • User-Agent,
    • +
    • technische Statuscodes.
    +

    + Die Verarbeitung erfolgt zur Bereitstellung, Sicherheit, Stabilität und Fehleranalyse + unseres Angebots. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. +

    +

    + Die Server-Logs werden grundsätzlich nach 14 Tagen gelöscht, sofern kein + sicherheitsrelevanter Vorfall oder eine rechtliche Pflicht eine längere Aufbewahrung + erforderlich macht. +

    + +

    4. Cookies und technisch notwendige Speicherungen

    +

    Wir verwenden keine Marketing-Cookies und keine Tracking-Cookies.

    + @if ($isHub) +

    + Auf {{ $hubLabel }} werden ausschließlich technisch notwendige Cookies und + vergleichbare Speichertechnologien eingesetzt. Dazu gehören insbesondere + Sitzungs-Cookies für den Login, Sicherheits-Token und technisch erforderliche + Speicherungen für das Kundenkonto. Diese sind für den Betrieb des Kundenkontos und die + Bereitstellung der von Ihnen angeforderten Funktionen erforderlich. Rechtsgrundlagen + sind § 25 Abs. 2 Nr. 2 TDDDG und Art. 6 Abs. 1 lit. b DSGVO. Die Cookies und Token + werden mit Ende der Sitzung oder nach kurzer Frist gelöscht. +

    + @else +

    + Auf {{ $host }} setzen wir keine Marketing- oder Tracking-Cookies ein. Soweit technisch + notwendige Speicherungen erforderlich sind, dienen sie ausschließlich dem sicheren + Betrieb der Website oder der Bereitstellung ausdrücklich angeforderter Funktionen. +

    + @endif +

    + Da wir keine Marketing- oder Tracking-Cookies einsetzen, ist für diese Website kein + Cookie-Banner erforderlich. +

    + +

    5. Webanalyse mit Umami

    +

    Wir nutzen die selbst gehostete Analysesoftware Umami auf eigenen Servern.

    +

    + Umami setzt keine Cookies in Ihrem Browser. Es findet kein website- oder + geräteübergreifendes Tracking statt. Es werden keine Nutzerprofile erstellt. +

    +

    + Bei der Erfassung werden IP-Adressen unmittelbar vollständig anonymisiert. Ein Rückschluss + auf Ihre Person oder Ihr genaues Gerät ist dadurch ausgeschlossen. +

    +

    Verarbeitet werden ausschließlich aggregierte Nutzungsdaten, insbesondere:

    +
      +
    • Seitenaufrufe,
    • +
    • Referrer,
    • +
    • Gerätetyp,
    • +
    • Browser,
    • +
    • Betriebssystem,
    • +
    • ungefährer Standort auf Länderebene.
    • +
    +

    + Die Verarbeitung erfolgt zur Reichweitenmessung, technischen Optimierung und Verbesserung + unseres Angebots. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Eine Übermittlung der + Analysedaten an externe Tracking- oder Werbedienstleister findet nicht statt. +

    + +

    6. Kontaktaufnahme

    +

    + Wenn Sie uns per E-Mail oder über ein Formular kontaktieren, verarbeiten wir die von Ihnen + angegebenen Daten zur Bearbeitung Ihrer Anfrage. Dazu können insbesondere gehören: +

    +
      +
    • Name,
    • +
    • E-Mail-Adresse,
    • +
    • Inhalt Ihrer Nachricht,
    • +
    • betroffene URL,
    • +
    • Zeitpunkt der Anfrage,
    • +
    • technische Metadaten zur Missbrauchsvermeidung und Sicherheit.
    • +
    +

    + Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO, soweit Ihre Anfrage mit einem Vertrag oder + vorvertraglichen Maßnahmen zusammenhängt. In allen anderen Fällen ist Rechtsgrundlage + Art. 6 Abs. 1 lit. f DSGVO. Soweit wir gesetzlich zur Bearbeitung oder Dokumentation + verpflichtet sind, ist Rechtsgrundlage Art. 6 Abs. 1 lit. c DSGVO. +

    +

    + Die Daten werden gelöscht, sobald die Anfrage abgeschlossen ist und keine gesetzlichen + Aufbewahrungspflichten oder berechtigten Interessen an einer weiteren Speicherung + entgegenstehen. +

    + + @if ($isHub) +

    7. Kundenkonto und Registrierung auf dem Hub

    +

    Für die Nutzung von pressekonto ist ein Kundenkonto erforderlich. Dabei verarbeiten wir insbesondere:

    +
      +
    • Name,
    • +
    • E-Mail-Adresse,
    • +
    • Unternehmensangaben,
    • +
    • Rechnungsdaten,
    • +
    • steuerlich erforderliche Angaben,
    • +
    • Angaben zu Firmenprofilen,
    • +
    • Buchungsdaten,
    • +
    • Tarifinformationen,
    • +
    • Zahlungsstatus,
    • +
    • eingereichte Pressemitteilungen,
    • +
    • Entwürfe,
    • +
    • Kontingente,
    • +
    • Credits,
    • +
    • Nutzungs- und Verwaltungsdaten des Kundenkontos.
    • +
    +

    Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO.

    +

    + Unser Angebot richtet sich ausschließlich an Unternehmer. Bei der Buchung bestätigen + Sie, dass Sie in Ausübung Ihrer gewerblichen oder selbständigen beruflichen Tätigkeit + handeln (§ 14 BGB). Diese Bestätigung protokollieren wir zu Nachweiszwecken. +

    +

    + Ihre bei Vertragsschluss akzeptierte AGB-Fassung sowie im Veröffentlichungsvorgang + abgegebene Erklärungen und Bestätigungen, zum Beispiel der Hinweis auf die dauerhafte + Archivierung, protokollieren wir ebenfalls zu Nachweiszwecken. Rechtsgrundlagen sind + Art. 6 Abs. 1 lit. c und lit. f DSGVO. +

    + +

    8. Magic-Link: Anmeldung bei pressekonto

    +

    + Die Anmeldung bei pressekonto kann passwortlos über einen zeitlich begrenzten + Anmeldelink („Magic-Link") erfolgen, den wir an Ihre hinterlegte E-Mail-Adresse senden. +

    +

    Verarbeitet werden:

    +
      +
    • E-Mail-Adresse,
    • +
    • ein kryptographisch gehashtes Token,
    • +
    • Zeitstempel,
    • +
    • technische Metadaten zur Sicherheit und Missbrauchsvermeidung.
    • +
    +

    + Das Token ist nur zeitlich begrenzt gültig und verfällt nach einmaliger Nutzung oder + nach Ablauf einer kurzen Gültigkeitsdauer automatisch. Die konkrete Gültigkeitsdauer + wird systemseitig festgelegt und beträgt derzeit {{ $magicLinkTtl }}. +

    +

    Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO.

    + +

    9. Zahlungsabwicklung mit Stripe

    +

    Zahlungen auf {{ $hubLabel }} werden über den Zahlungsdienstleister Stripe abgewickelt:

    +

    Stripe Payments Europe, Ltd., 1 Grand Canal Street Lower, Grand Canal Dock, Dublin, Irland.

    +

    Stripe erhält die für die Zahlungsabwicklung erforderlichen Daten, insbesondere:

    +
      +
    • Name,
    • +
    • E-Mail-Adresse,
    • +
    • Rechnungsdaten,
    • +
    • Zahlungsmittel,
    • +
    • Betrag,
    • +
    • Zahlungsstatus,
    • +
    • technische Zahlungsinformationen.
    • +
    +

    + Ihre vollständigen Zahlungsdaten, zum Beispiel vollständige Kreditkartennummern, werden + direkt von Stripe über ein gesichertes Eingabefeld erfasst und verarbeitet. Sie + berühren unsere Server zu keinem Zeitpunkt und liegen uns nicht vor. +

    +

    Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO.

    +

    + Stripe verarbeitet personenbezogene Daten in eigener Verantwortung, soweit dies für die + Zahlungsabwicklung, Betrugsprävention, Compliance und gesetzliche Pflichten + erforderlich ist. Soweit Stripe personenbezogene Daten in Drittländern verarbeitet, + erfolgt dies nach Angaben von Stripe auf Grundlage geeigneter Garantien, insbesondere + EU-Standardvertragsklauseln und — soweit anwendbar — des EU-U.S. Data Privacy + Framework. +

    +

    Weitere Informationen finden Sie in den Datenschutzhinweisen von Stripe.

    + @else +

    7. Magic-Link: Änderungslinks für Pressekontakte und berechtigte Personen

    +

    + Als in einer Pressemitteilung genannter Pressekontakt, ursprünglicher Auftraggeber, + Firmeninhaber oder sonst berechtigte Person können Sie Änderungen über einen zeitlich + begrenzten Änderungslink beantragen. Der Link wird an die in der Pressemitteilung oder + im Kundenkonto hinterlegte E-Mail-Adresse gesendet. +

    +

    Verarbeitet werden:

    +
      +
    • E-Mail-Adresse,
    • +
    • ein kryptographisch gehashtes Token,
    • +
    • Zeitstempel,
    • +
    • betroffene Pressemitteilung,
    • +
    • beantragte Änderung,
    • +
    • technische Metadaten zur Sicherheit und Missbrauchsvermeidung.
    • +
    +

    + Das Token ist nur zeitlich begrenzt gültig und verfällt nach einmaliger Nutzung oder + nach Ablauf einer kurzen Gültigkeitsdauer automatisch. Die konkrete Gültigkeitsdauer + wird systemseitig festgelegt und beträgt derzeit {{ $magicLinkTtl }}. +

    +

    + Rechtsgrundlagen sind je nach Vorgang Art. 6 Abs. 1 lit. b DSGVO, Art. 6 Abs. 1 lit. c + DSGVO und Art. 6 Abs. 1 lit. f DSGVO. Die Verarbeitung dient insbesondere der sicheren + Zuordnung berechtigter Änderungsanfragen, der Vertragsdurchführung, der Bearbeitung + gesetzlicher Rechte und der Vermeidung von Missbrauch. +

    + @endif + +

    {{ $isHub ? '10' : '8' }}. Automatisierte Inhaltsprüfung und Qualitätsbewertung

    +

    + Eingereichte Pressemitteilungen werden vor der Veröffentlichung automatisiert auf die + Einhaltung unserer Veröffentlichungsrichtlinien geprüft und inhaltlich bewertet. +

    +

    + Dabei können auch personenbezogene Daten verarbeitet werden, die in der Pressemitteilung + enthalten sind. Soweit möglich, werden personenbezogene Daten vor der automatisierten + Analyse minimiert oder entfernt. API-Anbindungen werden, soweit verfügbar, so konfiguriert, + dass die übermittelten Inhalte nicht für Trainingszwecke fremder Modelle verwendet werden. +

    +

    + Für die automatisierte Analyse können je nach Anfrage, Tätigkeit und Verfügbarkeit + unterschiedliche KI- oder Analyse-Anbieter eingesetzt werden. Derzeit kommen insbesondere + folgende Anbieter in Betracht: +

    +
      +
    • OpenAI,
    • +
    • Google Gemini,
    • +
    • Anthropic Claude.
    • +
    +

    Verarbeitet werden insbesondere:

    +
      +
    • Inhalt der eingereichten Pressemitteilung,
    • +
    • minimierte oder anonymisierte Prüffassung, soweit technisch möglich,
    • +
    • Bewertungsergebnis,
    • +
    • Scores oder Risikomerkmale,
    • +
    • Ablehnungskategorien,
    • +
    • interne Hinweise zur Qualitätsbewertung,
    • +
    • Ergebnis einer gegebenenfalls durchgeführten menschlichen Überprüfung.
    • +
    +

    + Führt die Prüfung zur Ablehnung einer Mitteilung, teilen wir Ihnen die Ablehnungskategorie + mit. Sie können eine Überprüfung durch einen Menschen verlangen und dabei Ihren Standpunkt + darlegen. Die Entscheidung wird dann erneut geprüft. +

    +

    + Die Prüfergebnisse, Scores, Ablehnungskategorien und Begründungen werden intern der + jeweiligen Pressemitteilung zugeordnet und grundsätzlich so lange gespeichert, wie die + Pressemitteilung gespeichert oder veröffentlicht bleibt. Dies dient der Nachvollziehbarkeit + der Veröffentlichungsentscheidung, der Qualitätssicherung, der Bearbeitung von Rückfragen + sowie der Rechtsverteidigung. +

    +

    + Rechtsgrundlagen sind Art. 6 Abs. 1 lit. b DSGVO und Art. 6 Abs. 1 lit. f DSGVO. Soweit + gesetzliche Dokumentationspflichten bestehen oder Meldungen nach dem Digital Services Act + betroffen sind, kann zusätzlich Art. 6 Abs. 1 lit. c DSGVO einschlägig sein. +

    + + @unless ($isHub) +

    9. Veröffentlichte Pressemitteilungen und Medienprivileg

    +

    + Die auf {{ $portalName }} veröffentlichten Pressemitteilungen sind öffentlich + zugängliche Presseinhalte und Teil eines dauerhaften Archivs. In Pressemitteilungen + können personenbezogene Daten enthalten sein, zum Beispiel: +

    +
      +
    • Namen von Ansprechpartnern,
    • +
    • berufliche Kontaktdaten,
    • +
    • Zitate,
    • +
    • Funktionen im Unternehmen,
    • +
    • Personalien,
    • +
    • Bildmaterial,
    • +
    • sonstige Angaben mit Personenbezug.
    • +
    +

    + Soweit die Verarbeitung zu journalistisch-redaktionellen Zwecken erfolgt, gelten die + hierfür vorgesehenen Sonderregeln nach Art. 85 DSGVO in Verbindung mit dem jeweils + anwendbaren Medien- und Presserecht. Für den Verantwortlichen mit Sitz in + Nordrhein-Westfalen kommen insbesondere § 57 Abs. 1 Medienstaatsvertrag (MStV) sowie + die einschlägigen Regelungen des Pressegesetzes für das Land Nordrhein-Westfalen in + Betracht. +

    +

    + Durch die medien- und presserechtlichen Sonderregeln können einzelne Betroffenenrechte + eingeschränkt sein, soweit dies zur Wahrung der Meinungs- und Informationsfreiheit, der + Pressefreiheit und der Archivfunktion erforderlich ist. Dies bedeutet nicht, dass + Betroffenenrechte ausgeschlossen sind. Wir prüfen entsprechende Anfragen im Einzelfall. +

    +

    + Unabhängig davon können Sie jederzeit die Entfernung, Aktualisierung oder + Anonymisierung Ihrer persönlichen Kontaktdaten als natürliche Person beantragen. Auch + Meldungen rechtswidriger Inhalte sind jederzeit kostenlos möglich. Die dafür + vorgesehenen Wege finden Sie unter: {{ $host }}/de/melden. +

    +

    + Angaben über juristische Personen, zum Beispiel GmbH oder AG, sind grundsätzlich keine + personenbezogenen Daten im Sinne der DSGVO. Enthalten Angaben über Unternehmen zugleich + Informationen über natürliche Personen, prüfen wir Betroffenenanfragen im Einzelfall. +

    +

    + Informationen aus öffentlichen Registern, zum Beispiel dem Handelsregister, + berücksichtigen wir bei dieser Prüfung entsprechend ihrer gesetzlichen + Publizitätsfunktion. +

    + +

    10. Newsroom und Firmenprofile

    +

    + Zu jedem veröffentlichenden Unternehmen kann ein öffentliches Firmenprofil („Newsroom") + mit den vom Kunden bereitgestellten Angaben und dessen Pressemitteilungen angezeigt + werden. +

    +

    Dabei können insbesondere verarbeitet und veröffentlicht werden:

    +
      +
    • Unternehmensname,
    • +
    • Logo,
    • +
    • Beschreibung,
    • +
    • Anschrift oder Standortangaben,
    • +
    • Website,
    • +
    • Branchenangaben,
    • +
    • Ansprechpartner,
    • +
    • berufliche Kontaktdaten,
    • +
    • veröffentlichte Pressemitteilungen.
    • +
    +

    + Verantwortlich für die inhaltlichen Angaben ist das jeweilige veröffentlichende + Unternehmen. Die Verarbeitung durch uns erfolgt zur Vertragsdurchführung nach Art. 6 + Abs. 1 lit. b DSGVO sowie, soweit einschlägig, zu journalistisch-redaktionellen + Zwecken nach dem vorstehenden Abschnitt. +

    +

    + Soweit Firmenprofile personenbezogene Daten enthalten, zum Beispiel Ansprechpartner + oder Kontaktdaten, gelten die Hinweise aus dem vorstehenden Abschnitt entsprechend. +

    + @endunless + +

    11. Meldeverfahren

    +

    + Wenn Sie über unser Meldeverfahren einen Inhalt melden, eine Änderung beantragen oder + eigene personenbezogene Daten entfernen lassen möchten, verarbeiten wir die von Ihnen + angegebenen Daten zur Bearbeitung der Meldung oder Anfrage. +

    +

    Dabei können insbesondere verarbeitet werden:

    +
      +
    • Name,
    • +
    • E-Mail-Adresse,
    • +
    • betroffene URL,
    • +
    • Begründung der Meldung,
    • +
    • ausgewählte Meldekategorie,
    • +
    • Nachweise oder ergänzende Angaben,
    • +
    • Zeitpunkt der Meldung,
    • +
    • Vorgangsnummer,
    • +
    • Bearbeitungsstatus,
    • +
    • Entscheidung und Begründung,
    • +
    • Kommunikationsverlauf.
    • +
    +

    + Die Verarbeitung erfolgt zur Bearbeitung Ihrer Meldung, zur Erfüllung gesetzlicher + Pflichten, insbesondere nach dem Digital Services Act und der DSGVO, zur Dokumentation der + Entscheidung sowie zur Rechtsverteidigung. +

    +

    + Rechtsgrundlagen sind Art. 6 Abs. 1 lit. c DSGVO und Art. 6 Abs. 1 lit. f DSGVO. Soweit + die Meldung mit einem bestehenden Vertrag oder Kundenkonto zusammenhängt, kann zusätzlich + Art. 6 Abs. 1 lit. b DSGVO einschlägig sein. +

    +

    + Meldedaten bewahren wir zur Dokumentation der Bearbeitung und Entscheidung grundsätzlich + für drei Jahre nach Abschluss des Vorgangs auf. Eine längere Speicherung erfolgt nur, + soweit dies zur Bearbeitung laufender Vorgänge, zur Erfüllung gesetzlicher Pflichten oder + zur Rechtsverteidigung erforderlich ist. +

    +

    + Meldungen und Änderungsanfragen können über die auf den Portalen vorgesehenen Wege + (Inhalte melden) oder die Melde-Links bei der + jeweiligen Pressemitteilung eingereicht werden. +

    +

    + Für Rückfragen zu bestehenden Meldungen nutzen Sie bitte die Eingangsbestätigung oder + kontaktieren Sie uns über {{ $reportEmail }}. +

    + +

    12. E-Mail-Versand

    +

    Für den Versand transaktionaler E-Mails nutzen wir:

    +

    + ALL-INKL.COM - Neue Medien Münnich
    + Inhaber: René Münnich
    + Hauptstraße 68
    + 02742 Friedersdorf
    + Deutschland +

    +

    Transaktionale E-Mails sind insbesondere:

    +
      +
    • Magic-Links,
    • +
    • Änderungslinks,
    • +
    • Buchungsbestätigungen,
    • +
    • Rechnungen oder Rechnungshinweise,
    • +
    • Eingangsbestätigungen zu Meldungen,
    • +
    • Benachrichtigungen zu Veröffentlichungen,
    • +
    • System- und Sicherheitsmitteilungen.
    • +
    +

    Dabei werden insbesondere verarbeitet:

    +
      +
    • E-Mail-Adresse,
    • +
    • Empfängername, soweit vorhanden,
    • +
    • Inhalt der jeweiligen Nachricht,
    • +
    • Versandzeitpunkt,
    • +
    • technische Zustelldaten,
    • +
    • Statusinformationen zur Zustellung.
    • +
    +

    + Rechtsgrundlagen sind je nach Zweck der jeweiligen E-Mail Art. 6 Abs. 1 lit. b DSGVO, + Art. 6 Abs. 1 lit. c DSGVO und Art. 6 Abs. 1 lit. f DSGVO. +

    +

    + Mit dem Dienstleister besteht, soweit erforderlich, ein Vertrag zur Auftragsverarbeitung + gemäß Art. 28 DSGVO. +

    + +

    13. Speicherdauer, Backups und Aufbewahrungspflichten

    +

    + Wir speichern personenbezogene Daten nur so lange, wie es für die in dieser + Datenschutzerklärung genannten Zwecke erforderlich ist. +

    +

    Es gelten insbesondere folgende Speicherfristen:

    +
      +
    • Server-Logs werden grundsätzlich nach 14 Tagen gelöscht, sofern kein sicherheitsrelevanter Vorfall eine längere Aufbewahrung erforderlich macht.
    • +
    • Magic-Link-Token verfallen nach einmaliger Nutzung oder nach Ablauf von {{ $magicLinkTtl }}.
    • +
    • Meldedaten werden grundsätzlich für drei Jahre nach Abschluss des Vorgangs gespeichert.
    • +
    • Vertrags-, Buchungs- und Rechnungsdaten unterliegen handels- und steuerrechtlichen Aufbewahrungspflichten und werden nach Ablauf dieser Fristen gelöscht.
    • +
    • Veröffentlichte Pressemitteilungen werden im Rahmen der Archivfunktion grundsätzlich dauerhaft gespeichert, soweit keine gesetzlichen Ansprüche auf Entfernung, Sperrung oder Änderung bestehen.
    • +
    • Kontodaten werden nach Kontolöschung entfernt, soweit keine Aufbewahrungspflichten, offenen Vorgänge oder berechtigten Interessen an einer weiteren Speicherung entgegenstehen.
    • +
    +

    + Gelöschte Daten können in Sicherungskopien noch bis zu vier Wochen enthalten sein. Die + Backups werden ausschließlich zur Wiederherstellung der Systeme im Sicherungsfall verwendet + und nicht produktiv ausgewertet. +

    + +

    14. Ihre Rechte

    +

    Sie haben gegenüber uns nach Maßgabe der gesetzlichen Voraussetzungen folgende Rechte:

    +
      +
    • Recht auf Auskunft nach Art. 15 DSGVO,
    • +
    • Recht auf Berichtigung nach Art. 16 DSGVO,
    • +
    • Recht auf Löschung nach Art. 17 DSGVO,
    • +
    • Recht auf Einschränkung der Verarbeitung nach Art. 18 DSGVO,
    • +
    • Recht auf Datenübertragbarkeit nach Art. 20 DSGVO,
    • +
    • Recht auf Widerspruch gegen Verarbeitungen auf Grundlage berechtigter Interessen nach Art. 21 DSGVO,
    • +
    • Recht auf jederzeitigen Widerruf einer erteilten Einwilligung nach Art. 7 Abs. 3 DSGVO, ohne dass die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten Verarbeitung berührt wird.
    • +
    + @unless ($isHub) +

    Für veröffentlichte Presseinhalte gelten die Besonderheiten aus Abschnitt 9.

    + @endunless +

    + Die Ausübung Ihrer Rechte ist grundsätzlich kostenlos. In den gesetzlich vorgesehenen + Ausnahmefällen, insbesondere bei offenkundig unbegründeten oder exzessiven Anträgen, + können wir nach Maßgabe von Art. 12 Abs. 5 DSGVO ein angemessenes Entgelt verlangen oder + die Bearbeitung ablehnen. +

    +

    + Wenn wir begründete Zweifel an Ihrer Identität oder Berechtigung haben, können wir + zusätzliche Informationen anfordern, die zur Bestätigung Ihrer Identität oder Berechtigung + erforderlich sind. +

    +

    + Zur Ausübung Ihrer Rechte können Sie uns kontaktieren unter: + {{ $contactEmail }} +

    +

    + Für Inhalte auf den Portalen nutzen Sie bitte vorrangig das Melde- und Änderungsverfahren + unter: {{ $host }}/de/melden +

    + +

    15. Beschwerderecht

    +

    Sie haben das Recht, sich bei einer Datenschutz-Aufsichtsbehörde zu beschweren.

    +

    Zuständig für uns ist:

    +

    + Landesbeauftragte für Datenschutz und Informationsfreiheit Nordrhein-Westfalen
    + Kavalleriestraße 2–4
    + 40213 Düsseldorf
    + Website: www.ldi.nrw.de +

    @endsection diff --git a/routes/web.php b/routes/web.php index 5392f30b..a0f9fd54 100644 --- a/routes/web.php +++ b/routes/web.php @@ -132,13 +132,14 @@ $htmlRedirect = static function (string $edition, string $path) { 'karriere' => '', 'kontakt' => '', 'ueber-uns' => '', + 'cookies' => 'datenschutz', ]; // Bereits saubere Zielpfade der neuen Struktur (Pfad bleibt erhalten). $staticPages = [ 'preise', 'faq', 'veroeffentlichen', 'suche', 'newsrooms', 'api', - 'hilfe', 'impressum', 'datenschutz', 'agb', 'cookies', + 'hilfe', 'impressum', 'datenschutz', 'agb', ]; if (isset($staticAliases[$clean])) { @@ -222,7 +223,9 @@ Route::prefix('{edition}')->whereIn('edition', SetEdition::EDITIONS)->group(func ->name('kuendigung.store'); Route::view('datenschutz', 'web.datenschutz')->name('datenschutz'); Route::view('agb', 'web.agb')->name('agb'); - Route::view('cookies', 'web.cookies')->name('cookies'); + // Cookie-Seite zurückgebaut (Entscheidung 03.07.): Cookies sind in der + // Datenschutzerklärung (Abschnitt 4) geregelt; kein Banner nötig. + Route::get('cookies', fn (string $edition) => redirect(request()->getSchemeAndHttpHost().'/'.$edition.'/datenschutz', 301))->name('cookies'); // Rechtstexte-Architektur (Entscheidung 03.07.2026): Veröffentlichungs- // richtlinien (Bestandteil der AGB) und DSA-Meldeverfahren, auf allen diff --git a/tests/Feature/Web/HubStaticPageShellTest.php b/tests/Feature/Web/HubStaticPageShellTest.php index baf58e1b..57a60cb7 100644 --- a/tests/Feature/Web/HubStaticPageShellTest.php +++ b/tests/Feature/Web/HubStaticPageShellTest.php @@ -18,7 +18,7 @@ test('static pages on the hub domain render the hub shell', function (string $pa ->toContain('open-contact-modal') // Kein Spoke-Portal-Branding im Gerüst. ->not->toContain('Pressemitteilungen · DACH'); -})->with(['impressum', 'agb', 'datenschutz', 'cookies', 'api']); +})->with(['impressum', 'agb', 'datenschutz', 'richtlinien', 'melden', 'api']); test('the hub static page breadcrumb links back to the hub landing', function () { /** @var TestCase $this */ diff --git a/tests/Feature/Web/NavigationLinksTest.php b/tests/Feature/Web/NavigationLinksTest.php index 2698e57b..2e3106e4 100644 --- a/tests/Feature/Web/NavigationLinksTest.php +++ b/tests/Feature/Web/NavigationLinksTest.php @@ -2,15 +2,19 @@ use Tests\TestCase; -test('header and footer link to faq, hilfe and cookies and drop dead links', function () { +test('header and footer link to faq, hilfe and legal pages and drop dead links', function () { /** @var TestCase $this */ $response = $this->get('https://businessportal24.test/de'); $response->assertSuccessful() - // Neu verlinkt (FAQ im Header + Footer, Hilfe + Cookies im Footer). + // Neu verlinkt (FAQ im Header + Footer, Hilfe + Rechtsseiten im Footer). + // Die Cookie-Seite wurde zurückgebaut (Cookies stehen in der + // Datenschutzerklärung, Abschnitt 4). ->assertSee('/de/faq', false) ->assertSee('/de/hilfe', false) - ->assertSee('/de/cookies', false) + ->assertSee('/de/richtlinien', false) + ->assertSee('/de/melden', false) + ->assertDontSee('/de/cookies', false) // „Anmelden" führt jetzt in den Hub statt auf einen toten Anker. ->assertSee('/login', false) ->assertDontSee('href="#newsletter"', false) diff --git a/tests/Feature/Web/PressekontoHubHomeTest.php b/tests/Feature/Web/PressekontoHubHomeTest.php index 45fce099..2ecdfc99 100644 --- a/tests/Feature/Web/PressekontoHubHomeTest.php +++ b/tests/Feature/Web/PressekontoHubHomeTest.php @@ -106,7 +106,10 @@ test('legal pages are reachable on the hub domain', function () { $this->get('https://pressekonto.test/de/impressum')->assertSuccessful(); $this->get('https://pressekonto.test/de/datenschutz')->assertSuccessful(); $this->get('https://pressekonto.test/de/agb')->assertSuccessful(); - $this->get('https://pressekonto.test/de/cookies')->assertSuccessful(); + // Cookie-Seite zurückgebaut — Inhalte stehen in der Datenschutzerklärung. + $this->get('https://pressekonto.test/de/cookies') + ->assertStatus(301) + ->assertRedirect('https://pressekonto.test/de/datenschutz'); }); test('pressekonto hub homepage uses the brand-mark splitting without TLDs', function () { diff --git a/tests/Feature/Web/StaticPagesTest.php b/tests/Feature/Web/StaticPagesTest.php index d634c98f..afdf6a4f 100644 --- a/tests/Feature/Web/StaticPagesTest.php +++ b/tests/Feature/Web/StaticPagesTest.php @@ -6,7 +6,6 @@ dataset('static pages', [ 'impressum' => ['de/impressum', 'Impressum'], 'datenschutz' => ['de/datenschutz', 'Datenschutzerklärung'], 'agb' => ['de/agb', 'Allgemeine Geschäftsbedingungen'], - 'cookies' => ['de/cookies', 'Cookie-Richtlinien'], 'faq' => ['de/faq', 'Häufig gestellte Fragen'], 'hilfe' => ['de/hilfe', 'Hilfe-Center'], 'api' => ['de/api', 'API-Dokumentation'], @@ -91,6 +90,28 @@ test('the reporting page separates free legal paths from the paid takedown servi ->assertSeeText('Ausübung gesetzlicher Rechte'); }); +test('the privacy policy renders the real v03 content with host-specific blocks', function () { + /** @var TestCase $this */ + // Spoke: Portal-Bausteine (Medienprivileg, Änderungslinks), kein Stripe-Block. + $this->get('https://presseecho.test/de/datenschutz') + ->assertSuccessful() + ->assertSeeText('adametz.media') + ->assertSeeText('Hetzner Online GmbH') + ->assertSeeText('Medienprivileg') + ->assertSeeText('Änderungslinks für Pressekontakte') + ->assertDontSeeText('Zahlungsabwicklung mit Stripe') + // Alter Platzhalter (Google Analytics gibt es nicht) ist weg. + ->assertDontSeeText('Google Analytics'); + + // Hub: Kundenkonto-/Stripe-Bausteine, keine Portal-Bausteine. + $this->get('https://pressekonto.test/de/datenschutz') + ->assertSuccessful() + ->assertSeeText('Kundenkonto und Registrierung auf dem Hub') + ->assertSeeText('Zahlungsabwicklung mit Stripe') + ->assertSeeText('gewerblichen oder selbständigen beruflichen Tätigkeit') + ->assertDontSeeText('Medienprivileg'); +}); + test('the help center shows quick links and topics', function () { /** @var TestCase $this */ $this->get('https://businessportal24.test/de/hilfe')