RSO · Geschlossener öffentlicher AuftrittMai 2026 · Produktstart in Vorbereitung

Rechtssicher Online / KarlKI Prozessdoku - generiert aus Code und Datenbank

Aktueller Scanprozess, Kundenbereich, Owner Deep, Legal Catalog und alle Regeln.

Diese eine HTML ersetzt die alten Varianten. Sie erklärt erst simpel, dann technisch: Was passiert wann, was sieht der Kunde, was bleibt im geschützten Owner-Kontext, welche Gesetze/Pflichten sind im Katalog, und was sagt jede Regel aus. Stand: 2026-05-22 06:47.

443Regeln gesamt
443aktiv
232Rechtsquellen
454Pflichten
89mit Section
354ohne Section
95mit fachlichen Zusatzbedingungen

Erklärung für müde Menschen

Wenn du nur eine Sache merken willst: KarlKI macht keinen magischen Rechtsstempel. KarlKI sammelt technische Belege, entscheidet welche Regeln für diese Website passen, markiert Unsicheres sauber als Owner-Frage oder Owner-Auswertung und zeigt im Report, was geprüft, offen oder nicht sicher automatisch bewertbar ist.

1. Website finden

URL sauber machen, Owner-Schutz prüfen, vorhandenen frischen Scan wiederverwenden oder neuen Scan starten.

2. Website lesen

Crawl, Browser-Rendering, Pflichtseiten, Cookie-Banner, Formulare, Shop, Technik, Mail/DNS und Domain-Risiken sammeln.

3. Regeln passend machen

Nur Regeln laufen lassen, die zur Website passen. Shop-Regeln nur bei Shop, Newsletter-Regeln nur bei Newsletter, Owner-only nur mit Freigabe.

4. Report bauen

Aus Fehlern mit Evidenz entstehen Findings. Free sieht Gate/Status, bezahlte Pakete sehen Details. Offene Owner-/Legal-Punkte bleiben sichtbar.

Nicht behaupten: "garantiert rechtssicher", "abmahnsicher" oder "gerichtsfest". Richtig ist: automatisierter technischer Risiko- und Evidenz-Check im geprüften Scope.

Was diese Seite anders macht

Nicht nur Zusammenfassung

Jede Regel hat eine Karte mit Aussage, Greifbedingung, Technik, Risiko, Evidenz und Rohdefinition.

Funktionen sind nachvollziehbar

Kontaktformular, Newsletter, Terminbuchung, Login, Zahlung und Shop werden mit TriggerFlags und direkt verknuepften Regeln gezeigt.

Mapping-Luecken sind sichtbar

Regeln ohne Section und fachliche Zusatzbedingungen ausserhalb von scope werden offen gezeigt.

IST-Befund: Der RuleApplicabilityFilter liest jetzt neben scope auch fachliche Array-Bedingungen wie {"rolle":"energieberater"}, {"gemeinnuetzig":true}, {"angebot":"..."} und Legacy-Bedingungen mit feld/operator/wert. In dieser DB haben 95 Regeln solche Zusatzbedingungen. Wichtig bleibt: sie greifen nur, wenn der ScanScope die passenden Trigger liefert.

Pakete / Reportzugriff

AnzeigeCodeTypPreisSeitenlimitReport
Kostenlose Ersteinschätzungfree-checkfree_check0,00 EUR100summary
Detailberichtfull-auditone_time_audit199,00 EUR netto zzgl. USt.100full
Monitoring monatlichsubscription-monthlysubscription_monthly159,00 EUR netto zzgl. USt.250full
Monitoring jährlichsubscription-yearlysubscription_yearly119,00 EUR / Monat netto; 1.428,00 EUR / Jahr netto250full

Preise sind Netto-Produktpreise; USt. wird beim Purchase berechnet. Produkt/Paket entscheidet nicht, welche Regeln laufen. Free, Einmalkauf und Abo crawlen und prüfen technisch gleich; Free zeigt nur Status/Gate statt Detailfindings.

Versprechen / Abnahmematrix

Dieser Abschnitt übersetzt die Produktversprechen in technische Pflichten. Wenn ein Claim hier nicht hineinpasst, darf er nicht öffentlich verwendet werden.

Kostenlose Ersteinschätzung

Versprechen: Kostenloser Einstieg mit Ergebnisstatus.

Technik: Crawl, Rendering, Scope, Regeln und Findings laufen technisch wie beim Vollscan innerhalb des Sicherheitsbudgets.

Anzeige: Status und Gate. Details, Nachweise und Aufgaben bleiben im Detailbericht.

Detailbericht

Versprechen: Konkreter Bericht für eine Scan-Version.

Technik: Kein anderer Regelkatalog als in der Ersteinschätzung. Der Unterschied ist der Reportzugriff.

Anzeige: Befunde, Nachweise, Quellen und Aufgaben werden sichtbar.

Monitoring

Versprechen: Wiederkehrende technische Prüfung mit Historie.

Technik: Wiederholte Scans nach Abo-Logik, gleiche Regelbasis, Detailbericht-Zugriff.

Anzeige: Detailberichte, Verlauf und Trendvergleich. Keine permanente Echtzeit- oder Rechtsüberwachung.

Inhaberfreigabe / geschützte Bereiche

Versprechen: Verifizierte Domains vor fremdem Scan/Kauf schützen und geschützte Bereiche nur mit Freigabe auswerten.

Technik: Owner-Guard blockiert fremde Nutzung; Owner-Fragen klären Scope; Freigaben führen zu Owner-Deep-Szenarien.

Anzeige: Geschützte Bereiche werden getrennt ausgewiesen und nicht als normaler öffentlicher Fehler verkauft. Login, Checkout, Abo und Cookie-Kontext sind geführt anlegbar.

Harte Grenze: Rechtssicher Online ist Marke/Produktname, keine Rechtsgarantie. Erlaubt sind automatisierte Prüfhinweise, Nachweise, Aufgaben und ein Status im geprüften Scope. Verboten sind Aussagen wie rechtssicher garantiert, rechtskonform garantiert, abmahnsicher oder gerichtsfest.
KMU-BaselineWas gesucht/geprüft wirdErgebnis
PflichtseitenImpressum, Datenschutz, AGB, Widerruf und Kontakt über Links, Textsignale und Fallback-Kandidaten.Section gefunden, Finding mit Evidenz oder nicht belastbar prüfbar.
Tracking / FormulareCookie-/Drittanbieter-Signale, Banner, Kontaktformular, Newsletter und Einwilligungskontext.Pass, Finding, not_evaluable oder requires_owner_permission.
Shop / CheckoutPreis, Versand, Lieferzeit, Widerruf, ODR, Button, Grundpreis und Zahlungs-/Checkout-Signale.Sinnvoll dedupliziert statt mehrfach identische Pflichtseiten zu bewerten.
Security / TrustHTTPS/TLS, Mail-DNS, Header, Domain-Risiken und technische Vertrauenssignale.Technischer Risikohinweis mit Messwert oder Beleg.

Owner Deep / geschuetzte Zustaende

Dieser Bereich beantwortet die Frage: Was machen wir, wenn KarlKI etwas nicht öffentlich sehen darf oder kann? Antwort: Der Owner muss es bewusst freigeben. Dann läuft es automatisiert im nächsten Scan mit.

Owner-Frage

Normal gesagt: KarlKI fragt den Website-Owner etwas, das öffentlich nicht sicher erkennbar ist.

Beispiel: "Verkaufst du physische Verbraucherprodukte?" Antwort ist Ja oder Nein.

Ergebnis: Ja aktiviert passende Pflichten. Nein markiert die Pflicht als nicht zutreffend.

Freigabe für geschützte Bereiche

Normal gesagt: KarlKI braucht geschützten Kontext, z. B. Login, Checkout-Testmodus, Kundenkonto, Abo oder Cookie-Zustand.

Wichtig: Nur der Owner darf das freigeben. Fachprüfung wird nicht extra als Produkt angeboten.

Ergebnis: Die Website-Detailseite zeigt diese Freigaben nachrangig im Arbeitsbereich der jeweiligen Website.

Die vier geführten Owner-Deep-Szenarien

SzenarioWofür?SicherheitsmodusWas muss der Owner liefern?Was passiert danach?
LoginBereiche hinter Anmeldung, Kundenkonto, geschuetzte Hinweise.TrockenlaufStart-URL und optional Test-Login.Aktive Szenarien laufen bei neuen Scans automatisch mit.
Checkout-TestmodusBestellstrecke, Zahlungsbutton, Pflichtinfos im Kaufprozess.Nur TestmodusCheckout-Start-URL und Testdaten. Produktive Bestellung bleibt blockiert.Owner-Deep-Evidenz kann Checkout-Regeln auswertbar machen.
Abo-VerwaltungAbo-, Vertrags-, Kuendigungs- oder Kontoverwaltungsbereiche.TrockenlaufStart-URL und ggf. Test-Login.Kein echter Vertragswechsel; nur prüfbarer Kontext.
Cookie-ConsentCookie-Banner, Einwilligungszustand, Consent-UI.Nur LesenStart-URL, normalerweise keine Credentials.Consent-Zustand landet im Snapshot und kann Regeln stuetzen.
Aktueller Stand: Die Kunden-UX ist domain-first. Die Website-Detailseite startet mit Was ist jetzt wichtig?; Bericht, Aufgaben und Status stehen oben. Nachweise, Verlauf, Check-Optionen und geschützte Bereiche werden nachrangig und per Livewire-Defer geladen. Workflow-Zustände laufen über Route, Session oder Backend-State, nicht über sichtbare URL-Fragmente.

Lebenslauf eines Owner-Deep-Szenarios

1. Owner sieht offenen PunktDashboard trennt Owner-Fragen und Owner-Auswertungen.ListOpenLegalRequirementReviewsForUserAction
2. Owner richtet Szenario einWebsite-Detailseite zeigt geführte Karten für Login, Checkout, Abo und Cookie.BuildOwnerDeepScenarioRecommendationsAction
3. Neuer Scan läuftAktive Szenarien werden in der Scan-Pipeline automatisch gerendert.RunOwnerDeepScanScenariosJob
4. Report nutzt SnapshotPasswoerter bleiben geheim; der Report sieht nur redigierte Metadaten, Status und Evidenz.BuildOwnerDeepSnapshotAction / BuildReportViewDataAction

Legal Catalog / Gesetzes- und Pflichtenkatalog

Dieser Bereich zeigt die Breite: Welche Rechtsquellen und Pflichten kennt KarlKI, was ist mit Regeln verknuepft, was ist noch offen, und wo braucht es Owner-Kontext oder spätere Umsetzung.

Rechtsquellen

232

Gesetze, Verordnungen, Standards oder private Standards im Katalog.

Pflichten

454

Einzelne prüfbare oder owner-pflichtige Anforderungen.

Mit Regel verknuepft

443

443 Regelverknuepfungen insgesamt.

Ohne Regel

11

Offene Luecken: sichtbar, nicht versteckt.

Rechtsraeume

WertAnzahl
de172
de_eu7
eu52
private_standard1

Umsetzungsstatus

WertAnzahl
automated405
manual_review_required11
owner_required38

Verifikationsstatus

WertAnzahl
verified_from_official_inventory28
verified_from_rule_catalog426
Normal gesagt: Der Legal Catalog ist die Inventarliste. Er sagt: "Welche Pflicht kennen wir?" Die Regeln sagen: "Wie prüft KarlKI diese Pflicht technisch?" Wenn eine Pflicht keine Regel hat, wird sie nicht still verschwiegen, sondern als offen/Owner/Manual sichtbar.

Alle offenen Pflichten ohne Regelverknuepfung

CodeQuelleParagraphPflichtStatusVerifikation
inventory-ai-act-art26-high-risk-deployerAI ActArt. 26High-risk AI deployer obligationsmanual_review_requiredverified_from_official_inventory
inventory-bgb-327b-digital-product-provisionBGB digitale Produkte§ 327bProvision of digital productsmanual_review_requiredverified_from_official_inventory
inventory-bgb-327r-digital-product-changesBGB digitale Produkte§ 327rChanges to digital products during continuous provisionmanual_review_requiredverified_from_official_inventory
inventory-dora-art6-ict-risk-managementDORAArt. 6ICT risk-management framework for financial entitiesmanual_review_requiredverified_from_official_inventory
inventory-dsa-art32-consumer-information-after-illegal-productDSAArt. 32Consumer information after illegal product or service offersmanual_review_requiredverified_from_official_inventory
inventory-gwg-5-risk-analysisGwG§ 5AML risk analysis for obligated personsmanual_review_requiredverified_from_official_inventory
inventory-hinschg-12-internal-reporting-officeHinSchG§ 12Internal reporting office for covered employersmanual_review_requiredverified_from_official_inventory
inventory-jmstv-5-development-impairing-contentJMStV§ 5Youth-protection measures for development-impairing contentmanual_review_requiredverified_from_official_inventory
inventory-lksg-5-risk-analysisLkSG§ 5Supply-chain risk analysis for covered companiesmanual_review_requiredverified_from_official_inventory
inventory-nis2-art21-risk-managementNIS2Art. 21Cybersecurity risk-management measures for essential or important entitiesmanual_review_requiredverified_from_official_inventory
inventory-nis2-art23-incident-reportingNIS2Art. 23Significant cyber-incident reporting processmanual_review_requiredverified_from_official_inventory

Alle Rechtsquellen

NameCodeRechtsraumTypPflichtenStatus
(Muster-)Berufsordnung Ärzte — MBO-Ämuster-berufsordnung-arzte-mbo-a-2256c3000cdelaw1active
(keine branchenspezifische) — Verweis auf Ebene A + Bkeine-branchenspezifische-verweis-auf-ebene-a-b-90cdd9079adelaw1active
AOao-e912504b8ddelaw1active
BFSGbfsg-148b01e0c0delaw1active
BFSGbfsg-086d86dc2edelaw2active
BFSGbfsg-5c4140ae77delaw1active
BFSGbfsg-bb3b02f45bdelaw1active
BFSG / BFSGVbfsg-bfsgv-2f3ddd6e17delaw1active
BFSGV / WCAG 2.1bfsgv-wcag-21-e801888d51destandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-70d3f84358destandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-2209dc204edestandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-181d12e930destandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-5d22982a51destandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-0e4edf7803destandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-1d7976c68bdestandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-5535a41d16destandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-d95479b49ddestandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-f626ad425fdestandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-a49cf27ca2destandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-2de852cf9fdestandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-c949b58c93destandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-4ebea08a49destandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-4edf3085cadestandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-99c739ec4cdestandard1active
BFSGV / WCAG 2.1bfsgv-wcag-21-af3776127ddestandard1active
BFSGV i. V. m. EN 301 549 / WCAG 2.1bfsgv-i-v-m-en-301-549-wcag-21-7efb41eb79destandard1active
BGBbgb-23f3060e00delaw3active
BGBbgb-47dac5112ddelaw2active
BGBbgb-66fcadc545delaw2active
BGBbgb-fc47a50f16delaw4active
BGBbgb-1e6dd9565edelaw1active
BGBbgb-02a3b34fe8delaw1active
BGBbgb-796a4282bedelaw5active
BGBbgb-a01e056416delaw2active
BGBbgb-b092213df3delaw1active
BGBbgb-8b8ab68879delaw1active
BGBbgb-de005f6309delaw1active
BGBbgb-e6d67a1862delaw1active
BGBbgb-24ede3ed74delaw1active
BGBbgb-df64a71bc5delaw1active
BGBbgb-e8c813657cdelaw2active
BGBbgb-14c8ca576fdelaw1active
BGB / EGBGBbgb-egbgb-796a4282bedelaw1active
BGB / EGBGBbgb-egbgb-19d7787cdbdelaw2active
BGB AGB-Recht + HGB §449bgb-agb-recht-hgb-449-b2289de317delaw1active
BGB digitale Produkteinventory-de-bgb-digital-productsdelaw2active
BGB i. V. m. EGBGB Art. 250 §3bgb-i-v-m-egbgb-art-250-3-cdf85608a8delaw1active
BMGbmg-4a7d039cfadelaw1active
BORAbora-958574fa4adelaw1active
BRAObrao-e9b18de516delaw1active
BRAO / StBerGbrao-stberg-fbb96ee930delaw1active
BRAO §51; StBerG §67; WPO §54; BNotO §19a; DDG §5 Abs. 1 Nr. 8brao-51-stberg-67-wpo-54-bnoto-19a-ddg-5-abs-1-nr-8-70c211cf87delaw1active
BSI-Gesetz (BSIG) + KRITIS-Vbsi-gesetz-bsig-kritis-v-5e5e64560ddelaw1active
BtMG + NpSG + Novel-Food-VObtmg-npsg-novel-food-vo-e9364ac5fcdelaw1active
Bundesärzteordnung (BÄO) / DDGbundesarzteordnung-bao-ddg-31dc238393delaw1active
DDGddg-5af44da4f9delaw1active
DDGddg-e772b04ebbdelaw20active
DDG + BGBddg-bgb-e772b04ebbdelaw1active
DDG + Heilberufsgesetze der Länderddg-heilberufsgesetze-der-lander-e772b04ebbdelaw1active
DDG / GewOddg-gewo-e772b04ebbdelaw1active
DDG / UStGddg-ustg-e772b04ebbdelaw1active
EEGeeg-a5a31d6515delaw1active
EGBGBegbgb-d268f67db0delaw1active
EGBGBegbgb-3c99538a89delaw3active
EGBGB Art. 246aegbgb-art-246a-3c99538a89delaw1active
Einführungsgesetz zum BGBeinfuhrungsgesetz-zum-bgb-3c99538a89delaw1active
ElektroGelektrog-94514ccbf4delaw1active
Entwurfentwurf-efa45f6900delaw1active
FernUSGfernusg-a0875cbca8delaw2active
FernUSGfernusg-dcecd67535delaw1active
FernUSGfernusg-cb5ddb96addelaw1active
FernUSGfernusg-d2bef4f9a8delaw1active
FernUSGinventory-de-fernusgdelaw1active
FernUSG i. V. m. Rechtsprechungfernusg-i-v-m-rechtsprechung-2c44401f53delaw1active
Fernunterrichtsschutzgesetzfernunterrichtsschutzgesetz-a0875cbca8delaw0active
FinVermVfinvermv-799f7b36b6delaw1active
GEGgeg-c10e6c9d90delaw1active
GEGgeg-22f3b5113ddelaw1active
GewOgewo-a2c09d8adadelaw1active
GewOgewo-e9fdbb80c0delaw1active
GewOgewo-2b9d3273fcdelaw1active
Gewerbeordnung (GewO) / VersVermVgewerbeordnung-gewo-versvermv-e9fdbb80c0delaw1active
GlüStVglustv-4fc5b414e4delaw1active
GlüStV + StGBglustv-stgb-21ab454b37delaw1active
GwGinventory-de-gwgdelaw1active
GwGgwg-c9428955ccdelaw1active
GwGgwg-89be5a5f21delaw1active
GüKGgukg-b70063b7badelaw1active
HGBhgb-4c91fd62dfdelaw1active
HOAIhoai-254baeca14delaw1active
HWGhwg-fbb9aba601delaw1active
HWGhwg-767ace79b4delaw1active
HWGinventory-de-hwgdelaw2active
Handwerksordnung (HwO) i. V. m. DDGhandwerksordnung-hwo-i-v-m-ddg-6751468053delaw1active
HeilprGheilprg-1fead2134ddelaw1active
HinSchGinventory-de-hinschgdelaw1active
HwOhwo-3b6b1254c1delaw1active
HwOhwo-aae8cf5632delaw1active
HwOhwo-670b848408delaw1active
HwO / DDGhwo-ddg-1acaab7196delaw1active
IfSGifsg-e9983eee6adelaw1active
Infektionsschutzgesetz (IfSG) + Länder-HygieneVOinfektionsschutzgesetz-ifsg-lander-hygienevo-cd68498b46delaw1active
JMStVjmstv-e980b1c56ddelaw1active
JMStVjmstv-69cc032c3adelaw1active
JMStVinventory-de-jmstvdestate_treaty1active
JuSchGjuschg-147eeac13ddelaw1active
KUGkug-3fa9d8129cdelaw1active
KUGkug-216f1f6c63delaw2active
KWG / ZAGkwg-zag-f123c1a1c8delaw1active
Landespressegesetze (z. B. LPG NRW §4) + GG Art. 5landespressegesetze-z-b-lpg-nrw-4-gg-art-5-ebdf2f2ed3delaw1active
LkSGinventory-de-lksgdelaw1active
Länder-BO bindendlander-bo-bindend-2256c3000cdelaw1active
MStVmstv-38e40af45fdelaw2active
MStVmstv-b47f0ae231delaw1active
MaBVmabv-f2833502e1delaw1active
MaBVmabv-f439904b17delaw1active
Medizinprodukterecht-Durchführungsgesetz (MPDG) / MDRmedizinprodukterecht-durchfuhrungsgesetz-mpdg-mdr-e4f3b2cdc1delaw1active
MessEGmesseg-64022d75d4delaw1active
MiLoGmilog-4fab7a1f96delaw1active
NiSVnisv-60a8696cb9delaw1active
Omnibusomnibus-6f2e1d2aacdelaw1active
PAngVpangv-4a6fa3840bdelaw2active
PAngVpangv-28bd5f7bdddelaw3active
PAngVpangv-20c52b44e7delaw1active
PAngVpangv-c789a4a55fdelaw1active
PAngVpangv-d6f76d6b5cdelaw2active
PAngV / EGBGBpangv-egbgb-20c52b44e7delaw1active
PBefGpbefg-d97c185d3ddelaw1active
PBefGpbefg-5e575c62d6delaw1active
PodGpodg-df1f2b6b2edelaw1active
RSGrsg-f7ee76298ddelaw1active
StGBstgb-aa9bff6380delaw2active
Steuerberatungsgesetz (StBerG) / BOStBsteuerberatungsgesetz-stberg-bostb-5223792760delaw1active
TKGtkg-41db1908e7delaw1active
TTDSGttdsg-4f4d91e3cadelaw12active
TabakErzGtabakerzg-50566fe4a2delaw1active
UStGustg-5ddfca53a2delaw1active
UVSVuvsv-809a98640ddelaw1active
UWGuwg-440ec90398delaw1active
UWGuwg-67a2da4447delaw9active
UWGuwg-9ebf6d3f10delaw3active
UWGuwg-a02b625716delaw1active
UWGuwg-9d5aafa395delaw12active
UWGuwg-6f2e1d2aacdelaw7active
UWGuwg-d936021effdelaw2active
UWGuwg-933bf6c81fdelaw1active
UWGuwg-653c3fbd6ddelaw5active
UWG + BGB AGB-Rechtuwg-bgb-agb-recht-6f2e1d2aacdelaw1active
UWG + HwOuwg-hwo-6f2e1d2aacdelaw1active
UWG + MStVuwg-mstv-440ec90398delaw1active
UWG + MStV + Pressekodexuwg-mstv-pressekodex-67a2da4447destandard1active
UrhGurhg-0302ee5cb0delaw1active
UrhGurhg-a1821590e6delaw1active
UrhGurhg-138df9badadelaw1active
UrhGurhg-aa6db25e3cdelaw1active
UrhGurhg-f75375739bdelaw1active
UrhGurhg-7e575524e7delaw2active
UrhG + jeweilige OSS-Lizenzurhg-jeweilige-oss-lizenz-604d6aff0ddelaw1active
UrhG i. V. m. CC-Lizenzvertragurhg-i-v-m-cc-lizenzvertrag-e34288436adelaw2active
VSBGvsbg-4fb502e9b1delaw3active
VSBG / BRAO §191fvsbg-brao-191f-4fb502e9b1delaw1active
VVGvvg-c67a7f9d91delaw1active
VVG / VSBGvvg-vsbg-79de7ad77bdelaw1active
VerpackGinventory-de-verpackgdelaw1active
WEGweg-189c3a72afdelaw1active
WaffGwaffg-2af7e50572delaw1active
WoVermGwovermg-d185d8eb50delaw1active
WpHG / ZAG / MiFID II Art. 24wphg-zag-mifid-ii-art-24-8f8d968665delaw1active
analoganalog-a542da91fbdelaw1active
analog DDG Best Practiceanalog-ddg-best-practice-052547292edelaw1active
neu ab 01.07.2023neu-ab-01072023-823201264edelaw1active
z.B. BauKaG Bayern, ArchG NRWzb-baukag-bayern-archg-nrw-2acee33788delaw1active
BattDGinventory-de-battdgde_eulaw1active
DDG / DSGVOddg-dsgvo-e772b04ebbde_euregulation1active
DSGVO & DDGdsgvo-ddg-0c0dcc1414de_euregulation1active
KUG i. V. m. DSGVO Art. 8kug-i-v-m-dsgvo-art-8-216f1f6c63de_euregulation1active
TDDDG / DSGVOtdddg-dsgvo-4f4d91e3cade_euregulation6active
UWG / DSGVOuwg-dsgvo-9d5aafa395de_euregulation3active
in DE: NIS2UmsuCG, BSI-Gesetzin-de-nis2umsucg-bsi-gesetz-efa45f6900de_eudirective1active
AI Actinventory-eu-2024-1689-ai-acteuregulation2active
BAFA-Richtlinien + GEG §88bafa-richtlinien-geg-88-8b7bc90cf2eudirective1active
Cosmetics Regulationinventory-eu-2009-1223-cosmeticseuregulation1active
DORAdora-e5c169cf06euregulation1active
DORAinventory-eu-2022-2554-doraeuregulation1active
DSAdsa-15d47f3485euregulation10active
DSAdsa-8d3b3e19feeuregulation5active
DSAinventory-eu-2022-2065-dsaeuregulation2active
DSGVOdsgvo-4b970454a2euregulation1active
DSGVOdsgvo-47e9584ee0euregulation60active
DSGVOdsgvo-13067e2da7euregulation1active
DSGVOdsgvo-049223cd9feuregulation7active
DSGVOdsgvo-0c0dcc1414euregulation4active
DSGVOdsgvo-46d40108dceuregulation1active
DSGVOdsgvo-d36cf68ab5euregulation3active
DSGVOdsgvo-c45cbe0390euregulation1active
DSGVOdsgvo-2bbaa71ff2euregulation2active
DSGVOdsgvo-98b3f9c19aeuregulation3active
DSGVOdsgvo-407895acd5euregulation9active
DSGVOdsgvo-47cc63e7bfeuregulation4active
DSGVOdsgvo-7fa3a05c34euregulation1active
DSGVOdsgvo-2ed6f8b507euregulation20active
DSGVOdsgvo-14be68b0c4euregulation2active
DSGVO + BDSGdsgvo-bdsg-47e9584ee0euregulation1active
DSGVO + BDSG + Landespressegesetzedsgvo-bdsg-landespressegesetze-96f28541caeuregulation1active
Data Actinventory-eu-2023-2854-data-acteuregulation1active
Datenschutz-Grundverordnung (DSGVO) / PCI-DSSdatenschutz-grundverordnung-dsgvo-pci-dss-14be68b0c4eustandard1active
Durchführungs-VO (EU) 1337/2013 / HonigV / weiteredurchfuhrungs-vo-eu-13372013-honigv-weitere-5bf11443e3euregulation1active
EU 2022/2065eu-20222065-15d47f3485euregulation1active
EU 2022/2554eu-20222554-e5c169cf06euregulation1active
EU-Öko-Verordnungeu-oko-verordnung-6fa24a7a6deuregulation1active
EnVKV + EU-VO 2017/1369envkv-eu-vo-20171369-15de594dcbeuregulation1active
GPSRinventory-eu-2023-988-gpsreuregulation2active
Health Claims Regulationinventory-eu-2006-1924-health-claimseuregulation1active
Health-Claims-VOhealth-claims-vo-64e89d8f24euregulation1active
KUG i. V. m. DSGVO Art. 7 Abs. 3kug-i-v-m-dsgvo-art-7-abs-3-216f1f6c63euregulation1active
KosmetikVOkosmetikvo-be81a44716euregulation1active
LMIVlmiv-bd95c76145euregulation2active
LMIVinventory-eu-2011-1169-food-infoeuregulation1active
MAR (EU 596/2014) + WpHGmar-eu-5962014-wphg-1d4f653b56euregulation1active
MDRinventory-eu-2017-745-medical-deviceseuregulation1active
NIS2inventory-eu-2022-2555-nis2eudirective2active
P2B Regulationinventory-eu-2019-1150-p2beuregulation2active
PSD2, RL 2015/2366psd2-rl-20152366-21a49bd064eudirective1active
Regulation (EC) No 1223/2009 - Cosmetic Products Regulationregulation-ec-no-12232009-cosmetic-products-regulation-49bfc44ad7euregulation0active
Regulation (EU) 2022/2065 - Digital Services Actregulation-eu-20222065-digital-services-act-8d3b3e19feeuregulation0active
Regulation (EU) 2023/2854 - Data Actregulation-eu-20232854-data-act-ddae1bc2e0euregulation0active
Regulation (EU) 2023/988 - General Product Safety Regulationregulation-eu-2023988-general-product-safety-regulation-e4e22bda08euregulation0active
Textile Regulationinventory-eu-2011-1007-textileseuregulation1active
VO (EU) 1169/2011 (LMIV) + LMIDVvo-eu-11692011-lmiv-lmidv-bd95c76145euregulation1active
Verordnung (EU) 2024/1689 — AI Actverordnung-eu-20241689-ai-act-7e402ccc69euregulation5active
Verordnung 2024/1689verordnung-20241689-709118c935euregulation1active
PCI-DSS v4.0pci-dss-v40-bdc3898893private_standardstandard1active

Alle Pflichten im Katalog

CodeQuelleRechtsraumParagraphPflichtAssessmentVerifikationRegeln
inventory-ai-act-art50-ai-transparencyAI ActeuArt. 50Transparency for direct AI interaction and synthetic contentautomatedverified_from_official_inventory1
inventory-cosmetics-art19-labelling-informationCosmetics RegulationeuArt. 19Cosmetic product labelling and responsible-person informationautomatedverified_from_official_inventory1
inventory-data-act-art3-connected-product-data-infoData ActeuArt. 3Pre-contract information for connected product and related service dataautomatedverified_from_official_inventory1
inventory-dsa-art31-marketplace-compliance-by-designDSAeuArt. 31Marketplace interface compliance by designautomatedverified_from_official_inventory1
inventory-fernusg-12-distance-learning-approvalFernUSGde§ 12Approval requirement for distance-learning coursesautomatedverified_from_official_inventory1
inventory-gpsr-art19-distance-sales-product-safetyGPSReuArt. 19Product safety information for distance salesautomatedverified_from_official_inventory1
inventory-gpsr-art22-online-marketplace-product-safetyGPSReuArt. 22Online marketplace product-safety contact and process dutiesautomatedverified_from_official_inventory1
inventory-health-claims-art10-authorised-health-claimsHealth Claims RegulationeuArt. 10Health claims only under authorised conditionsautomatedverified_from_official_inventory1
inventory-hwg-11-public-advertising-restrictionsHWGde§ 11Public advertising restrictions in health-related advertisingautomatedverified_from_official_inventory1
inventory-hwg-3-misleading-health-advertisingHWGde§ 3No misleading advertising in health-related fieldsautomatedverified_from_official_inventory1
inventory-lmiv-art14-distance-selling-food-infoLMIVeuArt. 14Mandatory food information before distance purchaseautomatedverified_from_official_inventory1
inventory-mdr-art7-misleading-medical-device-claimsMDReuArt. 7No misleading medical-device claimsautomatedverified_from_official_inventory1
inventory-p2b-art3-platform-termsP2B RegulationeuArt. 3Transparent terms for business users of online intermediation servicesautomatedverified_from_official_inventory1
inventory-p2b-art5-ranking-transparencyP2B RegulationeuArt. 5Ranking parameter transparencyautomatedverified_from_official_inventory1
inventory-textiles-art16-distance-catalog-fibre-compositionTextile RegulationeuArt. 16Textile fibre composition in distance/catalog offersautomatedverified_from_official_inventory1
req-a-bfsg-3-kleinstunternehmen-ausnahmeBFSGde§3 Abs. 3Ausnahmenautomatedverified_from_rule_catalog1
req-a-bfsg-erklaerung-barrierefreiheitBFSGde§14 i. V. m. §15 BFSGPflichten des Dienstleistersautomatedverified_from_rule_catalog1
req-a-bfsg-feedback-mechanismusBFSGde§14 Abs. 4 BFSGPflichten des Dienstleisters — Feedbackautomatedverified_from_rule_catalog1
req-a-bfsg-marktueberwachung-kontaktBFSGde§19 BFSGMarktüberwachungautomatedverified_from_rule_catalog1
req-a-bfsg-scope-dienstleistungen-b2cBFSGde§1 Abs. 3 i. V. m. §2 Nr. 26Anwendungsbereich und Begriffsbestimmungenautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-1-1-1-alt-attributBFSGV i. V. m. EN 301 549 / WCAG 2.1deBFSGV §12 Abs. 1 i. V. m. WCAG 1.1.1 (Level A)Anforderungen an die Barrierefreiheit von Dienstleistungenautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-1-2-untertitel-transkriptBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 1.2.1, 1.2.2, 1.2.5Zeitbasierte Medienautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-1-3-1-semantische-strukturBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 1.3.1 (Level A)Info und Beziehungenautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-1-4-10-reflow-responsiveBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 1.4.10 (Level AA)Reflowautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-1-4-3-kontrast-textBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 1.4.3 (Level AA)Kontrast (Minimum)automatedverified_from_rule_catalog1
req-a-bfsg-wcag-1-4-4-textgroesse-skalierbarBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 1.4.4 (Level AA)Textgröße ändernautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-2-1-1-tastatur-bedienbarBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 2.1.1, 2.1.2 (Level A)Tastaturautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-2-2-zeit-anpassbarBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 2.2.1 (Level A)Anpassbare Zeitlimitsautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-2-3-1-keine-anfallrisikenBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 2.3.1 (Level A)Schwellenwert für Blitze / Dreifaches Blitzenautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-2-4-7-fokus-sichtbarBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 2.4.7 (Level AA)Fokus sichtbarautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-2-4-navigationshilfenBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 2.4.1–2.4.6 (Level A/AA)Navigierbarkeitautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-3-1-1-lang-attributBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 3.1.1, 3.1.2Sprache der Seite / Sprache von Teilenautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-3-2-navigation-konsistentBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 3.2.3, 3.2.4 (Level AA)Konsistente Navigation / Konsistente Identifikationautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-3-3-2-formular-labelsBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 3.3.2 (Level A)Beschriftungen oder Anweisungenautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-3-3-3-fehlerhinweiseBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 3.3.3 (Level AA)Fehlerkorrektur-Vorschlagautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-4-1-1-valides-htmlBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 4.1.1 (Level A)Syntaktische Analyseautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-4-1-2-aria-name-rolle-wertBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 4.1.2 (Level A)Name, Rolle, Wertautomatedverified_from_rule_catalog1
req-a-bfsg-wcag-4-1-3-statusmeldungenBFSGV / WCAG 2.1deBFSGV §12 i. V. m. WCAG 4.1.3 (Level AA)Statusmeldungenautomatedverified_from_rule_catalog1
req-a-bgb-13-verbraucherrolle-feststellbarBGBde§13Verbraucherautomatedverified_from_rule_catalog1
req-a-bgb-14-unternehmer-impressumsbezugBGBde§14Unternehmerautomatedverified_from_rule_catalog1
req-a-bgb-312d-gesamtpreis-inkl-ust-versandEGBGBdeArt. 246a §1 Abs. 1 Nr. 4Informationspflichten bei Fernabsatzverträgenautomatedverified_from_rule_catalog1
req-a-bgb-312d-wesentliche-merkmaleEinführungsgesetz zum BGBdeArt. 246a §1 Abs. 1 Nr. 1Informationspflichten bei Fernabsatzverträgenautomatedverified_from_rule_catalog1
req-a-bgb-312i-korrekturmoeglichkeit-eingabefehlerBGBde§312i Abs. 1 S. 1 Nr. 1Allgemeine Pflichten im elektronischen Geschäftsverkehrautomatedverified_from_rule_catalog1
req-a-bgb-312i-zugangsbestaetigungBGBde§312i Abs. 1 S. 1 Nr. 3Allgemeine Pflichten im elektronischen Geschäftsverkehrautomatedverified_from_rule_catalog1
req-a-bgb-355-widerrufsrecht-14-tageBGBde§355 i. V. m. §356Widerrufsrecht bei Verbraucherverträgenautomatedverified_from_rule_catalog1
req-a-bgb-356-widerrufsbelehrung-musterformularEGBGBdeArt. 246a §1 Abs. 2 Nr. 1 + Anlagen 1 und 2Widerrufsbelehrung bei Fernabsatzverträgenautomatedverified_from_rule_catalog1
req-a-bgb-357-rechtsfolgen-widerrufBGBde§357 i. V. m. Art. 246a §1 Abs. 2 EGBGBRechtsfolgen des Widerrufsautomatedverified_from_rule_catalog1
req-a-ddg-5-aufsichtsbehoerdeDDGde§ 5 Abs. 1 Nr. 3Allgemeine Informationspflichten — Aufsichtsbehördeautomatedverified_from_rule_catalog1
req-a-ddg-5-email-pflichtDDGde§ 5 Abs. 1 Nr. 2Allgemeine Informationspflichten — elektronische Kontaktaufnahmeautomatedverified_from_rule_catalog1
req-a-ddg-5-firma-rechtsform-vertretungDDGde§ 5 Abs. 1 Nr. 1Allgemeine Informationspflichten — juristische Personenautomatedverified_from_rule_catalog1
req-a-ddg-5-kammer-berufsbezeichnungDDGde§ 5 Abs. 1 Nr. 5Allgemeine Informationspflichten — reglementierte Berufeautomatedverified_from_rule_catalog1
req-a-ddg-5-liquidationDDGde§ 5 Abs. 1 Nr. 7Allgemeine Informationspflichten — Liquidationautomatedverified_from_rule_catalog1
req-a-ddg-5-name-anschriftDDGde§ 5 Abs. 1 Nr. 1Allgemeine Informationspflichten — Name und Anschriftautomatedverified_from_rule_catalog1
req-a-ddg-5-register-eintragDDGde§ 5 Abs. 1 Nr. 4Allgemeine Informationspflichten — Registereintragautomatedverified_from_rule_catalog1
req-a-ddg-5-schneller-kontakt-zusatzDDGde§ 5 Abs. 1 Nr. 2Allgemeine Informationspflichten — unmittelbare Kommunikationautomatedverified_from_rule_catalog1
req-a-ddg-5-ust-idDDGde§ 5 Abs. 1 Nr. 6Allgemeine Informationspflichten — Umsatzsteuer-IDautomatedverified_from_rule_catalog1
req-a-ddg-5-visdp-redaktionellDDGde§ 5 Abs. 2Allgemeine Informationspflichten — journalistisch-redaktionelle Inhalteautomatedverified_from_rule_catalog1
req-a-ddg-5-wirtschafts-idDDGde§ 5 Abs. 1 Nr. 6Allgemeine Informationspflichten — Wirtschafts-IDautomatedverified_from_rule_catalog1
req-a-ddg-impressum-label-eindeutigDDGde§ 5 Abs. 1Allgemeine Informationspflichten — 'leicht erkennbar'automatedverified_from_rule_catalog1
req-a-ddg-impressum-zwei-klicksDDGde§ 5 Abs. 1Allgemeine Informationspflichten — 'leicht erkennbar, unmittelbar erreichbar'automatedverified_from_rule_catalog1
req-a-ddg-mstv18-erweiterte-anbieterkennzeichnungMStVde§ 18 i. V. m. § 19Informationspflichten / Anerkannte journalistische Grundsätzeautomatedverified_from_rule_catalog1
req-a-dsa-art14-agb-zugaenglich-verstaendlichDSAeuArt. 14 Abs. 1Allgemeine Geschäftsbedingungenautomatedverified_from_rule_catalog1
req-a-dsa-art14-moderationsregeln-transparentDSAeuArt. 14 Abs. 1 S. 2Allgemeine Geschäftsbedingungen — Moderationautomatedverified_from_rule_catalog1
req-a-dsa-art16-notice-actionDSAeuArt. 16Melde- und Abhilfemechanismenautomatedverified_from_rule_catalog1
req-a-dsa-art17-begruendete-entscheidungDSAeuArt. 17Begründung der Entscheidungautomatedverified_from_rule_catalog1
req-a-dsa-art20-internes-beschwerdemanagementDSAeuArt. 20Internes Beschwerdemanagementsystemautomatedverified_from_rule_catalog1
req-a-dsa-art26-parameter-ausspielungDSAeuArt. 26 Abs. 1 lit. dWerbung — Ausspielungsparameterautomatedverified_from_rule_catalog1
req-a-dsa-art26-werbetreibender-angebenDSAeuArt. 26 Abs. 1 lit. b und cWerbung — Werbetreibenderautomatedverified_from_rule_catalog1
req-a-dsa-art26-werbung-erkennbarDSAeuArt. 26 Abs. 1 lit. aWerbung auf Online-Plattformenautomatedverified_from_rule_catalog1
req-a-dsa-art28-keine-profiling-werbung-minderjaehrigeDSAeuArt. 28 Abs. 2Schutz Minderjährigerautomatedverified_from_rule_catalog1
req-a-dsgvo-art12-frist-ein-monatDSGVOeuArt. 12 Abs. 3Transparente Information, Kommunikation und Modalitäten für die Ausübung der Rechte der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art12-kostenlosDSGVOeuArt. 12 Abs. 5Transparente Information, Kommunikation und Modalitäten für die Ausübung der Rechte der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-berechtigtes-interesseDSGVOeuArt. 13 Abs. 1 lit. dInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-beschwerderechtDSGVOeuArt. 13 Abs. 2 lit. dInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-betroffenenrechteDSGVOeuArt. 13 Abs. 2 lit. bInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-drittlandDSGVOeuArt. 13 Abs. 1 lit. fInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-dsbDSGVOeuArt. 13 Abs. 1 lit. bInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-empfaengerDSGVOeuArt. 13 Abs. 1 lit. eInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-erforderlichkeitDSGVOeuArt. 13 Abs. 2 lit. eInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-identitaetDSGVOeuArt. 13 Abs. 1 lit. aInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-profilingDSGVOeuArt. 13 Abs. 2 lit. fInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-rechtsgrundlageDSGVOeuArt. 13 Abs. 1 lit. cInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-speicherdauerDSGVOeuArt. 13 Abs. 2 lit. aInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-widerrufsrechtDSGVOeuArt. 13 Abs. 2 lit. cInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art13-zweckeDSGVOeuArt. 13 Abs. 1 lit. cInformationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art14-herkunftDSGVOeuArt. 14 Abs. 2 lit. fInformationspflicht, wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben wurdenautomatedverified_from_rule_catalog1
req-a-dsgvo-art14-zeitpunktDSGVOeuArt. 14 Abs. 3Informationspflicht, wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben wurdenautomatedverified_from_rule_catalog1
req-a-dsgvo-art15-auskunftsrechtDSGVOeuArt. 15 Abs. 1Auskunftsrecht der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art15-kopie-der-datenDSGVOeuArt. 15 Abs. 3Auskunftsrecht der betroffenen Person — Kopieautomatedverified_from_rule_catalog1
req-a-dsgvo-art16-berichtigungDSGVOeuArt. 16Recht auf Berichtigungautomatedverified_from_rule_catalog1
req-a-dsgvo-art17-loeschungDSGVOeuArt. 17 Abs. 1Recht auf Löschung (Recht auf Vergessenwerden)automatedverified_from_rule_catalog1
req-a-dsgvo-art18-einschraenkungDSGVOeuArt. 18 Abs. 1Recht auf Einschränkung der Verarbeitungautomatedverified_from_rule_catalog1
req-a-dsgvo-art19-mitteilungspflichtDSGVOeuArt. 19Mitteilungspflicht im Zusammenhang mit der Berichtigung oder Löschung personenbezogener Daten oder der Einschränkung der Verarbeitungautomatedverified_from_rule_catalog1
req-a-dsgvo-art20-datenuebertragbarkeitDSGVOeuArt. 20 Abs. 1Recht auf Datenübertragbarkeitautomatedverified_from_rule_catalog1
req-a-dsgvo-art21-widerspruch-direktwerbungDSGVOeuArt. 21 Abs. 2 und Abs. 3Widerspruchsrecht gegen Direktwerbungautomatedverified_from_rule_catalog1
req-a-dsgvo-art21-widerspruchsrechtDSGVOeuArt. 21 Abs. 1Widerspruchsrechtautomatedverified_from_rule_catalog1
req-a-dsgvo-art22-automatisierte-entscheidungDSGVOeuArt. 22 Abs. 1 und Abs. 3Automatisierte Entscheidungen im Einzelfall einschließlich Profilingautomatedverified_from_rule_catalog1
req-a-dsgvo-art28-av-garantienDSGVOeuArt. 28 Abs. 3Inhalt des Auftragsverarbeitungsvertragsautomatedverified_from_rule_catalog1
req-a-dsgvo-art28-av-liste-dseDSGVOeuArt. 13 Abs. 1 lit. e iVm Art. 28 Abs. 1Informationspflicht über Empfänger / Auftragsverarbeiterautomatedverified_from_rule_catalog1
req-a-dsgvo-art28-subauftragnehmer-infoDSGVOeuArt. 28 Abs. 2 und Abs. 4Hinzuziehung weiterer Auftragsverarbeiterautomatedverified_from_rule_catalog1
req-a-dsgvo-art30-vvt-hinweisDSGVOeuArt. 30 Abs. 1 und Abs. 5Verzeichnis von Verarbeitungstätigkeitenautomatedverified_from_rule_catalog1
req-a-dsgvo-art30-vvt-inhaltDSGVOeuArt. 30 Abs. 1 lit. a-g + Abs. 2 lit. a-dPflichtinhalte des Verzeichnisses von Verarbeitungstätigkeitenautomatedverified_from_rule_catalog1
req-a-dsgvo-art32-csp-headerDSGVOeuArt. 32 Abs. 1 lit. bSicherheit der Verarbeitung — Stand der Technikautomatedverified_from_rule_catalog1
req-a-dsgvo-art32-hsts-headerDSGVOeuArt. 32 Abs. 1 lit. bSicherheit der Verarbeitung — Vertraulichkeit/Integritätautomatedverified_from_rule_catalog1
req-a-dsgvo-art32-secure-cookiesDSGVOeuArt. 32 Abs. 1 lit. bSicherheit der Verarbeitung — Vertraulichkeitautomatedverified_from_rule_catalog1
req-a-dsgvo-art32-tls-verpflichtendDSGVOeuArt. 32 Abs. 1 lit. a und bSicherheit der Verarbeitung — Stand der Technikautomatedverified_from_rule_catalog1
req-a-dsgvo-art32-toms-in-dse-erwaehnenDSGVOeuArt. 32 iVm Art. 13 Abs. 2 lit. aSicherheit der Verarbeitung in der Transparenzpflichtautomatedverified_from_rule_catalog1
req-a-dsgvo-art32-x-frame-optionsDSGVOeuArt. 32 Abs. 1 lit. bSicherheit der Verarbeitung — Integrität/Vertraulichkeitautomatedverified_from_rule_catalog1
req-a-dsgvo-art33-datenpanne-prozess-dseDSGVOeuArt. 33 Abs. 1 (Meldepflicht binnen 72 h)Meldung von Verletzungen des Schutzes personenbezogener Datenautomatedverified_from_rule_catalog1
req-a-dsgvo-art34-benachrichtigung-verfahrenDSGVOeuArt. 34 Abs. 1 und Abs. 2Benachrichtigung der betroffenen Personautomatedverified_from_rule_catalog1
req-a-dsgvo-art35-dsfa-hinweisDSGVOeuArt. 35 Abs. 1, 3 und 4Datenschutz-Folgenabschätzungautomatedverified_from_rule_catalog1
req-a-dsgvo-art37-dsb-kontakt-dseDSGVOeuArt. 37 Abs. 7 iVm Art. 13 Abs. 1 lit. bVeröffentlichung der Kontaktdaten des Datenschutzbeauftragtenautomatedverified_from_rule_catalog1
req-a-dsgvo-art37-dsb-pflicht-hinweis-bdsg38DSGVO + BDSGeuDSGVO Art. 37 Abs. 1 / BDSG §38 Abs. 1Benennung eines Datenschutzbeauftragtenautomatedverified_from_rule_catalog1
req-a-dsgvo-art44-drittland-grundsatzDSGVOeuArt. 44 iVm Art. 13 Abs. 1 lit. fAllgemeine Grundsätze der Datenübermittlungautomatedverified_from_rule_catalog1
req-a-dsgvo-art44-usa-schrems2-hinweisDSGVOeuArt. 44 iVm Art. 46Drittlandtransfer nach Schrems IIautomatedverified_from_rule_catalog1
req-a-dsgvo-art45-angemessenheitsbeschluss-nennenDSGVOeuArt. 45Datenübermittlung auf Grundlage eines Angemessenheitsbeschlussesautomatedverified_from_rule_catalog1
req-a-dsgvo-art46-sccs-nennenDSGVOeuArt. 46 Abs. 2 lit. cDatenübermittlung vorbehaltlich geeigneter Garantienautomatedverified_from_rule_catalog1
req-a-dsgvo-art49-ausnahme-dokumentierenDSGVOeuArt. 49 Abs. 1 lit. aAusnahmen für bestimmte Fälle — ausdrückliche Einwilligungautomatedverified_from_rule_catalog1
req-a-dsgvo-art6-berechtigtes-interesse-lit-fDSGVOeuArt. 6 Abs. 1 lit. fRechtmäßigkeit — berechtigtes Interesseautomatedverified_from_rule_catalog1
req-a-dsgvo-art6-einwilligung-lit-aDSGVOeuArt. 6 Abs. 1 lit. aRechtmäßigkeit — Einwilligungautomatedverified_from_rule_catalog1
req-a-dsgvo-art6-lebenswichtig-lit-dDSGVOeuArt. 6 Abs. 1 lit. dRechtmäßigkeit — lebenswichtige Interessenautomatedverified_from_rule_catalog1
req-a-dsgvo-art6-oeffentliches-interesse-lit-eDSGVOeuArt. 6 Abs. 1 lit. eRechtmäßigkeit — öffentliches Interesse / öffentliche Gewaltautomatedverified_from_rule_catalog1
req-a-dsgvo-art6-rechtsgrundlage-genanntDSGVOeuArt. 6 Abs. 1Rechtmäßigkeit der Verarbeitungautomatedverified_from_rule_catalog1
req-a-dsgvo-art6-rechtspflicht-lit-cDSGVOeuArt. 6 Abs. 1 lit. cRechtmäßigkeit — rechtliche Verpflichtungautomatedverified_from_rule_catalog1
req-a-dsgvo-art6-vertrag-lit-bDSGVOeuArt. 6 Abs. 1 lit. bRechtmäßigkeit — Vertragserfüllungautomatedverified_from_rule_catalog1
req-a-dsgvo-art7-informiertheitDSGVOeuArt. 7 Abs. 2Bedingungen für die Einwilligung — Informiertheitautomatedverified_from_rule_catalog1
req-a-dsgvo-art7-kinder-art8-verweisDSGVOeuArt. 8 (i. V. m. Art. 7)Einwilligung eines Kindes in Bezug auf Dienste der Informationsgesellschaftautomatedverified_from_rule_catalog1
req-a-dsgvo-art7-nachweisbarkeitDSGVOeuArt. 7 Abs. 1Bedingungen für die Einwilligung — Nachweispflichtautomatedverified_from_rule_catalog1
req-a-dsgvo-art7-widerruf-einfachDSGVOeuArt. 7 Abs. 3Bedingungen für die Einwilligung — Widerrufbarkeitautomatedverified_from_rule_catalog1
req-a-kug-22-einwilligung-personenfotoKUGde§22Verbreitung und Zurschaustellung von Bildnissenautomatedverified_from_rule_catalog1
req-a-kug-22-minderjaehrige-einwilligungKUG i. V. m. DSGVO Art. 8de_eu§22 KUG i. V. m. §§1626, 1629 BGBEinwilligung Minderjährigerautomatedverified_from_rule_catalog1
req-a-kug-23-ausnahmen-zeitgeschichteKUGde§23Ausnahmen zum Einwilligungserfordernisautomatedverified_from_rule_catalog1
req-a-kug-widerruf-einwilligungKUG i. V. m. DSGVO Art. 7 Abs. 3eu§22 KUGWiderruf der Einwilligungautomatedverified_from_rule_catalog1
req-a-ttdsg-25-banner-aufklaerungTTDSGde§ 25 Abs. 1Einwilligungspflicht — klare und umfassende Informationautomatedverified_from_rule_catalog1
req-a-ttdsg-25-einwilligung-dsgvo-qualitaetTTDSGde§ 25 Abs. 1 Satz 2Verweis auf DSGVO-Einwilligungsanforderungenautomatedverified_from_rule_catalog1
req-a-ttdsg-25-widerruf-einfachTTDSGde§ 25 Abs. 1 (i.V.m. DSGVO Art. 7 Abs. 3)Widerruflichkeit der Einwilligungautomatedverified_from_rule_catalog1
req-a-ttdsg-dsgvo-verhaeltnisTTDSGde§ 25 (gesamt) + DSGVO Art. 6 + Art. 13Parallele Anwendung TTDSG und DSGVOautomatedverified_from_rule_catalog1
req-a-urhg-15-19a-oeffentliche-zugaenglichmachungUrhGde§15 Abs. 2 Nr. 2 i. V. m. §19aVerwertungsrechte / Recht der öffentlichen Zugänglichmachungautomatedverified_from_rule_catalog1
req-a-urhg-51-zitatrechtUrhGde§51Zitateautomatedverified_from_rule_catalog1
req-a-urhg-63-quellenangabeUrhGde§63Quellenangabeautomatedverified_from_rule_catalog1
req-a-urhg-cc-bearbeitung-kennzeichnenUrhG i. V. m. CC-LizenzvertragdeZiff. 3 CC-Lizenz + §23 UrhGBearbeitungenautomatedverified_from_rule_catalog1
req-a-urhg-cc-tasl-benennungUrhG i. V. m. CC-Lizenzvertragde§31 Abs. 5 UrhG + Ziff. 3 CC-LizenzNutzungsrechte nach CC-Lizenzautomatedverified_from_rule_catalog1
req-a-urhg-eigenes-werk-copyright-vermerkUrhGde§7 i. V. m. §13Urheber / Anerkennung der Urheberschaftautomatedverified_from_rule_catalog1
req-a-urhg-hotlinking-verbotUrhGde§15 Abs. 2 Nr. 2 i. V. m. §19aRecht der öffentlichen Zugänglichmachungautomatedverified_from_rule_catalog1
req-a-urhg-lizenz-nachweisUrhGde§31 Abs. 5 i. V. m. §97 Abs. 2Einräumung von Nutzungsrechten / Schadensersatzautomatedverified_from_rule_catalog1
req-a-uwg-3-generalklauselUWGde§ 3 Abs. 1Verbot unlauterer geschäftlicher Handlungenautomatedverified_from_rule_catalog1
req-a-uwg-3-schwarze-liste-verweisUWGde§ 3 Abs. 3 i. V. m. AnhangSchwarze Liste — stets unzulässige geschäftliche Handlungenautomatedverified_from_rule_catalog1
req-a-uwg-3-verbraucherschutz-besondere-gruppenUWGde§ 3 Abs. 2Beurteilungsmaßstab besonders schutzbedürftiger Gruppenautomatedverified_from_rule_catalog1
req-a-uwg-5-irrefuehrung-grundsatzUWGde§ 5 Abs. 1Irreführende geschäftliche Handlungen — Grundverbotautomatedverified_from_rule_catalog1
req-a-uwg-5-preisangaben-irrefuehrendUWGde§ 5 Abs. 2 Nr. 2Irreführung über Preis, Preisberechnung oder besondere Vorteileautomatedverified_from_rule_catalog1
req-a-uwg-5-vergleichende-werbungUWGde§ 5 Abs. 3 i. V. m. § 6Vergleichende Werbungautomatedverified_from_rule_catalog1
req-a-uwg-5-werbeaussagen-belegbarUWGde§ 5 Abs. 2 Nr. 1Irreführung über wesentliche Merkmale der Ware/Dienstleistungautomatedverified_from_rule_catalog1
req-a-uwg-5a-affiliate-kennzeichnungUWGde§ 5a Abs. 4Kennzeichnung von Affiliate-Links als kommerzielle Handlungautomatedverified_from_rule_catalog1
req-a-uwg-5a-kommerzieller-zweck-erkennbarUWGde§ 5a Abs. 4Kenntlichmachung des kommerziellen Zwecksautomatedverified_from_rule_catalog1
req-a-uwg-5a-verbraucher-informationen-bei-aufforderungUWGde§ 5b Abs. 1 (früher § 5a Abs. 3)Wesentliche Informationen bei Aufforderung zum Kaufautomatedverified_from_rule_catalog1
req-a-uwg-5a-wesentliche-infosUWGde§ 5a Abs. 1Irreführung durch Unterlassen — Grundtatbestandautomatedverified_from_rule_catalog1
req-a-uwg-5b-bewertungen-authentizitaetUWGde§ 5b Abs. 3 (i. V. m. Anhang § 3 Abs. 3 Nr. 23b)Informationspflicht bei Verbraucherbewertungenautomatedverified_from_rule_catalog1
req-a-uwg-5b-fake-bewertungen-verbotUWGdeAnhang zu § 3 Abs. 3 Nr. 23a (i. V. m. § 5b)Verbot gefälschter Verbraucherbewertungen (Per-se)automatedverified_from_rule_catalog1
req-a-uwg-5b-ranking-transparenzUWGde§ 5b Abs. 2Transparenz bei Rangfolgen von Produkten/Anbieternautomatedverified_from_rule_catalog1
req-a-uwg-5c-unternehmenskennzeichnung-wesentlichUWGde§ 5 Abs. 2 Nr. 3Irreführung über die Person, Eigenschaften oder Rechte des Unternehmersautomatedverified_from_rule_catalog1
req-a-uwg-7-abmeldelink-pflichtUWGde§ 7 Abs. 2 Nr. 4 lit. bFehlen eines Abmelde-Hinweisesautomatedverified_from_rule_catalog1
req-a-uwg-7-absender-identitaetUWGde§ 7 Abs. 2 Nr. 4 lit. aAbsender-Verschleierung in Werbe-E-Mailsautomatedverified_from_rule_catalog1
req-a-uwg-7-bestandskunden-ausnahmeUWGde§ 7 Abs. 3 Nr. 1–4Bestandskundenausnahmeautomatedverified_from_rule_catalog1
req-a-uwg-7-mail-werbung-einwilligungUWGde§ 7 Abs. 2 Nr. 3E-Mail-Werbung ohne ausdrückliche Einwilligungautomatedverified_from_rule_catalog1
req-a-uwg-7-telefonwerbung-einwilligungUWGde§ 7 Abs. 2 Nr. 2 (i. V. m. §7a UWG Dokumentationspflicht)Telefonwerbung mit oder ohne Einwilligungautomatedverified_from_rule_catalog1
req-assetsexternal-font-sourcesDSGVOeuArt. 6, Art. 13, ggf. Art. 44Rechtsgrundlage, Informationspflicht und Drittlandtransfer bei externen Ressourcenautomatedverified_from_rule_catalog1
req-assetsexternal-image-sourcesDSGVOeuArt. 6, Art. 13, ggf. Art. 44Rechtsgrundlage, Informationspflicht und Drittlandtransfer bei externen Ressourcenautomatedverified_from_rule_catalog1
req-b-bewertungen-anzeige-fair-keine-filterungUWGde§5a Abs. 1Irreführung durch Unterlassenautomatedverified_from_rule_catalog1
req-b-bewertungen-authentizitaet-5b-abs-1UWGde§5b Abs. 1Wesentliche Informationen / Kundenbewertungenautomatedverified_from_rule_catalog1
req-b-bewertungen-fake-verbot-nr-23b-anhangUWGde§3 Abs. 3 i. V. m. Anhang Nr. 23bPauschal unlautere geschäftliche Handlungenautomatedverified_from_rule_catalog1
req-b-bewertungen-gegenstimme-loeschrechtDSGVOeuArt. 17 i. V. m. Art. 1 Abs. 1 GGRecht auf Löschung / Persönlichkeitsrechtautomatedverified_from_rule_catalog1
req-b-bewertungen-ranking-hauptparameter-offenlegenUWGde§5b Abs. 2Ranking-Transparenzautomatedverified_from_rule_catalog1
req-b-cookies-banner-ablehnen-gleichwertigDSGVOeuArt. 4 Nr. 11 i. V. m. Art. 7 Abs. 4Begriffsbestimmung Einwilligung / Bedingungenautomatedverified_from_rule_catalog1
req-b-cookies-banner-kein-nudgingDSGVOeuArt. 7 Abs. 4 i. V. m. Art. 4 Nr. 11Bedingungen für Einwilligungautomatedverified_from_rule_catalog1
req-b-cookies-banner-optin-vor-setzenTTDSGde§25 Abs. 1Schutz der Privatsphäre bei Endeinrichtungenautomatedverified_from_rule_catalog1
req-b-cookies-doku-consent-logDSGVOeuArt. 7 Abs. 1Bedingungen Einwilligung — Nachweispflichtautomatedverified_from_rule_catalog1
req-b-cookies-doku-widerruf-footer-iconDSGVOeuArt. 7 Abs. 3Widerruflichkeit der Einwilligungautomatedverified_from_rule_catalog1
req-b-cookies-dse-tabelle-vollstaendigDSGVOeuArt. 13 Abs. 1 lit. c, e, fInformationspflicht bei Erhebung beim Betroffenenautomatedverified_from_rule_catalog1
req-b-cookies-technik-blocking-vor-consentTTDSGde§25 Abs. 1Schutz der Privatsphäre bei Endeinrichtungenautomatedverified_from_rule_catalog1
req-b-cookies-technik-kategorien-granularDSGVOeuArt. 6 Abs. 1 lit. a i. V. m. Art. 7 Abs. 2Rechtmäßigkeit / Bedingungen Einwilligungautomatedverified_from_rule_catalog1
req-b-influencer-affiliate-link-offenlegungUWGde§5a Abs. 4Irreführung durch Unterlassenautomatedverified_from_rule_catalog1
req-b-influencer-ddg6-absender-werbetreibenderDDGde§6 Abs. 1 Nr. 2Besondere Pflichten bei kommerziellen Kommunikationenautomatedverified_from_rule_catalog1
req-b-influencer-haftung-eigenpflicht-bghUWGde§8 Abs. 2 i. V. m. §5a Abs. 4Haftung des Handelndenautomatedverified_from_rule_catalog1
req-b-influencer-platzierung-am-anfangUWGde§5a Abs. 4Erkennbarkeit kommerzieller Kommunikationautomatedverified_from_rule_catalog1
req-b-influencer-produkttest-geschenk-kennzeichnungUWGde§5a Abs. 4Kommerzielle Kommunikation — Begriffautomatedverified_from_rule_catalog1
req-b-influencer-werbung-deutsche-spracheUWGde§5a Abs. 4 i. V. m. §5 Abs. 1Irreführende geschäftliche Handlungenautomatedverified_from_rule_catalog1
req-b-influencer-werbung-eindeutige-bezeichnungUWGde§5a Abs. 4Irreführung durch Unterlassen — kommerzielle Zweckeautomatedverified_from_rule_catalog1
req-b-ki-datenschutz-grundlage-drittlandtransferDSGVOeuArt. 44 ff. i. V. m. Art. 28Drittlandübermittlungen / Auftragsverarbeitungautomatedverified_from_rule_catalog1
req-b-ki-datenschutz-grundlage-rechtsgrundlage-clearDSGVOeuArt. 6 Abs. 1 i. V. m. Art. 5 Abs. 2Rechtmäßigkeit / Rechenschaftspflichtautomatedverified_from_rule_catalog1
req-b-ki-dsgvo-art13-info-ki-verwendungDSGVOeuArt. 13 Abs. 1 lit. c, e, fInformationspflichten bei Erhebungautomatedverified_from_rule_catalog1
req-b-ki-dsgvo-art22-automatisierte-entscheidungDSGVOeuArt. 22 i. V. m. Art. 13 Abs. 2 lit. fAutomatisierte Entscheidungen im Einzelfallautomatedverified_from_rule_catalog1
req-b-ki-klassifizierung-hochrisiko-oder-transparenzVerordnung (EU) 2024/1689 — AI ActeuArt. 6 i. V. m. Anhang IIIEinstufung als Hochrisiko-KI-Systemautomatedverified_from_rule_catalog1
req-b-ki-klassifizierung-verbotene-praktiken-checkVerordnung (EU) 2024/1689 — AI ActeuArt. 5Verbotene KI-Praktikenautomatedverified_from_rule_catalog1
req-b-ki-transparenz-chatbot-kennzeichnungVerordnung (EU) 2024/1689 — AI ActeuArt. 50 Abs. 1Transparenzpflicht bei KI-Systemen mit Interaktionautomatedverified_from_rule_catalog1
req-b-ki-transparenz-deepfake-kennzeichnungVerordnung (EU) 2024/1689 — AI ActeuArt. 50 Abs. 4 UnterAbs. 1Deepfake-Offenlegungspflichtautomatedverified_from_rule_catalog1
req-b-ki-transparenz-ki-content-kennzeichnungVerordnung (EU) 2024/1689 — AI ActeuArt. 50 Abs. 2 und Abs. 4Kennzeichnung KI-generierter Inhalteautomatedverified_from_rule_catalog1
req-b-kontaktformular-art13-hinweis-am-formularDSGVOeuArt. 12 Abs. 1 i. V. m. Art. 13Transparente Information / Informationspflichtautomatedverified_from_rule_catalog1
req-b-kontaktformular-checkbox-vermeiden-wenn-unnoetigDSGVOeuArt. 6 Abs. 1 i. V. m. Art. 13Rechtmäßigkeit / Informationspflichtautomatedverified_from_rule_catalog1
req-b-kontaktformular-loeschkonzept-dokumentiertDSGVOeuArt. 5 Abs. 1 lit. e i. V. m. Art. 13 Abs. 2 lit. aSpeicherbegrenzung / Info Speicherdauerautomatedverified_from_rule_catalog1
req-b-kontaktformular-pflichtfelder-minimalDSGVOeuArt. 5 Abs. 1 lit. cGrundsatz Datenminimierungautomatedverified_from_rule_catalog1
req-b-kontaktformular-rechtsgrundlage-richtigDSGVOeuArt. 6 Abs. 1 lit. b / lit. fRechtmäßigkeit der Verarbeitungautomatedverified_from_rule_catalog1
req-b-kontaktformular-transport-https-captchaDSGVOeuArt. 32 Abs. 1 i. V. m. Art. 25Sicherheit der Verarbeitung / Privacy by Designautomatedverified_from_rule_catalog1
req-b-newsletter-formular-datensparsamkeitDSGVOeuArt. 5 Abs. 1 lit. cGrundsätze — Datenminimierungautomatedverified_from_rule_catalog1
req-b-newsletter-formular-keine-vorbelegungDSGVOeuArt. 4 Nr. 11 i. V. m. Art. 7 Abs. 4Begriffsbestimmung Einwilligung / Kopplungsverbotautomatedverified_from_rule_catalog1
req-b-newsletter-nachweis-consent-logDSGVOeuArt. 7 Abs. 1 i. V. m. Art. 5 Abs. 2Nachweis der Einwilligung / Rechenschaftspflichtautomatedverified_from_rule_catalog1
req-b-newsletter-versand-abmelde-ein-klickUWGde§7 Abs. 3 Nr. 4Werbung an Bestandskunden — Widerspruchsmöglichkeitautomatedverified_from_rule_catalog1
req-b-newsletter-versand-absender-identitaetUWGde§7 Abs. 2 Nr. 4Unzumutbare Belästigungen — Verschleierungautomatedverified_from_rule_catalog1
req-bfsgaccessibility-wcag-aa-baselineBFSG / BFSGVde§ 3, § 14 BFSG; §§ 12, 19 BFSGVBarrierefreiheit von Dienstleistungen im elektronischen Geschaeftsverkehrautomatedverified_from_rule_catalog1
req-c-01-coaching-fernusg-warnungFernUSGde§12Zulassung von Fernlehrgängenautomatedverified_from_rule_catalog1
req-c-01-fotograf-kug-kernpflichtKUGde§22Recht am eigenen Bildautomatedverified_from_rule_catalog1
req-c-01-keine-kammerpflicht(keine branchenspezifische) — Verweis auf Ebene A + Bde-Scope-Abgrenzungautomatedverified_from_rule_catalog1
req-c-02-berufsbezeichnung-geschuetztHwOde§51Meisterbezeichnungautomatedverified_from_rule_catalog1
req-c-02-betriebsnummer-handwerksrolleanalogde§6 HwO; §5 Abs. 1 Nr. 4 DDG (analog)Handwerksrolleautomatedverified_from_rule_catalog1
req-c-02-hwk-mitgliedschaftHwOde§1 i. V. m. §90Handwerksbetrieb / HWK-Mitgliedschaftautomatedverified_from_rule_catalog1
req-c-02-kammer-bezirkDDGde§5 Abs. 1 Nr. 5Allgemeine Informationspflichtenautomatedverified_from_rule_catalog1
req-c-02-meister-nennungHandwerksordnung (HwO) i. V. m. DDGde§7 HwO; §5 Abs. 1 Nr. 6 DDGMeistervoraussetzung / Berufsrechtliche Regelungautomatedverified_from_rule_catalog1
req-c-02-werbeaussagen-qualitaetUWGde§5Irreführende geschäftliche Handlungenautomatedverified_from_rule_catalog1
req-c-03-berufsgenossenschaftanalog DDG Best Practicede§121 SGB VIIZuständigkeit BGautomatedverified_from_rule_catalog1
req-c-03-hwk-mitgliedschaft-zulassungsfreiHwOde§19 i. V. m. §90Verzeichnis / HWK-Mitgliedschaftautomatedverified_from_rule_catalog1
req-c-03-kammer-hinweis-impressumDDGde§5 Abs. 1 Nr. 5Kammerangabeautomatedverified_from_rule_catalog1
req-c-03-keine-meisterwerbungUWG + HwOde§5 UWG; §51 HwOIrreführung / Meisterbezeichnungautomatedverified_from_rule_catalog1
req-c-04-anwalt-bora-impressumBORAde§6Darstellung auf Medien (Impressum)automatedverified_from_rule_catalog1
req-c-04-anwalt-fachanwalt-nur-bei-nachweisBRAOde§43cFachanwaltschaftautomatedverified_from_rule_catalog1
req-c-04-arch-kammer-eintragungz.B. BauKaG Bayern, ArchG NRWdeje Länder-Gesetz (z.B. §3 ArchG NRW)Berufsbezeichnung / Eintragungautomatedverified_from_rule_catalog1
req-c-04-haftpflicht-versicherungBRAO §51; StBerG §67; WPO §54; BNotO §19a; DDG §5 Abs. 1 Nr. 8deje GesetzBerufshaftpflichtautomatedverified_from_rule_catalog1
req-c-04-schweigepflicht-203-stgbStGBde§203Verletzung von Privatgeheimnissenautomatedverified_from_rule_catalog1
req-c-04-stb-bostb-impressumSteuerberatungsgesetz (StBerG) / BOStBde§57a StBerG; §9 BOStBWerbung / Auftrittautomatedverified_from_rule_catalog1
req-c-04-streitbeilegung-schlichtungVSBG / BRAO §191fde§36 VSBG; §191f BRAOVerbraucherstreitbeilegungautomatedverified_from_rule_catalog1
req-c-04-werbeverbot-einschraenkungenBRAO / StBerGde§43b BRAO; §57a StBerGWerbungautomatedverified_from_rule_catalog1
req-c-05-approbation-nachweisBundesärzteordnung (BÄO) / DDGde§2 BÄO; §5 DDGApprobation / Impressumpflichtautomatedverified_from_rule_catalog1
req-c-05-boe-sachlichkeitsgebotLänder-BO bindendde§27Erlaubte Information, unerlaubte Werbungautomatedverified_from_rule_catalog1
req-c-05-dsgvo-art9-gesundheitsdatenDSGVOeuArt. 9Besondere Kategorien personenbezogener Datenautomatedverified_from_rule_catalog1
req-c-05-heilpraktiker-abgrenzungHeilprGde§1Heilkunde-Ausübungautomatedverified_from_rule_catalog1
req-c-05-hwg-keine-testberichte-laienHWGde§11 Abs. 1 Nr. 11Publikumswerbungautomatedverified_from_rule_catalog1
req-c-05-hwg-werbung-grenzeHWGde§§3, 4, 5, 11Werbebeschränkungenautomatedverified_from_rule_catalog1
req-c-05-kammer-aerztekammerDDG + Heilberufsgesetze der Länderde§5 Abs. 1 Nr. 5 DDGKammerangabeautomatedverified_from_rule_catalog1
req-c-05-medizinprodukt-ce-kennzeichnungMedizinprodukterecht-Durchführungsgesetz (MPDG) / MDRde§§9, 11 MPDG; Art. 20 MDRCE-Kennzeichnung / Konformitätautomatedverified_from_rule_catalog1
req-c-05-schweigepflicht-203-stgbStGBde§203Verletzung von Privatgeheimnissenautomatedverified_from_rule_catalog1
req-c-05-telemedizin-fernbehandlung(Muster-)Berufsordnung Ärzte — MBO-Äde§7 Abs. 4Behandlungsgrundsätze / Fernbehandlungautomatedverified_from_rule_catalog1
req-c-06-34d-gewo-eintragung-vermittler-registerGewOde§§34d–i, §11aErlaubnis / Vermittlerregisterautomatedverified_from_rule_catalog1
req-c-06-34f-gewo-finanzanlagenvermittlerGewOde§34fFinanzanlagenvermittlerautomatedverified_from_rule_catalog1
req-c-06-bafin-aufsicht-kwgKWG / ZAGde§32 KWG; §10 ZAGErlaubnis BaFinautomatedverified_from_rule_catalog1
req-c-06-berufshaftpflicht-vermittlerGewerbeordnung (GewO) / VersVermVde§34d Abs. 5 GewO; §9 VersVermVBerufshaftpflichtautomatedverified_from_rule_catalog1
req-c-06-finvermv-offenlegungFinVermVde§§11–18Wohlverhaltens- und Offenlegungspflichtenautomatedverified_from_rule_catalog1
req-c-06-gwg-identifizierungGwGde§10Allgemeine Sorgfaltspflichten (KYC)automatedverified_from_rule_catalog1
req-c-06-ihk-aufsichtDDG / GewOde§5 Abs. 1 Nr. 3 DDGAufsichtsbehördeautomatedverified_from_rule_catalog1
req-c-06-schlichtungsstelle-verbraucherVVG / VSBGde§214 VVG; §36 VSBGSchlichtungautomatedverified_from_rule_catalog1
req-c-06-werbe-mifid2-psd2WpHG / ZAG / MiFID II Art. 24de§63 Abs. 6 WpHGWerbeanforderungenautomatedverified_from_rule_catalog1
req-c-06-widerrufsfrist-vvg-14-tageVVGde§§8, 152Widerrufsrechtautomatedverified_from_rule_catalog1
req-c-07-agb-agb-abrufbar-speicherbarBGBde§312i Abs. 1 Nr. 4Elektronischer Geschäftsverkehrautomatedverified_from_rule_catalog1
req-c-07-os-plattform-linkVSBGde§ 36Allgemeine Informationspflicht zur Verbraucherstreitbeilegungautomatedverified_from_rule_catalog1
req-c-07-pangv-endpreis-gesamtpreisPAngVde§3Gesamtpreisautomatedverified_from_rule_catalog1
req-c-07-pangv-grundpreisPAngVde§4Grundpreisautomatedverified_from_rule_catalog1
req-c-07-pangv-streichpreise-30-tagePAngVde§11Preisermäßigungautomatedverified_from_rule_catalog1
req-c-07-pangv-versandkosten-vorabPAngVde§6Zusatzkostenautomatedverified_from_rule_catalog1
req-c-07-vsbg-streitbeilegungVSBGde§36Allgemeine Informationspflichtautomatedverified_from_rule_catalog1
req-c-07-widerrufsbelehrung-musterEGBGB Art. 246ade§1 Abs. 2 + Anlage 1/2Widerrufsbelehrungautomatedverified_from_rule_catalog1
req-c-07-widerrufsfolgen-kostentragungBGBde§357 Abs. 6Rechtsfolgen Widerrufautomatedverified_from_rule_catalog1
req-c-08-abgrenzung-b2b-nur-unternehmerBGBde§14Unternehmerautomatedverified_from_rule_catalog1
req-c-08-agb-inhaltskontrolle-307BGBde§307Inhaltskontrolleautomatedverified_from_rule_catalog1
req-c-08-impressum-ust-pflicht-bei-vertrag-intlDDG / UStGde§5 Abs. 1 Nr. 6 DDG; §13b UStGUSt-IdNr. / Reverse-Chargeautomatedverified_from_rule_catalog1
req-c-08-kein-widerruf-b2bBGBde§355 i.V.m. §312 Abs. 3Widerrufsrechtautomatedverified_from_rule_catalog1
req-c-08-pangv-nur-wenn-auch-b2cPAngVde§1 Abs. 1Anwendungsbereichautomatedverified_from_rule_catalog1
req-c-09-bio-siegel-eu-verordnung-2018-848EU-Öko-VerordnungeuArt. 30, 38Kennzeichnung / Kontrolleautomatedverified_from_rule_catalog1
req-c-09-gesundheits-nach-claimverordnungHealth-Claims-VOeuArt. 10, 13, 14Zugelassene Angabenautomatedverified_from_rule_catalog1
req-c-09-grundpreis-pro-kg-lPAngVde§4Grundpreisautomatedverified_from_rule_catalog1
req-c-09-herkunftskennzeichnungDurchführungs-VO (EU) 1337/2013 / HonigV / weitereeuArt. 5-7 DVO 1337/2013Herkunft Fleischautomatedverified_from_rule_catalog1
req-c-09-hygiene-ifsg-ueberlagerungIfSGde§§42, 43Tätigkeits-/Beschäftigungsverbote / Belehrungautomatedverified_from_rule_catalog1
req-c-09-lmiv-14-hauptallergeneLMIVeuArt. 9 Abs. 1 lit. c + Anhang IIAllergenkennzeichnungautomatedverified_from_rule_catalog1
req-c-09-online-speisekarte-allergen-leicht-zugaenglichLMIVeuArt. 14Fernabsatzautomatedverified_from_rule_catalog1
req-c-09-zusatzstoffe-kennzeichnungVO (EU) 1169/2011 (LMIV) + LMIDVeuArt. 18 LMIV + Anhang VII Teil C; §9 LMIDVZusatzstoffeautomatedverified_from_rule_catalog1
req-c-10-hwk-mitgliedschaft-anlage-bHwO / DDGde§1, §19, §90 HwO; §5 DDGHWK-Mitgliedschaft / Impressumautomatedverified_from_rule_catalog1
req-c-10-hygieneverordnung-laenderInfektionsschutzgesetz (IfSG) + Länder-HygieneVOde§36 IfSGHygienische Anforderungen / Überwachungautomatedverified_from_rule_catalog1
req-c-10-kosmetikvo-inci-auslobungKosmetikVOeuArt. 19, 20Kennzeichnung / Wirkversprechenautomatedverified_from_rule_catalog1
req-c-10-medizinische-fusspflege-abgrenzungPodGde§1Berufsbezeichnungautomatedverified_from_rule_catalog1
req-c-10-sonnenstudio-uvsv-18-jahreUVSVde§4Altersbeschränkungautomatedverified_from_rule_catalog1
req-c-10-tattoo-nisv-fachkundenachweisNiSVde§§4, 5Fachkunde / Arztvorbehaltautomatedverified_from_rule_catalog1
req-c-11-fewo-privatvermieter-impressumDSGVO & DDGde_euArt. 13 DSGVO; §5 DDGInformationspflichten bei Datenerhebungautomatedverified_from_rule_catalog1
req-c-11-hotel-meldeschein-bmg29BMGde§29Besondere Meldepflichten bei Beherbergungsstättenautomatedverified_from_rule_catalog1
req-c-11-insolvenzsicherung-drvRSGde§651r BGB; §§6, 7 RSGAbsicherung des Reisendenautomatedverified_from_rule_catalog1
req-c-11-pauschalreise-informationsblattBGB i. V. m. EGBGB Art. 250 §3de§651d BGBInformationspflichten; Vertragsinhaltautomatedverified_from_rule_catalog1
req-c-11-preisangabe-ubernachtungPAngVde§3Gesamtpreisautomatedverified_from_rule_catalog1
req-c-11-reisebuero-vermittlung-trennungBGBde§651vReisevermittlerautomatedverified_from_rule_catalog1
req-c-12-guekg-erlaubnis-gueterverkehrGüKGde§3Erlaubnis- und Lizenzpflichtautomatedverified_from_rule_catalog1
req-c-12-hgb-frachtvertrag-agbHGBde§431Haftungshöchstbetragautomatedverified_from_rule_catalog1
req-c-12-lieferdienst-mindestlohn-hinweisMiLoGde§16Haftung des Auftraggebersautomatedverified_from_rule_catalog1
req-c-12-pbefg-genehmigung-personenbefoerderungPBefGde§2Genehmigungspflichtautomatedverified_from_rule_catalog1
req-c-12-taxi-tarife-oeffentlichPBefGde§51Beförderungsentgelte und -bedingungen im Taxenverkehrautomatedverified_from_rule_catalog1
req-c-12-umzug-allg-deutsche-spediteur-bedingungenBGB AGB-Recht + HGB §449de§305 BGB; §449 HGBEinbeziehung AGB / Abweichende Vereinbarungenautomatedverified_from_rule_catalog1
req-c-13-34c-gewo-erlaubnis-maklerGewOde§34cImmobilienmakler, Darlehensvermittler, Bauträger, Baubetreuer, Wohnimmobilienverwalterautomatedverified_from_rule_catalog1
req-c-13-hoai-mindest-hoechst-saetzeHOAIdeHOAI 2021Honorarermittlungautomatedverified_from_rule_catalog1
req-c-13-immobilien-energieausweis-enevGEGde§87Pflichtangaben in Immobilienanzeigenautomatedverified_from_rule_catalog1
req-c-13-mabv-fortbildung-nachweisMaBVde§15bWeiterbildungspflichtautomatedverified_from_rule_catalog1
req-c-13-mabv-vermoegensschaden-versicherungMaBVde§15Versicherungspflicht Verwalterautomatedverified_from_rule_catalog1
req-c-13-provision-bestellerprinzip-mietobjektWoVermGde§2Entgeltautomatedverified_from_rule_catalog1
req-c-13-weg-verwalterzertifikatWEGde§26a + ZertVerwVZertifizierter Verwalterautomatedverified_from_rule_catalog1
req-c-13-widerrufsrecht-maklervertrag-b2cBGBde§312b + §356Außerhalb von Geschäftsräumen geschlossene Verträgeautomatedverified_from_rule_catalog1
req-c-14-b2b-fernusg-anwendbarkeitFernUSG i. V. m. Rechtsprechungde§1 FernUSGAnwendungsbereichautomatedverified_from_rule_catalog1
req-c-14-fernusg-abgrenzung-live-coachingFernUSGde§1Anwendungsbereichautomatedverified_from_rule_catalog1
req-c-14-fernusg-widerruf-14-tage-unabhaengigFernUSGde§4Widerrufsrechtautomatedverified_from_rule_catalog1
req-c-14-fernusg-zulassungsnummer-pflichtFernUSGde§9Werbung und Angeboteautomatedverified_from_rule_catalog1
req-c-14-fernusg-zulassungspflicht-zfuFernUSGde§12Zulassungspflichtautomatedverified_from_rule_catalog1
req-c-15-gewinnspiel-teilnahmebedingungenUWG + MStVde§6 UWG; §8 MStVVergleichende Werbung / Gewinnspieleautomatedverified_from_rule_catalog1
req-c-15-mstv-18-journalistisch-redaktionellMStVde§18 Abs. 2Informationspflichten Telemedienautomatedverified_from_rule_catalog1
req-c-15-podcast-episoden-kennzeichnung-werbungMStVde§22Werbung, Sponsoring, Teleshoppingautomatedverified_from_rule_catalog1
req-c-15-presse-auskunftsanspruch-art5-ggLandespressegesetze (z. B. LPG NRW §4) + GG Art. 5de§4 LPGInformationsrecht der Presseautomatedverified_from_rule_catalog1
req-c-15-pressekodex-trennung-werbung-redaktionUWG + MStV + Pressekodexde§5a UWG; §22 MStVIrreführung durch Unterlassen / Werbekennzeichnungautomatedverified_from_rule_catalog1
req-c-15-recherche-dsgvo-grundlagenDSGVO + BDSG + LandespressegesetzeeuArt. 85 DSGVO; §12 BDSGDatenverarbeitung zu journalistischen Zweckenautomatedverified_from_rule_catalog1
req-c-16-ai-act-anbieter-vs-betreiberVerordnung 2024/1689euArt. 3, 16 ff., 26 ff.Rollen und Pflichten im KI-Ökosystemautomatedverified_from_rule_catalog1
req-c-16-avv-art28-anbieter-pflichtDSGVOeuArt. 28Auftragsverarbeitungautomatedverified_from_rule_catalog1
req-c-16-kvkg-gewahrleistung-digitale-produkteBGBde§§327 ff.Verträge über digitale Produkteautomatedverified_from_rule_catalog1
req-c-16-nis2-anwendbarkeit-kritisch-wichtigin DE: NIS2UmsuCG, BSI-Gesetzde_eu§§30 ff. NIS2UmsuCG (Entwurf)Umsetzung NIS2-Richtlinie EU 2022/2555automatedverified_from_rule_catalog1
req-c-16-open-source-lizenz-complianceUrhG + jeweilige OSS-Lizenzde§§97, 99 UrhGUrheberrechtliche Ansprücheautomatedverified_from_rule_catalog1
req-c-16-sla-verfugbarkeit-transparentUWG + BGB AGB-Rechtde§5 UWG; §307 BGBIrreführung + AGB-Kontrolleautomatedverified_from_rule_catalog1
req-c-16-sub-auftragsverarbeiter-listeDSGVOeuArt. 28 Abs. 2Sub-Auftragsverarbeitungautomatedverified_from_rule_catalog1
req-c-16-tom-technisch-organisatorischDSGVOeuArt. 32Sicherheit der Verarbeitungautomatedverified_from_rule_catalog1
req-c-17-e-mobility-ladesaule-eichrechtMessEGde§33Verwendung von Messgeräten im geschäftlichen Verkehrautomatedverified_from_rule_catalog1
req-c-17-energieausweis-geg-pflichtGEGde§§80–87Energieausweis und Pflichtangabenautomatedverified_from_rule_catalog1
req-c-17-energieberater-zertifizierung-bafaBAFA-Richtlinien + GEG §88eu§88 GEG; Richtlinie Energieberatung im Mittelstand (EBM)Energieberater-Qualifikationautomatedverified_from_rule_catalog1
req-c-17-greenwashing-nachweis-umweltclaimOmnibusde§5 UWGIrreführende Werbungautomatedverified_from_rule_catalog1
req-c-17-solar-anlage-forderung-transparenzEEGde§§19 ff. EEG 2023Vergütungsvoraussetzungenautomatedverified_from_rule_catalog1
req-c-17-warmepumpe-eu-label-envkvEnVKV + EU-VO 2017/1369eu§6 EnVKV; Art. 6 VOOnline-Kennzeichnungautomatedverified_from_rule_catalog1
req-c-18-affiliate-gluspiel-verbotGlüStV + StGBde§4 Abs. 1 Nr. 2 GlüStV; §284 StGBWerbung für unerlaubtes Glücksspielautomatedverified_from_rule_catalog1
req-c-18-alkohol-altersgrenze-jug-14JuSchGde§9Alkoholische Getränkeautomatedverified_from_rule_catalog1
req-c-18-cbd-betaeubungsmittel-grenzeBtMG + NpSG + Novel-Food-VOdeAnl. I BtMG; §2 NpSGBetäubungsmittel / psychoaktive Stoffeautomatedverified_from_rule_catalog1
req-c-18-glustv-lizenz-deutsches-gliwGlüStVde§4Allgemeine Erlaubnispflichtautomatedverified_from_rule_catalog1
req-c-18-jmstv-altersverifikation-ab-18JMStVde§4 Abs. 2Unzulässige Angeboteautomatedverified_from_rule_catalog1
req-c-18-jmstv-sendezeit-kennzeichnungJMStVde§5Entwicklungsbeeinträchtigende Angeboteautomatedverified_from_rule_catalog1
req-c-18-vape-tabakerzg-werbung-verbotTabakErzGde§§19–21Werbeverboteautomatedverified_from_rule_catalog1
req-c-18-waffg-online-handel-verbot-grenzenWaffGde§21Waffenhandelautomatedverified_from_rule_catalog1
req-c-19-bgb-impressum-vertretungsberechtigterDDG + BGBde§5 DDG; §26 BGBImpressum juristischer Personenautomatedverified_from_rule_catalog1
req-c-19-ehrenamt-datenschutz-mitgliederDSGVOeuArt. 6 Abs. 1 lit. bRechtmäßigkeit der Verarbeitungautomatedverified_from_rule_catalog1
req-c-19-register-eintrag-vr-vereinsregisterDDGde§5 Abs. 1 Nr. 4Registerangabeautomatedverified_from_rule_catalog1
req-c-19-spenden-gemeinnuetzigkeit-freistellungsbescheidAOde§§51–68Steuerbegünstigte Zweckeautomatedverified_from_rule_catalog1
req-c-19-stiftung-aufsicht-landneu ab 01.07.2023de§§80 ff. BGBStiftungsrechtautomatedverified_from_rule_catalog1
req-c-19-transparenzregister-gwg-20GwGde§20Mitteilungspflicht an Transparenzregisterautomatedverified_from_rule_catalog1
req-c-20-banken-mar-insider-offenlegungMAR (EU 596/2014) + WpHGeuArt. 17, 18 MARAd-hoc-Publizität, Insiderlistenautomatedverified_from_rule_catalog1
req-c-20-dora-ikt-dienstleister-registerEU 2022/2554euArt. 28IKT-Drittparteirisikomanagementautomatedverified_from_rule_catalog1
req-c-20-dora-vertrag-auslagerung-iktDORAeuArt. 30Wesentliche Vertragsinhalteautomatedverified_from_rule_catalog1
req-c-20-dsa-risikobewertung-art-34DSAeuArt. 34Risikobewertungautomatedverified_from_rule_catalog1
req-c-20-dsa-vlop-transparenzberichtEU 2022/2065euArt. 42Transparenzberichterstattung VLOPsautomatedverified_from_rule_catalog1
req-c-20-kritis-bsig-8a-stand-technikBSI-Gesetz (BSIG) + KRITIS-Vde§8aSicherheit in der IT Kritischer Infrastrukturenautomatedverified_from_rule_catalog1
req-c-20-nis2-meldung-cyber-incidentEntwurfde§§31 ff. BSIG (neu)Meldepflichtenautomatedverified_from_rule_catalog1
req-c-20-telko-tkg-meldung-bnetzaTKGde§§168 ff.Meldung Sicherheitsvorfälleautomatedverified_from_rule_catalog1
req-contentlarge-text-blocks-detectedDSGVOeuArt. 12Transparente, verstaendliche und leicht zugängliche Informationenautomatedverified_from_rule_catalog1
req-contentlarge-text-structure-weakDSGVOeuArt. 12Transparente, verstaendliche und leicht zugängliche Informationenautomatedverified_from_rule_catalog1
req-contentsensitive-claims-detectedUWGde§ 5Irrefuehrende geschaeftliche Handlungen bei werblichen oder sensiblen Claimsautomatedverified_from_rule_catalog1
req-cookiesbanner-dark-patternsTDDDG / DSGVOde_eu§ 25 TDDDG; Art. 7 DSGVOEinwilligung für Zugriff auf Endeinrichtungen und Nachweis wirksamer Einwilligungautomatedverified_from_rule_catalog1
req-cookiesbanner-legal-complianceTDDDG / DSGVOde_eu§ 25 TDDDG; Art. 7 DSGVOEinwilligung für Zugriff auf Endeinrichtungen und Nachweis wirksamer Einwilligungautomatedverified_from_rule_catalog1
req-cookiesbanner-missing-for-trackingTDDDG / DSGVOde_eu§ 25 TDDDG; Art. 7 DSGVOEinwilligung für Zugriff auf Endeinrichtungen und Nachweis wirksamer Einwilligungautomatedverified_from_rule_catalog1
req-cookiespre-consent-non-essentialTDDDG / DSGVOde_eu§ 25 TDDDG; Art. 7 DSGVOEinwilligung für Zugriff auf Endeinrichtungen und Nachweis wirksamer Einwilligungautomatedverified_from_rule_catalog1
req-cookiesunknown-cookie-ai-classificationTDDDG / DSGVOde_eu§ 25 TDDDG; Art. 7 DSGVOEinwilligung für Zugriff auf Endeinrichtungen und Nachweis wirksamer Einwilligungautomatedverified_from_rule_catalog1
req-copyrightnotice-missing-for-external-assetsUrhGde§§ 13, 19aAnerkennung der Urheberschaft und öffentliche Zugaenglichmachung externer Werkeautomatedverified_from_rule_catalog1
req-datenschutzcontent-plausibleDSGVOeuArt. 13Informationspflichten bei Erhebung personenbezogener Datenautomatedverified_from_rule_catalog1
req-datenschutzpage-presentDSGVOeuArt. 13Informationspflichten bei Erhebung personenbezogener Datenautomatedverified_from_rule_catalog1
req-datenschutzservice-abgleichDSGVOeuArt. 13Informationspflichten bei Erhebung personenbezogener Datenautomatedverified_from_rule_catalog1
req-domainblacklist-listedDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-domaindarknet-leak-detectedDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-domainexpiry-at-riskDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-ecommercebase-price-missingPAngVde§ 4Pflicht zur Angabe des Grundpreisesautomatedverified_from_rule_catalog1
req-ecommercedelivery-time-missingBGB / EGBGBde§ 312d BGB; Art. 246a § 1 Abs. 1 Nr. 10 EGBGBInformation zu Liefer- und Leistungsbedingungenautomatedverified_from_rule_catalog1
req-ecommerceodr-platform-link-missingVSBGde§ 36Allgemeine Informationspflicht zur Verbraucherstreitbeilegungautomatedverified_from_rule_catalog1
req-ecommerceomnibus-strikeout-price-missingPAngVde§ 11Zusatzliche Preisangabenpflicht bei Preisermassigungen für Warenautomatedverified_from_rule_catalog1
req-ecommerceshipping-info-missingPAngV / EGBGBde§ 6 PAngV; Art. 246a § 1 Abs. 1 Nr. 7 EGBGBVersandkosten und sonstige Zusatzkosten bei Fernabsatzangebotenautomatedverified_from_rule_catalog1
req-ecommerceweee-reg-nr-missingElektroGde§ 6 Abs. 3Angabe der Registrierungsnummer beim Anbieten von Elektrogeraetenautomatedverified_from_rule_catalog1
req-emaildkim-selectorDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-emaildmarc-policyDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-emailmx-starttlsDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-emailspf-recordDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-formsdetectedDSGVOeuArt. 13Informationspflichten bei Erhebung personenbezogener Datenautomatedverified_from_rule_catalog1
req-formsprivacy-hint-missingDSGVOeuArt. 13Informationspflichten bei Erhebung personenbezogener Datenautomatedverified_from_rule_catalog1
req-impressumhandelsregister-pflichtangabenDDGde§ 5Allgemeine Informationspflichten für digitale Diensteautomatedverified_from_rule_catalog1
req-impressumminimum-structureDDGde§ 5Allgemeine Informationspflichten für digitale Diensteautomatedverified_from_rule_catalog1
req-impressumpage-presentDDGde§ 5Allgemeine Informationspflichten für digitale Diensteautomatedverified_from_rule_catalog1
req-legalagbrisksBGBde§§ 305c, 307Kontrolle überraschender und unangemessen benachteiligender AGB-Klauselnautomatedverified_from_rule_catalog1
req-legaldsecompletenessDSGVOeuArt. 13Informationspflichten bei Erhebung personenbezogener Datenautomatedverified_from_rule_catalog1
req-legalimpressumcompletenessDDGde§ 5Allgemeine Informationspflichten für digitale Diensteautomatedverified_from_rule_catalog1
req-legalwithdrawalnoticeBGB / EGBGBde§ 312d BGB; Art. 246a § 1 Abs. 2 EGBGBInformation über Bedingungen, Fristen und Verfahren des Widerrufsrechtsautomatedverified_from_rule_catalog1
req-newsletterconsent-text-weakUWG / DSGVOde_eu§ 7 Abs. 2 Nr. 2 UWG; Art. 7 DSGVOEinwilligung und Nachweis für Werbung per elektronischer Postautomatedverified_from_rule_catalog1
req-newsletterdouble-opt-in-hint-missingUWG / DSGVOde_eu§ 7 Abs. 2 Nr. 2 UWG; Art. 7 DSGVOEinwilligung und Nachweis für Werbung per elektronischer Postautomatedverified_from_rule_catalog1
req-newsletterform-detectedUWG / DSGVOde_eu§ 7 Abs. 2 Nr. 2 UWG; Art. 7 DSGVOEinwilligung und Nachweis für Werbung per elektronischer Postautomatedverified_from_rule_catalog1
req-newsletterunsubscribe-hint-missingUWGde§ 7 Abs. 3Abbestellmöglichkeit bei Werbung per elektronischer Postautomatedverified_from_rule_catalog1
req-platformagb-dsa-signals-missingDSAeuArt. 14 VO (EU) 2022/2065Informationen in Allgemeinen Geschaeftsbedingungen für Vermittlungsdiensteautomatedverified_from_rule_catalog1
req-platformdsa-contact-point-missingDSAeuArt. 11 VO (EU) 2022/2065Zentrale Kontaktstelle für Behoerden und Nutzerautomatedverified_from_rule_catalog1
req-platformmarketplace-impressum-missingDSAeuArt. 30 VO (EU) 2022/2065Rueckverfolgbarkeit von Unternehmern auf Online-Plattformenautomatedverified_from_rule_catalog1
req-platformnotice-action-missingDSAeuArt. 16 VO (EU) 2022/2065Melde- und Abhilfeverfahren für rechtswidrige Inhalteautomatedverified_from_rule_catalog1
req-platformtransparency-report-missingDSAeuArt. 15 VO (EU) 2022/2065Transparenzberichtspflichten für Vermittlungsdiensteautomatedverified_from_rule_catalog1
req-security-headerscsp-missingDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-security-headershsts-missingDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-security-headerspermissions-policy-missingDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-security-headersreferrer-policy-missingDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-security-headersx-content-type-options-missingDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-security-headersx-frame-options-missingDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-securityopen-ports-exposedDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-servicesgeo-data-transfer-riskDSGVOeuArt. 44Allgemeiner Grundsatz für Übermittlungen personenbezogener Daten in Drittlaenderautomatedverified_from_rule_catalog1
req-servicesthird-party-detectedDSGVOeuArt. 13Informationspflichten bei Erhebung personenbezogener Datenautomatedverified_from_rule_catalog1
req-tech-stackcms-detectedDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-techpage-reachableDDG / DSGVOde_eu§ 5 DDG; Art. 12, 13 DSGVOUnmittelbare Erreichbarkeit und leichte Zugaenglichkeit von Pflichtinformationenautomatedverified_from_rule_catalog1
req-techtitle-presentDSGVOeuArt. 12Transparente, verstaendliche und leicht zugängliche Informationenautomatedverified_from_rule_catalog1
req-trackingindicators-detectedTDDDG / DSGVOde_eu§ 25 TDDDG; Art. 7 DSGVOEinwilligung für Zugriff auf Endeinrichtungen und Nachweis wirksamer Einwilligungautomatedverified_from_rule_catalog1
req-trusthttp-to-https-redirectDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-trusthttps-missingDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-trustproblematic-status-codesDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-trustslow-response-timesDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
req-trustssl-certificate-detailsDSGVOeuArt. 32Sicherheit der Verarbeitung und technische Schutzmassnahmenautomatedverified_from_rule_catalog1
inventory-ai-act-art26-high-risk-deployerAI ActeuArt. 26High-risk AI deployer obligationsmanual_review_requiredverified_from_official_inventory0
inventory-bgb-327b-digital-product-provisionBGB digitale Produktede§ 327bProvision of digital productsmanual_review_requiredverified_from_official_inventory0
inventory-bgb-327r-digital-product-changesBGB digitale Produktede§ 327rChanges to digital products during continuous provisionmanual_review_requiredverified_from_official_inventory0
inventory-dora-art6-ict-risk-managementDORAeuArt. 6ICT risk-management framework for financial entitiesmanual_review_requiredverified_from_official_inventory0
inventory-dsa-art32-consumer-information-after-illegal-productDSAeuArt. 32Consumer information after illegal product or service offersmanual_review_requiredverified_from_official_inventory0
inventory-gwg-5-risk-analysisGwGde§ 5AML risk analysis for obligated personsmanual_review_requiredverified_from_official_inventory0
inventory-hinschg-12-internal-reporting-officeHinSchGde§ 12Internal reporting office for covered employersmanual_review_requiredverified_from_official_inventory0
inventory-jmstv-5-development-impairing-contentJMStVde§ 5Youth-protection measures for development-impairing contentmanual_review_requiredverified_from_official_inventory0
inventory-lksg-5-risk-analysisLkSGde§ 5Supply-chain risk analysis for covered companiesmanual_review_requiredverified_from_official_inventory0
inventory-nis2-art21-risk-managementNIS2euArt. 21Cybersecurity risk-management measures for essential or important entitiesmanual_review_requiredverified_from_official_inventory0
inventory-nis2-art23-incident-reportingNIS2euArt. 23Significant cyber-incident reporting processmanual_review_requiredverified_from_official_inventory0
inventory-battdg-5-battery-registrationBattDGde_eu§ 5 BattDGBattery producer registrationowner_requiredverified_from_official_inventory1
inventory-verpackg-9-registration-packagingVerpackGde§ 9Packaging registration before placing packaged goods on the marketowner_requiredverified_from_official_inventory1
req-a-bgb-312d-zahlung-lieferung-leistungsvorbehaltEGBGBdeArt. 246a §1 Abs. 1 Nr. 7, 8, 14, 15Informationspflichten bei Fernabsatzverträgenowner_requiredverified_from_rule_catalog1
req-a-bgb-312j-button-zahlungspflichtig-bestellenBGBde§312j Abs. 2, 3 und 4Besondere Pflichten im elektronischen Geschäftsverkehr gegenüber Verbrauchernowner_requiredverified_from_rule_catalog1
req-a-bgb-312k-kuendigungsbuttonBGBde§312kKündigung von Verträgen im elektronischen Geschäftsverkehrowner_requiredverified_from_rule_catalog1
req-a-dsgvo-art7-freiwilligkeitDSGVOeuArt. 7 Abs. 4 i. V. m. Art. 4 Nr. 11Bedingungen für die Einwilligung — Freiwilligkeitowner_requiredverified_from_rule_catalog1
req-a-dsgvo-art7-granularitaetDSGVOeuArt. 7 Abs. 2 i. V. m. Art. 6 Abs. 1 lit. aBedingungen für die Einwilligung — Granularität pro Zweckowner_requiredverified_from_rule_catalog1
req-a-ttdsg-25-ablehnen-button-gleichwertigTTDSGde§ 25 Abs. 1Einwilligungspflicht — Freiwilligkeitowner_requiredverified_from_rule_catalog1
req-a-ttdsg-25-analytics-einwilligungspflichtTTDSGde§ 25 Abs. 1 (i.V.m. Abs. 2 — keine Ausnahme)Einwilligungspflicht — auch für Analyticsowner_requiredverified_from_rule_catalog1
req-a-ttdsg-25-ausnahme-notwendigTTDSGde§ 25 Abs. 2Ausnahmen von der Einwilligungspflichtowner_requiredverified_from_rule_catalog1
req-a-ttdsg-25-cookie-wallTTDSGde§ 25 Abs. 1 (i.V.m. DSGVO Art. 7 Abs. 4)Freiwilligkeit — Kopplungsverbotowner_requiredverified_from_rule_catalog1
req-a-ttdsg-25-einwilligung-vor-zugriffTTDSGde§ 25 Abs. 1Schutz der Privatsphäre bei Endeinrichtungen — Einwilligungspflichtowner_requiredverified_from_rule_catalog1
req-a-ttdsg-25-nudging-verbotenTTDSGde§ 25 Abs. 1Einwilligungspflicht — Freiwilligkeit und Informiertheitowner_requiredverified_from_rule_catalog1
req-a-uwg-5-guetesiegel-quelleUWGde§ 5 Abs. 1 / § 5 Abs. 2 Nr. 1Irreführung durch Werbung mit Testergebnissen und Gütesiegelnowner_requiredverified_from_rule_catalog1
req-a-uwg-5b-bezahlte-platzierung-kennzeichnungUWGdeAnhang § 3 Abs. 3 Nr. 11a (i. V. m. § 5b Abs. 2)Verbot unklarer bezahlter Ranking-Platzierungen (Per-se)owner_requiredverified_from_rule_catalog1
req-a-uwg-7-belaestigung-grundsatzUWGde§ 7 Abs. 1Unzumutbare Belästigungen — Grundverbotowner_requiredverified_from_rule_catalog1
req-a-uwg-7-doi-nachweisUWGde§ 7 Abs. 2 Nr. 3 (Beweislast-Auslegung durch BGH I ZR 218/07)Nachweispflicht der Einwilligungowner_requiredverified_from_rule_catalog1
req-b-buchung-agb-transparent-einbezogenBGBde§§305, 307Einbeziehung AGB / Inhaltskontrolleowner_requiredverified_from_rule_catalog1
req-b-buchung-button-kostenpflichtig-buchenBGBde§312j Abs. 3 und 4Button-Lösung — besondere Pflichten im E-Commerceowner_requiredverified_from_rule_catalog1
req-b-buchung-kuendigungsbutton-bei-aboBGBde§312kKündigung im elektronischen Geschäftsverkehrowner_requiredverified_from_rule_catalog1
req-b-buchung-leistungsumfang-storno-vorabEGBGBdeArt. 246a §1 Abs. 1 Nr. 1, 7Fernabsatz-Informationspflichtenowner_requiredverified_from_rule_catalog1
req-b-buchung-preis-inkl-ust-vorabBGBde§312j Abs. 2 i. V. m. Art. 246a §1 EGBGBPflichten bei elektronischem Geschäftsverkehr mit Verbrauchernowner_requiredverified_from_rule_catalog1
req-b-buchung-widerrufsbelehrung-oder-ausschlussBGBde§§355, 356 i. V. m. §312g Abs. 2Widerrufsrecht und Ausnahmenowner_requiredverified_from_rule_catalog1
req-b-buchung-zugangsbestaetigung-mailBGBde§312i Abs. 1 Nr. 3Allgemeine Pflichten im elektronischen Geschäftsverkehrowner_requiredverified_from_rule_catalog1
req-b-newsletter-doi-bestaetigungsmailUWGde§7 Abs. 2 Nr. 3Unzumutbare Belästigungen — E-Mail-Werbungowner_requiredverified_from_rule_catalog1
req-b-newsletter-doi-keine-werbung-in-bestaetigungUWGde§7 Abs. 2 Nr. 3Unzumutbare Belästigungen — E-Mail-Werbungowner_requiredverified_from_rule_catalog1
req-b-zahlung-datenschutz-psp-in-dseDSGVOeuArt. 13 Abs. 1 lit. c, e, fInformationspflichten bei Erhebungowner_requiredverified_from_rule_catalog1
req-b-zahlung-mindestangebot-gaengig-kostenlosBGBde§312a Abs. 4Allgemeine Pflichten und Grundsätze bei Verbraucherverträgenowner_requiredverified_from_rule_catalog1
req-b-zahlung-pci-scope-iframe-redirectPCI-DSS v4.0private_standardReq. 3 und 4Schutz gespeicherter und übertragener Karteninhaberdatenowner_requiredverified_from_rule_catalog1
req-b-zahlung-pci-tls-versioningDatenschutz-Grundverordnung (DSGVO) / PCI-DSSeuArt. 32 DSGVO i. V. m. PCI-DSS Req. 4.2Sicherheit der Verarbeitung / Transport-Sicherheitowner_requiredverified_from_rule_catalog1
req-b-zahlung-rechnung-pflichtangabenUStGde§14 i. V. m. §14aAusstellung von Rechnungenowner_requiredverified_from_rule_catalog1
req-b-zahlung-sca-3ds2-aktivPSD2, RL 2015/2366euArt. 97 i. V. m. RTS (VO 2018/389)Starke Kundenauthentifizierungowner_requiredverified_from_rule_catalog1
req-b-zahlung-surcharge-verbot-270aBGBde§270aVereinbarungen über Entgelte für Zahlungsmittelowner_requiredverified_from_rule_catalog1
req-c-07-button-zahlungspflichtig-bestellenBGBde§312j Abs. 3Button-Lösungowner_requiredverified_from_rule_catalog1
req-c-11-online-buchung-widerruf-ausschlussBGBde§312g Abs. 2 Nr. 9Ausnahmen vom Widerrufsrechtowner_requiredverified_from_rule_catalog1
req-c-11-pauschalreise-definition-buchungBGBde§651aVertragstypische Pflichten beim Pauschalreisevertragowner_requiredverified_from_rule_catalog1
req-ecommercecheckout-total-price-missingBGB / EGBGBde§ 312j BGB; Art. 246a § 1 EGBGBGesamtpreis unmittelbar vor Abgabe der Bestellungowner_requiredverified_from_rule_catalog1
req-ecommerceorder-button-invalidBGBde§ 312j Abs. 3Button-Loesung bei zahlungspflichtigen Verbraucherbestellungenowner_requiredverified_from_rule_catalog1

Kompletter Prozess visualisiert

1. URL-EingabeWas passiert? KarlKI macht aus der Eingabe eine saubere Zieladresse: Protokoll ergänzen, Host bestimmen, Schreibweisen vereinheitlichen.Wofür? Ohne Normalisierung wäre www.example.de, example.de/ und https://example.de technisch mehrfach dieselbe Website, aber für Cache, Besitzprüfung und Scan getrennt.Eingang: Nutzer gibt URL ein.Ergebnis: Kanonische URL, Host und ein ScanPreview-Datensatz.PublicScanStartForm / PublicScanPreviewController
2. Owner-GuardWas passiert? KarlKI prüft, ob die Domain bereits einem verifizierten Owner gehoert. Wenn ja, darf kein Fremder seine Stats kaufen oder scannen.Wofür? Owner ist kein Paket, sondern ein Kontrolllevel. Es schuetzt die Domain vor Fremdkauf und fremder Ergebnisansicht.Eingang: Host aus der URL und vorhandene Website-/Ownership-Daten.Ergebnis: Erlaubnis, Blockade oder Hinweis, dass Owner-Kontext noetig ist.DomainOwnershipGuardService
3. Cache / ReplayWas passiert? KarlKI sucht, ob es einen frischen Scan gibt oder ob schon ein Scan läuft. Dann muss nicht doppelt gearbeitet werden.Wofür? Spart Kosten, verhindert widerspruechliche Ergebnisse und vermeidet denselben Crawl mehrfach hintereinander.Eingang: Host, Scanstatus, Alter des letzten Scans.Ergebnis: Wiederverwendeter Scan, laufender Scan oder neuer Scanauftrag.CreatePublicScanPreviewAction
4. QueueWas passiert? Der Scan wird als Job eingeplant. Die App entscheidet, wann Worker ihn abarbeiten.Wofür? Scans dauern. Queue verhindert, dass der Webrequest hängen bleibt, und macht Fortschritt/Statusanzeige möglich.Eingang: Scan-ID und Produkt-/Modusinformationen.Ergebnis: RunScanPipelineJob startet die Pipeline.QueueScanPipelineAction / RunScanPipelineJob
5. ReachabilityWas passiert? KarlKI prüft, ob die Website überhaupt erreichbar ist.Wofür? Wenn die Seite nicht erreichbar ist, darf KarlKI keine Inhaltsfehler behaupten. Dann ist der technische Befund: nicht erreichbar.Eingang: Kanonische URL.Ergebnis: Status erreichbar/nicht erreichbar, HTTP-Infos, ggf. Early Exit.ProbeReachabilityJob
6. Transport SecurityWas passiert? HTTPS und Zertifikat werden bewertet.Wofür? HTTPS ist Grundlage für Vertrauen, Datenschutz und viele technische Prüfungen. Harte Zertifikatsprobleme beeinflussen den ganzen Scan.Eingang: Host und HTTPS-Verbindung.Ergebnis: TLS-/Zertifikatsbefund, ggf. Partial/Early Exit.ProbeTransportSecurityJob
7. Crawl + AI Scope + Hoster/MailWas passiert? KarlKI sammelt interne Seiten, sucht Pflichtseiten nicht nur exakt unter /impressum oder /datenschutz, sondern über Links, Pfade, Textsignale und Fallbacks. Parallel werden Hoster, Mail/DNS und AI-geeignete Seiten markiert.Wofür? Free und bezahlte Pakete sollen technisch gleich crawlen; der Unterschied ist Reportumfang. Wichtig ist, genug relevante Seiten zu finden, aber Duplikate wie 1000 Impressumslinks nicht mehrfach zu bewerten.Eingang: Start-URL, interne Links, HTML, Sitemap-/Linksignale.Ergebnis: ScanPages, ausgelassene URLs, AI-Eligibility, Hoster-/Mail-Metadaten.CrawlWebsiteJob / SelectPagesForAiJob / ProbeHosterJob / ProbeDomainMailSecurityJob
8. Render + Risiko-ProbesWas passiert? Seiten werden wie im Browser gerendert. Dazu kommen Domain-Risiken und optionale Port-/Netzwerkprüfungen.Wofür? Viele Dinge sieht man erst nach JavaScript: Cookie-Banner, dynamische Formulare, Checkout, Tracking, sichtbare Pflichtangaben.Eingang: Gecrawlte Seiten und Host.Ergebnis: Screenshots/DOM/PageArtifacts, Domain-Risiko, technische Zusatzsignale.RenderScanPagesJob / ProbeDomainRiskSignalsJob / ProbeDomainNetworkPortsJob
9. Branche/FunktionenWas passiert? KarlKI bildet den ScanScope: Branche, Cluster und Funktionen wie Shop, Newsletter, Kontaktformular, Login oder Zahlung.Wofür? Nicht jede Regel gilt für jede Website. Ein Shop braucht Checkout-/Widerrufsregeln, eine Kanzlei Berufsangaben, ein Newsletter Einwilligungsregeln.Eingang: Nutzerauswahl, KI-Klassifikation, gefundene Sections und technische Trigger.Ergebnis: ScanScope mit ClusterIds und TriggerFlags.DetectIndustryJob / ScanScopeResolver
10. Owner Deep / geschuetzte BereicheWas passiert? Wenn der Owner Login, Checkout-Testmodus, Abo-Verwaltung oder Cookie-Consent freigegeben hat, rendert KarlKI diese geschuetzten Startpunkte separat und speichert einen redigierten Snapshot.Wofür? Öffentliche Scans dürfen nicht blind in Kundenkonto, Checkout oder Vertragsbereiche gehen. Mit Owner-Freigabe kann KarlKI trotzdem belastbare Evidenz sammeln, ohne Passwoerter oder sensible Daten im Report offenzulegen.Eingang: Aktive Owner-Deep-Szenarien der Website: Typ, Start-URL, Sicherheitsmodus, optionale Testdaten und verschluesselte Credentials.Ergebnis: Owner-Deep-Metadaten am Scan, Szenario-Status, Safety-Aborts und Owner-Deep-Snapshot für Website und Report.RunOwnerDeepScanScenariosJob / OwnerDeepScanScenarioAuditService / BuildOwnerDeepSnapshotAction
11. SectionsWas passiert? KarlKI sortiert Seiten/Inhalte in Bereiche: Home, Footer, Impressum, Datenschutz, AGB, Widerruf, Formulare, Newsletter, Ecommerce usw.Wofür? Regeln sollen gegen den richtigen Inhalt laufen. Datenschutzregeln auf der Datenschutzerklärung, Impressumsregeln auf Anbieterangaben, Shopregeln auf Checkout/Produktseiten.Eingang: Gerenderte Seiten, Pfade, Linktexte, Seitentitel, Inhalt.Ergebnis: Section-Metadaten, gefundene/missing Pflichtbereiche.ExtractScanSectionsJob
12. Rule-AuswahlWas passiert? Aus allen Regeln werden nur die Regeln ausgewählt, die Runtime, Scope und Bedingungen erlauben.Wofür? Das verhindert irrelevante Funde. Beispiel: Eine Newsletter-Regel soll nicht laufen, wenn kein Newsletter vorhanden ist.Eingang: Alle aktiven Regeln, ScanScope, anwendbar_wenn.Ergebnis: Anwendbare Regeln plus Skips mit Grund not_applicable.EvaluateRulesForScanService / RuleApplicabilityFilter
13. RuleChecksWas passiert? Jede anwendbare Regel wird gegen Scan oder Seite geprüft. Ergebnis ist pass, fail, not_applicable, not_evaluable, requires_owner_permission oder unknown.Wofür? RuleChecks sind die technische Wahrheit vor dem Report. Nur fail + matched kann später ein Finding werden.Eingang: Regel, aktuelle Regelversion, Scan, optionale ScanPage und PageArtifacts.Ergebnis: RuleCheck mit Status, Ergebnis, Severity, Confidence, Summary und Payload.EvaluateRulesForScanService / Evaluators
14. FindingsWas passiert? Aus fehlgeschlagenen RuleChecks werden Findings gebaut, aber nur wenn Belege vorhanden sind.Wofür? Ein Finding ist das, was der Nutzer sieht und handeln kann. Ohne Evidenz wäre es nicht belastbar.Eingang: Completed RuleChecks mit fail + matched.Ergebnis: Finding mit Titel, kurzer Erklärung, Detailtext, Empfehlung, Evidenz und Status.GenerateFindingsFromRuleChecksJob / GenerateFindingsFromRuleChecksService
15. ReportWas passiert? KarlKI baut den Report. Free bekommt Status/Gate, bezahlte Pakete bekommen Detailfindings, Belege, Handlungsempfehlungen, Legal-Coverage und Owner-Deep-Snapshot.Wofür? Free soll technisch korrekt scannen, aber nicht den vollen bezahlten Audit ersetzen. Bezahlte Pakete bekommen den ganzen Auswertungsumfang und sehen, was automatisch, owner-pflichtig oder offen ist.Eingang: Findings, RuleChecks, Legal-Catalog-Reviews, Owner-Deep-Snapshot, Summary und Produkt.Ergebnis: Reportdaten für UI/PDF/API je nach Produktzugriff, inklusive offener Owner-Fragen und Owner-Auswertungen.GenerateScanReportJob / ReportAccessFilterService

Funktionen / TriggerFlags

Funktionen kommen aus Nutzerauswahl, Branchen-/KI-Erkennung und gefundenen Sections. Aus ihnen entstehen TriggerFlags im ScanScope. Regeln greifen dann über anwendbar_wenn.

Kontaktformular

Was tut das? Erkennt, dass Besucher Daten eingeben und absenden können, z. B. Name, E-Mail, Telefonnummer oder Nachricht.

Wofür ist das da? Dadurch greifen Datenschutz-, Informationspflicht-, Einwilligungs- und Formularregeln. Ohne diese Funktion wären viele Formularpflichten irrelevant.

Woran erkennt KarlKI das? Formular-Tags, Eingabefelder, Kontaktseite, Submit-Buttons, Section forms/kontakt.

Auswirkung für den Nutzer: Im Report können dann fehlende Datenschutzhinweise, Pflichtinformationen oder unklare Einwilligungen auftauchen.

Technischer Slug: contact_form

Trigger/Aliase: contact_form, lead_form, hat_kontaktformular, hat_formular

Direkt über Bedingungen verknuepfte Regeln: 8

b-kontaktformular-art13-hinweis-am-formular b-kontaktformular-checkbox-vermeiden-wenn-unnoetig b-kontaktformular-rechtsgrundlage-richtig a-dsgvo-art13-erforderlichkeit a-dsgvo-art6-vertrag-lit-b b-kontaktformular-loeschkonzept-dokumentiert b-kontaktformular-pflichtfelder-minimal b-kontaktformular-transport-https-captcha

Newsletter

Was tut das? Erkennt Newsletter-Anmeldung oder E-Mail-Werbung.

Wofür ist das da? Newsletter lösen Werbeeinwilligung, Double-Opt-In, Abmeldelink und Datenschutzinformationen aus.

Woran erkennt KarlKI das? Newsletter-Texte, E-Mail-Feld, Checkbox, CTA wie abonnieren/anmelden, Section newsletter.

Auswirkung für den Nutzer: Im Report erscheinen dann Newsletter-Regeln statt nur allgemeine Datenschutzregeln.

Technischer Slug: newsletter

Trigger/Aliase: newsletter, hat_newsletter, hat_newsletter_formular

Direkt über Bedingungen verknuepfte Regeln: 13

a-dsgvo-art13-widerrufsrecht a-uwg-7-doi-nachweis a-uwg-7-mail-werbung-einwilligung a-dsgvo-art6-einwilligung-lit-a a-dsgvo-art7-freiwilligkeit a-dsgvo-art7-informiertheit a-dsgvo-art7-nachweisbarkeit a-dsgvo-art7-widerruf-einfach b-newsletter-formular-datensparsamkeit b-newsletter-formular-keine-vorbelegung b-newsletter-nachweis-consent-log b-newsletter-doi-bestaetigungsmail b-newsletter-doi-keine-werbung-in-bestaetigung

Terminbuchung

Was tut das? Erkennt Terminbuchung, Reservierung oder Buchungsstrecken.

Wofür ist das da? Buchungen können Vertragsanbahnung, Zahlungs-/Stornoregeln, Gesundheitsdaten oder besondere Informationspflichten auslösen.

Woran erkennt KarlKI das? Buchen-Buttons, Kalender, Termin-Tools, Reservierungsformulare, Branchen wie Healthcare/Gastronomie.

Auswirkung für den Nutzer: KarlKI bewertet dann, ob die Buchungsstrecke rechtliche Pflichtinformationen braucht.

Technischer Slug: appointment_booking

Trigger/Aliase: appointment_booking, booking, hat_online_buchung, hat_buchungssystem

Direkt über Bedingungen verknuepfte Regeln: 1

a-dsgvo-art6-vertrag-lit-b

Login / Kundenkonto

Was tut das? Erkennt Login, Kundenkonto oder geschuetzten Nutzerbereich.

Wofür ist das da? Login/Konto bedeutet meist personenbezogene Daten, Kontoloeschung, Sicherheit, ggf. AGB/Kundenbereich. Tiefe Prüfung braucht oft Owner-Zugriff.

Woran erkennt KarlKI das? Login/Register-Links, Account-Buttons, Eingabefelder für Passwort, Kundenkonto-Begriffe.

Auswirkung für den Nutzer: Öffentlich wird nur bewertet, was frei sichtbar ist. Tiefe Konto-Prüfungen müssen Owner-only bleiben.

Technischer Slug: customer_login

Trigger/Aliase: customer_login, login_area, customer_account, hat_login

Direkt über Bedingungen verknuepfte Regeln: 0

Keine direkte Verknuepfung über anwendbar_wenn; kann trotzdem über Sections/Heuristiken indirekt relevant sein.

Zahlungsprozess

Was tut das? Erkennt Checkout, Onlinezahlung oder zahlungspflichtige Aktion.

Wofür ist das da? Zahlungen lösen Preis-, Button-, Widerrufs-, Vertrags- und Payment-Informationspflichten aus.

Woran erkennt KarlKI das? Checkout, Warenkorb, Zahlungsanbieter, Preisangaben, Button-Texte wie kaufen/zahlungspflichtig bestellen.

Auswirkung für den Nutzer: Detailreports können dann Checkout-Findings liefern. Owner-only kann noetig sein, wenn man tief durch den Kaufprozess gehen muss.

Technischer Slug: payment_process

Trigger/Aliase: payment_process, checkout, hat_zahlungen, akzeptiert_online_zahlung

Direkt über Bedingungen verknuepfte Regeln: 4

b-zahlung-surcharge-verbot-270a b-zahlung-pci-tls-versioning b-zahlung-datenschutz-psp-in-dse b-zahlung-rechnung-pflichtangaben

Bewerbungsformular

Was tut das? Erkennt Bewerbungsformular oder Karriere-/Recruiting-Prozess.

Wofür ist das da? Bewerbungen enthalten personenbezogene und oft sensible Daten. Datenschutzinformationen müssen dazu passen.

Woran erkennt KarlKI das? Karriere-Seiten, Upload-Felder, Bewerben-Buttons, Lebenslauf-/CV-Hinweise.

Auswirkung für den Nutzer: KarlKI kann dann Bewerberdatenschutz und Formularhinweise gesondert bewerten.

Technischer Slug: job_application

Trigger/Aliase: job_application, career_form

Direkt über Bedingungen verknuepfte Regeln: 0

Keine direkte Verknuepfung über anwendbar_wenn; kann trotzdem über Sections/Heuristiken indirekt relevant sein.

Shop / Warenkorb

Was tut das? Erkennt Shop, Warenkorb, Produktseiten oder Bestellstrecke.

Wofür ist das da? Ein Shop hat eigene Pflichtbereiche: Preise, Versand, Lieferzeit, Grundpreis, Widerruf, Checkout-Button, AGB und Verbraucherinformationen.

Woran erkennt KarlKI das? Produktseiten, Warenkorb, Checkout, Preise, Versandtexte, Kaufen-Buttons.

Auswirkung für den Nutzer: Dadurch werden Shop-spezifische Regeln aktiv. Free bleibt im Report gegated, bezahlte Pakete zeigen die Details.

Technischer Slug: shop_cart

Trigger/Aliase: shop_cart, has_cart, has_checkout, is_shop, ist_shop, hat_shop, hat_zahlungen, akzeptiert_online_zahlung

Direkt über Bedingungen verknuepfte Regeln: 10

a-uwg-7-bestandskunden-ausnahme b-zahlung-surcharge-verbot-270a b-zahlung-pci-tls-versioning a-dsgvo-art13-erforderlichkeit a-dsgvo-art6-rechtspflicht-lit-c a-dsgvo-art6-vertrag-lit-b b-zahlung-datenschutz-psp-in-dse b-zahlung-rechnung-pflichtangaben a-uwg-5-preisangaben-irrefuehrend a-uwg-5a-verbraucher-informationen-bei-aufforderung

Branchen / Cluster

BrancheSlugClusterTriggerFlags
Allgemeine Websitegeneral_website
Online-Shoponline_shop01is_shop, has_cart, has_checkout, payment_process
Arzt / Heilberufhealthcare05healthcare, appointment_booking, sensitive_health_claims
Anwalt / Steuerberaterlegal_tax06legal_services, tax_services, professional_regulation
Coaching / Onlinekurscoaching_courses12online_course, coaching, digital_product
Immobilien / Maklerreal_estate13real_estate, lead_form, property_listing
Gastronomiegastronomy14menu, reservation, food_delivery
Handwerk / Dienstleistercraft_services15lead_form, local_service
SaaS / Plattformsaas_platform16login_area, platform, subscription
Blog / Magazinblog_magazine17content_publication, newsletter

Begriffe übersetzt

Diese Tabelle ist die Lesebrille für die Regelkarten. Links steht der technische Wert, rechts steht, was er praktisch tut und wofür er da ist.

Status-, Modus- und Scope-Werte

FeldWertWas bedeutet das praktisch?
runtime_statusexecutableDie Regel ist für automatische Auswertung freigegeben.
runtime_statusrequires_owner_permissionDie Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.
runtime_statuscandidateFachlich vorbereitet, aber noch nicht als produktiver automatischer Check freigegeben.
runtime_statusnot_implementedFachlich erfasst, aber technisch noch nicht umgesetzt.
runtime_statusdisabledAbsichtlich deaktiviert; darf aktuell nicht laufen.
scan_modepublic_autoÖffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.
scan_modepublic_aiÖffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.
scan_modebrowser_interactiveCheck braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.
scan_modeowner_deepCheck darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.
scan_modemanualNicht automatisch entscheidbar. KarlKI kann Hinweise sammeln, aber ein Mensch muss final prüfen.
scan_modenot_evaluableFachliche Regel ist bekannt, technisch aber aktuell nicht sicher automatisch prüfbar.
scopescanScanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.
scopepageSeitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.
scopesectionSection-Regel. Sie bezieht sich auf einen zusammengefassten Inhaltsbereich, nicht zwingend auf genau eine URL.
severitycriticalSehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.
severityhighErhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.
severitymediumRelevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.
severitylowNiedriges Risiko, Hinweis oder Feinschliff.
severityinfoInformativ. Dient eher Einordnung als Eskalation.

Alle Trigger und Bedingungen aus den Regeln

Wichtig: Werte mit Doppelpunkt wie rolle:energieberater oder angebot:bio_werbung sind fachliche Zusatzbedingungen. Sie sind technisch lesbar, müssen aber durch Nutzerangabe, KI-/Heuristik oder Section-Signal als Trigger in den ScanScope kommen.

BegriffWas tut er?Wofür ist er da?Technischer StandRegeln
0:ist_shopgreift, wenn das Zusatzmerkmal "0" den Wert "ist shop" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung2
akzeptiert_kartenzahlunggreift, wenn der Trigger "akzeptiert_kartenzahlung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger3
akzeptiert_online_zahlunggreift, wenn der Trigger "akzeptiert_online_zahlung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger4
anbieter_besitzt_ust_idgreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
anbieter_besitzt_wirtschafts_idgreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
anbieter_im_genossenschaftsregistergreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
anbieter_im_gesellschaftsregistergreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
anbieter_im_handelsregistergreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
anbieter_im_partnerschaftsregistergreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
anbieter_im_vereinsregistergreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
anbieter_in_liquidation_oder_abwicklunggreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
anbieter_juristische_persongreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
anbieter_natuerliche_persongreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
angebot:arbeitgeber_mit_mitarbeiterngreift nur, wenn dieses Angebot/Produkt erkannt wurde: arbeitgeber mit mitarbeiternFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:bio_werbunggreift nur, wenn dieses Angebot/Produkt erkannt wurde: bio werbungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:coaching_lehrgang_strukturiertgreift nur, wenn dieses Angebot/Produkt erkannt wurde: coaching lehrgang strukturiertFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:fertigpackunggreift nur, wenn dieses Angebot/Produkt erkannt wurde: fertigpackungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:fleisch_honig_oel_fischgreift nur, wenn dieses Angebot/Produkt erkannt wurde: fleisch honig oel fischFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:fotografiegreift nur, wenn dieses Angebot/Produkt erkannt wurde: fotografieFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:fusspflegegreift nur, wenn dieses Angebot/Produkt erkannt wurde: fusspflegeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:gastronomie_mit_personalgreift nur, wenn dieses Angebot/Produkt erkannt wurde: gastronomie mit personalFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:kosmetik_verkaufgreift nur, wenn dieses Angebot/Produkt erkannt wurde: kosmetik verkaufFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:laser_ipl_tattoo_entfernunggreift nur, wenn dieses Angebot/Produkt erkannt wurde: laser ipl tattoo entfernungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:lebensmittel_fertigpackunggreift nur, wenn dieses Angebot/Produkt erkannt wurde: lebensmittel fertigpackungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:lebensmittel_mit_claimsgreift nur, wenn dieses Angebot/Produkt erkannt wurde: lebensmittel mit claimsFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:medizinprodukt_verkauf_werbunggreift nur, wenn dieses Angebot/Produkt erkannt wurde: medizinprodukt verkauf werbungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:online_speisekarte_lieferdienstgreift nur, wenn dieses Angebot/Produkt erkannt wurde: online speisekarte lieferdienstFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:sonnenstudiogreift nur, wenn dieses Angebot/Produkt erkannt wurde: sonnenstudioFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:streichpreis_rabatt_salegreift nur, wenn dieses Angebot/Produkt erkannt wurde: streichpreis rabatt saleFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:tattoo_piercing_pmu_kosmetik_fusspflegegreift nur, wenn dieses Angebot/Produkt erkannt wurde: tattoo piercing pmu kosmetik fusspflegeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:telemedizin_videosprechstundegreift nur, wenn dieses Angebot/Produkt erkannt wurde: telemedizin videosprechstundeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
angebot:versicherungsvertrag_abschlussgreift nur, wenn dieses Angebot/Produkt erkannt wurde: versicherungsvertrag abschlussFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
auftragsverarbeiter_rolle_erkanntgreift, wenn der Trigger "auftragsverarbeiter_rolle_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.Scope/Trigger54
ausschliesslich_englischsprachiges_angebotgreift, wenn der Trigger "ausschliesslich_englischsprachiges_angebot" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
b2b_anteil:truegreift, wenn "b2b anteil" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
b2c:truegreift, wenn "b2c" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung2
b2c_vertrag_moeglichgreift bei B2C-Vertrags-/VerbraucherbezugSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger8
beruf:architektgreift nur für diesen reglementierten Beruf: architektFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
beruf:arzt_zahnarzt_psychotherapeutgreift nur für diesen reglementierten Beruf: arzt zahnarzt psychotherapeutFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung2
beruf:finanzanlagenvermittler_34fgreift nur für diesen reglementierten Beruf: finanzanlagenvermittler 34fFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung2
beruf:heilpraktikergreift nur für diesen reglementierten Beruf: heilpraktikerFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
beruf:kwg_institut_zag_institutgreift nur für diesen reglementierten Beruf: kwg institut zag institutFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
beruf:rechtsanwaltgreift nur für diesen reglementierten Beruf: rechtsanwaltFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung2
beruf:steuerberatergreift nur für diesen reglementierten Beruf: steuerberaterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
beruf_apothekergreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_architektgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_arztgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_beratender_ingenieurgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_hebammegreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_heilpraktikergreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_notargreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_psychotherapeutgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_rechtsanwaltgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_sonstiger_reglementierter_berufgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_steuerberatergreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_tierarztgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_wirtschaftspruefergreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
beruf_zahnarztgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
besondere_datenkategoriengreift, wenn der Trigger "besondere_datenkategorien" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger4
bewirbt_gebaeudeleistung:truegreift, wenn "bewirbt gebaeudeleistung" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger21
bindet_google_reviews_eingreift, wenn der Trigger "bindet_google_reviews_ein" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
bindet_trustpilot_eingreift, wenn der Trigger "bindet_trustpilot_ein" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
bonitaetspruefung_oder_scoringgreift, wenn der Trigger "bonitaetsprüfung_oder_scoring" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
branche_c_01greift, wenn Branche/Cluster branche_c_01 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger3
branche_c_02greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger6
branche_c_03greift, wenn Branche/Cluster branche_c_03 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger4
branche_c_04greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger8
branche_c_05greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger10
branche_c_06greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger10
branche_c_07greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger10
branche_c_08greift, wenn Branche/Cluster branche_c_08 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger5
branche_c_09greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger8
branche_c_10greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger6
branche_c_11greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger8
branche_c_12greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger6
branche_c_13greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger8
branche_c_14greift, wenn Branche/Cluster branche_c_14 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger5
branche_c_15greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger6
branche_c_16greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger8
branche_c_17greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger6
branche_c_18greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger8
branche_c_19greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger6
branche_c_20greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger8
branche_gesundheitswesengreift bei dieser fachlichen Branchenzuordnung: gesundheitswesenSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger2
branche_groesserer_shopgreift bei dieser fachlichen Branchenzuordnung: groesserer shopSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger1
branche_personal_hrgreift bei dieser fachlichen Branchenzuordnung: personal hrSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.Scope/Trigger2
cc_werke_verwendetgreift, wenn der Trigger "cc_werke_verwendet" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger2
checkout_vorhandengreift, wenn der Trigger "checkout_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger3
cookies_gesetztgreift, wenn der Trigger "cookies_gesetzt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
daten_aus_fremdquellegreift, wenn der Trigger "daten_aus_fremdquelle" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger2
dauerschuldverhaeltnis_abschliessbargreift, wenn der Trigger "dauerschuldverhaeltnis_abschliessbar" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
dienst_mit_angemessenheitsbeschlussgreift, wenn der Trigger "dienst_mit_angemessenheitsbeschluss" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
dienst_ohne_angemessenheitsbeschlussgreift, wenn der Trigger "dienst_ohne_angemessenheitsbeschluss" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger14
dsb_freiwillig_bestelltgreift anhand von Datenschutzbeauftragten-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
dsb_laut_nutzerangabe_benanntgreift anhand von Datenschutzbeauftragten-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger2
dsb_pflicht_erfuelltgreift anhand von Datenschutzbeauftragten-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
dsb_pflicht_laut_branchegreift anhand von Datenschutzbeauftragten-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger23
dsfa_laut_nutzerangabe_vorhandengreift anhand von Datenschutz-Folgenabschaetzungs-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
erhaelt_pr_samplesgreift, wenn der Trigger "erhaelt_pr_samples" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
formular_vorhandengreift, wenn der Trigger "formular_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger2
fremde_medien_verwendetgreift, wenn der Trigger "fremde_medien_verwendet" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger3
gemeinnuetzig:truegreift, wenn "gemeinnuetzig" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger18
groesse_min_mitarbeiter_50_oder_umsatz_10m:truegreift, wenn "groesse min mitarbeiter 50 oder umsatz 10m" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
hat_ab-preisegreift, wenn KarlKI dieses Website-Merkmal gefunden hat: ab preiseSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_abo_mitgliedschaftgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: abo mitgliedschaftSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_affiliate_linksgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: affiliate linksSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger2
hat_agb:truegreift, wenn "hat agb" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
hat_analytics_toolgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: analytics toolSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_automatisierte_entscheidunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: automatisierte entscheidungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_b2b_leadgengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: b2b leadgenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger2
hat_bestandskunden_werbunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: bestandskunden werbungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_bezahlte_kooperationgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte kooperationSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger4
hat_bezahlte_platzierunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte platzierungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_bezahlte_produkttestsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte produkttestsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_buchung_zahlungspflichtiggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtigSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger7
hat_buchungssystemgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchungssystemSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_call-me-back_featuregreift, wenn KarlKI dieses Website-Merkmal gefunden hat: call me back featureSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_chatbotgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: chatbotSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_consent_cookiesgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: consent cookiesSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger17
hat_cookiesgreift bei Cookie-Banner oder Cookie-/Tracking-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger4
hat_cookies_nicht_essentiellgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookies nicht essentiellSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger3
hat_datenschutzerklaerunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger9
hat_deepfake_contentgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: deepfake contentSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_dienstleistungsbeschreibunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: dienstleistungsbeschreibungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_direkt-bestell-buttongreift, wenn KarlKI dieses Website-Merkmal gefunden hat: direkt bestell buttonSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_drittanbieter_einbindunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: drittanbieter einbindungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_drittland_transfergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: drittland transferSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_e-book_download_mit_emailgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: e book download mit emailSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_einwilligungs_checkboxgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: einwilligungs checkboxSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_externe_schriftarten_google_fontsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: externe schriftarten google fontsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_fernabsatz_verbrauchervertraggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: fernabsatz verbrauchervertragSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_gekaufte_linksgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: gekaufte linksSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_gewinnspiel:truegreift, wenn "hat gewinnspiel" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
hat_google_analyticsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: google analyticsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_heatmap_toolgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: heatmap toolSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_hotjargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: hotjarSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_immobilienanzeige:truegreift, wenn "hat immobilienanzeige" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
hat_influencer_posts_eingebundengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: influencer posts eingebundenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_kaltakquisegreift, wenn KarlKI dieses Website-Merkmal gefunden hat: kaltakquiseSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_ki_bildergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: ki bilderSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_ki_content_generatorgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: ki content generatorSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_ki_einsatzgreift bei KI-/Chatbot-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger6
hat_kontaktformulargreift bei Formular-/Kontaktformular-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger7
hat_kundenbewertungengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenbewertungenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger5
hat_kundenkontogreift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenkontoSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger2
hat_localstorage_trackinggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: localstorage trackingSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_matomogreift, wenn KarlKI dieses Website-Merkmal gefunden hat: matomoSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_mitgliederverwaltung:truegreift, wenn "hat mitgliederverwaltung" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
hat_namenthafte_nennung_in_bewertungengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: namenthafte nennung in bewertungenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_newslettergreift bei Newsletter-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger12
hat_online_buchung:truegreift, wenn "hat online buchung" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
hat_preisangabengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: preisangabenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_preislistegreift, wenn KarlKI dieses Website-Merkmal gefunden hat: preislisteSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_produktrankinggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: produktrankingSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger2
hat_produktseitengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: produktseitenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_produkttestsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: produkttestsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_rechnungengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: rechnungenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_redaktionelle_inhaltegreift, wenn KarlKI dieses Website-Merkmal gefunden hat: redaktionelle inhalteSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_registrierungs_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: registrierungs formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_reiseleistung_kombination:truegreift, wenn "hat reiseleistung kombination" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
hat_shopgreift bei Shop/Warenkorb/Checkout-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger6
hat_sortierte_bewertungslistegreift, wenn KarlKI dieses Website-Merkmal gefunden hat: sortierte bewertungslisteSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_sponsored_contentgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: sponsored contentSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger2
hat_suchergebnisse_mit_rankinggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: suchergebnisse mit rankingSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_telefon_akquise_hinweisgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: telefon akquise hinweisSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_tracking_scriptsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scriptsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger6
hat_ueber-uns-seitegreift, wenn KarlKI dieses Website-Merkmal gefunden hat: über uns seiteSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_us_dienstgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: us dienstSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hat_vergleichsportalgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: vergleichsportalSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger2
hat_webinar_anmeldunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: webinar anmeldungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
hosting_dienstgreift, wenn der Trigger "hosting_dienst" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger2
https_aktivgreift, wenn der Trigger "https_aktiv" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger3
ist_behoerdegreift, wenn KarlKI die Website so einordnet: behoerdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_beliehenergreift, wenn KarlKI die Website so einordnet: beliehenerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_blog_mit_aktuellen_nachrichtengreift, wenn KarlKI die Website so einordnet: blog mit aktuellen nachrichtenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_blog_mit_meinungsbeitraegengreift, wenn KarlKI die Website so einordnet: blog mit meinungsbeitraegenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_digitales_produkt:truegreift, wenn "ist digitales produkt" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
ist_edu_plattformgreift, wenn KarlKI die Website so einordnet: edu plattformSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_einmaliger_termingreift, wenn KarlKI die Website so einordnet: einmaliger terminSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_emittent_börsennotiert:truegreift, wenn "ist emittent börsennotiert" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
ist_fernunterricht:truegreift, wenn "ist fernunterricht" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung3
ist_finanzunternehmen:truegreift, wenn "ist finanzunternehmen" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung2
ist_gewerbegreift, wenn KarlKI die Website so einordnet: gewerbeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_humanitaergreift, wenn KarlKI die Website so einordnet: humanitaerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_influencer_oder_blog_autorgreift, wenn KarlKI die Website so einordnet: influencer oder blog autorSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_journalistisch_redaktionell:truegreift, wenn "ist journalistisch redaktionell" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
ist_journalistisch_redaktionelles_telemediumgreift, wenn KarlKI die Website so einordnet: journalistisch redaktionelles telemediumSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_kinder_contentgreift, wenn KarlKI die Website so einordnet: kinder contentSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_kostenlose_reservierunggreift, wenn KarlKI die Website so einordnet: kostenlose reservierungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_kritis_betreiber:truegreift, wenn "ist kritis betreiber" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
ist_live_only:truegreift, wenn "ist live only" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
ist_medizin_notfallgreift, wenn KarlKI die Website so einordnet: medizin notfallSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_news_portalgreift, wenn KarlKI die Website so einordnet: news portalSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger2
ist_oeffentliche_koerperschaftgreift, wenn KarlKI die Website so einordnet: öffentliche koerperschaftSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_podcast_news_formatgreift, wenn KarlKI die Website so einordnet: podcast news formatSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_redaktion:truegreift, wenn "ist redaktion" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
ist_scoring_anbietergreift, wenn KarlKI die Website so einordnet: scoring anbieterSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
ist_vlop_vlose:truegreift, wenn "ist vlop vlose" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung2
kerntaetigkeit_ueberwachunggreift, wenn der Trigger "kerntaetigkeit_überwachung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
ki_bewerberauswahlgreift, wenn der Trigger "ki_bewerberauswahl" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
kleinstunternehmengreift, wenn der Trigger "kleinstunternehmen" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
lernkontrolle:truegreift, wenn "lernkontrolle" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
medien_vorhandengreift, wenn der Trigger "medien_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
minderjaehrige_moeglichgreift, wenn der Trigger "minderjaehrige_möglich" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
minderjaehrige_zielgruppe_oder_erkennbargreift, wenn der Trigger "minderjaehrige_zielgruppe_oder_erkennbar" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
mindestens_ein_drittanbieter_erkanntgreift, wenn der Trigger "mindestens_ein_drittanbieter_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger2
mindestens_ein_drittland_dienst_erkanntgreift, wenn der Trigger "mindestens_ein_drittland_dienst_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger3
mindestens_ein_us_dienst_erkanntgreift, wenn der Trigger "mindestens_ein_us_dienst_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
nennt_mitbewerber_namentlichgreift, wenn der Trigger "nennt_mitbewerber_namentlich" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
nennt_partner_referenzengreift, wenn der Trigger "nennt_partner_referenzen" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
nur_technisch_notwendige_cookiesgreift, wenn der Trigger "nur_technisch_notwendige_cookies" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
nutzt_amazon_partnergreift, wenn die Website diese Nutzung erkennen laesst: amazon partnerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
nutzt_awin_daisycongreift, wenn die Website diese Nutzung erkennen laesst: awin daisyconSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
nutzt_berechtigtes_interessegreift, wenn die Website diese Nutzung erkennen laesst: berechtigtes interesseSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
nutzt_digistore24greift, wenn die Website diese Nutzung erkennen laesst: digistore24Sorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
nutzt_einwilligunggreift, wenn die Website diese Nutzung erkennen laesst: einwilligungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
nutzt_ki_system:truegreift, wenn "nutzt ki system" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
nutzt_oss:truegreift, wenn "nutzt oss" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
nutzt_sub_dienste:truegreift, wenn "nutzt sub dienste" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.fachliche Zusatzbedingung1
nutzt_us_ki_apigreift, wenn die Website diese Nutzung erkennen laesst: us ki apiSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.Scope/Trigger1
online_plattformgreift, wenn der Trigger "online_plattform" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger2
personenfotos_vorhandengreift, wenn der Trigger "personenfotos_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger4
profiling_aktivgreift, wenn der Trigger "profiling_aktiv" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
regelmaessige_verarbeitung_erkanntgreift, wenn der Trigger "regelmaessige_verarbeitung_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger2
reine_b2b_mit_logingreift, wenn der Trigger "reine_b2b_mit_login" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
richtet_sich_an_kindergreift, wenn der Trigger "richtet_sich_an_kinder" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
rolle:adult_contentgreift nur für diese fachliche Rolle: adult contentFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:affiliate_gluecksspielgreift nur für diese fachliche Rolle: affiliate gluecksspielFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:alkohol_shopgreift nur für diese fachliche Rolle: alkohol shopFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:architekt_ingenieurgreift nur für diese fachliche Rolle: architekt ingenieurFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:auftraggeber_subunternehmergreift nur für diese fachliche Rolle: auftraggeber subunternehmerFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:auftragsverarbeitergreift nur für diese fachliche Rolle: auftragsverarbeiterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung3
rolle:beherbergungsbetriebgreift nur für diese fachliche Rolle: beherbergungsbetriebFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:cbd_kratomgreift nur für diese fachliche Rolle: cbd kratomFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:coachgreift nur für diese fachliche Rolle: coachFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:eingetragener_vereingreift nur für diese fachliche Rolle: eingetragener vereinFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:energieberatergreift nur für diese fachliche Rolle: energieberaterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:gluecksspielanbietergreift nur für diese fachliche Rolle: gluecksspielanbieterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:gueterverkehrgreift nur für diese fachliche Rolle: gueterverkehrFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:haendler_label_produktgreift nur für diese fachliche Rolle: haendler label produktFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:ladesaeulen_betreibergreift nur für diese fachliche Rolle: ladesaeulen betreiberFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:maklergreift nur für diese fachliche Rolle: maklerFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:makler_bautraeger_verwaltergreift nur für diese fachliche Rolle: makler bautraeger verwalterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:makler_verwaltergreift nur für diese fachliche Rolle: makler verwalterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:medienanbieter_altersrelevantgreift nur für diese fachliche Rolle: medienanbieter altersrelevantFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:personenbefoerderunggreift nur für diese fachliche Rolle: personenbefoerderungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:podcastergreift nur für diese fachliche Rolle: podcasterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:privatvermietergreift nur für diese fachliche Rolle: privatvermieterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:redaktiongreift nur für diese fachliche Rolle: redaktionFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:reiseveranstaltergreift nur für diese fachliche Rolle: reiseveranstalterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung2
rolle:reisevermittlergreift nur für diese fachliche Rolle: reisevermittlerFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:solar_anbietergreift nur für diese fachliche Rolle: solar anbieterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:spedition_umzuggreift nur für diese fachliche Rolle: spedition umzugFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:stiftunggreift nur für diese fachliche Rolle: stiftungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:tabak_vapegreift nur für diese fachliche Rolle: tabak vapeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:taxigreift nur für diese fachliche Rolle: taxiFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:telko_anbietergreift nur für diese fachliche Rolle: telko anbieterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:verein_oder_stiftunggreift nur für diese fachliche Rolle: verein oder stiftungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:waffenhandelgreift nur für diese fachliche Rolle: waffenhandelFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:weg_verwaltergreift nur für diese fachliche Rolle: weg verwalterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:wohnimmobilienverwaltergreift nur für diese fachliche Rolle: wohnimmobilienverwalterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
rolle:wohnungsvermittlergreift nur für diese fachliche Rolle: wohnungsvermittlerFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
sammelt_emails_via_formulargreift, wenn der Trigger "sammelt_emails_via_formular" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
sammelt_reviews_via_incentivegreift, wenn der Trigger "sammelt_reviews_via_incentive" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
sammelt_telefonnummern_via_formulargreift, wenn der Trigger "sammelt_telefonnummern_via_formular" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
scope_signal:connected_product_datagreift, wenn das Zusatzmerkmal "scope signal" den Wert "connected product data" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
scope_signal:fernunterrichtgreift, wenn das Zusatzmerkmal "scope signal" den Wert "fernunterricht" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
scope_signal:health_claimsgreift, wenn das Zusatzmerkmal "scope signal" den Wert "health claims" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
scope_signal:heilmittelwerbunggreift, wenn das Zusatzmerkmal "scope signal" den Wert "heilmittelwerbung" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung2
scope_signal:ki_transparenzgreift, wenn das Zusatzmerkmal "scope signal" den Wert "ki transparenz" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
scope_signal:kosmetikkennzeichnunggreift, wenn das Zusatzmerkmal "scope signal" den Wert "kosmetikkennzeichnung" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
scope_signal:lebensmittelkennzeichnunggreift, wenn das Zusatzmerkmal "scope signal" den Wert "lebensmittelkennzeichnung" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
scope_signal:marktplatz_compliance_interfacegreift, wenn das Zusatzmerkmal "scope signal" den Wert "marktplatz compliance interface" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
scope_signal:marktplatz_produktsicherheitgreift, wenn das Zusatzmerkmal "scope signal" den Wert "marktplatz produktsicherheit" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
scope_signal:medizinproduktegreift, wenn das Zusatzmerkmal "scope signal" den Wert "medizinprodukte" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
scope_signal:plattform_transparenzgreift, wenn das Zusatzmerkmal "scope signal" den Wert "plattform transparenz" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung2
scope_signal:produktsicherheitgreift, wenn das Zusatzmerkmal "scope signal" den Wert "produktsicherheit" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
scope_signal:textilkennzeichnunggreift, wenn das Zusatzmerkmal "scope signal" den Wert "textilkennzeichnung" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
scraped_public_datagreift, wenn der Trigger "scraped_public_data" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.Scope/Trigger159
strukturierter_lernpfad:truegreift, wenn "strukturierter lernpfad" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
systematische_ueberwachung_erkanntgreift, wenn der Trigger "systematische_überwachung_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
taetigkeit_bafin_zulassunggreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
taetigkeit_gewerbeordnung_34agreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
taetigkeit_gewerbeordnung_34bgreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
taetigkeit_gewerbeordnung_34cgreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
taetigkeit_gewerbeordnung_34dgreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
taetigkeit_gewerbeordnung_34fgreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
taetigkeit_gewerbeordnung_34hgreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
taetigkeit_gewerbeordnung_34igreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
taetigkeit_sonstige_behoerdliche_zulassunggreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
tracking_ueber_webseiten_hinweggreift, wenn der Trigger "tracking_über_webseiten_hinweg" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
transfer_auf_einwilligung_gestuetztgreift, wenn der Trigger "transfer_auf_einwilligung_gestuetzt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
ueber_3_5_t:truegreift, wenn "über 3 5 t" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
ugc_moeglichgreift, wenn der Trigger "ugc_möglich" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
unterliegt_nis2:truegreift, wenn "unterliegt nis2" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
unternehmen_ab_250_mitarbeitergreift, wenn der Trigger "unternehmen_ab_250_mitarbeiter" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger2
us_dienst_dpf_zertifiziertgreift, wenn der Trigger "us_dienst_dpf_zertifiziert" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger20
veroeffentlicht_werbecontentgreift, wenn der Trigger "veröffentlicht_werbecontent" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
versendet_e_mail_werbunggreift, wenn Kommunikation/Versand dieses Typs erkannt wird: e mail werbungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger4
versendet_newslettergreift, wenn Kommunikation/Versand dieses Typs erkannt wird: newsletterSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger3
versendet_werbung_via_emailgreift, wenn Kommunikation/Versand dieses Typs erkannt wird: werbung via emailSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger4
verwendet_automatisierte_entscheidunggreift, wenn der Trigger "verwendet_automatisierte_entscheidung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
vvt_laut_nutzerangabe_vorhandengreift anhand von Verarbeitungsverzeichnis-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
werbung_vorhandengreift, wenn der Trigger "werbung_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger3
werbung_zielgerichtetgreift, wenn der Trigger "werbung_zielgerichtet" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
wirbt_mit_anders-als-xgreift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit anders als xSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
wirbt_mit_garantiengreift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit garantienSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
wirbt_mit_guetesiegelgreift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit guetesiegelSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
wirbt_mit_herkunftgreift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit herkunftSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
wirbt_mit_nachhaltigkeit:truegreift, wenn "wirbt mit nachhaltigkeit" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
wirbt_mit_oeko_biogreift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit oeko bioSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
wirbt_mit_testergebnisgreift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit testergebnisSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
wirbt_mit_uptime:truegreift, wenn "wirbt mit uptime" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.fachliche Zusatzbedingung1
zeigt_gruendungsjahrgreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: gruendungsjahrSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
zeigt_kundenbewertungengreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: kundenbewertungenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger2
zeigt_standortegreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: standorteSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
zeigt_sternebewertunggreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: sternebewertungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
zeigt_testimonialsgreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: testimonialsSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
zeigt_top_listengreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: top listenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
zeigt_trust_siegelgreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: trust siegelSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
zeigt_vergleichstabellegreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: vergleichstabelleSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
zielgruppe_finanziell_angeschlagengreift, wenn der Trigger "zielgruppe_finanziell_angeschlagen" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
zielgruppe_medizinische_notlagegreift, wenn der Trigger "zielgruppe_medizinische_notlage" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
zielgruppe_minderjaehrigegreift, wenn der Trigger "zielgruppe_minderjaehrige" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
zielgruppe_seniorengreift, wenn der Trigger "zielgruppe_senioren" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1
zitat_oder_screenshot_vorhandengreift, wenn der Trigger "zitat_oder_screenshot_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.Scope/Trigger1

Was aus einer Regelprüfung wird

RuleCheck

Ein RuleCheck ist der technische Prüflauf einer Regel. Er speichert Status, Ergebnis, Treffer ja/nein, Schwere, Confidence, Zusammenfassung und Rohpayload.

Er ist intern und entsteht vor dem sichtbaren Finding.

Finding

Ein Finding ist der sichtbare Befund für den Nutzer. Es entsteht nur aus einem abgeschlossenen RuleCheck mit fail und matched, wenn Evidenz vorhanden ist.

Ohne Evidenz wird übersprungen oder als nicht belastbar behandelt.

Report

Der Report entscheidet nur, wie viel vom Ergebnis angezeigt wird. Free bleibt Status-/Gate-orientiert. Bezahlte Pakete bekommen Details, Belege und Empfehlungen.

Dadurch kann Free technisch gleich scannen, ohne den bezahlten Audit zu ersetzen.

Mögliche Ergebnisse

  • pass: Regel wurde geprüft und kein Problem gefunden.
  • fail: Regel wurde geprüft, Problem gefunden, und nur dann kann ein Finding entstehen.
  • not_applicable: Regel passt für diesen Scan nicht, z. B. keine Shop-Funktion.
  • not_evaluable: Regel wäre relevant, ist technisch aber nicht sicher bewertbar.
  • requires_owner_permission: Ohne Owner-Freigabe wird nicht tief geprüft.
  • unknown: Evaluator konnte kein sauberes Ergebnis liefern; das ist ein technischer Warnzustand.

Praktische Kette

  1. Regel wird anhand Runtime und ScanScope ausgewählt.
  2. Evaluator prüft sie gegen Scan, Seite oder Section.
  3. RuleCheck bekommt Ergebnis: pass, fail, not_applicable, not_evaluable, requires_owner_permission oder unknown.
  4. Nur fail + matched + Evidenz wird zu einem Finding.
  5. ReportAccessFilter entscheidet, was Free oder bezahlte Pakete davon sehen.

Sections / Inhaltsbereiche

Sections sind die Schubladen, in die gerenderte Seiten einsortiert werden. Das macht Regeln erklaerbarer und spart Kontext.

home

Startseite: Basistext, sichtbarer Content und zentrale Signale.

Regeln: 0

footer

Footer: Links zu Pflichtseiten, Unternehmensdaten, rechtliche Kurzangaben.

Regeln: 0

impressum

Impressum / Anbieterkennzeichnung.

Regeln: 10

datenschutz

Datenschutzerklärung und DSGVO-Informationen.

Regeln: 21

agb

AGB, Vertragsbedingungen und Klauselrisiken.

Regeln: 0

widerruf

Widerrufsbelehrung, Retouren, Verbraucherinformationen.

Regeln: 3

kontakt

Kontaktseite, Formular, Kontaktangaben.

Regeln: 0

cookie_banner

Cookie-Banner, Consent-UI, Tracking vor Einwilligung.

Regeln: 7

forms

Formulare, Kontaktformulare, Einwilligungen, Pflichtfelder.

Regeln: 3

newsletter

Newsletter-Anmeldung, Double-Opt-In, Werbeeinwilligung.

Regeln: 6

ecommerce

Shop, Warenkorb, Preise, Versand, Checkout-Signale.

Regeln: 11

platform_dsa

Plattform-/DSA-Signale.

Regeln: 5

accessibility

BFSG/WCAG-nahe technische Accessibility-Signale.

Regeln: 23

third_party_services

Drittanbieter, Tracking, externe Dienste.

Regeln: 0

ohne_section

Noch keiner Section zugeordnet. Diese Regeln laufen ggf. scanweit oder brauchen Mapping.

Regeln: 354

Wie eine Regel überhaupt zur Auswertung kommt

  1. Reportzugriff: Produkt/Paket filtert keine Regeln. Free wird technisch gleich ausgewertet, öffentlich aber gegated. Bezahlte Pakete sehen Details.
  2. Runtime: Nur ausführbare Regeln laufen automatisch; Owner-only braucht Owner-Kontext.
  3. ScanScope: Branche, Cluster und TriggerFlags werden aus Nutzerangaben, KI/Heuristik und Sections gebildet.
  4. anwendbar_wenn: alle müssen passen, oder braucht mindestens einen Treffer, nicht darf nicht zutreffen.
  5. Scope: Scan-Regeln laufen einmal pro Scan, Page-Regeln pro passender Seite.
  6. Evaluator: Check-Type/Definition entscheidet, ob Regex, DOM, Browser, KI oder strukturierte Seite genutzt wird.
  7. Evidenz: Findings brauchen Belege. Nicht prüfbare Punkte dürfen nicht als sichere Rechtsverstoesse verkauft werden.

Check-Type Bedeutungen

Check-TypeBedeutungRegeln
structured_pageKarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.271
ai_semanticKarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.49
ai_classificationKarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.15
ai_visualKarlKI bewertet sichtbare Merkmale aus Screenshot/Rendering, z. B. Banner, sichtbare Hinweise, Buttons oder optische Dark Patterns.4
browser_interactiveKarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig.7
dom_elementKarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen.6
http_headerKarlKI prüft technische Antwort-Header des Servers, z. B. Security- oder Transport-Informationen.5
regex_patternKarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.18
ohne check_typeKein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.62

Regelstatistik

Nach Section

WertAnzahl
accessibility23
cookie_banner7
datenschutz21
ecommerce11
forms3
impressum10
newsletter6
ohne_section354
platform_dsa5
widerruf3

Nach Runtime

WertAnzahl
executable430
requires_owner_permission13

Nach Scan-Mode

WertAnzahl
browser_interactive11
owner_deep27
public_ai312
public_auto93

Nach Check-Type

WertAnzahl
ai_classification15
ai_semantic49
ai_visual4
browser_interactive7
dom_element6
http_header5
legal.agb.risks1
legal.cookie_banner.compliance1
legal.dse.completeness1
legal.impressum.completeness1
ohne_check_type62
regex_pattern18
self_assessment2
structured_page271

Nach Kategorie

WertAnzahl
(keine branchenspezifische) — verweis auf ebene a + b1
(muster-)berufsordnung Ärzte — mbo-Ä1
agb1
analog1
analog ddg best practice1
ao1
bafa-richtlinien + geg §881
barrierefreiheit1
bfsg5
bfsgv / wcag 2.117
bfsgv i. v. m. en 301 549 / wcag 2.11
bgb27
bgb agb-recht + hgb §4491
bgb i. v. m. egbgb art. 250 §31
bilder1
bmg1
bora1
brao1
brao / stberg1
brao §51; stberg §67; wpo §54; bnoto §19a; ddg §5 abs. 1 nr. 81
bsi-gesetz (bsig) + kritis-v1
btmg + npsg + novel-food-vo1
bundesärzteordnung (bÄo) / ddg1
claims1
connected_product_data1
content1
content_structure1
cookies6
datenschutz5
datenschutz-grundverordnung (dsgvo) / pci-dss1
ddg17
ddg + bgb1
ddg + heilberufsgesetze der länder1
ddg / gewo1
ddg / ustg1
dora1
drittanbieter1
dsa10
dsgvo86
dsgvo & ddg1
dsgvo + bdsg1
dsgvo + bdsg + landespressegesetze1
durchführungs-vo (eu) 1337/2013 / honigv / weitere1
ecommerce8
eeg1
egbgb4
egbgb art. 246a1
einführungsgesetz zum bgb1
email4
entwurf1
envkv + eu-vo 2017/13691
eu 2022/20651
eu 2022/25541
eu-Öko-verordnung1
fernunterricht1
fernusg5
fernusg i. v. m. rechtsprechung1
finvermv1
fonts1
forms2
geg2
gewerbeordnung (gewo) / versvermv1
gewo3
glüstv1
glüstv + stgb1
gwg2
gükg1
handwerksordnung (hwo) i. v. m. ddg1
health-claims-vo1
health_claims1
heilmittelwerbung2
heilprg1
hgb1
hoai1
hwg2
hwo3
hwo / ddg1
ifsg1
impressum4
in de: nis2umsucg, bsi-gesetz1
infektionsschutzgesetz (ifsg) + länder-hygienevo1
jmstv2
juschg1
ki_transparenz1
kosmetikkennzeichnung1
kosmetikvo1
kug3
kug i. v. m. dsgvo art. 7 abs. 31
kug i. v. m. dsgvo art. 81
kwg / zag1
landespressegesetze (z. b. lpg nrw §4) + gg art. 51
lebensmittelkennzeichnung1
lmiv2
länder-bo bindend1
mabv2
mar (eu 596/2014) + wphg1
marktplatz_compliance_interface1
marktplatz_produktsicherheit1
medizinprodukte1
medizinprodukterecht-durchführungsgesetz (mpdg) / mdr1
messeg1
milog1
mstv3
neu ab 01.07.20231
newsletter4
nisv1
odr-vo1
omnibus1
owner_batterien1
owner_verpackung1
pangv7
pbefg2
pci-dss v4.01
plattform5
plattform_transparenz2
podg1
produktsicherheit1
psd2, rl 2015/23661
rsg1
security3
steuerberatungsgesetz (stberg) / bostb1
stgb2
tabakerzg1
technik13
textilkennzeichnung1
tkg1
trust2
ttdsg12
urheberrecht1
urhg6
urhg + jeweilige oss-lizenz1
urhg i. v. m. cc-lizenzvertrag2
ustg1
uvsv1
uwg39
uwg + bgb agb-recht1
uwg + hwo1
uwg + mstv1
uwg + mstv + pressekodex1
verordnung (eu) 2024/1689 — ai act5
verordnung 2024/16891
vo (eu) 1169/2011 (lmiv) + lmidv1
vsbg1
vsbg / brao §191f1
vvg1
vvg / vsbg1
waffg1
weg1
widerruf1
wovermg1
wphg / zag / mifid ii art. 241
z.b. baukag bayern, archg nrw1

Alle Regeln im Detail

Jede Karte beschreibt: Was sagt die Regel aus, wann greift sie, welche Evidenz braucht sie und welche Rohdefinition steht dahinter.

accessibility / bfsg

Kleinstunternehmen-Ausnahme (§3 Abs. 3 BFSG) geprüft

a-bfsg-3-kleinstunternehmen-ausnahme

executablepublic_aiai_classification
Was macht diese Regel?

Kleinstunternehmen (weniger als 10 Beschäftigte UND Jahresumsatz oder Jahresbilanzsumme max. 2 Mio. €) sind von den BFSG-Pflichten für Dienstleistungen befreit. Die Ausnahme gilt NICHT für das Inverkehrbringen von Produkten (z. B. Hardware, E-Book-Reader). Die Bewertung muss aktuell gehalten werden — Wachstum über die Schwelle hinaus beendet die Ausnahme.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Niedriges Risiko, Hinweis oder Feinschliff.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSG §3 Abs. 3 Ausnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: low

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-3-kleinstunternehmen-ausnahme",
    "fix_type": "diy_text",
    "check_type": "ai_classification",
    "section_name": "accessibility",
    "check_hinweis": "Selbstauskunft im Scanner-Onboarding: Mitarbeiterzahl + Jahresumsatz.\nDokumentation für Behörden-Nachweis empfehlenswert.\n",
    "normalization": {
        "check_type": [
            "self_assessment",
            "ai_classification"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "scope_ausnahme",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Bei Inanspruchnahme der Ausnahme: interne Dokumentation anlegen mit\n- Mitarbeiterzahl (Stichtag)\n- Jahresumsatz oder Bilanzsumme\n- Bestätigung durch Geschäftsführung\nJährliche Prüfung, ob Schwellen überschritten werden.\nHinweis: Freiwillige Umsetzung der WCAG 2.1 AA bleibt empfehlenswert\n(Wettbewerbsvorteil, Zielgruppenerweiterung).\n"
}

accessibility / bfsg

Erklärung zur Barrierefreiheit öffentlich erreichbar

a-bfsg-erklaerung-barrierefreiheit

executablepublic_aistructured_page
Was macht diese Regel?

Der Dienstleister muss eine Erklärung zur Barrierefreiheit öffentlich bereitstellen, verlinkt aus dem Footer jeder Seite. Inhalt: Konformitätsstand (voll / teilweise), noch bestehende Barrieren mit Begründung, Datum der letzten Überprüfung, Bewertungsmethode, Feedback-Kontakt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSG §14 i. V. m. §15 BFSG Pflichten des Dienstleisters

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-erklaerung-barrierefreiheit",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "DOM-Scan auf Footer-Link \"Erklärung zur Barrierefreiheit\" oder\n\"Barrierefreiheit\". Seiteninhalt auf Pflichtelemente prüfen.\n",
    "normalization": {
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Eigene Seite /barrierefreiheit mit Footer-Link. Mindestinhalt:\n1. Name des Dienstleisters + Anschrift\n2. Ziel: BFSG + WCAG 2.1 AA + EN 301 549\n3. Konformitätsstand: vollständig / teilweise / nicht konform\n4. Bekannte noch bestehende Barrieren + Begründung (unverhältnismäßige\n   Belastung? Grundlegende Änderung?)\n5. Letztes Überprüfungs-Datum + Methode (Selbstbewertung / externer\n   Audit / BITV-Test)\n6. Kontakt für Feedback (E-Mail, Formular)\n7. Durchsetzungsverfahren / Marktüberwachungsstelle\n"
}

accessibility / bfsg

Feedback-Kanal für Nutzer mit Barrieren

a-bfsg-feedback-mechanismus

executablepublic_aistructured_page
Was macht diese Regel?

Ein leicht zugänglicher Feedback-Mechanismus muss Nutzern ermöglichen, Barrieren zu melden. Mindestens: E-Mail-Adresse; idealerweise barrierefreies Kontaktformular. Eingaben müssen innerhalb angemessener Frist beantwortet werden (Richtwert: 4 Wochen).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSG §14 Abs. 4 BFSG Pflichten des Dienstleisters — Feedback

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-feedback-mechanismus",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "DOM-Scan auf Feedback-Link auf der Barrierefreiheits-Seite. Existenz\nbarrierefreier Kontakt-Mechanismus.\n",
    "normalization": {
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Auf Barrierefreiheits-Seite:\n\"Sollten Sie Barrieren feststellen oder Informationen in\nbarrierefreier Form anfordern wollen, kontaktieren Sie uns gerne:\nE-Mail: barrierefreiheit@firma.de\nTelefon: 0123 / 456789\nWir melden uns innerhalb von 4 Wochen bei Ihnen.\"\n"
}

accessibility / bfsg

Hinweis auf Marktüberwachungsstelle in der Erklärung

a-bfsg-marktüberwachung-kontakt

executablepublic_aistructured_page
Was macht diese Regel?

Die Erklärung zur Barrierefreiheit muss den Verweis auf die zuständige Marktüberwachungsstelle enthalten (in DE bundesweit koordiniert durch die Marktüberwachungsstelle der Länder für die Barrierefreiheit von Produkten und Dienstleistungen, MLBF Magdeburg; für IT-Produkte zusätzlich BAS). Nutzer sollen wissen, wohin sie sich wenden können, wenn Feedback unbeantwortet bleibt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSG §19 BFSG Marktüberwachung

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-marktueberwachung-kontakt",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "Textscan der Barrierefreiheits-Seite nach \"Marktüberwachung\",\n\"MLBF\", \"Beschwerde\".\n",
    "normalization": {
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "In der Erklärung zur Barrierefreiheit:\n\"Sollte Ihre Anfrage nicht zufriedenstellend bearbeitet werden,\nkönnen Sie sich an die zuständige Marktüberwachungsstelle wenden:\nMarktüberwachungsstelle der Länder für die Barrierefreiheit von\nProdukten und Dienstleistungen (MLBF)\nRobert-Bosch-Straße 10, 39116 Magdeburg\nWebsite: https://www.mlbf.sachsen-anhalt.de\"\n"
}

accessibility / bfsg

Website fällt unter BFSG-Dienstleistungskatalog

a-bfsg-scope-dienstleistungen-b2c

executablepublic_aistructured_page
Was macht diese Regel?

Das BFSG greift u. a. für Dienstleistungen im elektronischen Geschäftsverkehr (E-Commerce), Bankdienste für Verbraucher, Telekommunikationsdienste, audiovisuelle Mediendienste, E-Books, Personenbeförderungsdienste (inkl. deren Websites und Apps) und Fahrscheinautomaten. Für den Scanner ist zu prüfen, ob die Website eine dieser Dienstleistungen erbringt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSG §1 Abs. 3 i. V. m. §2 Nr. 26 Anwendungsbereich und Begriffsbestimmungen

Risiko: 1.000,00 EUR bis 100.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-scope-dienstleistungen-b2c",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "KI-Prompt klassifiziert Website: E-Commerce / SaaS / Buchung / reine\nInformation? Bei reiner Info-Seite ohne Vertragsschluss: Scope\nentfällt weitgehend, BFSG-Pflichten nicht einschlägig.\n",
    "normalization": {
        "section_name": "accessibility"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Keine textliche Fix-Vorlage — dies ist eine Scope-Rule.\nErgebnis steuert die Aktivierung der Abschnitte II–VI.\n"
}

accessibility / bfsgv / wcag 2.1

Untertitel für Videos + Transkripte für Audio

a-bfsg-wcag-1-2-untertitel-transkript

executablepublic_aistructured_page
Was macht diese Regel?

Aufgezeichnete Videos (mit Tonspur) benötigen synchronisierte Untertitel (WCAG 1.2.2, Level A). Aufgezeichnete reine Audioinhalte benötigen Volltranskript (WCAG 1.2.1, Level A). Zusätzlich AA: Audiodeskription für Videos mit wesentlichen visuellen Inhalten (WCAG 1.2.5).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar, medien_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
  • medien_vorhanden - greift, wenn der Trigger "medien_vorhanden" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 1.2.1, 1.2.2, 1.2.5 Zeitbasierte Medien

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
medien_vorhandengreift, wenn der Trigger "medien_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        },
        {
            "scope": "medien_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-1-2-untertitel-transkript",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "DOM-Scan auf <video>, <audio>, iframe YouTube/Vimeo. Bei Fund:\nPrüfung auf <track kind=\"captions\">, Transkript-Link, Audiodeskription.\nKI-Check auf Video-Player-Controls.\n",
    "normalization": {
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            },
            {
                "scope": "medien_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Pro Video/Audio:\n- Video: Untertitel-Spur (WebVTT-Format), aktivierbar über Player-Button\n- Audio: Transkript unterhalb des Audio-Players oder als PDF-Download\n- Komplexe Videos: zusätzliche Audiodeskription oder erweiterte Untertitel\nBei YouTube: Auto-Untertitel nicht ausreichend — manuelle Korrektur nötig.\n"
}

accessibility / bfsgv / wcag 2.1

Semantische HTML-Struktur (Überschriften-Hierarchie, Landmarks)

a-bfsg-wcag-1-3-1-semantische-struktur

executablepublic_aistructured_page
Was macht diese Regel?

Struktur und Beziehungen, die durch Darstellung vermittelt werden, müssen programmatisch ermittelbar sein. Konkret: korrekte Überschriften-Hierarchie (h1–h6), semantische HTML5-Landmarks (header, nav, main, aside, footer), Listen (ul/ol/li), Tabellen mit th und scope.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 1.3.1 (Level A) Info und Beziehungen

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-1-3-1-semantische-struktur",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "Struktur-Scan: genau eine h1 pro Seite? h-Reihenfolge ohne Lücken\n(h1 → h2 → h3, keine Sprünge h1 → h4)? main/nav/header/footer\nvorhanden? Tabellen mit th/scope?\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "- Jede Seite genau EIN <h1>\n- Überschriften hierarchisch (keine Sprünge)\n- Bereiche: <header>, <nav>, <main>, <aside>, <footer>\n- Listen als <ul>/<ol>\n- Tabellen: <th scope=\"col\">...</th> / <th scope=\"row\">...</th>\n"
}

accessibility / bfsgv / wcag 2.1

Reflow: Inhalt nutzbar bei 320 CSS-px Breite ohne Zwei-Achsen-Scroll

a-bfsg-wcag-1-4-10-reflow-responsive

executablepublic_aistructured_page
Was macht diese Regel?

Inhalt muss ohne Verlust von Information oder Funktionalität in einem Ansichtsfenster von 320 CSS-px Breite (entspricht 400 % Zoom bei 1280px Breite) darstellbar sein, ohne dass der Nutzer in zwei Richtungen scrollen muss. Ausnahmen für Inhalte, die Zwei-Achsen- Darstellung zwingend benötigen (komplexe Tabellen, Karten).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 1.4.10 (Level AA) Reflow

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-1-4-10-reflow-responsive",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "Viewport-Test 320 × 256 px. Prüfung auf horizontales Scrollen, out-\nof-bounds-Elemente, abgeschnittene Navigation.\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Mobile-first CSS mit Media-Queries. Keine festen Breiten >320 px für\nHaupt-Containerelemente. Tabellen ggf. responsiv per overflow-x:auto\nin Container mit klarem Scroll-Hinweis.\n"
}

accessibility / bfsgv / wcag 2.1

Kontrastverhältnis Text mind. 4.5:1 (Normaltext), 3:1 (große Schrift)

a-bfsg-wcag-1-4-3-kontrast-text

executablepublic_aistructured_page
Was macht diese Regel?

Der Kontrast zwischen Textfarbe und Hintergrundfarbe muss mindestens 4.5:1 betragen für Normaltext (<18pt bzw. <14pt fett); mindestens 3:1 für große Schrift (≥18pt oder ≥14pt fett). Ausnahmen: reine Dekoration, Logos, inaktive Bedienelemente.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 1.4.3 (Level AA) Kontrast (Minimum)

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-1-4-3-kontrast-text",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "Automatisierter Kontrast-Scan (axe-core o. ä.) über alle Textelemente.\nReport mit betroffenen Selektoren + gemessenem Verhältnis.\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Palette überarbeiten:\n- Normaltext: Kontrast ≥ 4.5:1 (z. B. #333 auf #FFF = 12.6:1 ✓)\n- Große Schrift: ≥ 3:1\n- Tools: https://webaim.org/resources/contrastchecker/\nGraue Platzhaltertexte (#AAA auf #FFF = 2.9:1) sind typischer Verstoß.\n"
}

accessibility / bfsgv / wcag 2.1

Text 200 % skalierbar ohne Funktions- oder Inhaltsverlust

a-bfsg-wcag-1-4-4-textgroesse-skalierbar

executablepublic_aistructured_page
Was macht diese Regel?

Der Nutzer muss Text auf mindestens 200 % vergrößern können ohne Verlust von Inhalt oder Funktionalität. Relative Einheiten (rem, em, %) statt absoluter Pixel; kein Abschneiden oder Überlappen bei Zoom.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 1.4.4 (Level AA) Textgröße ändern

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-1-4-4-textgroesse-skalierbar",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "Manueller Test: Browser-Zoom auf 200 % + Prüfung auf überlappende\nElemente, abgeschnittenen Text, nicht klickbare Buttons. Automatisiert\nvia Viewport-Simulation.\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "CSS-Guidelines:\n- font-size in rem (Basis 16px)\n- Container mit max-width, flexible Breiten\n- line-height als Faktor (1.5), nicht absolut\n- min-width/max-width statt fester width-Werte\n"
}

accessibility / bfsgv / wcag 2.1

Vollständige Tastaturbedienung ohne Zeitabhängigkeit

a-bfsg-wcag-2-1-1-tastatur-bedienbar

executablepublic_aistructured_page
Was macht diese Regel?

Alle Funktionalitäten müssen über die Tastatur bedienbar sein (Tab, Enter, Space, Pfeiltasten, Esc). Keine Tastaturfallen (kein Element darf Fokus einfangen). Komplexe Widgets (Dropdowns, Modals, Sliders) brauchen definierte Tastatur-Muster (WAI-ARIA Authoring Practices).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 2.1.1, 2.1.2 (Level A) Tastatur

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-2-1-1-tastatur-bedienbar",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "Manueller Tab-Test: alle interaktiven Elemente erreichbar? Keine\nTastaturfalle? Modals mit Fokus-Falle korrekt geschlossen bei Esc?\nAxe-Scan für tabindex/keyboard-Violations.\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Guidelines:\n- <button> statt <div onclick> verwenden\n- tabindex=\"0\" für interaktive Custom-Elemente\n- tabindex=\"-1\" nur für programmgesteuerten Fokus\n- Fokusmanagement in Modals: Esc schließt, Tab-Zyklus im Modal\n- ARIA-Komponenten nach WAI-ARIA Authoring Practices\n"
}

accessibility / bfsgv / wcag 2.1

Zeitbegrenzungen anpassbar, verlängerbar oder abschaltbar

a-bfsg-wcag-2-2-zeit-anpassbar

executablepublic_aistructured_page
Was macht diese Regel?

Zeitlimits (z. B. Session-Timeout, Checkout-Countdown) müssen dem Nutzer vor Ablauf anzeigbar sein und mind. einmalig verlängert oder abgeschaltet werden können. Ausnahmen: Echtzeit-Events (Auktionen), zeitlich zwingende Sicherheit (Banken-Logout — dort mit Warnung vor Ablauf).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 2.2.1 (Level A) Anpassbare Zeitlimits

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-2-2-zeit-anpassbar",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "Erkennung schwierig automatisiert — Selbstauskunft + KI-Prompt auf\nFlow-Beschreibung. Bei Countdown-Elementen: DOM-Scan auf \"timer\",\n\"countdown\".\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Pro zeitlimitiertem Prozess:\n- Warnung 2 Min vor Ablauf: \"Ihre Sitzung läuft in 2 Minuten ab.\n  Möchten Sie verlängern?\"\n- Verlängerungsbutton mit mind. 10x der ursprünglichen Zeit\n- Bei nicht abschaltbaren Limits: transparenter Hinweis im\n  Accessibility-Statement\n"
}

accessibility / bfsgv / wcag 2.1

Keine Inhalte mit mehr als 3 Blitzen pro Sekunde

a-bfsg-wcag-2-3-1-keine-anfallrisiken

executablepublic_aistructured_page
Was macht diese Regel?

Inhalte dürfen nicht mehr als 3 Mal pro Sekunde blitzen, um photosensitive epileptische Anfälle zu vermeiden. Blitzende GIFs, animierte Hero-Videos mit starken Wechseln, bestimmte Werbeanimationen sind betroffen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 2.3.1 (Level A) Schwellenwert für Blitze / Dreifaches Blitzen

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-2-3-1-keine-anfallrisiken",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "Automatische Prüfung schwierig. DOM-Scan auf GIFs, video/autoplay.\nManuelle Prüfung bei Animationen.\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Alle Animationen prüfen: <3 Hz Blitzfrequenz, keine hochkontrastigen\nFlächenwechsel. Tool: PEAT (Photosensitive Epilepsy Analysis Tool,\nTrace Center).\n"
}

accessibility / bfsgv / wcag 2.1

Sichtbarer Fokusindikator für alle interaktiven Elemente

a-bfsg-wcag-2-4-7-fokus-sichtbar

executablepublic_aistructured_page
Was macht diese Regel?

Jedes per Tastatur fokussierbare Element muss einen deutlich sichtbaren Fokusindikator haben. Der Standard-Browser-Fokus darf nicht global ausgeblendet werden (z. B. per CSS outline:none ohne Ersatz).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 2.4.7 (Level AA) Fokus sichtbar

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-2-4-7-fokus-sichtbar",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "CSS-Scan auf \"outline:none\" ohne :focus-visible-Ersatz. Manueller\nTab-Test durch Seite mit Screenshot bei Fokus.\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Mindest-CSS:\n:focus-visible {\n  outline: 2px solid #0052cc;\n  outline-offset: 2px;\n}\nKontrast Fokus ≥ 3:1 zum Hintergrund.\n"
}

accessibility / bfsgv / wcag 2.1

Skip-Link, aussagekräftige Seitentitel, Überschriftengliederung, Linktexte

a-bfsg-wcag-2-4-navigationshilfen

executablepublic_aistructured_page
Was macht diese Regel?

Bündel: Skip-Link "Zum Inhalt springen" am Seitenanfang (WCAG 2.4.1); jede Seite mit eindeutigem <title> (WCAG 2.4.2); Überschriften und Labels beschreiben Zweck (WCAG 2.4.6); Linktexte sind aus Kontext verständlich (WCAG 2.4.4).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 2.4.1–2.4.6 (Level A/AA) Navigierbarkeit

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-2-4-navigationshilfen",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "DOM-Scan: <title> eindeutig? Skip-Link als erstes fokussierbares\nElement? Linktexte \"hier\", \"mehr\" ohne Kontext?\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "- Skip-Link am Body-Anfang: <a href=\"#main\" class=\"skip-link\">Zum\n  Inhalt springen</a>\n- Skip-Link sichtbar bei Fokus\n- Jede Seite mit aussagekräftigem <title>\n- Linktexte aus sich heraus verständlich (\"Produkt XY bestellen\" statt\n  \"hier klicken\")\n"
}

accessibility / bfsgv / wcag 2.1

Sprache der Seite im html-lang-Attribut angegeben

a-bfsg-wcag-3-1-1-lang-attribut

executablepublic_aistructured_page
Was macht diese Regel?

Das html-Element muss ein lang-Attribut tragen, das die Hauptsprache der Seite bezeichnet (z. B. lang="de"). Fremdsprachige Abschnitte im Fließtext erhalten eigenes lang-Attribut am umschließenden Element.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 3.1.1, 3.1.2 Sprache der Seite / Sprache von Teilen

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-3-1-1-lang-attribut",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "DOM-Scan: <html lang=\"...\"> vorhanden + gültiger Code (de, en, ...)?\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "<html lang=\"de\">\nFremdsprachige Passagen:\n<blockquote lang=\"en\">English quote</blockquote>\n"
}

accessibility / bfsgv / wcag 2.1

Konsistente Navigation und Identifikation über alle Seiten

a-bfsg-wcag-3-2-navigation-konsistent

executablepublic_aistructured_page
Was macht diese Regel?

Navigationsmenüs erscheinen in gleicher Reihenfolge und Position auf allen Seiten. Gleich funktionierende Komponenten (Suche, Warenkorb, Login) sind einheitlich beschriftet und an vergleichbaren Positionen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 3.2.3, 3.2.4 (Level AA) Konsistente Navigation / Konsistente Identifikation

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-3-2-navigation-konsistent",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "Mehrseiten-Crawl: Reihenfolge + Beschriftung der Hauptnav + Footer\nstabil über Seiten hinweg?\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Layout-Template mit fester Nav-Komponente, die auf allen Seiten\nidentisch geladen wird. Gleiche Beschriftungen: \"Warenkorb\" (nicht\neinmal \"Cart\", dann \"Warenkorb\").\n"
}

accessibility / bfsgv / wcag 2.1

Jedes Formularfeld mit sichtbarem oder programmatischem Label

a-bfsg-wcag-3-3-2-formular-labels

executablepublic_aistructured_page
Was macht diese Regel?

Jedes Eingabefeld (input, select, textarea) muss mit einem <label> verknüpft sein (label[for]=input[id]) oder aria-label/aria-labelledby tragen. Placeholder-Text ist KEIN Ersatz für ein Label.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar, formular_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
  • formular_vorhanden - greift, wenn der Trigger "formular_vorhanden" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 3.3.2 (Level A) Beschriftungen oder Anweisungen

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
formular_vorhandengreift, wenn der Trigger "formular_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        },
        {
            "scope": "formular_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-3-3-2-formular-labels",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "DOM-Scan: jedes input/select/textarea mit passendem label oder\naria-label? Required-Felder gekennzeichnet?\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            },
            {
                "scope": "formular_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "<label for=\"email\">E-Mail *</label>\n<input type=\"email\" id=\"email\" name=\"email\" required\n       aria-required=\"true\">\nPflichtfelder nicht nur farbig markieren, sondern textlich (Sternchen +\n\"Pflichtfelder sind mit * markiert\").\n"
}

accessibility / bfsgv / wcag 2.1

Fehlerhinweise mit Korrekturvorschlag und Textbezug

a-bfsg-wcag-3-3-3-fehlerhinweise

executablepublic_aistructured_page
Was macht diese Regel?

Bei fehlerhaftem Ausfüllen eines Formulars muss der Nutzer textlich erfahren, WELCHES Feld betroffen ist und WIE der Fehler behoben wird. Visuelle Hinweise (rotes Feld) reichen nicht; AT benötigen Text.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar, formular_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
  • formular_vorhanden - greift, wenn der Trigger "formular_vorhanden" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 3.3.3 (Level AA) Fehlerkorrektur-Vorschlag

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
formular_vorhandengreift, wenn der Trigger "formular_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        },
        {
            "scope": "formular_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-3-3-3-fehlerhinweise",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "Formular mit Fehleingabe testen: Meldet der Scanner Textfehler beim\nzugehörigen Feld mit aria-describedby? Fokus springt auf erstes\nfehlerhaftes Feld?\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            },
            {
                "scope": "formular_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "<input aria-describedby=\"email-error\" aria-invalid=\"true\">\n<span id=\"email-error\" role=\"alert\">\n  Bitte geben Sie eine gültige E-Mail-Adresse mit @ ein\n  (Beispiel: name@beispiel.de).\n</span>\n"
}

accessibility / bfsgv / wcag 2.1

Valides, parse-bares HTML mit korrekter Verschachtelung

a-bfsg-wcag-4-1-1-valides-html

executablepublic_aistructured_page
Was macht diese Regel?

HTML muss syntaktisch valide sein: öffnende Tags mit schließenden, keine doppelten id-Werte, korrekt verschachtelte Elemente. WCAG 2.2 hat 4.1.1 zwar zurückgezogen, BFSGV/EN 301 549 referenzieren aber weiterhin WCAG 2.1.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 4.1.1 (Level A) Syntaktische Analyse

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-4-1-1-valides-html",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "W3C-Validator-Lauf. Häufige Funde: doppelte id, unzulässige\nVerschachtelungen (block in inline), fehlende End-Tags.\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "W3C-Validator https://validator.w3.org/ gegen jede Schlüsselseite\nlaufen lassen. Alle Fehler beheben. Besonders: eindeutige id-Werte\npro Seite.\n"
}

accessibility / bfsgv / wcag 2.1

Name, Rolle, Wert für alle UI-Komponenten programmatisch ermittelbar

a-bfsg-wcag-4-1-2-aria-name-rolle-wert

executablepublic_aistructured_page
Was macht diese Regel?

Für alle UI-Komponenten (Buttons, Menüs, Dialoge, Tabs) müssen Name, Rolle und Wert programmatisch bestimmbar sein. Custom-Widgets brauchen ARIA-Rollen (role="tablist", "tab", "dialog", ...), Zustände (aria-expanded, aria-selected, aria-checked).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 4.1.2 (Level A) Name, Rolle, Wert

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-4-1-2-aria-name-rolle-wert",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "Axe-Core-Scan auf ARIA-Violations. Manueller Screenreader-Test\n(NVDA, VoiceOver) bei Custom-Komponenten.\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "- Native HTML-Elemente bevorzugen (button > div mit role=\"button\")\n- Custom-Widgets nach WAI-ARIA Authoring Practices Guide\n- Icon-only-Buttons: aria-label=\"Suche starten\"\n- Zustände dynamisch pflegen: aria-expanded toggle'n\n"
}

accessibility / bfsgv / wcag 2.1

Statusmeldungen für Assistenz-Technologien ankündigungsfähig

a-bfsg-wcag-4-1-3-statusmeldungen

executablepublic_aistructured_page
Was macht diese Regel?

Statusmeldungen (z. B. "Artikel in den Warenkorb gelegt", "Suche: 12 Ergebnisse") müssen programmatisch ohne Fokuswechsel für AT ankündigungsfähig sein — via role="status", role="alert" oder aria-live-Regionen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV / WCAG 2.1 BFSGV §12 i. V. m. WCAG 4.1.3 (Level AA) Statusmeldungen

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-4-1-3-statusmeldungen",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "DOM-Scan auf Toast-/Snackbar-Komponenten: haben sie role=\"status\"\noder aria-live? KI-Test an Ajax-Flow.\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "<div role=\"status\" aria-live=\"polite\">\n  Artikel in den Warenkorb gelegt.\n</div>\nFehler: role=\"alert\" (assertive, unterbricht AT).\n"
}

accessibility / bfsgv i. v. m. en 301 549 / wcag 2.1

Textalternativen für Nicht-Text-Inhalte (alt-Attribute)

a-bfsg-wcag-1-1-1-alt-attribut

executablepublic_aistructured_page
Was macht diese Regel?

Jedes informative Bild (img-Element) muss ein aussagekräftiges alt-Attribut haben, das den Bildinhalt bzw. die Funktion beschreibt. Rein dekorative Bilder erhalten leeres alt="". Komplexe Grafiken benötigen Langbeschreibung (figcaption oder verlinkter Text).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, bfsg_anwendbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • bfsg_anwendbar - greift bei möglicher Barrierefreiheits-/BFSG-Relevanz
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSGV i. V. m. EN 301 549 / WCAG 2.1 BFSGV §12 Abs. 1 i. V. m. WCAG 1.1.1 (Level A) Anforderungen an die Barrierefreiheit von Dienstleistungen

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
bfsg_anwendbargreift bei möglicher Barrierefreiheits-/BFSG-RelevanzSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "bfsg_anwendbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bfsg-wcag-1-1-1-alt-attribut",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": "accessibility",
    "check_hinweis": "DOM-Scan: alle <img> auf vorhandenes alt-Attribut prüfen. Leeres alt\nbei dekorativen Bildern akzeptabel. Heuristik für \"Platzhalter\" wie\n\"image123.jpg\" im alt-Feld flaggen.\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "section_name": "accessibility",
        "rechtsrisiko_typ": [
            "bussgeld_plus_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "bfsg_anwendbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Pro Bild passendes alt-Attribut:\n- Informativ: alt=\"Frau am Laptop arbeitet im Home-Office\"\n- Funktional (Icon-Link): alt=\"Warenkorb öffnen\"\n- Dekorativ: alt=\"\"\n- Komplex: Kurz-Alt + figcaption mit Langbeschreibung\n"
}

cookie_banner / dsgvo

Ablehnen-Button gleichwertig zu Zustimmen-Button

b-cookies-banner-ablehnen-gleichwertig

executablepublic_aistructured_page
Was macht diese Regel?

Auf der ersten Banner-Ebene muss ein Ablehnen-Button mit derselben Prominenz wie der Zustimmen-Button vorhanden sein (gleiche Farbe/Größe, gleiche Klick-Tiefe). Ein "Nur notwendige"-Link im Kleingedruckten oder versteckt hinter "Einstellungen" genügt nicht. Die CNIL hat Google und Facebook hierfür jeweils dreistellige Millionenbußgelder auferlegt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_cookie_banner

  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 4 Nr. 11 i. V. m. Art. 7 Abs. 4 Begriffsbestimmung Einwilligung / Bedingungen

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_cookie_banner"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-cookies-banner-ablehnen-gleichwertig",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "cookie_banner",
    "check_hinweis": "Auf der obersten Banner-Ebene müssen mindestens zwei gleich prominente\nButtons sichtbar sein: \"Zustimmen\" und \"Ablehnen\" (oder \"Nur notwendige\").\nSubjektive Prüfung: Würde ein durchschnittlicher Nutzer beide Optionen\ninnerhalb von 2 Sekunden gleichermaßen wahrnehmen?\n",
    "normalization": {
        "section_name": "cookie_banner",
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_cookie_banner"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Zweiten Button auf gleicher Banner-Ebene einfügen, Beschriftung \"Ablehnen\"\noder \"Nur notwendige Cookies\". Farbe, Kontrast und Größe identisch oder\ndeutlich lesbar. KEINE graue Schrift auf grauem Grund.\n"
}

cookie_banner / dsgvo

Kein Dark Pattern / Nudging im Banner

b-cookies-banner-kein-nudging

executablepublic_aistructured_page
Was macht diese Regel?

Die farbliche oder sprachliche Hervorhebung des Zustimmen-Buttons gegenüber dem Ablehnen-Button (Nudging) ist unzulässig. Auch manipulative Formulierungen ("Ja, ich möchte die beste Erfahrung" vs. "Nein, ich verzichte auf alle Vorteile") verstoßen gegen den Grundsatz der freiwilligen, unvoreingenommenen Einwilligung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_cookie_banner

  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 7 Abs. 4 i. V. m. Art. 4 Nr. 11 Bedingungen für Einwilligung

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_cookie_banner"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-cookies-banner-kein-nudging",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "cookie_banner",
    "check_hinweis": "Visuelle Prüfung: Farbkontrast Zustimmen vs. Ablehnen, Formulierungen\nneutral vs. emotional. Ablehnen-Button darf nicht grau/blass sein,\nwenn Zustimmen grün/prominent ist.\n",
    "normalization": {
        "section_name": "cookie_banner",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_cookie_banner"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Beide Buttons gleich gestalten: gleiche Füllfarbe ODER beide nur mit\nUmrandung. Neutrale Formulierung: \"Zustimmen\" / \"Ablehnen\" oder\n\"Alle akzeptieren\" / \"Nur notwendige\". Keine Smileys, keine\nWarnzeichen am Ablehnen-Button.\n"
}

cookie_banner / dsgvo

Consent-Log protokolliert Einwilligung nachweisbar

b-cookies-doku-consent-log

executablepublic_aistructured_page
Was macht diese Regel?

Der Verantwortliche trägt die Beweislast, dass eine wirksame Einwilligung vorliegt (Art. 7 Abs. 1 DSGVO). Dafür muss pro Nutzer/Session protokolliert sein: Zeitpunkt, Banner-Version, ausgewählte Kategorien, IP-Hash oder Consent-ID. Ohne Log = keine Einwilligung = Beweislast-Verlust bei Abmahnung oder Aufsichtsbehörde.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_cookie_banner

  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 7 Abs. 1 Bedingungen Einwilligung — Nachweispflicht

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_cookie_banner"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-cookies-doku-consent-log",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "cookie_banner",
    "check_hinweis": "Beim Consent-Tool-Anbieter prüfen: Wird ein Log erzeugt? Export möglich?\nAufbewahrungsdauer mind. bis zum Ende eventueller Verjährungsfristen\n(empfohlen 3 Jahre).\n",
    "normalization": {
        "section_name": "cookie_banner",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_cookie_banner"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Consent-Management-Plattform (CMP) auswählen, die Consent-Log mit\nmind. folgenden Feldern speichert: Consent-ID, Zeitstempel, Banner-\nVersion, gewählte Zwecke, IP-Hash, User-Agent. Export als CSV im\nAdmin-Bereich ermöglichen. Speicherdauer in DSE dokumentieren.\n"
}

cookie_banner / dsgvo

Widerruf / Re-Consent jederzeit über Footer-Icon

b-cookies-doku-widerruf-footer-icon

executablepublic_aistructured_page
Was macht diese Regel?

Art. 7 Abs. 3 DSGVO: Der Widerruf muss so einfach möglich sein wie die Erteilung. Üblich und erwartet: ein persistent sichtbares Icon oder Link im Footer ("Cookie-Einstellungen", "Privatsphäre-Einstellungen"), der den Banner erneut öffnet — auf jeder Seite, nicht nur auf der Startseite.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_cookie_banner

  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 7 Abs. 3 Widerruflichkeit der Einwilligung

Risiko: 300,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_cookie_banner"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-cookies-doku-widerruf-footer-icon",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "cookie_banner",
    "check_hinweis": "Footer jeder Seite prüfen: Gibt es einen klickbaren Link zur Banner-\nWieder-Öffnung? Funktioniert er auf Unterseiten ebenso?\n",
    "normalization": {
        "section_name": "cookie_banner",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_cookie_banner"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "technik_web",
    "fix_text_vorlage": "Footer-Link \"Cookie-Einstellungen\" oder Shield-Icon einfügen, das\nper Klick das Consent-Tool neu öffnet. Beispiel: <a href=\"#\"\nonclick=\"Cookiebot.renew()\">Cookie-Einstellungen</a>. Link auf\njeder Seite (im globalen Footer-Template).\n"
}

cookie_banner / dsgvo

Granulare Kategorien (Statistik / Marketing / Präferenzen) wählbar

b-cookies-technik-kategorien-granular

executablepublic_aistructured_page
Was macht diese Regel?

Der Nutzer muss pro Zweck-Kategorie einzeln entscheiden können (Statistik, Marketing, Komfort/Präferenzen). Eine Sammel-Einwilligung "alles oder nichts" ist unzulässig (Art. 7 DSGVO — Einwilligung muss für bestimmten Zweck erteilt werden). Die Auswahl muss auch technisch wirksam werden, d. h. Ablehnen der Kategorie "Marketing" darf Marketing-Pixel nicht laden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_cookie_banner

  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6 Abs. 1 lit. a i. V. m. Art. 7 Abs. 2 Rechtmäßigkeit / Bedingungen Einwilligung

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_cookie_banner"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-cookies-technik-kategorien-granular",
    "fix_type": "diy_template",
    "check_type": "structured_page",
    "section_name": "cookie_banner",
    "check_hinweis": "Banner-Einstellungen öffnen: Werden Kategorien einzeln auswählbar\ndargestellt? Wenn man nur \"Statistik\" wählt — werden dann Marketing-\nCookies trotzdem NICHT gesetzt?\n",
    "normalization": {
        "fix_type": [
            "code_template",
            "diy_template"
        ],
        "section_name": "cookie_banner",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_cookie_banner"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "technik_web",
    "fix_text_vorlage": "Consent-Tool so konfigurieren, dass mind. 3 Kategorien getrennt\nankreuzbar sind: Statistik (z. B. Analytics), Marketing (z. B. Pixel,\nRemarketing), Präferenzen/Komfort. Unbedingt erforderliche ohne\nAuswahl anzeigen. Pro Kategorie die zugehörigen Cookies/Scripts\nmappen.\n"
}

cookie_banner / ttdsg

Cookie-Banner erscheint vor jedem nicht notwendigen Zugriff

b-cookies-banner-optin-vor-setzen

executablepublic_aistructured_page
Was macht diese Regel?

Bevor ein nicht unbedingt erforderlicher Cookie gesetzt oder ein Tracking- Pixel/Script geladen wird, muss der Nutzer aktiv einwilligen. Weder stilles Weiter-Scrollen noch "Weiter-Surfen-gilt-als-Zustimmung" noch vorbelegte Checkboxen sind zulässig (EuGH C-673/17 Planet49). Das Banner darf keine Wirkungen entfalten, bevor eine bewusste Aktion erfolgt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: hat_cookies_nicht_essentiell, hat_tracking_scripts
Darf nicht zutreffen: reine_b2b_mit_login

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookies_nicht_essentiell - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookies nicht essentiell
  • hat_tracking_scripts - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scripts
  • reine_b2b_mit_login - greift, wenn der Trigger "reine_b2b_mit_login" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TTDSG §25 Abs. 1 Schutz der Privatsphäre bei Endeinrichtungen

Risiko: 500,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_cookies_nicht_essentiellgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookies nicht essentiellSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_tracking_scriptsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scriptsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

NICHT Wenn eine dieser Bedingungen zutrifft, darf die Regel nicht laufen.

BegriffWas er bedeutetWofür er da ist
reine_b2b_mit_logingreift, wenn der Trigger "reine_b2b_mit_login" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "hat_cookies_nicht_essentiell"
        },
        {
            "scope": "hat_tracking_scripts"
        }
    ],
    "nicht": [
        {
            "scope": "reine_b2b_mit_login"
        }
    ]
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-cookies-banner-optin-vor-setzen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "cookie_banner",
    "check_hinweis": "Beim ersten Aufruf mit leerem Browser-Speicher prüfen, ob vor Klick auf\n\"Zustimmen\" bereits Cookies gesetzt oder externe Requests abgesetzt werden.\nTools: Browser-DevTools Network + Application-Tab oder Cookiebot-Scanner.\n",
    "normalization": {
        "section_name": "cookie_banner",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "hat_cookies_nicht_essentiell"
            },
            {
                "scope": "hat_tracking_scripts"
            }
        ],
        "nicht": [
            {
                "scope": "reine_b2b_mit_login"
            }
        ]
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Cookie-Consent-Tool (z. B. Cookiebot, Usercentrics, Borlabs) implementieren,\nso dass alle Drittanbieter-Scripts erst NACH Klick auf \"Zustimmen\" geladen\nwerden. Technisch: Tag Manager mit Consent-Mode oder serverseitige Blocker-\nLogik. Banner-Text: \"Wir nutzen Cookies und vergleichbare Techniken. Einige\nsind notwendig, andere helfen uns, diese Website zu verbessern oder zeigen\nIhnen personalisierte Werbung. Sie können selbst entscheiden.\"\n"
}

cookie_banner / ttdsg

Scripts und Cookies technisch blockiert bis zur Einwilligung

b-cookies-technik-blocking-vor-consent

executablepublic_aistructured_page
Was macht diese Regel?

Die rechtliche Einwilligung muss technisch abgebildet sein. Die bloße Anzeige eines Banners reicht nicht — die betreffenden Scripts dürfen auch tatsächlich erst NACH Klick laden. Ein "Consent-Mode v2" von Google allein (bei dem Requests gesendet, aber Daten angeblich nicht verarbeitet werden) ist umstritten und deckt §25 TTDSG nicht ab.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_cookies_nicht_essentiell
Mindestens eine muss passen: hat_tracking_scripts, hat_externe_schriftarten_google_fonts

  • hat_cookies_nicht_essentiell - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookies nicht essentiell
  • hat_tracking_scripts - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scripts
  • hat_externe_schriftarten_google_fonts - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: externe schriftarten google fonts
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TTDSG §25 Abs. 1 Schutz der Privatsphäre bei Endeinrichtungen

Risiko: 500,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_cookies_nicht_essentiellgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookies nicht essentiellSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_tracking_scriptsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scriptsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_externe_schriftarten_google_fontsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: externe schriftarten google fontsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_cookies_nicht_essentiell"
        }
    ],
    "oder": [
        {
            "scope": "hat_tracking_scripts"
        },
        {
            "scope": "hat_externe_schriftarten_google_fonts"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-cookies-technik-blocking-vor-consent",
    "fix_type": "diy_template",
    "check_type": "structured_page",
    "section_name": "cookie_banner",
    "check_hinweis": "Im Network-Tab prüfen: gehen vor Consent Requests an google-analytics.com,\nconnect.facebook.net, doubleclick.net, hotjar.com, fonts.googleapis.com\noder ähnliche? Wenn ja = Verstoß.\n",
    "normalization": {
        "fix_type": [
            "code_template",
            "diy_template"
        ],
        "section_name": "cookie_banner",
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_cookies_nicht_essentiell"
            }
        ],
        "oder": [
            {
                "scope": "hat_tracking_scripts"
            },
            {
                "scope": "hat_externe_schriftarten_google_fonts"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "technik_web",
    "fix_text_vorlage": "Consent-Tool mit echter Blockier-Funktion einsetzen (Cookiebot Auto-\nBlocking, Usercentrics Script-Blocker, Borlabs Content-Blocker). Google\nFonts lokal hosten statt über fonts.googleapis.com. Externe Videos\n(YouTube) als \"zwei-Klick-Lösung\" mit Vorschaubild einbinden.\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Berechtigte Interessen benennen

a-dsgvo-art13-berechtigtes-interesse

executablepublic_aistructured_page
Was macht diese Regel?

Wenn eine Verarbeitung auf Art. 6 Abs. 1 lit. f (berechtigtes Interesse) gestützt wird, muss das konkrete Interesse ausdrücklich genannt werden: nicht nur "berechtigtes Interesse", sondern z. B. "unser Interesse an IT-Sicherheit und Missbrauchsabwehr durch Auswertung der Server-Logs". Interessen des Dritten (falls relevant) ebenso.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich
Mindestens eine muss passen: nutzt_berechtigtes_interesse

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • nutzt_berechtigtes_interesse - greift, wenn die Website diese Nutzung erkennen laesst: berechtigtes interesse
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 1 lit. d Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
nutzt_berechtigtes_interessegreift, wenn die Website diese Nutzung erkennen laesst: berechtigtes interesseSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        }
    ],
    "oder": [
        {
            "scope": "nutzt_berechtigtes_interesse"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-berechtigtes-interesse",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt: \"Wo wird Art. 6 Abs. 1 lit. f genannt? Wird das konkrete\nberechtigte Interesse benannt (nicht nur 'berechtigtes Interesse')?\nZitiere die Stelle.\"\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            }
        ],
        "oder": [
            {
                "scope": "nutzt_berechtigtes_interesse"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Soweit wir Ihre Daten auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO verarbeiten,\nverfolgen wir folgende berechtigte Interessen:\n\n- **IT-Sicherheit:** Schutz unserer Systeme vor Angriffen, Missbrauch, Ausfällen.\n- **Betriebswirtschaftliches Interesse:** Analyse anonymer Nutzungsstatistiken zur Verbesserung unseres Angebots.\n- **Kundenbeziehung:** Direktansprache von Bestandskunden zu eigenen, ähnlichen Produkten.\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Beschwerderecht bei Aufsichtsbehörde

a-dsgvo-art13-beschwerderecht

executablepublic_aistructured_page
Was macht diese Regel?

Die DSE muss auf das Recht hinweisen, sich bei einer Aufsichtsbehörde zu beschweren. Empfehlenswert: konkrete Nennung der zuständigen Landesdatenschutzbehörde nach Unternehmenssitz, mit Link. Pflicht ist aber nur der Hinweis auf das Recht an sich.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 2 lit. d Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-beschwerderecht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt: \"Wird in der DSE auf das Beschwerderecht bei einer\nDatenschutz-Aufsichtsbehörde hingewiesen? Wird die zuständige Behörde\n(z. B. LfDI des Bundeslandes) genannt?\"\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Beschwerderecht:**\nSie haben das Recht, sich bei einer Datenschutz-Aufsichtsbehörde über die\nVerarbeitung Ihrer personenbezogenen Daten zu beschweren (Art. 77 DSGVO).\n\nZuständig ist insbesondere die Aufsichtsbehörde des Bundeslandes, in dem\nwir unseren Sitz haben:\n\n{{lfdi_name}}\n{{lfdi_anschrift}}\n{{lfdi_web}}\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Rechte der betroffenen Person

a-dsgvo-art13-betroffenenrechte

executablepublic_aistructured_page
Was macht diese Regel?

Die DSE muss klar benennen, welche Rechte der Nutzer hat: Auskunft (Art. 15), Berichtigung (Art. 16), Löschung (Art. 17), Einschränkung der Verarbeitung (Art. 18), Datenübertragbarkeit (Art. 20), Widerspruch (Art. 21). Am besten mit Kontakt zur Ausübung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 2 lit. b Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-betroffenenrechte",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt: \"Werden in der DSE mindestens folgende Rechte explizit genannt:\nAuskunft, Berichtigung, Löschung, Einschränkung, Datenübertragbarkeit,\nWiderspruch? Gib pro Recht 'ja/nein' + Zitat zurück.\"\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Ihre Rechte nach DSGVO:\n\n- **Auskunft (Art. 15 DSGVO):** Informationen über Ihre gespeicherten Daten.\n- **Berichtigung (Art. 16 DSGVO):** Korrektur falscher Daten.\n- **Löschung (Art. 17 DSGVO):** \"Recht auf Vergessenwerden\".\n- **Einschränkung der Verarbeitung (Art. 18 DSGVO):** Sperrung statt Löschung in bestimmten Fällen.\n- **Datenübertragbarkeit (Art. 20 DSGVO):** Herausgabe in strukturiertem Format.\n- **Widerspruch (Art. 21 DSGVO):** gegen Verarbeitung auf Grundlage berechtigter Interessen oder Direktwerbung.\n\nZur Ausübung Ihrer Rechte genügt eine formlose E-Mail an {{email}}.\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Drittlandtransfer und Garantien

a-dsgvo-art13-drittland

executablepublic_aistructured_page
Was macht diese Regel?

Werden Daten in ein Drittland (außerhalb EU/EWR, insb. USA) übermittelt, muss die DSE dies offenlegen UND die Grundlage nennen: Angemessenheitsbeschluss (z. B. EU-US Data Privacy Framework für zertifizierte US-Firmen), Standard- Vertragsklauseln (SCC), Binding Corporate Rules, oder Ausnahme nach Art. 49. Hinweis auf Möglichkeit, eine Kopie der Garantien zu erhalten, muss stehen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich
Mindestens eine muss passen: hat_us_dienst, hat_drittland_transfer

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • hat_us_dienst - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: us dienst
  • hat_drittland_transfer - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: drittland transfer
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 1 lit. f Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_us_dienstgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: us dienstSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_drittland_transfergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: drittland transferSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        }
    ],
    "oder": [
        {
            "scope": "hat_us_dienst"
        },
        {
            "scope": "hat_drittland_transfer"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-drittland",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "Scanner erkennt über Asset-Analyse US-Dienste (Google, Meta, Cloudflare,\nStripe, AWS-Regionen). KI prüft, ob DSE diese benennt + Transfergrundlage\n(DPF-Zertifikat, SCC) nennt + Hinweis auf Kopie der Garantien gibt.\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            }
        ],
        "oder": [
            {
                "scope": "hat_us_dienst"
            },
            {
                "scope": "hat_drittland_transfer"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Bei einigen unserer Dienstleister werden Daten in Drittländer, insbesondere\ndie USA, übermittelt. Wir stützen diese Übermittlungen auf folgende Grundlagen:\n\n- **EU-US Data Privacy Framework (DPF):** für zertifizierte US-Unternehmen (Angemessenheitsbeschluss der EU-Kommission vom 10.07.2023).\n- **Standardvertragsklauseln (SCC) der EU-Kommission:** sofern kein DPF-Zertifikat vorliegt.\n\nEine Kopie der Garantien erhalten Sie auf Anfrage unter: {{email}}.\n\nBetroffene Dienste: {{liste_us_dienste}}.\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Kontaktdaten des Datenschutzbeauftragten

a-dsgvo-art13-dsb

executablepublic_aistructured_page
Was macht diese Regel?

Wenn ein Datenschutzbeauftragter (DSB) bestellt ist oder bestellt werden muss (§ 38 BDSG, Art. 37 DSGVO — z. B. ≥20 Personen mit regelmäßiger Datenverarbeitung oder Kerntätigkeit = umfangreiche sensible Verarbeitung), müssen seine Kontaktdaten in der DSE stehen. Kein Name nötig, aber Funktion + erreichbarer Kontaktweg (eigene Mail-Adresse, Postanschrift).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich
Mindestens eine muss passen: dsb_pflicht_erfuellt, dsb_freiwillig_bestellt

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dsb_pflicht_erfuellt - greift anhand von Datenschutzbeauftragten-Angaben
  • dsb_freiwillig_bestellt - greift anhand von Datenschutzbeauftragten-Angaben
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 1 lit. b Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
dsb_pflicht_erfuelltgreift anhand von Datenschutzbeauftragten-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
dsb_freiwillig_bestelltgreift anhand von Datenschutzbeauftragten-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        }
    ],
    "oder": [
        {
            "scope": "dsb_pflicht_erfuellt"
        },
        {
            "scope": "dsb_freiwillig_bestellt"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-dsb",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "1. Prüfe zuerst im Onboarding, ob Kunde DSB bestellt hat (Flag im Kundenprofil).\n2. Wenn ja: KI sucht in DSE nach \"Datenschutzbeauftragter\" / \"DPO\" + Kontakt.\n3. Wenn Scanner ohne Kunden-Kontext läuft: prüfen, ob Seite Anzeichen für\n   DSB-Pflicht liefert (Impressum zeigt z. B. Unternehmen mit vielen Mitarbeitern,\n   Gesundheitsbranche, etc.) → dann needs_legal_review-Flag für diesen Befund.\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            }
        ],
        "oder": [
            {
                "scope": "dsb_pflicht_erfuellt"
            },
            {
                "scope": "dsb_freiwillig_bestellt"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Wenn DSB-Pflicht besteht, aber noch kein DSB bestellt ist: fix_type wechselt\nauf partner_datenschutz — der Kunde braucht erst eine DSB-Bestellung (extern\ntyp. 80–300 € / Monat), dann kann der Text in die DSE.\n",
    "fix_text_vorlage": "Unseren Datenschutzbeauftragten erreichen Sie unter:\n\n{{dsb_name_oder_firma}}\n{{dsb_anschrift}}\nE-Mail: {{dsb_email}}\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Empfänger oder Kategorien von Empfängern

a-dsgvo-art13-empfaenger

executablepublic_aistructured_page
Was macht diese Regel?

In der DSE müssen Empfänger der Daten genannt werden: entweder namentlich (z. B. "Stripe Payments Europe Ltd.") oder als Kategorie (z. B. "Hosting- Dienstleister", "Payment-Provider", "Steuerberater"). Bei jedem eingebundenen Drittdienst (Analytics, Maps, Fonts, CDN, Newsletter-Tool) muss mindestens die Kategorie stehen — besser namentlich.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 1 lit. e Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-empfaenger",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "Scanner kombiniert: (a) Liste der technisch erkannten Drittdienste\n(aus DOM/Netzwerk-Scan), (b) Empfänger-Sektion in DSE. KI prüft, ob jeder\nerkannte Dienst auch in DSE als Empfänger oder Kategorie auftaucht.\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Empfänger Ihrer Daten:\n\n- **Hosting-Dienstleister:** {{hoster}} (Serverbetrieb, technische Zustellung).\n- **Payment-Provider:** {{payment_provider}} (Zahlungsabwicklung).\n- **E-Mail-Marketing:** {{newsletter_tool}} (Versand und Auswertung Newsletter).\n- **Webanalyse:** {{analytics_tool}} (anonyme Nutzungsstatistik).\n- **Steuerberatung / Rechtsberatung:** im Einzelfall an beauftragte Kanzleien/Berater.\n- **Behörden:** bei gesetzlicher Auskunftspflicht.\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Name und Kontaktdaten des Verantwortlichen

a-dsgvo-art13-identitaet

executablepublic_aistructured_page
Was macht diese Regel?

In der Datenschutzerklärung muss der Verantwortliche vollständig benannt sein: Firma/Name, ladungsfähige Anschrift, mindestens ein Kontaktweg (E-Mail oder Telefon). Bei Vertretern (Art. 27 DSGVO, z. B. EU-Vertreter für Nicht-EU-Anbieter) müssen auch deren Kontaktdaten genannt werden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 1 lit. a Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-identitaet",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "1. Lade /datenschutz, /datenschutzerklaerung, /privacy, /privacy-policy.\n2. Regex-Vorfilter: \"Verantwortlich\", \"Verantwortlicher im Sinne\".\n3. KI-Prompt: \"Enthält die DSE Name, vollständige Anschrift UND mindestens\n   einen Kontaktweg (E-Mail/Telefon) des Verantwortlichen? Ja/Nein + Zitat.\"\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Verantwortlicher im Sinne der Datenschutz-Grundverordnung ist:\n\n{{firma}}\n{{strasse_nr}}\n{{plz}} {{ort}}\n{{land}}\n\nTelefon: {{telefon}}\nE-Mail: {{email}}\n{{#vertreter}}\nVertreter in der EU (Art. 27 DSGVO): {{vertreter_name}}, {{vertreter_anschrift}}\n{{/vertreter}}\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Rechtsgrundlage jeder Verarbeitung

a-dsgvo-art13-rechtsgrundlage

executablepublic_aistructured_page
Was macht diese Regel?

Zu jedem Zweck muss die passende Rechtsgrundlage nach Art. 6 Abs. 1 DSGVO (oder Art. 9 bei sensiblen Daten) genannt werden: lit. a (Einwilligung), lit. b (Vertrag), lit. c (rechtliche Verpflichtung), lit. d (lebenswichtige Interessen), lit. e (öffentliches Interesse), lit. f (berechtigtes Interesse). Artikel UND Buchstabe müssen erkennbar sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 1 lit. c Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-rechtsgrundlage",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt: \"Ist für jeden genannten Verarbeitungszweck eine Rechtsgrundlage\nnach Art. 6 DSGVO angegeben (lit. a-f)? Liste pro Zweck die erkannte\nRechtsgrundlage oder 'fehlt'.\"\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Rechtsgrundlagen der Verarbeitung:\n\n- **Einwilligung (Art. 6 Abs. 1 lit. a DSGVO):** Newsletter, Cookies außer technisch notwendige.\n- **Vertrag / Vorvertragliche Maßnahmen (Art. 6 Abs. 1 lit. b DSGVO):** Bestellungen, Kundenkonto, Angebote.\n- **Rechtliche Verpflichtung (Art. 6 Abs. 1 lit. c DSGVO):** Aufbewahrungsfristen HGB/AO.\n- **Berechtigtes Interesse (Art. 6 Abs. 1 lit. f DSGVO):** IT-Sicherheit, Webserver-Logs, Missbrauchsabwehr.\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Speicherdauer oder Kriterien dafür

a-dsgvo-art13-speicherdauer

executablepublic_aistructured_page
Was macht diese Regel?

Pro Verarbeitung muss entweder eine konkrete Dauer ("Löschung 90 Tage nach Vertragsende") oder das Kriterium ("bis zum Ablauf gesetzlicher Aufbewahrungsfristen nach HGB/AO, typ. 6–10 Jahre") genannt werden. "Solange erforderlich" allein ist zu vage.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 2 lit. a Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-speicherdauer",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt: \"Ist für jede Verarbeitungstätigkeit eine konkrete Speicherdauer\nODER ein klares Kriterium (gesetzl. Aufbewahrung, bis Widerspruch, bis\nZweckwegfall) genannt? Liste pro Zweck.\"\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Speicherdauer:\n\n- **Kontaktanfragen:** Löschung 6 Monate nach Abschluss der Konversation, sofern keine vertragliche Beziehung entsteht.\n- **Vertrags- und Rechnungsdaten:** 10 Jahre nach § 147 AO / § 257 HGB (steuerliche/handelsrechtliche Aufbewahrung).\n- **Newsletter-Daten:** bis zum Widerruf der Einwilligung.\n- **Server-Logs:** 7 Tage, danach Löschung oder Anonymisierung.\n- **Cookies:** siehe Cookie-Erklärung, je nach Anbieter unterschiedliche Laufzeiten.\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Widerrufsrecht bei Einwilligung

a-dsgvo-art13-widerrufsrecht

executablepublic_aistructured_page
Was macht diese Regel?

Wenn die Verarbeitung auf Einwilligung (Art. 6 Abs. 1 lit. a oder Art. 9 Abs. 2 lit. a) gestützt wird, MUSS die DSE explizit das Recht benennen, die Einwilligung jederzeit mit Wirkung für die Zukunft zu widerrufen. Der Widerruf muss so einfach sein wie die Einwilligung selbst (Art. 7 Abs. 3 DSGVO).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich
Mindestens eine muss passen: nutzt_einwilligung, hat_newsletter, hat_consent_cookies

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • nutzt_einwilligung - greift, wenn die Website diese Nutzung erkennen laesst: einwilligung
  • hat_newsletter - greift bei Newsletter-Signalen
  • hat_consent_cookies - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: consent cookies
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 2 lit. c Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
nutzt_einwilligunggreift, wenn die Website diese Nutzung erkennen laesst: einwilligungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_newslettergreift bei Newsletter-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_consent_cookiesgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: consent cookiesSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        }
    ],
    "oder": [
        {
            "scope": "nutzt_einwilligung"
        },
        {
            "scope": "hat_newsletter"
        },
        {
            "scope": "hat_consent_cookies"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-widerrufsrecht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt: \"Nennt die DSE das Recht auf Widerruf der Einwilligung\n(mit Wirkung für die Zukunft) und einen einfachen Kontakt/Link dafür?\"\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            }
        ],
        "oder": [
            {
                "scope": "nutzt_einwilligung"
            },
            {
                "scope": "hat_newsletter"
            },
            {
                "scope": "hat_consent_cookies"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Widerruf Ihrer Einwilligung:**\nHaben Sie in die Verarbeitung Ihrer Daten eingewilligt (z. B. Newsletter,\nCookies), können Sie diese Einwilligung jederzeit mit Wirkung für die\nZukunft widerrufen. Die Rechtmäßigkeit der bis zum Widerruf erfolgten\nVerarbeitung bleibt davon unberührt.\n\nWiderruf per:\n- E-Mail an {{email}}\n- Newsletter-Abmeldelink am Ende jeder Mail\n- Cookie-Einstellungen öffnen: {{consent_link}}\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Zwecke der Verarbeitung

a-dsgvo-art13-zwecke

executablepublic_aistructured_page
Was macht diese Regel?

Für jede Verarbeitungstätigkeit muss konkret benannt werden, wofür die Daten erhoben werden: z. B. Vertragsabwicklung, Newsletter-Versand, Webanalyse, Bewerbermanagement. "Allgemeine Geschäftszwecke" oder "zur Optimierung unserer Website" reicht nicht — muss je Datenart / Tool spezifisch sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 1 lit. c Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-zwecke",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt: \"Benennt die DSE für jede aufgeführte Verarbeitung (Kontaktformular,\nCookies, Analyse, Newsletter, Server-Logs) einen konkreten Zweck? Sammle\nGegenbeispiele (Floskeln wie 'zur Verbesserung unseres Angebots').\"\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Wir verarbeiten Ihre personenbezogenen Daten zu folgenden Zwecken:\n\n- **Kontaktanfragen:** Beantwortung Ihrer Anfrage über das Kontaktformular.\n- **Vertragsabwicklung:** Ausführung von Bestellungen/Dienstleistungen gemäß Vertrag.\n- **Newsletter:** Versand unseres Newsletters nach Ihrer Einwilligung.\n- **Server-Logfiles:** Gewährleistung IT-Sicherheit und Funktionsfähigkeit der Website.\n- **Webanalyse:** {{analytics_tool}} zur Auswertung anonymer Nutzungsstatistiken.\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Auskunftsrecht (Art. 15 DSGVO)

a-dsgvo-art15-auskunftsrecht

executablepublic_aistructured_page
Was macht diese Regel?

Die DSE muss das Auskunftsrecht ausdrücklich nennen. Der Nutzer muss verstehen: (a) er kann eine Bestätigung verlangen, ob wir ihn betreffende Daten verarbeiten, (b) er bekommt Auskunft über Zwecke, Kategorien, Empfänger, Speicherdauer, Betroffenenrechte, Beschwerderecht, Herkunft und ggf. automatisierte Entscheidungsfindung. Kontakt zur Ausübung (E-Mail / Postanschrift) muss genannt sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 15 Abs. 1 Auskunftsrecht der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art15-auskunftsrecht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt: \"Nennt die DSE das Auskunftsrecht nach Art. 15 DSGVO namentlich?\nWird erklärt, WAS ausgekünftet werden kann (Bestätigung + Informationen zu\nZwecken, Kategorien, Empfängern, Speicherdauer)? Wird ein Kontakt\n(E-Mail / Anschrift) zur Ausübung genannt? Antworte pro Kriterium ja/nein\nmit Zitat.\"\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Auskunftsrecht (Art. 15 DSGVO):**\nSie haben das Recht, von uns eine Bestätigung darüber zu verlangen, ob wir\nSie betreffende personenbezogene Daten verarbeiten. Ist dies der Fall,\nhaben Sie Anspruch auf Auskunft über diese Daten sowie über:\n\n- die Verarbeitungszwecke,\n- die Kategorien der verarbeiteten Daten,\n- die Empfänger oder Kategorien von Empfängern, gegenüber denen die Daten offengelegt wurden,\n- die geplante Speicherdauer oder die Kriterien zur Festlegung dieser Dauer,\n- das Bestehen eines Rechts auf Berichtigung, Löschung, Einschränkung oder Widerspruch,\n- das Beschwerderecht bei einer Aufsichtsbehörde,\n- die Herkunft der Daten, sofern sie nicht bei Ihnen erhoben wurden,\n- das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling.\n\nZur Ausübung Ihres Auskunftsrechts genügt eine formlose Anfrage an\n{{email_datenschutz}} oder postalisch an {{postanschrift}}.\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Recht auf kostenlose erste Kopie der Daten (Art. 15 Abs. 3)

a-dsgvo-art15-kopie-der-daten

executablepublic_aistructured_page
Was macht diese Regel?

Ergänzend zur bloßen Auskunft hat der Nutzer Anspruch auf eine KOPIE seiner verarbeiteten Daten. Die erste Kopie ist kostenfrei bereitzustellen. Bei elektronischem Antrag ist die Kopie in einem gängigen elektronischen Format zu liefern. Für weitere Kopien darf ein angemessenes Entgelt auf Verwaltungskostenbasis erhoben werden. Die DSE sollte dieses Recht separat vom allgemeinen Auskunftsrecht benennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 15 Abs. 3 Auskunftsrecht der betroffenen Person — Kopie

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art15-kopie-der-daten",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt: \"Wird in der DSE explizit das Recht auf eine Kopie der Daten\nnach Art. 15 Abs. 3 DSGVO erwähnt? Wird klargestellt, dass die erste Kopie\nkostenfrei ist? Zitat.\"\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Recht auf Kopie (Art. 15 Abs. 3 DSGVO):**\nSie haben Anspruch auf eine Kopie der von uns verarbeiteten personenbezogenen\nDaten. Die erste Kopie stellen wir Ihnen kostenfrei zur Verfügung. Stellen Sie\nden Antrag elektronisch, liefern wir die Kopie in einem gängigen elektronischen\nFormat (z. B. PDF), sofern Sie nichts anderes wünschen. Für weitere Kopien\nkönnen wir ein angemessenes Entgelt auf Basis der Verwaltungskosten verlangen.\n\nAnfrage an: {{email_datenschutz}}\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Recht auf Berichtigung unrichtiger Daten (Art. 16 DSGVO)

a-dsgvo-art16-berichtigung

executablepublic_aistructured_page
Was macht diese Regel?

Die DSE muss das Berichtigungsrecht benennen: Nutzer kann die unverzügliche Berichtigung unrichtiger Daten und — unter Berücksichtigung des Zwecks der Verarbeitung — die Vervollständigung unvollständiger Daten verlangen. Kontakt zur Ausübung muss genannt sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 16 Recht auf Berichtigung

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art16-berichtigung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt: \"Nennt die DSE das Recht auf Berichtigung nach Art. 16 DSGVO\nnamentlich? Wird sowohl 'Berichtigung unrichtiger Daten' als auch\n'Vervollständigung unvollständiger Daten' angesprochen? Kontakt?\"\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Recht auf Berichtigung (Art. 16 DSGVO):**\nSie haben das Recht, von uns unverzüglich die Berichtigung Sie betreffender\nunrichtiger personenbezogener Daten zu verlangen. Unter Berücksichtigung\nder Zwecke der Verarbeitung haben Sie außerdem das Recht, die\nVervollständigung unvollständiger personenbezogener Daten — auch mittels\neiner ergänzenden Erklärung — zu verlangen.\n\nBitte richten Sie entsprechende Anfragen an {{email_datenschutz}}.\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Recht auf Löschung / Recht auf Vergessenwerden (Art. 17 DSGVO)

a-dsgvo-art17-loeschung

executablepublic_aistructured_page
Was macht diese Regel?

Die DSE muss das Löschungsrecht namentlich nennen. Der Nutzer kann die unverzügliche Löschung seiner Daten verlangen, wenn einer der Gründe des Art. 17 Abs. 1 zutrifft (u. a.: Zweckwegfall, Widerruf der Einwilligung, Widerspruch, unrechtmäßige Verarbeitung, gesetzliche Pflicht). Ausnahmen nach Abs. 3 (Meinungsfreiheit, rechtliche Pflicht, öffentliches Interesse, Rechtsverteidigung) dürfen erwähnt werden, ersetzen das Recht aber nicht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 17 Abs. 1 Recht auf Löschung (Recht auf Vergessenwerden)

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art17-loeschung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt: \"Nennt die DSE das Recht auf Löschung nach Art. 17 DSGVO\nnamentlich (auch 'Recht auf Vergessenwerden')? Werden die Löschgründe\noder zumindest 'Zweckwegfall / Widerruf / Widerspruch' erwähnt?\nKontakt zur Ausübung?\"\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Recht auf Löschung / Recht auf Vergessenwerden (Art. 17 DSGVO):**\nSie haben das Recht, von uns die unverzügliche Löschung Sie betreffender\npersonenbezogener Daten zu verlangen, sofern einer der folgenden Gründe\nzutrifft:\n\n- Ihre Daten sind für den ursprünglichen Zweck nicht mehr notwendig,\n- Sie widerrufen eine erteilte Einwilligung und es fehlt an einer anderweitigen Rechtsgrundlage,\n- Sie legen Widerspruch gegen die Verarbeitung ein und es liegen keine vorrangigen berechtigten Gründe vor,\n- Ihre Daten wurden unrechtmäßig verarbeitet,\n- die Löschung ist zur Erfüllung einer rechtlichen Verpflichtung erforderlich.\n\nDas Recht besteht nicht, soweit die Verarbeitung zur Erfüllung einer\nrechtlichen Pflicht, zur Geltendmachung von Rechtsansprüchen oder aus\nanderen in Art. 17 Abs. 3 DSGVO genannten Gründen erforderlich ist.\n\nLöschungsanfragen richten Sie an: {{email_datenschutz}}\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Drittlandtransfer benennen, sofern vorhanden

a-dsgvo-art44-drittland-grundsatz

executablepublic_aistructured_page
Was macht diese Regel?

Wenn die Website Dienste einsetzt, deren Anbieter personenbezogene Daten in Drittländer (außerhalb EU/EWR) übermittelt — typischerweise jede Einbindung von Google-Diensten, Meta/Facebook, Microsoft-Cloud, AWS-US, Mailchimp, Cloudflare-US, HubSpot, Zendesk, Stripe —, muss die DSE darauf hinweisen. Art. 44 DSGVO macht Drittlandtransfer nur zulässig bei Einhaltung der Art. 45 bis 49.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, mindestens_ein_drittland_dienst_erkannt

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • mindestens_ein_drittland_dienst_erkannt - greift, wenn der Trigger "mindestens_ein_drittland_dienst_erkannt" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 44 iVm Art. 13 Abs. 1 lit. f Allgemeine Grundsätze der Datenübermittlung

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
mindestens_ein_drittland_dienst_erkanntgreift, wenn der Trigger "mindestens_ein_drittland_dienst_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "mindestens_ein_drittland_dienst_erkannt"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art44-drittland-grundsatz",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "Workflow:\n1. Scanner-Parser klassifiziert erkannte Dienste nach Herkunft\n   (DE/EU vs. Drittland). US-Konzerne wie Google, Meta, Microsoft,\n   Cloudflare Inc., HubSpot, Mailchimp (Intuit), Stripe, Zendesk\n   werden als Drittland-relevant markiert, auch bei EU-Rechenzentren\n   (Cloud Act).\n2. KI-Prompt auf DSE: \"Weist der Text auf die Übermittlung von\n   personenbezogenen Daten in Drittländer / außerhalb der EU hin?\"\n3. Fehlt der Hinweis vollständig → Rule fails.\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "mindestens_ein_drittland_dienst_erkannt"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Einige der von uns eingesetzten Dienste übermitteln personenbezogene\nDaten in Drittländer außerhalb der EU und des EWR, insbesondere in\ndie USA. Ein Drittland ist jedes Land außerhalb der Europäischen\nUnion bzw. des Europäischen Wirtschaftsraums. In solchen Ländern kann\ndas Datenschutzniveau der DSGVO nicht unbedingt gewährleistet werden.\nDie Übermittlung erfolgt auf Grundlage geeigneter Garantien nach\nArt. 44 ff. DSGVO. Details zu den jeweiligen Diensten und Rechtsgrundlagen\nfinden Sie weiter unten bei der Beschreibung des einzelnen Dienstes.\"\n"
}

datenschutz / dsgvo

US-Dienst ohne DPF-Zertifizierung: Schrems II-Risiko, zusätzliche Maßnahmen prüfen

a-dsgvo-art44-usa-schrems2-hinweis

executablepublic_autodom_element
Was macht diese Regel?

Wird auf der Website ein US-Dienst eingebunden, dessen Anbieter NICHT im EU-US Data Privacy Framework zertifiziert ist (Durchführungsbeschluss (EU) 2023/1795 v. 10.07.2023), ist der Transfer nach EuGH Schrems II (C-311/18 v. 16.07.2020) rechtlich besonders risikobehaftet. Der Betreiber braucht (a) SCCs nach Art. 46 Abs. 2 lit. c DSGVO UND (b) ein dokumentiertes Transfer Impact Assessment (TIA) mit ergänzenden Schutzmaßnahmen (z. B. starke Verschlüsselung, Pseudonymisierung, IP-Anonymisierung, Proxy/Server-Side-Tagging). Der Scanner kann das nicht selbst leisten → Verweis auf Partner-Datenschützer.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, mindestens_ein_us_dienst_erkannt
Darf nicht zutreffen: us_dienst_dpf_zertifiziert

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • mindestens_ein_us_dienst_erkannt - greift, wenn der Trigger "mindestens_ein_us_dienst_erkannt" im ScanScope aktiv ist
  • us_dienst_dpf_zertifiziert - greift, wenn der Trigger "us_dienst_dpf_zertifiziert" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 44 iVm Art. 46 Drittlandtransfer nach Schrems II

Risiko: 1.000,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, dom_snapshot, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, dom_snapshot, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
mindestens_ein_us_dienst_erkanntgreift, wenn der Trigger "mindestens_ein_us_dienst_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

NICHT Wenn eine dieser Bedingungen zutrifft, darf die Regel nicht laufen.

BegriffWas er bedeutetWofür er da ist
us_dienst_dpf_zertifiziertgreift, wenn der Trigger "us_dienst_dpf_zertifiziert" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "mindestens_ein_us_dienst_erkannt"
        }
    ],
    "oder": [],
    "nicht": [
        {
            "scope": "us_dienst_dpf_zertifiziert"
        }
    ]
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art44-usa-schrems2-hinweis",
    "fix_type": "partner_datenschutz",
    "check_type": "dom_element",
    "section_name": "datenschutz",
    "check_hinweis": "Scanner-Workflow:\n1. Parser listet alle US-Drittland-Dienste (Herkunfts-Firmensitz).\n2. Abgleich mit DPF-Liste\n   (https://www.dataprivacyframework.gov/list).\n3. Für jeden NICHT zertifizierten Dienst → Rule fails.\n4. Scanner gibt keine Einzelfall-Rechtsberatung, sondern\n   empfiehlt partner_datenschutz (TIA + SCCs + zusätzliche\n   Maßnahmen).\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "mindestens_ein_us_dienst_erkannt"
            }
        ],
        "oder": [],
        "nicht": [
            {
                "scope": "us_dienst_dpf_zertifiziert"
            }
        ]
    },
    "partner_hinweis": "Schrems-II-Konstellation erfordert juristisch-technische\nEinzelfallprüfung (Transfer Impact Assessment), die keine\nDIY-Angelegenheit ist. Partner-Leistung im Rahmen \"DSB-Service\" bzw.\n\"Datenschutz-Paket\":\n  - TIA-Dokumentation erstellen\n  - SCCs 2021/914 mit dem Anbieter schließen\n  - Ergänzende Maßnahmen festlegen\n    (IP-Anonymisierung, Proxy, Server-Side-Tagging, Replacement\n     durch EU-Dienst wie Matomo / Plausible / Friendly Analytics)\nUpsell-Baustein im Dashboard: \"Schrems II-Paket ab {{preis}} einmalig\".\n",
    "fix_text_vorlage": null
}

datenschutz / dsgvo

Datenschutzerklärung: Angemessenheitsbeschluss als Rechtsgrundlage nennen

a-dsgvo-art45-angemessenheitsbeschluss-nennen

executablepublic_aistructured_page
Was macht diese Regel?

Wenn ein Dienst in ein Drittland übermittelt, für das die EU-Kommission einen Angemessenheitsbeschluss erlassen hat (aktuelle Beispiele: Vereinigtes Königreich, Schweiz, Japan, Kanada [kommerzieller Bereich], Südkorea, USA unter DPF-Zertifizierung), muss die DSE den Angemessenheitsbeschluss als Rechtsgrundlage nennen — inklusive Angabe, welcher Beschluss (z. B. EU-US Data Privacy Framework, EU-Durchführungsbeschluss 2023/1795 v. 10.07.2023).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, mindestens_ein_drittland_dienst_erkannt, dienst_mit_angemessenheitsbeschluss

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • mindestens_ein_drittland_dienst_erkannt - greift, wenn der Trigger "mindestens_ein_drittland_dienst_erkannt" im ScanScope aktiv ist
  • dienst_mit_angemessenheitsbeschluss - greift, wenn der Trigger "dienst_mit_angemessenheitsbeschluss" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 45 Datenübermittlung auf Grundlage eines Angemessenheitsbeschlusses

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
mindestens_ein_drittland_dienst_erkanntgreift, wenn der Trigger "mindestens_ein_drittland_dienst_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
dienst_mit_angemessenheitsbeschlussgreift, wenn der Trigger "dienst_mit_angemessenheitsbeschluss" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "mindestens_ein_drittland_dienst_erkannt"
        },
        {
            "scope": "dienst_mit_angemessenheitsbeschluss"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art45-angemessenheitsbeschluss-nennen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "Scanner führt pro erkannten Drittland-Dienst eine Lookup-Liste:\n  - Google LLC (USA) → DPF-zertifiziert (seit 10.07.2023)\n  - Meta Platforms Inc. (USA) → DPF-zertifiziert\n  - Microsoft Corp. (USA) → DPF-zertifiziert\n  - Cloudflare Inc. (USA) → DPF-Status prüfen (public list)\nBei Treffer: KI-Prompt \"Nennt die DSE den Angemessenheitsbeschluss\nbzw. das DPF / EU-US Data Privacy Framework als Rechtsgrundlage?\"\nFehlt Hinweis → Rule fails.\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "mindestens_ein_drittland_dienst_erkannt"
            },
            {
                "scope": "dienst_mit_angemessenheitsbeschluss"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Die Übermittlung an {{dienst_anbieter}} in {{drittland}} erfolgt\nauf Grundlage eines Angemessenheitsbeschlusses der EU-Kommission\nnach Art. 45 DSGVO. Für Übermittlungen in die USA ist dies\nder EU-US Data Privacy Framework-Beschluss (Durchführungsbeschluss\n(EU) 2023/1795 vom 10.07.2023), sofern der Anbieter\nDPF-zertifiziert ist. Die Zertifizierung kann unter\nhttps://www.dataprivacyframework.gov/ eingesehen werden.\"\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Standardvertragsklauseln (SCCs) als Garantie nennen

a-dsgvo-art46-sccs-nennen

executablepublic_aistructured_page
Was macht diese Regel?

Gibt es für das Drittland keinen Angemessenheitsbeschluss (bzw. ist der Anbieter nicht DPF-zertifiziert), stützt sich der Transfer typischerweise auf die Standardvertragsklauseln (Standard Contractual Clauses, SCCs) nach Art. 46 Abs. 2 lit. c DSGVO — konkret Durchführungsbeschluss (EU) 2021/914 v. 04.06.2021. Die DSE muss die SCCs als Rechtsgrundlage nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, mindestens_ein_drittland_dienst_erkannt, dienst_ohne_angemessenheitsbeschluss

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • mindestens_ein_drittland_dienst_erkannt - greift, wenn der Trigger "mindestens_ein_drittland_dienst_erkannt" im ScanScope aktiv ist
  • dienst_ohne_angemessenheitsbeschluss - greift, wenn der Trigger "dienst_ohne_angemessenheitsbeschluss" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 46 Abs. 2 lit. c Datenübermittlung vorbehaltlich geeigneter Garantien

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
mindestens_ein_drittland_dienst_erkanntgreift, wenn der Trigger "mindestens_ein_drittland_dienst_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
dienst_ohne_angemessenheitsbeschlussgreift, wenn der Trigger "dienst_ohne_angemessenheitsbeschluss" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "mindestens_ein_drittland_dienst_erkannt"
        },
        {
            "scope": "dienst_ohne_angemessenheitsbeschluss"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art46-sccs-nennen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt auf DSE: \"Werden im Text Standardvertragsklauseln,\nStandardschutzklauseln, SCCs oder Art. 46 DSGVO als Rechtsgrundlage\nfür Drittlandtransfers genannt?\"\nFehlt der Hinweis, obwohl mindestens ein nicht-DPF-Dienst erkannt\nwurde → Rule fails.\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "mindestens_ein_drittland_dienst_erkannt"
            },
            {
                "scope": "dienst_ohne_angemessenheitsbeschluss"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Die Übermittlung an {{dienst_anbieter}} in {{drittland}} erfolgt\nauf Grundlage der Standardvertragsklauseln (SCCs) der EU-Kommission\nnach Art. 46 Abs. 2 lit. c DSGVO\n(Durchführungsbeschluss (EU) 2021/914). Zusätzlich wurden nach\nMaßgabe der Rechtsprechung (EuGH Schrems II, C-311/18 v. 16.07.2020)\nergänzende Schutzmaßnahmen getroffen, um ein der DSGVO\nvergleichbares Datenschutzniveau sicherzustellen. Eine Kopie der\nabgeschlossenen SCCs können Sie bei uns anfordern.\"\n"
}

datenschutz / dsgvo

Datenschutzerklärung: Einwilligung als Ausnahme-Rechtsgrundlage (Art. 49 Abs. 1 lit. a)

a-dsgvo-art49-ausnahme-dokumentieren

executablepublic_aistructured_page
Was macht diese Regel?

Stützt sich ein einzelner Drittlandtransfer (ohne Angemessenheitsbeschluss und ohne SCCs) auf eine ausdrückliche Einwilligung des Betroffenen nach Art. 49 Abs. 1 lit. a DSGVO, muss die DSE diese Ausnahme transparent nennen, auf die Risiken hinweisen (fehlendes angemessenes Schutzniveau, ggf. Zugriff durch Behörden des Drittlands) und die Widerrufsmöglichkeit klarstellen. Art. 49 ist subsidiär und für dauerhafte/routinemäßige Transfers nach EDSA ausdrücklich nicht geeignet.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden
Mindestens eine muss passen: transfer_auf_einwilligung_gestuetzt

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • transfer_auf_einwilligung_gestuetzt - greift, wenn der Trigger "transfer_auf_einwilligung_gestuetzt" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 49 Abs. 1 lit. a Ausnahmen für bestimmte Fälle — ausdrückliche Einwilligung

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
transfer_auf_einwilligung_gestuetztgreift, wenn der Trigger "transfer_auf_einwilligung_gestuetzt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        }
    ],
    "oder": [
        {
            "scope": "transfer_auf_einwilligung_gestuetzt"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art49-ausnahme-dokumentieren",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "KI-Prompt auf DSE: \"Wird erwähnt, dass eine ausdrückliche Einwilligung\nnach Art. 49 Abs. 1 lit. a DSGVO als Rechtsgrundlage für einen\nDrittlandtransfer dient? Wird dabei auf Risiken und Widerruf\nhingewiesen?\"\nZusätzlich Check: Gibt es ein Consent-Banner / Opt-in, das explizit\nden Drittlandtransfer umfasst (granular)?\n",
    "normalization": {
        "section_name": "datenschutz"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            }
        ],
        "oder": [
            {
                "scope": "transfer_auf_einwilligung_gestuetzt"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Soweit wir Sie bei der Nutzung bestimmter Dienste um Ihre\nausdrückliche Einwilligung bitten, erfolgt die Übermittlung Ihrer\nDaten in das Drittland {{drittland}} auf Grundlage von\nArt. 49 Abs. 1 lit. a DSGVO. Wir weisen Sie darauf hin, dass in\n{{drittland}} kein mit der DSGVO vergleichbares Datenschutzniveau\nbesteht. Insbesondere können staatliche Stellen auf die Daten\nzugreifen, ohne dass Ihnen hiergegen wirksame Rechtsbehelfe zur\nVerfügung stehen. Sie können Ihre Einwilligung jederzeit mit\nWirkung für die Zukunft widerrufen. Die Rechtmäßigkeit der bis\nzum Widerruf erfolgten Verarbeitung bleibt davon unberührt.\"\n"
}

datenschutz / dsgvo

Cookie-Tabelle in Datenschutzerklärung vollständig

b-cookies-dse-tabelle-vollständig

executablepublic_aistructured_page
Was macht diese Regel?

Die Datenschutzerklärung muss die eingesetzten Cookies und Tracker konkret auflisten: Name, Zweck, Drittanbieter/Empfänger, Speicherdauer, Drittlandtransfer (mit Rechtsgrundlage). Eine abstrakte Aussage "wir nutzen Cookies zu Statistikzwecken" genügt nicht (Art. 13 Abs. 1 lit. c, e, f DSGVO).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_cookies_nicht_essentiell
Mindestens eine muss passen: hat_tracking_scripts

  • hat_cookies_nicht_essentiell - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookies nicht essentiell
  • hat_tracking_scripts - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scripts
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 1 lit. c, e, f Informationspflicht bei Erhebung beim Betroffenen

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_cookies_nicht_essentiellgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookies nicht essentiellSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_tracking_scriptsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scriptsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_cookies_nicht_essentiell"
        }
    ],
    "oder": [
        {
            "scope": "hat_tracking_scripts"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-cookies-dse-tabelle-vollstaendig",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "datenschutz",
    "check_hinweis": "Datenschutzerklärung öffnen, Abschnitt \"Cookies\" oder \"Tracking\" suchen.\nSind die einzelnen Dienste (GA4, Meta-Pixel, TikTok-Pixel, Hotjar etc.)\nnamentlich genannt? Speicherdauer pro Cookie? Drittlandtransfer USA\nmit Rechtsgrundlage (EU-US-DPF, SCC) erwähnt?\n",
    "normalization": {
        "section_name": "datenschutz",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_cookies_nicht_essentiell"
            }
        ],
        "oder": [
            {
                "scope": "hat_tracking_scripts"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Tabellarischer Aufbau pro Dienst: \"Dienst | Anbieter | Zweck |\nRechtsgrundlage | Datenkategorien | Speicherdauer | Drittlandtransfer\".\nBeispiel: \"Google Analytics 4 | Google Ireland Ltd. | Reichweiten-\nmessung | Art. 6 Abs. 1 lit. a DSGVO | Nutzungsdaten, IP (gekürzt) |\n14 Monate | USA — EU-US Data Privacy Framework\". Tool-Tipp: Cookiebot\nerzeugt solche Tabellen automatisch.\n"
}

ecommerce / bgb

§312j Abs. 3 BGB — Button 'zahlungspflichtig bestellen'

c-07-button-zahlungspflichtig-bestellen

executableowner_deepstructured_page
Was macht diese Regel?

Der Bestellbutton muss gut lesbar mit "zahlungspflichtig bestellen" oder gleichwertiger eindeutiger Formulierung beschriftet sein. Sonst kommt der Vertrag nach §312j Abs. 4 BGB nicht zustande. (Verweis Ebene A.)

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_07

  • branche_c_07 - greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312j Abs. 3 Button-Lösung

Risiko: 1.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: high

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_07greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_07"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-07-button-zahlungspflichtig-bestellen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "ecommerce",
    "check_hinweis": "Checkout-Button prüfen: \"zahlungspflichtig bestellen\" / \"kostenpflichtig\nbestellen\"? \"Jetzt anmelden\" / \"Weiter\" unzulässig.\n",
    "normalization": {
        "section_name": "ecommerce",
        "rechtsrisiko_typ": [
            "vertragsnichtigkeit_abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_07"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Button-Beschriftung: \"Jetzt zahlungspflichtig bestellen\"\n(nicht: \"Jetzt anmelden\", \"Weiter\", \"Bestellen\", \"Jetzt kaufen\" allein).\n"
}

ecommerce / bgb

§357 BGB — Rücksendekosten-Hinweis

c-07-widerrufsfolgen-kostentragung

executablepublic_aistructured_page
Was macht diese Regel?

Trägt der Verbraucher die Rücksendekosten, muss der Unternehmer dies explizit in der Widerrufsbelehrung + vorvertraglich mitteilen (Art. 246a §1 Abs. 2 S. 1 Nr. 2 EGBGB). Fehlt Hinweis → Unternehmer trägt Kosten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_07

  • branche_c_07 - greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §357 Abs. 6 Rechtsfolgen Widerruf

Risiko: 200,00 EUR bis 2.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_07greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_07"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-07-widerrufsfolgen-kostentragung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "ecommerce",
    "check_hinweis": "Rücksendekostenregelung klar? Bei Paketversand-Waren möglich Aufteilung\nStandard-/Speditionsware?\n",
    "normalization": {
        "section_name": "ecommerce",
        "rechtsrisiko_typ": [
            "abmahnung_kostenlast",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_07"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Sie tragen die unmittelbaren Kosten der Rücksendung der Waren.\nFür Waren, die aufgrund ihrer Beschaffenheit nicht normal mit der\nPost zurückgesandt werden können (Sperrgut), schätzen wir die Kosten\nauf maximal [...] Euro.\"\n"
}

ecommerce / egbgb

Gesamtpreis inkl. USt, Versand- und Zusatzkosten ausgewiesen

a-bgb-312d-gesamtpreis-inkl-ust-versand

executablepublic_aistructured_page
Was macht diese Regel?

Der Gesamtpreis der Ware oder Dienstleistung einschließlich aller Steuern und Abgaben (v. a. Umsatzsteuer) ist anzugeben. Zusätzlich sind Fracht-, Liefer- oder Versandkosten sowie alle sonstigen Kosten auszuweisen; sind diese vorab nicht bestimmbar, ist darauf hinzuweisen, dass solche Kosten anfallen können. Bei Dauerschuldverhältnissen: Gesamtkosten pro Abrechnungszeitraum.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, b2c_vertrag_möglich

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • b2c_vertrag_moeglich - greift bei B2C-Vertrags-/Verbraucherbezug
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

EGBGB Art. 246a §1 Abs. 1 Nr. 4 Informationspflichten bei Fernabsatzverträgen

Risiko: 500,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
b2c_vertrag_moeglichgreift bei B2C-Vertrags-/VerbraucherbezugSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "b2c_vertrag_moeglich"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bgb-312d-gesamtpreis-inkl-ust-versand",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "ecommerce",
    "check_hinweis": "Regex auf Preisangaben + \"inkl. MwSt\" oder \"inkl. USt\" bzw. \"zzgl. MwSt\".\nPrüfung Versandkosten-Link oder -Angabe auf Produktseite. Bei SaaS: Preis\npro Monat/Jahr + Netto/Brutto-Auszeichnung + ggf. Einrichtungskosten.\n",
    "normalization": {
        "section_name": "ecommerce",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "b2c_vertrag_moeglich"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Preisangabe-Format:\n\"99,00 € inkl. 19 % MwSt., zzgl. Versandkosten (Versandkostenlink)\"\nODER (SaaS):\n\"29 € / Monat inkl. 19 % MwSt. · jährliche Abrechnung · Einrichtungs-\nkosten: keine\"\n"
}

ecommerce / egbgb

Zahlungs-, Liefer- und Leistungsbedingungen offengelegt

a-bgb-312d-zahlung-lieferung-leistungsvorbehalt

executableowner_deepstructured_page
Was macht diese Regel?

Zahlungsarten, Liefer- und Leistungsbedingungen sowie Termin, zu dem der Unternehmer liefern oder die Leistung erbringen wird, sind vor Vertragsschluss anzugeben. Bei digitalen Inhalten: Funktionsweise, technische Schutzmaßnahmen, Interoperabilität mit Hard-/Software, soweit dies dem Unternehmer bekannt ist oder bekannt sein muss.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, b2c_vertrag_möglich

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • b2c_vertrag_moeglich - greift bei B2C-Vertrags-/Verbraucherbezug
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

EGBGB Art. 246a §1 Abs. 1 Nr. 7, 8, 14, 15 Informationspflichten bei Fernabsatzverträgen

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
b2c_vertrag_moeglichgreift bei B2C-Vertrags-/VerbraucherbezugSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "b2c_vertrag_moeglich"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bgb-312d-zahlung-lieferung-leistungsvorbehalt",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "ecommerce",
    "check_hinweis": "DOM-Scan nach Zahlungsart-Icons, Lieferzeit-Angaben, Zahlungs- und\nVersandinfo-Seiten. KI-Check: konkret genug? (\"3–5 Werktage\" ja, \"bald\"\nnein).\n",
    "normalization": {
        "section_name": "ecommerce",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "b2c_vertrag_moeglich"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Pflicht-Elemente:\n- Zahlungsarten: z. B. \"Vorkasse, Kreditkarte, PayPal, SEPA-Lastschrift\"\n- Lieferzeit: \"Lieferung in der Regel innerhalb von 3–5 Werktagen nach\n  Zahlungseingang\"\n- Digitale Produkte: \"Download-Link wird nach Zahlungsbestätigung per\n  E-Mail versandt. Kompatibel mit Windows 10+, macOS 12+, iOS 15+.\"\n"
}

ecommerce / egbgb art. 246a

Art. 246a EGBGB + Musterwiderrufsbelehrung

c-07-widerrufsbelehrung-muster

executablepublic_aistructured_page
Was macht diese Regel?

Die Widerrufsbelehrung muss Anlage 1 zu Art. 246a §1 Abs. 2 EGBGB entsprechen — Frist 14 Tage, Namen/Anschrift/Telefon/E-Mail des Widerrufsempfängers, Beginn der Frist, Muster-Widerrufsformular (Anlage 2). Abweichungen verlängern die Frist auf 12 Monate + 14 Tage.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_07

  • branche_c_07 - greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

EGBGB Art. 246a §1 Abs. 2 + Anlage 1/2 Widerrufsbelehrung

Risiko: 1.000,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_07greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_07"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-07-widerrufsbelehrung-muster",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "ecommerce",
    "check_hinweis": "Widerrufsseite: Musterbelehrung unverändert? Empfänger-Daten korrekt?\nWiderrufsformular Anlage 2 verlinkt/downloadbar?\n",
    "normalization": {
        "section_name": "ecommerce",
        "rechtsrisiko_typ": [
            "abmahnung_fristverlaengerung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_07"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Musterbelehrung der Anlage 1 EGBGB verwenden — nicht frei umformulieren.\nEmpfänger-Block mit Name, Anschrift, Telefon, E-Mail füllen.\nMuster-Widerrufsformular (Anlage 2) als PDF zum Download.\n"
}

ecommerce / einführungsgesetz zum bgb

Wesentliche Merkmale der Ware/Dienstleistung angegeben

a-bgb-312d-wesentliche-merkmale

executablepublic_aistructured_page
Was macht diese Regel?

Vor Vertragsschluss sind die wesentlichen Eigenschaften der Ware oder Dienstleistung anzugeben — Art, Umfang, bei Dienstleistungen Laufzeit und Leistungsinhalt. Die Information muss klar und verständlich in hervorgehobener Weise direkt beim Bestellvorgang zugänglich sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, b2c_vertrag_möglich

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • b2c_vertrag_moeglich - greift bei B2C-Vertrags-/Verbraucherbezug
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Einführungsgesetz zum BGB Art. 246a §1 Abs. 1 Nr. 1 Informationspflichten bei Fernabsatzverträgen

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
b2c_vertrag_moeglichgreift bei B2C-Vertrags-/VerbraucherbezugSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "b2c_vertrag_moeglich"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bgb-312d-wesentliche-merkmale",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "ecommerce",
    "check_hinweis": "Scan der Produkt-/Leistungsseiten auf Pflichtangaben. KI-Prompt bewertet\nDetailtiefe (ausreichend für Kaufentscheidung?). Bei SaaS: Laufzeit,\nLeistungsumfang pro Tarif, Grenzen (User/Projekte/Speicher).\n",
    "normalization": {
        "section_name": "ecommerce",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "b2c_vertrag_moeglich"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Produktseite muss mindestens enthalten:\n- Name / Bezeichnung\n- Hauptfunktionen / Umfang (Bulletliste, 3–6 Punkte)\n- Bei Dienstleistungen: Laufzeit, Kündigungsfrist, Leistungsinhalt\n- Bei digitalen Inhalten: Funktionsweise, Interoperabilität, Kompatibilität\n"
}

ecommerce / odr-vo

VSBG-Verbraucherstreitbeilegungs-Hinweis im Impressum

c-07-os-plattform-link

executablepublic_aistructured_page
Was macht diese Regel?

Unternehmer mit Verbraucher-Webseite oder AGB müssen nach §36 VSBG leicht zugänglich, klar und verstaendlich mitteilen, ob sie bereit oder verpflichtet sind, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen. Die alte EU-OS-/ODR-Plattform ist seit 20.07.2025 eingestellt und ist keine aktuelle Grundlage dieser Regel.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_07

  • branche_c_07 - greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

VSBG § 36 Allgemeine Informationspflicht zur Verbraucherstreitbeilegung

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_07greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_07"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-07-os-plattform-link",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "ecommerce",
    "check_hinweis": "VSBG-Hinweis zur Verbraucherstreitbeilegung vorhanden?\n",
    "normalization": {
        "section_name": "ecommerce",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_07"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Verbraucherstreitbeilegung:\nWir sind [nicht bereit und nicht verpflichtet / bereit / verpflichtet],\nan Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle\nteilzunehmen.\n[falls bereit/verpflichtet:] Zustaendige Verbraucherschlichtungsstelle:\n[Name, Anschrift, Webseite].\"\n"
}

ecommerce / pangv

§3 PAngV — Gesamtpreis inkl. USt + aller Preisbestandteile

c-07-pangv-endpreis-gesamtpreis

executablepublic_aistructured_page
Was macht diese Regel?

Gegenüber Verbrauchern müssen Preise als Gesamtpreis (inkl. USt und aller sonstigen Bestandteile) angegeben werden. "zzgl. MwSt." oder Netto-Preise sind im B2C unzulässig.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_07

  • branche_c_07 - greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PAngV §3 Gesamtpreis

Risiko: 500,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_07greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_07"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-07-pangv-endpreis-gesamtpreis",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "ecommerce",
    "check_hinweis": "Produktseiten: Bruttopreis inkl. USt? \"zzgl. MwSt.\" vorhanden?\n",
    "normalization": {
        "section_name": "ecommerce",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_07"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Alle Preise als Gesamtpreis inkl. USt darstellen:\n\"€ 99,00 (inkl. 19 % USt zzgl. Versand)\"\nAuf Produktseite + Warenkorb + Checkout konsistent.\n"
}

ecommerce / pangv

§4 PAngV — Grundpreis bei Fertigpackungen

c-07-pangv-grundpreis

executablepublic_aistructured_page
Was macht diese Regel?

Bei Waren nach Gewicht, Volumen, Länge oder Fläche ist zusätzlich zum Gesamtpreis der Grundpreis (z.B. pro kg, l, m²) anzugeben, in unmittel- barer Nähe des Endpreises, gleich lesbar.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_07, angebot:fertigpackung

  • branche_c_07 - greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt ist
  • angebot:fertigpackung - greift nur, wenn dieses Angebot/Produkt erkannt wurde: fertigpackung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PAngV §4 Grundpreis

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_07greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:fertigpackunggreift nur, wenn dieses Angebot/Produkt erkannt wurde: fertigpackungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"fertigpackung"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_07"
        },
        {
            "angebot": "fertigpackung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-07-pangv-grundpreis",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "ecommerce",
    "check_hinweis": "Bei Lebensmitteln/Kosmetik/Reinigern etc.: Grundpreis (€/kg, €/l) direkt\nneben Endpreis?\n",
    "normalization": {
        "section_name": "ecommerce",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_07"
            },
            {
                "angebot": "fertigpackung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"€ 12,99 (€ 25,98 / kg)\"\nPlatzierung: direkt unter oder neben Gesamtpreis, gleiche Schriftgröße.\n"
}

ecommerce / pangv

§6 PAngV — Versandkosten vor Bestellabschluss beziffert

c-07-pangv-versandkosten-vorab

executablepublic_aistructured_page
Was macht diese Regel?

Versandkosten müssen beziffert oder die Berechnungsmechanik (Gewicht, Land, Versender) transparent dargestellt sein — spätestens vor Abschluss des Bestellvorgangs, typisch auf Produktseite verlinkt oder im Warenkorb sichtbar.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_07

  • branche_c_07 - greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PAngV §6 Zusatzkosten

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_07greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_07"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-07-pangv-versandkosten-vorab",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "ecommerce",
    "check_hinweis": "Versandkostenseite verlinkt (Footer/Produktseite)? Checkout zeigt\nkonkreten Versandkosten-Wert vor Button?\n",
    "normalization": {
        "section_name": "ecommerce",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_07"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Versandkosten-Übersicht:\nDE: 4,99 € (versandkostenfrei ab 50 €)\nEU: 9,99 €\nSchweiz: 14,99 €\nZölle/EUSt ggf. vom Empfänger zu tragen.\"\n+ Link im Footer \"Versand & Zahlung\"\n"
}

ecommerce / vsbg

§36 VSBG — Bereitschaftserklärung Verbraucherschlichtung

c-07-vsbg-streitbeilegung

executablepublic_aistructured_page
Was macht diese Regel?

Unternehmer mit Website müssen im Impressum und in AGB klarstellen, ob sie an einer Verbraucherschlichtung teilnehmen (bereit / nicht bereit / gesetzlich verpflichtet). Formulierung muss unmissverständlich sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_07

  • branche_c_07 - greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

VSBG §36 Allgemeine Informationspflicht

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_07greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_07"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-07-vsbg-streitbeilegung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "ecommerce",
    "check_hinweis": "Impressum + AGB: VSBG-Aussage klar ja/nein?\n",
    "normalization": {
        "section_name": "ecommerce",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_07"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Verbraucherstreitbeilegung:\nWir sind nicht bereit und nicht verpflichtet, an Streitbeilegungs-\nverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.\"\nODER (falls ja):\n\"Wir nehmen an Streitbeilegungsverfahren vor der [Schlichtungsstelle X],\n[Adresse], [Web] teil.\"\n"
}

forms / dsgvo

Kurzhinweis mit Link zur DSE am Formular

b-kontaktformular-art13-hinweis-am-formular

executablepublic_aistructured_page
Was macht diese Regel?

Direkt beim Formular (nicht nur in der DSE vergraben) muss ein gut sichtbarer Hinweis auf die Datenverarbeitung mit Link zur vollständigen Datenschutzerklärung stehen. Art. 12 Abs. 1 DSGVO verlangt transparente Information "in präziser, transparenter, verständlicher und leicht zugänglicher Form".

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_kontaktformular

  • hat_kontaktformular - greift bei Formular-/Kontaktformular-Signalen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 12 Abs. 1 i. V. m. Art. 13 Transparente Information / Informationspflicht

Risiko: 500,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_kontaktformulargreift bei Formular-/Kontaktformular-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_kontaktformular"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-kontaktformular-art13-hinweis-am-formular",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "forms",
    "check_hinweis": "Direkt unter oder neben dem Formular prüfen: Gibt es einen sichtbaren\nDatenschutz-Hinweis mit klickbarem Link zur DSE? Oder fehlt jeder\nHinweis auf dem Formular?\n",
    "normalization": {
        "section_name": "forms",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_kontaktformular"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Unter den Submit-Button einen dezenten Hinweistext platzieren:\n\"Mit dem Absenden willigen Sie NICHT ein — wir verarbeiten Ihre\nAngaben auf Grundlage von Art. 6 Abs. 1 lit. b/f DSGVO zur\nBearbeitung Ihrer Anfrage. Weitere Informationen finden Sie in\nunserer <a href='/datenschutz'>Datenschutzerklärung</a>.\"\n"
}

forms / dsgvo

Keine Einwilligungs-Checkbox bei Rechtsgrundlage lit. b/f

b-kontaktformular-checkbox-vermeiden-wenn-unnoetig

executablepublic_aistructured_page
Was macht diese Regel?

Weit verbreitet, aber rechtlich ein Fehler: eine "Ich akzeptiere die Datenschutzerklärung"-Checkbox beim Kontaktformular. Die DSE ist KEIN Vertrag, der akzeptiert werden muss — sie ist eine Information (Art. 13 DSGVO). Eine solche Checkbox suggeriert fälschlich eine Einwilligung als Rechtsgrundlage (lit. a), obwohl tatsächlich lit. b oder lit. f greift. Folge: widerruft der Nutzer die vermeintliche Einwilligung, müsste die Verarbeitung stoppen — was den eigenen Rechtsgrund unnötig schwächt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_kontaktformular

  • hat_kontaktformular - greift bei Formular-/Kontaktformular-Signalen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6 Abs. 1 i. V. m. Art. 13 Rechtmäßigkeit / Informationspflicht

Risiko: 200,00 EUR bis 1.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_kontaktformulargreift bei Formular-/Kontaktformular-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_kontaktformular"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-kontaktformular-checkbox-vermeiden-wenn-unnoetig",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "forms",
    "check_hinweis": "Formular prüfen: Gibt es eine Checkbox \"Ich habe die Datenschutz-\nerklärung gelesen\" oder \"Ich willige in die Verarbeitung ein\"?\nWenn ja: Rechtsgrundlage klären. Bei lit. b/f ist Checkbox\nrechtlich überflüssig und potenziell schädlich.\n",
    "normalization": {
        "section_name": "forms",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_kontaktformular"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Checkbox ersatzlos entfernen. Stattdessen Hinweis-Text unter dem\nSubmit-Button: \"Mit Absenden erklären Sie sich nicht einverstanden\n— wir verarbeiten Ihre Angaben auf Grundlage von Art. 6 Abs. 1 lit. b\nbzw. lit. f DSGVO zur Bearbeitung Ihrer Anfrage. Details in der\nDatenschutzerklärung.\"\n"
}

forms / dsgvo

Rechtsgrundlage des Formulars korrekt benannt

b-kontaktformular-rechtsgrundlage-richtig

executablepublic_aistructured_page
Was macht diese Regel?

In der Datenschutzerklärung ist für das Kontaktformular die richtige Rechtsgrundlage zu nennen. Bei Anfragen, die auf Vertragsanbahnung abzielen (Beratung, Angebot), gilt Art. 6 Abs. 1 lit. b DSGVO (vorvertragliche Maßnahmen). Bei reinen Kontaktanfragen ohne Vertragsbezug (z. B. allgemeine Frage an Unternehmen) gilt meist Art. 6 Abs. 1 lit. f (berechtigtes Interesse). Einwilligung lit. a ist regelmäßig fehlerhaft.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_kontaktformular

  • hat_kontaktformular - greift bei Formular-/Kontaktformular-Signalen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6 Abs. 1 lit. b / lit. f Rechtmäßigkeit der Verarbeitung

Risiko: 300,00 EUR bis 2.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_kontaktformulargreift bei Formular-/Kontaktformular-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_kontaktformular"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-kontaktformular-rechtsgrundlage-richtig",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "forms",
    "check_hinweis": "DSE nach Abschnitt \"Kontaktformular\" durchsuchen. Wird eine\nRechtsgrundlage genannt? Passt sie zum Formularzweck (Vertragsanfrage\n= lit. b, allgemein = lit. f)?\n",
    "normalization": {
        "section_name": "forms",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_kontaktformular"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Beispiel-Formulierung: \"Wenn Sie uns über das Kontaktformular oder\nper E-Mail Anfragen zukommen lassen, werden Ihre Angaben zur\nBearbeitung der Anfrage und für den Fall, dass Anschlussfragen\nentstehen, bei uns gespeichert. Rechtsgrundlage ist Art. 6 Abs. 1\nlit. b DSGVO (Vertragsanbahnung), soweit Ihre Anfrage auf einen\nVertragsschluss zielt, andernfalls Art. 6 Abs. 1 lit. f DSGVO\n(berechtigtes Interesse an effektiver Kommunikation).\"\n"
}

impressum / ddg

Impressum: Zuständige Aufsichtsbehörde bei behördlicher Zulassung

a-ddg-5-aufsichtsbehoerde

executablepublic_aiai_classification
Was macht diese Regel?

Soweit der digitale Dienst im Rahmen einer Tätigkeit angeboten wird, die einer BEHÖRDLICHEN ZULASSUNG bedarf (klassische Fälle: §34c GewO — Immobilienmakler/Bauträger/Baubetreuer/Darlehensvermittler, §34d GewO — Versicherungsvermittler, §34f GewO — Finanzanlagenvermittler, §34h GewO — Honorar-Finanzanlagenberater, §34i GewO — Immobiliardarlehensvermittler, §34a GewO — Bewachungsgewerbe, §34b GewO — Versteigerer, BaFin- Erlaubnisse für Zahlungsdienstleister, Kreditinstitute, Kryptoverwahrer), MUSS das Impressum Name und Anschrift der zuständigen Aufsichtsbehörde nennen. Wer KEINER Zulassungspflicht unterliegt (reine Dienstleister, Coaches, Texter, die meisten Handwerker ohne §34c-Tätigkeit), lässt diese Angabe weg — sie ist NICHT "vorsorglich" einzufügen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, diensteanbieter_geschaeftsmaessig
Mindestens eine muss passen: taetigkeit_gewerbeordnung_34a, taetigkeit_gewerbeordnung_34b, taetigkeit_gewerbeordnung_34c, taetigkeit_gewerbeordnung_34d, taetigkeit_gewerbeordnung_34f, taetigkeit_gewerbeordnung_34h, taetigkeit_gewerbeordnung_34i, taetigkeit_bafin_zulassung, taetigkeit_sonstige_behoerdliche_zulassung

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
  • taetigkeit_gewerbeordnung_34a - greift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloest
  • taetigkeit_gewerbeordnung_34b - greift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloest
  • taetigkeit_gewerbeordnung_34c - greift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloest
  • taetigkeit_gewerbeordnung_34d - greift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloest
  • taetigkeit_gewerbeordnung_34f - greift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloest
  • taetigkeit_gewerbeordnung_34h - greift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloest
  • taetigkeit_gewerbeordnung_34i - greift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloest
  • taetigkeit_bafin_zulassung - greift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloest
  • taetigkeit_sonstige_behoerdliche_zulassung - greift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloest
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 1 Nr. 3 Allgemeine Informationspflichten — Aufsichtsbehörde

Risiko: 887,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
taetigkeit_gewerbeordnung_34agreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
taetigkeit_gewerbeordnung_34bgreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
taetigkeit_gewerbeordnung_34cgreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
taetigkeit_gewerbeordnung_34dgreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
taetigkeit_gewerbeordnung_34fgreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
taetigkeit_gewerbeordnung_34hgreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
taetigkeit_gewerbeordnung_34igreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
taetigkeit_bafin_zulassunggreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
taetigkeit_sonstige_behoerdliche_zulassunggreift für eine regulierte Taetigkeit, die besondere Pflichtangaben ausloestSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        }
    ],
    "oder": [
        {
            "scope": "taetigkeit_gewerbeordnung_34a"
        },
        {
            "scope": "taetigkeit_gewerbeordnung_34b"
        },
        {
            "scope": "taetigkeit_gewerbeordnung_34c"
        },
        {
            "scope": "taetigkeit_gewerbeordnung_34d"
        },
        {
            "scope": "taetigkeit_gewerbeordnung_34f"
        },
        {
            "scope": "taetigkeit_gewerbeordnung_34h"
        },
        {
            "scope": "taetigkeit_gewerbeordnung_34i"
        },
        {
            "scope": "taetigkeit_bafin_zulassung"
        },
        {
            "scope": "taetigkeit_sonstige_behoerdliche_zulassung"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-5-aufsichtsbehoerde",
    "fix_type": "diy_text",
    "check_type": "ai_classification",
    "section_name": "impressum",
    "check_hinweis": "- Branchen-Klassifizierung vor Rule-Prüfung: erkennt Scanner eine zulassungspflichtige Tätigkeit?\n- Signalwörter: \"Immobilien\", \"Makler\", \"Versicherung\", \"Finanzanlagen\", \"Kreditvermittlung\", \"Bauträger\",\n  \"Hausverwaltung mit Mieteinzug\", \"Bewachung\", \"Security\", \"Auktion\", \"Zahlungsdienst\", \"Bank\", \"Krypto\".\n- Wenn Tätigkeit erkannt: prüfe Impressum auf Nennung einer Aufsichtsbehörde (z. B. \"IHK XY\", \"Gewerbeamt Stadt XY\", \"BaFin, Marie-Curie-Str. 24-28, 60439 Frankfurt am Main\").\n- Wenn Tätigkeit NICHT erkannt → Rule `not_applicable`, nicht `fail`.\n- KI-Prompt: \"Ist die erkennbare Geschäftstätigkeit zulassungspflichtig nach §34a–i GewO oder BaFin? Falls ja: wird eine Aufsichtsbehörde genannt?\"\n",
    "normalization": {
        "section_name": "impressum"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            }
        ],
        "oder": [
            {
                "scope": "taetigkeit_gewerbeordnung_34a"
            },
            {
                "scope": "taetigkeit_gewerbeordnung_34b"
            },
            {
                "scope": "taetigkeit_gewerbeordnung_34c"
            },
            {
                "scope": "taetigkeit_gewerbeordnung_34d"
            },
            {
                "scope": "taetigkeit_gewerbeordnung_34f"
            },
            {
                "scope": "taetigkeit_gewerbeordnung_34h"
            },
            {
                "scope": "taetigkeit_gewerbeordnung_34i"
            },
            {
                "scope": "taetigkeit_bafin_zulassung"
            },
            {
                "scope": "taetigkeit_sonstige_behoerdliche_zulassung"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Die konkrete Aufsichtsbehörde ist je nach Bundesland und Branche unterschiedlich.\nPartner-Beratung sinnvoll wenn:\n  - Mehrere Tätigkeiten mit unterschiedlichen Aufsichten kombiniert\n  - Grenzfälle (§34f mit §34c + §34d gleichzeitig)\n  - Kryptowerte-Dienstleister mit unklarer BaFin-Einordnung\nBranchenweiterleitung an Ebene C Cluster 06 (Finanzen/Versicherung) bzw. Cluster 13 (Bau/Immobilien).\n",
    "fix_text_vorlage": "\"Zuständige Aufsichtsbehörde:\n{{behoerde_name}}\n{{behoerde_anschrift_strasse}}\n{{behoerde_plz}} {{behoerde_ort}}\n\nErlaubnis nach § {{paragraph_gewo_bafin}} {{gesetz}} erteilt am {{datum}} durch {{behoerde_name}}.\"\n\n— Beispiel Immobilienmakler §34c GewO —\n\"Zuständige Aufsichtsbehörde:\nOrdnungsamt der Stadt {{ort}}\n{{anschrift}}\nErlaubnis nach § 34c Abs. 1 GewO.\"\n"
}

impressum / ddg

Impressum: E-Mail-Adresse ist zwingender Bestandteil der Kontaktangaben

a-ddg-5-email-pflicht

executablepublic_autoregex_pattern
Was macht diese Regel?

§5 Abs. 1 Nr. 2 DDG verlangt „Angaben, die eine schnelle elektronische Kontaktaufnahme und unmittelbare Kommunikation mit ihnen ermöglichen, einschließlich der Adresse der elektronischen Post". Der BGH hat dazu geklärt (BGH I ZR 55/14, 25.02.2016): **Eine E-Mail-Adresse ist zwingend** anzugeben. Ein bloßes Kontaktformular genügt NICHT, da die E-Mail-Adresse als direkter, nicht kanalisierter Kommunikationsweg Wortlaut der Norm ist. Die E-Mail darf technisch-kosmetisch (z. B. als Bild, obfuskiert mit „(at)") codiert sein, solange sie für den durchschnittlichen Nutzer lesbar und kopierbar bleibt — umstritten, sicherer: klartextliche Angabe als mailto-Link.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, diensteanbieter_geschaeftsmaessig

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 1 Nr. 2 Allgemeine Informationspflichten — elektronische Kontaktaufnahme

Risiko: 540,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-5-email-pflicht",
    "fix_type": "diy_text",
    "check_type": "regex_pattern",
    "section_name": "impressum",
    "check_hinweis": "- Impressum-Seite laden.\n- Regex für E-Mail-Klartext: `[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}`.\n- Regex für obfuskierte E-Mail: `\\b[A-Za-z0-9._%+-]+\\s*(?:\\(at\\)|\\[at\\]|\\s@\\s|\\s\\(a\\)\\s)\\s*[A-Za-z0-9.-]+\\s*(?:\\(dot\\)|\\[dot\\]|\\.)\\s*[A-Za-z]{2,}\\b`.\n- Prüfe auf `<a href=\"mailto:...\">` im DOM.\n- Falls nur Kontaktformular erkennbar, aber keine E-Mail → Rule fails mit Hinweis \"BGH I ZR 55/14\".\n- Bildcodierte E-Mails (base64-img) — Soft-Fail + Hinweis: \"für Scanner nicht lesbar, manuelle Prüfung empfohlen\".\n",
    "normalization": {
        "section_name": "impressum"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"E-Mail: {{email_adresse}}\"\n\n— oder als klickbarer mailto-Link —\n\"E-Mail: <a href=\"mailto:{{email_adresse}}\">{{email_adresse}}</a>\"\n"
}

impressum / ddg

Impressum: Firma, Rechtsform, Sitz und gesetzliche Vertreter (juristische Person)

a-ddg-5-firma-rechtsform-vertretung

executablepublic_aistructured_page
Was macht diese Regel?

Bei juristischen Personen (GmbH, UG, AG, eG, e. V., Stiftung etc.) sowie Personengesellschaften mit Teilrechtsfähigkeit (OHG, KG, GbR mit Rechtsfähigkeit, PartG) MUSS das Impressum zusätzlich enthalten: - Firma inklusive Rechtsformzusatz (z. B. "Mustermann GmbH", "Müller UG (haftungsbeschränkt)", "Schmidt & Partner mbB") - Sitz der Gesellschaft (ladungsfähige Geschäftsanschrift) - Gesetzliche Vertreter (Geschäftsführer bei GmbH/UG, Vorstand bei AG und e. V., geschäftsführende Gesellschafter bei OHG/KG/PartG) - Bei Kapitalgesellschaften, die Angaben zum Kapital machen: Stamm-/ Grundkapital und ggf. Gesamtbetrag ausstehender Einlagen Fehlt einer dieser Bausteine, ist das Impressum unvollständig und abmahnfähig.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, diensteanbieter_geschaeftsmaessig, anbieter_juristische_person

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
  • anbieter_juristische_person - greift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-ID
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 1 Nr. 1 Allgemeine Informationspflichten — juristische Personen

Risiko: 887,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
anbieter_juristische_persongreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        },
        {
            "scope": "anbieter_juristische_person"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-5-firma-rechtsform-vertretung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "impressum",
    "check_hinweis": "- Prüfe Impressum-Seite auf: Firma mit Rechtsformzusatz (\"GmbH\", \"UG\", \"AG\", \"e. V.\", \"mbB\", \"KG\", \"OHG\").\n- Prüfe auf Zeile mit \"Geschäftsführer:\", \"Vorstand:\", \"vertretungsberechtigt:\", \"vertreten durch:\".\n- Regex für Rechtsform-Zusatz: `\\b(GmbH|UG\\s*\\(haftungsbeschränkt\\)|AG|SE|KGaA|e\\.?\\s*V\\.?|eG|KG|OHG|GbR|PartG|mbB|Ltd\\.?|PLC)\\b`.\n- KI-Prompt: \"Identifiziere die Rechtsform. Sind folgende Angaben vollständig vorhanden:\n  Firma inkl. Rechtsform, Sitz/Anschrift, gesetzliche Vertreter mit Namen?\"\n- Bei Kapitalgesellschaft mit Angaben zum Kapital: ist Gesamtbetrag ausstehender Einlagen genannt (falls relevant)?\n",
    "normalization": {
        "section_name": "impressum"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            },
            {
                "scope": "anbieter_juristische_person"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Anbieter im Sinne des § 5 DDG:\n\n{{firma_inkl_rechtsform}}\n{{strasse_hausnummer}}\n{{plz}} {{ort}}\nDeutschland\n\nVertretungsberechtigt: {{titel_vertreter}} {{name_vertreter_1}}{{, name_vertreter_2 if mehrere}}\n\n— optional bei Kapitalgesellschaft —\nStammkapital: {{betrag}} EUR\nNicht eingezahlte Einlagen: {{offene_einlagen}} EUR (sofern einzahlungspflichtige Einlagen offen sind)\"\n"
}

impressum / ddg

Impressum: Kammer, Berufsbezeichnung, Verleihungsstaat, berufsrechtliche Regelungen (reglementierter Beruf)

a-ddg-5-kammer-berufsbezeichnung

executablepublic_aistructured_page
Was macht diese Regel?

§5 Abs. 1 Nr. 5 DDG verlangt bei reglementierten Berufen (Rechtsanwalt, Steuerberater, Wirtschaftsprüfer, Notar, Architekt, Beratender Ingenieur, Arzt, Zahnarzt, Apotheker, Tierarzt, Psychotherapeut, Heilpraktiker mit Heilpraktikerprüfung, Hebamme etc.) zusätzliche Angaben: a) die Kammer, welcher der Diensteanbieter angehört b) die gesetzliche Berufsbezeichnung c) der Staat, in dem die Berufsbezeichnung verliehen worden ist d) die Bezeichnung der berufsrechtlichen Regelungen und Informationen dazu, wie diese zugänglich sind (in der Regel mit Link zu Kammer-Satzung, BORA, BOStB, HeilBerG etc.) Fehlt auch nur EINE dieser vier Angaben, ist das Impressum unvollständig. §5 Abs. 1 Nr. 5 DDG setzt EU-RL 2005/36/EG (Berufsanerkennungsrichtlinie) um.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, diensteanbieter_geschaeftsmaessig
Mindestens eine muss passen: beruf_rechtsanwalt, beruf_steuerberater, beruf_wirtschaftsprüfer, beruf_notar, beruf_architekt, beruf_beratender_ingenieur, beruf_arzt, beruf_zahnarzt, beruf_tierarzt, beruf_apotheker, beruf_psychotherapeut, beruf_heilpraktiker, beruf_hebamme, beruf_sonstiger_reglementierter_beruf

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
  • beruf_rechtsanwalt - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_steuerberater - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_wirtschaftspruefer - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_notar - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_architekt - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_beratender_ingenieur - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_arzt - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_zahnarzt - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_tierarzt - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_apotheker - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_psychotherapeut - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_heilpraktiker - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_hebamme - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
  • beruf_sonstiger_reglementierter_beruf - greift für einen bestimmten reglementierten Beruf oder eine berufliche Zulassung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 1 Nr. 5 Allgemeine Informationspflichten — reglementierte Berufe

Risiko: 887,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
beruf_rechtsanwaltgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_steuerberatergreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_wirtschaftspruefergreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_notargreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_architektgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_beratender_ingenieurgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_arztgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_zahnarztgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_tierarztgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_apothekergreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_psychotherapeutgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_heilpraktikergreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_hebammegreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
beruf_sonstiger_reglementierter_berufgreift für einen bestimmten reglementierten Beruf oder eine berufliche ZulassungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        }
    ],
    "oder": [
        {
            "scope": "beruf_rechtsanwalt"
        },
        {
            "scope": "beruf_steuerberater"
        },
        {
            "scope": "beruf_wirtschaftspruefer"
        },
        {
            "scope": "beruf_notar"
        },
        {
            "scope": "beruf_architekt"
        },
        {
            "scope": "beruf_beratender_ingenieur"
        },
        {
            "scope": "beruf_arzt"
        },
        {
            "scope": "beruf_zahnarzt"
        },
        {
            "scope": "beruf_tierarzt"
        },
        {
            "scope": "beruf_apotheker"
        },
        {
            "scope": "beruf_psychotherapeut"
        },
        {
            "scope": "beruf_heilpraktiker"
        },
        {
            "scope": "beruf_hebamme"
        },
        {
            "scope": "beruf_sonstiger_reglementierter_beruf"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-5-kammer-berufsbezeichnung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "impressum",
    "check_hinweis": "- Branchen-Klassifizierung zuerst: Ist ein reglementierter Beruf erkennbar?\n- Signalwörter: \"Rechtsanwalt\", \"Steuerberater\", \"WP\", \"Notar\", \"Architekt BAK\", \"Ingenieur\", \"Dr. med.\", \"Facharzt\",\n  \"Zahnarzt\", \"Apotheker\", \"Heilpraktiker\", \"Psychotherapeut\".\n- Wenn erkannt, prüfe Impressum auf alle vier Teilangaben:\n  1. Kammer (z. B. \"Rechtsanwaltskammer München\", \"Ärztekammer Nordrhein\")\n  2. Berufsbezeichnung (z. B. \"Rechtsanwalt (Deutschland)\")\n  3. Verleihungsstaat (\"Deutschland\" / \"Bundesrepublik Deutschland\")\n  4. Berufsrechtliche Regelungen mit Link (z. B. \"BRAO, BORA, RVG, FAO, einsehbar unter www.brak.de\")\n- KI-Prompt: \"Sind Kammer + Berufsbezeichnung + Verleihungsstaat + berufsrechtliche Regelungen-Link vollständig?\"\n- Weiterleitung an Ebene C Cluster 04 (freie Berufe) oder Cluster 05 (Heilberufe) für branchenspezifische Tiefenprüfung.\n",
    "normalization": {
        "section_name": "impressum"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            }
        ],
        "oder": [
            {
                "scope": "beruf_rechtsanwalt"
            },
            {
                "scope": "beruf_steuerberater"
            },
            {
                "scope": "beruf_wirtschaftspruefer"
            },
            {
                "scope": "beruf_notar"
            },
            {
                "scope": "beruf_architekt"
            },
            {
                "scope": "beruf_beratender_ingenieur"
            },
            {
                "scope": "beruf_arzt"
            },
            {
                "scope": "beruf_zahnarzt"
            },
            {
                "scope": "beruf_tierarzt"
            },
            {
                "scope": "beruf_apotheker"
            },
            {
                "scope": "beruf_psychotherapeut"
            },
            {
                "scope": "beruf_heilpraktiker"
            },
            {
                "scope": "beruf_hebamme"
            },
            {
                "scope": "beruf_sonstiger_reglementierter_beruf"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Bei reglementierten Berufen zusätzlich Cluster-Check (C-04 freie Berufe / C-05 Heilberufe / C-06 Finanzen).\nAnwaltspflicht: Abmahnungen kommen bei Anwälten fast ausschließlich von Kammern selbst (Rüge nach §74 BRAO,\n§81 BRAO Anwaltsgericht) — nicht über Wettbewerbsverbände. Bei Anwaltsverstößen droht zusätzlich\nBerufsgerichtsverfahren.\n",
    "fix_text_vorlage": "\"Angaben nach § 5 Abs. 1 Nr. 5 DDG:\n\nBerufsbezeichnung: {{berufsbezeichnung}} (verliehen in der Bundesrepublik Deutschland)\n\nZuständige Kammer: {{kammer_name}}\n{{kammer_anschrift}}\nWebsite: {{kammer_url}}\n\nBerufsrechtliche Regelungen:\n- {{gesetz_1}} (z. B. BRAO, Bundesrechtsanwaltsordnung)\n- {{gesetz_2}} (z. B. BORA, Berufsordnung für Rechtsanwälte)\n- {{gesetz_3}} (z. B. RVG, Rechtsanwaltsvergütungsgesetz)\nDie genannten Regelungen sind einsehbar unter {{url_regelwerke}}.\"\n"
}

impressum / ddg

Impressum: Hinweis auf Liquidation bzw. Abwicklung

a-ddg-5-liquidation

executablepublic_aistructured_page
Was macht diese Regel?

§5 Abs. 1 Nr. 7 DDG (ehem. §5 Abs. 1 Nr. 7 TMG) verpflichtet Kapitalgesellschaften im Stadium der Liquidation oder Abwicklung dazu, diese Tatsache offenzulegen. Betroffen: AG, GmbH, UG (haftungsbeschränkt) i. L., entsprechende SE/KGaA. Der Hinweis muss im Impressum deutlich lesbar sein. Der Zusatz "i. L." bzw. "in Liquidation" im Firmennamen gilt zusätzlich nach §71 Abs. 5 GmbHG / §268 Abs. 4 AktG.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, diensteanbieter_geschaeftsmaessig, anbieter_in_liquidation_oder_abwicklung

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
  • anbieter_in_liquidation_oder_abwicklung - greift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-ID
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 1 Nr. 7 Allgemeine Informationspflichten — Liquidation

Risiko: 540,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
anbieter_in_liquidation_oder_abwicklunggreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        },
        {
            "scope": "anbieter_in_liquidation_oder_abwicklung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-5-liquidation",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "impressum",
    "check_hinweis": "- Prüfe Firma-Textzeile auf Zusätze \"i. L.\", \"in Liquidation\", \"in Abwicklung\", \"a. D.\", \"i. Abw.\".\n- Querabgleich Handelsregister (optional, falls Scanner Zugriff hat).\n- KI-Prompt: \"Deutet irgendwo im Impressum oder auf der Seite Liquidation/Abwicklung an? Dann muss Zusatz deutlich stehen.\"\n- Diese Rule ist selten einschlägig — im Regelfall `not_applicable`. Nur aktivieren, wenn Scanner oder Nutzerangaben Liquidation signalisieren.\n",
    "normalization": {
        "section_name": "impressum"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            },
            {
                "scope": "anbieter_in_liquidation_oder_abwicklung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Firma:\n{{firma}} {{rechtsform}} i. L.\n(in Liquidation seit {{datum_beginn}})\n\nLiquidator(en): {{name_liquidator}}\nAnschrift Liquidator: {{anschrift}}\"\n"
}

impressum / ddg

Impressum: Name und ladungsfähige Anschrift (natürliche Person)

a-ddg-5-name-anschrift

executablepublic_aistructured_page
Was macht diese Regel?

Das Impressum MUSS bei einem Einzelunternehmer, Freiberufler oder jeder natürlichen Person als Diensteanbieter den vollständigen Vor- und Nachnamen sowie die ladungsfähige Anschrift enthalten. "Ladungsfähig" heißt: eine Adresse, unter der Gerichtsvollzieher/Postzusteller förmliche Zustellungen ausführen können — also Straße + Hausnummer + PLZ + Ort im Inland. Postfach-Angaben sind NICHT ausreichend. c/o-Adressen nur dann, wenn der Diensteanbieter dort tatsächlich geschäftlich erreichbar ist (OLG Düsseldorf I-20 U 17/07).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, diensteanbieter_geschaeftsmaessig, anbieter_natuerliche_person

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
  • anbieter_natuerliche_person - greift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-ID
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 1 Nr. 1 Allgemeine Informationspflichten — Name und Anschrift

Risiko: 540,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
anbieter_natuerliche_persongreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        },
        {
            "scope": "anbieter_natuerliche_person"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-5-name-anschrift",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "impressum",
    "check_hinweis": "- Impressum-URL erkennen (typisch /impressum, /imprint, /kontakt, /legal, /rechtliches).\n- DOM-/Text-Extraktion: suche nach Name-Muster \"Vorname Nachname\" + Straße + Hausnummer + PLZ + Ort.\n- Regex für deutsche Adresse: `[A-ZÄÖÜa-zäöüß\\-\\s]+\\s\\d+[a-z]?\\s*[-,]?\\s*\\d{5}\\s+[A-ZÄÖÜa-zäöüß\\-\\s]+`.\n- Negativ-Signal: \"Postfach 12345\" als einzige Adresse → Rule fails.\n- KI-Prompt: \"Enthält dieses Impressum den vollständigen Namen einer natürlichen Person UND eine vollständige deutsche Straßenanschrift?\"\n- Bei juristischer Person greift stattdessen Rule 1.2 — Kontext-Switch durch `anbieter_natuerliche_person` vs. `anbieter_juristische_person`.\n",
    "normalization": {
        "section_name": "impressum"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            },
            {
                "scope": "anbieter_natuerliche_person"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Anbieter im Sinne des § 5 DDG:\n\n{{vorname}} {{nachname}}\n{{strasse_hausnummer}}\n{{plz}} {{ort}}\nDeutschland\"\n"
}

impressum / ddg

Impressum: Register-Eintragung (Handels-, Vereins-, Genossenschafts- oder Partnerschaftsregister)

a-ddg-5-register-eintrag

executablepublic_aistructured_page
Was macht diese Regel?

Soweit der Diensteanbieter in ein Register eingetragen ist, MUSS das Impressum enthalten: - Typ des Registers: Handelsregister (HRA für Personengesellschaften, HRB für Kapitalgesellschaften), Vereinsregister (VR), Genossenschaftsregister (GnR), Partnerschaftsregister (PR) - Registernummer (z. B. "HRB 123456") - Registergericht (Amtsgericht, das das Register führt) Die Registrierungspflicht besteht bei GmbH, UG, AG, KGaA, OHG, KG, eG, e. V., PartG/PartG mbB. GbR sind nur registerpflichtig, wenn sie das Gesellschaftsregister nach §707 BGB n. F. (MoPeG, in Kraft seit 01.01.2024) nutzen — freiwillig. Einzelkaufleute, die ins HR eingetragen sind, gleichermaßen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, diensteanbieter_geschaeftsmaessig
Mindestens eine muss passen: anbieter_im_handelsregister, anbieter_im_vereinsregister, anbieter_im_genossenschaftsregister, anbieter_im_partnerschaftsregister, anbieter_im_gesellschaftsregister

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
  • anbieter_im_handelsregister - greift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-ID
  • anbieter_im_vereinsregister - greift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-ID
  • anbieter_im_genossenschaftsregister - greift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-ID
  • anbieter_im_partnerschaftsregister - greift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-ID
  • anbieter_im_gesellschaftsregister - greift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-ID
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 1 Nr. 4 Allgemeine Informationspflichten — Registereintrag

Risiko: 540,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
anbieter_im_handelsregistergreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
anbieter_im_vereinsregistergreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
anbieter_im_genossenschaftsregistergreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
anbieter_im_partnerschaftsregistergreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
anbieter_im_gesellschaftsregistergreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        }
    ],
    "oder": [
        {
            "scope": "anbieter_im_handelsregister"
        },
        {
            "scope": "anbieter_im_vereinsregister"
        },
        {
            "scope": "anbieter_im_genossenschaftsregister"
        },
        {
            "scope": "anbieter_im_partnerschaftsregister"
        },
        {
            "scope": "anbieter_im_gesellschaftsregister"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-5-register-eintrag",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "impressum",
    "check_hinweis": "- Impressum-Seite laden.\n- Regex HRB/HRA: `\\b(HRA|HRB|VR|GnR|PR|GesR)\\s*\\d{2,7}\\b`.\n- Regex Registergericht: `\\bAmtsgericht\\s+[A-ZÄÖÜa-zäöüß\\-\\s]+\\b`.\n- KI-Prompt: \"Nenne Rechtsform. Wenn Rechtsform registerpflichtig (GmbH, UG, AG, OHG, KG, eG, e. V., PartG):\n  sind Registerart + Nummer + Registergericht vollständig angegeben?\"\n- Bei GbR ohne eGbR-Eintragung → Rule `not_applicable`.\n- Bei eGbR (seit MoPeG 01.01.2024): prüfe auf GesR-Nennung.\n",
    "normalization": {
        "section_name": "impressum"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            }
        ],
        "oder": [
            {
                "scope": "anbieter_im_handelsregister"
            },
            {
                "scope": "anbieter_im_vereinsregister"
            },
            {
                "scope": "anbieter_im_genossenschaftsregister"
            },
            {
                "scope": "anbieter_im_partnerschaftsregister"
            },
            {
                "scope": "anbieter_im_gesellschaftsregister"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Handelsregister: Amtsgericht {{registergericht_ort}}, {{registerart}} {{registernummer}}\"\n\n— Beispiel —\n\"Handelsregister: Amtsgericht München, HRB 123456\"\n\n— Verein —\n\"Vereinsregister: Amtsgericht {{ort}}, VR {{nummer}}\"\n\n— Genossenschaft —\n\"Genossenschaftsregister: Amtsgericht {{ort}}, GnR {{nummer}}\"\n"
}

impressum / ddg

Impressum: Zweiter, unmittelbarer Kommunikationsweg neben E-Mail

a-ddg-5-schneller-kontakt-zusatz

executablepublic_aistructured_page
Was macht diese Regel?

Der EuGH (C-298/07 „deutsche internet versicherung AG") verlangt neben der E-Mail einen WEITEREN unmittelbaren und effizienten Kommunikationsweg. In der deutschen Praxis sind zwei Varianten anerkannt: (a) Telefonnummer, unter der ein menschlicher Ansprechpartner erreichbar ist (b) Kontaktformular + Zusicherung einer Reaktionszeit (≤ 60 Minuten laut EuGH im o. g. Verfahren) Eine einzelne Telefonnummer allein ist ausreichend. Reine Chatbots ohne sichtbaren Eskalationspfad zu einem Menschen genügen nach überwiegender Ansicht NICHT (OLG Hamm 4 U 216/13 zur TMG-Altfassung).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, diensteanbieter_geschaeftsmaessig

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 1 Nr. 2 Allgemeine Informationspflichten — unmittelbare Kommunikation

Risiko: 540,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-5-schneller-kontakt-zusatz",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "impressum",
    "check_hinweis": "- Impressum-Seite laden.\n- Regex Telefonnummer DE: `(?:\\+49|0)\\s?[\\d\\s\\-/()]{6,20}\\d`.\n- Prüfe auf `<a href=\"tel:...\">`.\n- Prüfe auf Kontaktformular-Link ODER „Kontaktformular unter ...\"; wenn vorhanden und klar zugeordnet: OK.\n- KI-Prompt: \"Wird neben der E-Mail-Adresse ein zweiter direkter Kontaktweg genannt (Telefonnummer ODER Kontaktformular mit Reaktionszusage)?\"\n- Soft-Fail bei reinem WhatsApp-Hinweis ohne Telefonnummer (zweifelhaft, Landgerichts-Rechtsprechung uneinheitlich → `needs_legal_review` setzen, wenn Scanner unsicher).\n",
    "normalization": {
        "section_name": "impressum"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Telefon: {{telefonnummer}}\n(erreichbar {{sprechzeiten}})\"\n\n— oder zusätzlich —\n\"Kontaktformular: {{url_kontaktformular}}\nWir antworten in der Regel innerhalb von 24 Stunden.\"\n"
}

impressum / ddg

Impressum: Umsatzsteuer-Identifikationsnummer (soweit vorhanden)

a-ddg-5-ust-id

executablepublic_autoregex_pattern
Was macht diese Regel?

§5 Abs. 1 Nr. 6 DDG verpflichtet zur Angabe der Umsatzsteuer- Identifikationsnummer nach §27a UStG **soweit vorhanden**. Wer keine USt-ID besitzt (z. B. Kleinunternehmer nach §19 UStG ohne freiwillige USt-ID-Beantragung), muss nichts eintragen — darf die Angabe dann aber auch nicht erfinden. Wer eine USt-ID besitzt, MUSS sie im Impressum nennen (Format "DE" + 9 Ziffern). ACHTUNG: Es gibt eine zweite, häufig verwechselte Nummer — die **steuerliche Identifikationsnummer** (Steuer-ID, 11 Ziffern) nach §139b AO. Diese ist eine Personenkennziffer und darf NICHT im Impressum erscheinen. Verwechslung = Datenschutzverstoß (DSGVO Art. 5 Abs. 1 lit. c).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, diensteanbieter_geschaeftsmaessig, anbieter_besitzt_ust_id

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
  • anbieter_besitzt_ust_id - greift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-ID
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 1 Nr. 6 Allgemeine Informationspflichten — Umsatzsteuer-ID

Risiko: 540,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
anbieter_besitzt_ust_idgreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        },
        {
            "scope": "anbieter_besitzt_ust_id"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-5-ust-id",
    "fix_type": "diy_text",
    "check_type": "regex_pattern",
    "section_name": "impressum",
    "check_hinweis": "- Impressum-Seite laden.\n- Regex USt-ID DE: `\\bDE\\s?\\d{9}\\b`.\n- Regex Steuer-ID (Anti-Signal — soll NICHT erscheinen): `\\b\\d{2}\\s?\\d{3}\\s?\\d{3}\\s?\\d{3}\\b` (11 Ziffern).\n- KI-Prompt: \"Wird eine USt-IdNr. im DE-Format genannt? Wird fälschlich die 11-stellige Steuer-Identifikationsnummer angegeben?\"\n- Soft-Pass wenn Scanner nicht feststellen kann, ob der Anbieter umsatzsteuerpflichtig ist (Kleinunternehmer-Regelung).\n- Negativ-Signal: \"Steuernummer: 123/456/78901\" — das ist die (örtliche) Steuernummer, NICHT §27a-ID; kein direkter DDG-Verstoß, aber oft Indiz, dass USt-ID fehlt.\n",
    "normalization": {
        "section_name": "impressum"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            },
            {
                "scope": "anbieter_besitzt_ust_id"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Umsatzsteuer-Identifikationsnummer gemäß § 27a UStG: {{ust_id_de}}\"\n\n— Beispiel —\n\"Umsatzsteuer-Identifikationsnummer gemäß § 27a UStG: DE123456789\"\n"
}

impressum / ddg

Impressum: Wirtschafts-Identifikationsnummer (soweit vorhanden)

a-ddg-5-wirtschafts-id

executablepublic_autoregex_pattern
Was macht diese Regel?

§5 Abs. 1 Nr. 6 DDG erwähnt neben der USt-IdNr. auch die Wirtschafts-Identifikationsnummer nach §139c AO. Diese Nummer wird in DE seit Ende 2024 schrittweise durch die Bundeszentralamt für Steuern (BZSt) vergeben — an jeden wirtschaftlich Tätigen (auch Kleinunternehmer, Vereine, Freiberufler). Wer bereits eine W-IdNr. besitzt, MUSS sie im Impressum angeben. Die Nummer beginnt mit "DE" + 9 Ziffern + "-" + 5 Ziffern als Unterscheidungsmerkmal (z. B. "DE123456789-00001") — Kernnummer ist das DE-9-Ziffern-Präfix.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, diensteanbieter_geschaeftsmaessig, anbieter_besitzt_wirtschafts_id

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
  • anbieter_besitzt_wirtschafts_id - greift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-ID
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 1 Nr. 6 Allgemeine Informationspflichten — Wirtschafts-ID

Risiko: 540,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
anbieter_besitzt_wirtschafts_idgreift anhand von Anbieter-/Impressumsmerkmalen wie Rechtsform, Register oder USt-IDSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        },
        {
            "scope": "anbieter_besitzt_wirtschafts_id"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-5-wirtschafts-id",
    "fix_type": "diy_text",
    "check_type": "regex_pattern",
    "section_name": "impressum",
    "check_hinweis": "- Regex W-IdNr.: `\\bDE\\s?\\d{9}(-\\d{5})?\\b`.\n- Abgrenzung zur USt-IdNr. oft nur am Kontextwort \"Wirtschafts-Identifikationsnummer\", \"W-IdNr.\", \"§ 139c AO\" erkennbar.\n- KI-Prompt: \"Wird eine Wirtschafts-Identifikationsnummer nach §139c AO im Impressum genannt? (Optional — nur falls vorhanden.)\"\n- Im Rollout-Zeitraum 2024–2026: Rule `soft_pass` wenn nichts erkennbar (viele Anbieter haben noch keine W-IdNr.).\n",
    "normalization": {
        "section_name": "impressum"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            },
            {
                "scope": "anbieter_besitzt_wirtschafts_id"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Wirtschafts-Identifikationsnummer nach § 139c AO: {{wirtschafts_id}}\"\n\n— Beispiel —\n\"Wirtschafts-Identifikationsnummer nach § 139c AO: DE123456789-00001\"\n"
}

newsletter / uwg

Abmeldelink in jeder Werbe-E-Mail zwingend (§7 Abs. 2 Nr. 4 lit. b UWG)

a-uwg-7-abmeldelink-pflicht

executablepublic_aiai_semantic
Was macht diese Regel?

Jede Werbe-E-Mail MUSS einen funktionierenden, einfachen Abmelde-Mechanismus enthalten. Der Empfänger muss mit **einem Klick** widersprechen können — ohne Login, ohne Passwort, ohne Kostenfolge. Der Abmeldelink muss auch klar erkennbar sein ("Abmelden", "Newsletter abbestellen", "Unsubscribe"). Ein Verweis "Antworten Sie mit STOP" ohne Link oder ein Abmelden, das erst wieder ein Login erfordert, reicht nicht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: versendet_newsletter, versendet_werbung_via_email

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • versendet_newsletter - greift, wenn Kommunikation/Versand dieses Typs erkannt wird: newsletter
  • versendet_werbung_via_email - greift, wenn Kommunikation/Versand dieses Typs erkannt wird: werbung via email
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 7 Abs. 2 Nr. 4 lit. b Fehlen eines Abmelde-Hinweises

Risiko: 800,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
versendet_newslettergreift, wenn Kommunikation/Versand dieses Typs erkannt wird: newsletterSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
versendet_werbung_via_emailgreift, wenn Kommunikation/Versand dieses Typs erkannt wird: werbung via emailSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "versendet_newsletter"
        },
        {
            "scope": "versendet_werbung_via_email"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-7-abmeldelink-pflicht",
    "fix_type": "diy_config",
    "check_type": "ai_semantic",
    "section_name": "newsletter",
    "check_hinweis": "- Scanner kann Abmelde-Mechanik nur über Playwright-E-Mail-Flow testen:\n  Newsletter abonnieren → Bestätigung → erste Newsletter-Mail → prüfe\n  Vorhandensein + Funktion des Abmeldelinks. Ein Klick → Landingpage\n  bestätigt Abmeldung OHNE Login.\n- KI-Prompt (sofern Newsletter-Anmeldungs-Text): \"Wird in der Anmeldeseite\n  und in der Datenschutzerklärung beschrieben, dass der Newsletter\n  jederzeit per Ein-Klick-Abmeldelink beendet werden kann?\"\n",
    "normalization": {
        "section_name": "newsletter"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "versendet_newsletter"
            },
            {
                "scope": "versendet_werbung_via_email"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "IMPLEMENTIERUNG Abmeldelink:\n\n1. In JEDER Werbe-E-Mail im Footer:\n   \"Sie erhalten diese E-Mail, weil Sie unseren Newsletter abonniert haben.\n    Falls Sie keine weiteren Nachrichten mehr wünschen, können Sie sich\n    hier mit einem Klick abmelden: [Abmelden]\"\n\n2. Der Abmelde-Link MUSS einen Token-basierten, individuellen Abmelde-\n   Endpoint aufrufen:\n     https://{{domain}}/abmelden?token=abc123...\n\n3. Die Ziel-Landingpage bestätigt sofort die Abmeldung OHNE Login, OHNE\n   Passwort, OHNE weitere Daten-Abfrage.\n\n4. Alle gängigen Newsletter-Tools (Brevo, CleverReach, Rapidmail) bieten\n   den Link standardmäßig — technische Implementierung = Häkchen im\n   Template.\n\n5. Außerdem die **List-Unsubscribe**-Header setzen (RFC 8058 + RFC 2369):\n     List-Unsubscribe: <mailto:unsubscribe+token@{{domain}}.de>,\n                     <https://{{domain}}/abmelden?token=abc123>\n     List-Unsubscribe-Post: List-Unsubscribe=One-Click\n   → Ein-Klick-Abmelden aus dem Postfach, von Gmail/Outlook/Apple Mail\n     unterstützt (seit Februar 2024 von Gmail faktisch verpflichtet\n     für Bulk-Sender).\n"
}

newsletter / uwg

Absender-Identität in jeder Werbe-E-Mail klar erkennbar (§7 Abs. 2 Nr. 4 UWG)

a-uwg-7-absender-identitaet

executablepublic_aiai_semantic
Was macht diese Regel?

Jede Werbe-E-Mail MUSS den Absender eindeutig identifizieren. Unlautere Belästigung liegt vor, wenn der Absender bei der Verbreitung der Werbung verschleiert oder seine Identität nicht erkennbar ist. Pflicht-Elemente: absendende Firma/natürliche Person, gültige Antwort-E-Mail-Adresse, ggf. Impressum-Link. "from:no-reply@..." + nirgendwo Unternehmensname → Verstoß.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: versendet_newsletter, versendet_werbung_via_email

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • versendet_newsletter - greift, wenn Kommunikation/Versand dieses Typs erkannt wird: newsletter
  • versendet_werbung_via_email - greift, wenn Kommunikation/Versand dieses Typs erkannt wird: werbung via email
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 7 Abs. 2 Nr. 4 lit. a Absender-Verschleierung in Werbe-E-Mails

Risiko: 800,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
versendet_newslettergreift, wenn Kommunikation/Versand dieses Typs erkannt wird: newsletterSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
versendet_werbung_via_emailgreift, wenn Kommunikation/Versand dieses Typs erkannt wird: werbung via emailSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "versendet_newsletter"
        },
        {
            "scope": "versendet_werbung_via_email"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-7-absender-identitaet",
    "fix_type": "diy_config",
    "check_type": "ai_semantic",
    "section_name": "newsletter",
    "check_hinweis": "- Scanner: wenn Newsletter-Subscription möglich → Test-E-Mail auslösen +\n  Absender-Felder prüfen:\n  * from-Name muss menschenlesbar sein (Firmenname)\n  * Reply-To muss auf eine gültige Adresse zeigen\n  * E-Mail-Footer muss Firmenname, Anschrift, ggf. Registereintrag\n    enthalten (Impressum im Newsletter-Footer = Best Practice,\n    teils gesetzlich verlangt)\n- Alternativ: KI-Analyse der Newsletter-Beschreibung in DSE/Anmeldeseite.\n",
    "normalization": {
        "section_name": "newsletter"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "versendet_newsletter"
            },
            {
                "scope": "versendet_werbung_via_email"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "JEDE WERBE-E-MAIL MUSS ENTHALTEN:\n\n1. FROM-HEADER:\n   From: \"{{firma}} Newsletter\" <newsletter@{{domain}}.de>\n   → Nicht: From: \"Info\" <info@wasauchimmer.com>\n\n2. REPLY-TO:\n   Reply-To: kontakt@{{domain}}.de (muss existieren und beantwortet\n   werden)\n\n3. E-MAIL-FOOTER (mit voller Anbieter-Identifikation):\n   ---\n   {{firma}}\n   {{straße_hausnummer}}\n   {{plz_ort}}\n   USt-IdNr.: {{ust_id}}\n   Vertreten durch: {{geschaeftsfuehrer}}\n   Handelsregister: {{registergericht}}, {{hrb}}\n   Kontakt: kontakt@{{domain}}.de\n\n   [Abmeldelink]  [Cookie-Einstellungen]\n   ---\n\nBei juristischen Personen: Pflichtangaben wie DDG §5 ähnlich; bei Einzel-\nunternehmern: Name + Anschrift. Rechtsträger muss eindeutig sein.\n"
}

newsletter / uwg

Generalverbot unzumutbarer Belästigungen (§7 Abs. 1 UWG)

a-uwg-7-belaestigung-grundsatz

requires_owner_permissionbrowser_interactiveai_visual
Was macht diese Regel?

Eine geschäftliche Handlung ist unzulässig, wenn sie einen Marktteilnehmer in unzumutbarer Weise belästigt. §7 Abs. 1 ist die Auffangnorm — die konkreten Fallgruppen (Abs. 2 Nr. 1-4) haben Vorrang. Die Rule greift als Dach-Rule für: - Pop-ups, die nicht geschlossen werden können (Dark Pattern) - Layer/Modal-Werbung, die nach Schließen sofort wieder erscheint - Aufdringliche Live-Chat-Widgets mit Tonsignal oder forcierter Interaktion - Entry-Popups mit unseriösen Tracking-Zielen

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI bewertet sichtbare Merkmale aus Screenshot/Rendering, z. B. Banner, sichtbare Hinweise, Buttons oder optische Dark Patterns. Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 7 Abs. 1 Unzumutbare Belästigungen — Grundverbot

Risiko: 800,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI bewertet sichtbare Merkmale aus Screenshot/Rendering, z. B. Banner, sichtbare Hinweise, Buttons oder optische Dark Patterns.

scan_mode: Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-7-belaestigung-grundsatz",
    "fix_type": "diy_config",
    "check_type": "ai_visual",
    "section_name": "newsletter",
    "check_hinweis": "- Visual-Check: übermäßige Pop-ups, nicht-schließbare Banner,\n  wiederkehrende Layer, autoplay-Videos mit Ton.\n- Playwright-Szenario: Banner schließen → kommt es innerhalb der Session\n  wieder?\n- `fix_type: diy_config` weil Fix in Website-Gestaltung liegt.\n- KI-Prompt (ai_visual als Fallback): \"Zeigt der Screenshot aufdringliche\n  Werbe-Elemente, die den Inhalt massiv überlagern und schlecht schließbar\n  sind?\"\n",
    "normalization": {
        "section_name": "newsletter"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "TECHNISCHER FIX (diy_config):\n1. Pop-ups nur nach deutlichem User-Trigger (Klick auf Button),\n   NICHT nach wenigen Sekunden automatisch.\n2. Schließen-Button gut sichtbar und funktionierend.\n3. Pro Session nur EINMAL anzeigen (Cookie-Flag).\n4. Keine autoplay-Werbung mit Ton.\n5. Live-Chat-Widget: standardmäßig minimiert, kein Tonsignal.\n"
}

newsletter / uwg

Bestandskundenausnahme (§7 Abs. 3 UWG) — E-Mail-Werbung an eigene Kunden unter 4 kumulativen Bedingungen

a-uwg-7-bestandskunden-ausnahme

executablepublic_aiai_semantic
Was macht diese Regel?

Ausnahmsweise darf E-Mail-Werbung ohne ausdrückliche Einwilligung an Bestandskunden gerichtet werden, wenn ALLE vier Bedingungen aus §7 Abs. 3 UWG kumulativ erfüllt sind: 1. Der Unternehmer hat die E-Mail-Adresse **im Zusammenhang mit dem Verkauf einer Ware oder Dienstleistung** vom Kunden erhalten, 2. Der Unternehmer verwendet die E-Mail-Adresse zur Direktwerbung für **eigene ähnliche Waren oder Dienstleistungen**, 3. Der Kunde hat der Verwendung nicht widersprochen, und 4. Der Kunde wurde **bei Erhebung** der E-Mail-Adresse **und bei jeder weiteren Verwendung** klar und deutlich darauf hingewiesen, dass er der Verwendung jederzeit widersprechen kann, ohne dass ihm Kosten entstehen. Die Ausnahme ist **eng** auszulegen — "ähnliche Waren" = Produkte/Leistungen aus demselben sachlichen Bereich wie beim ursprünglichen Kauf, keine Quervermarktung für völlig andere Produktkategorien.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: hat_shop, hat_bestandskunden_werbung, versendet_werbung_via_email

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_shop - greift bei Shop/Warenkorb/Checkout-Signalen
  • hat_bestandskunden_werbung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: bestandskunden werbung
  • versendet_werbung_via_email - greift, wenn Kommunikation/Versand dieses Typs erkannt wird: werbung via email
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 7 Abs. 3 Nr. 1–4 Bestandskundenausnahme

Risiko: 800,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_shopgreift bei Shop/Warenkorb/Checkout-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_bestandskunden_werbunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: bestandskunden werbungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
versendet_werbung_via_emailgreift, wenn Kommunikation/Versand dieses Typs erkannt wird: werbung via emailSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "hat_shop"
        },
        {
            "scope": "hat_bestandskunden_werbung"
        },
        {
            "scope": "versendet_werbung_via_email"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-7-bestandskunden-ausnahme",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": "newsletter",
    "check_hinweis": "- KI-Prompt: \"Gibt es im Bestellprozess / Kundenkonto-Prozess einen klaren\n  Hinweis, dass die E-Mail-Adresse für Direktwerbung für ähnliche Produkte\n  verwendet werden darf, und dass der Kunde jederzeit kostenlos\n  widersprechen kann?\"\n- Prüfe Bestellformular / Checkout: existiert ein entsprechender\n  Widerspruchs-Hinweis (nicht als \"Check it to OPT-IN\" — das ist eine\n  eigene Einwilligung — sondern als reiner Hinweis auf Widerspruchsrecht)?\n- Prüfe Folge-E-Mails: enthalten sie jeweils den Widerspruchshinweis?\n",
    "normalization": {
        "section_name": "newsletter"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "hat_shop"
            },
            {
                "scope": "hat_bestandskunden_werbung"
            },
            {
                "scope": "versendet_werbung_via_email"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Bei größerem Bestandskunden-Volumen: Fachanwalt für Wettbewerbsrecht zur\nAusgestaltung des Hinweis-Textes einbeziehen. Enge Auslegung von \"Verkauf\neiner Ware\" vs. \"Leadmagnet\" rechtsanwaltlich klären.\n",
    "fix_text_vorlage": "IMPLEMENTIERUNG DER 4 BEDINGUNGEN (§7 ABS. 3 UWG):\n\n1. IM BESTELL-PROZESS (bei Datenerhebung):\n   \"Wir verwenden Ihre E-Mail-Adresse, um Sie gelegentlich über ähnliche\n    Produkte/Dienstleistungen aus unserem Sortiment zu informieren (§7\n    Abs. 3 UWG). Sie können dieser Verwendung jederzeit widersprechen,\n    ohne dass hierfür andere als die Übermittlungskosten nach Basistarif\n    entstehen — per E-Mail an {{widerspruch_email}} oder über den\n    Abmeldelink in jeder Nachricht.\"\n\n2. IN JEDER BESTANDSKUNDEN-E-MAIL:\n   Am Anfang oder im Footer wiederholen:\n   \"Sie erhalten diese E-Mail, weil Sie bei uns gekauft haben (§7 Abs. 3\n    UWG). Sie können dieser Verwendung jederzeit kostenlos widersprechen:\n    [Abmelden].\"\n\n3. \"Ähnliche Waren\" ENG auslegen:\n   - Wer einen Laufschuh gekauft hat, darf Bestandskunden-E-Mails zu\n     Laufschuhen, Lauf-Zubehör, Sportbekleidung im Lauf-Bereich erhalten.\n   - NICHT: Yoga-Matten, Fahrräder, Smart-Home (andere Kategorie).\n\n4. DOKUMENTATION:\n   - Kauf-Datum + Produkt-Kategorie pro Kunde\n   - Datum + Text des Hinweis-Formulars\n   - Widerspruchs-Registrierung mit Zeitstempel\n\n5. ABGRENZUNG:\n   - §7 Abs. 3 UWG ist NICHT die \"einfache Alternative\" zu DOI — sie ist\n     strikt an den Bestandskundenstatus + ähnliche Produkte geknüpft.\n   - Wer nur einen Downloadguide/E-Book bezogen hat, ist KEIN\n     Bestandskunde im Sinne des §7 Abs. 3 (strittig — siehe needs_legal_review).\n"
}

newsletter / uwg

Double-Opt-In-Nachweis dokumentieren und aufbewahren (BGH I ZR 218/07)

a-uwg-7-doi-nachweis

executableowner_deepai_semantic
Was macht diese Regel?

Für jeden Newsletter-/Werbe-E-Mail-Empfänger muss der Werbende im Streitfall nachweisen können, dass eine gültige Einwilligung vorliegt. Nach ständiger Rechtsprechung (BGH I ZR 218/07, 11.03.2010; OLG München 29 U 2340/19) ist der Nachweis durch ein **Double-Opt-In-Verfahren** mit vollständiger Dokumentation zu führen: Anmelde-Zeitstempel + IP-Adresse + Formular-Inhalt + Bestätigungs-E-Mail + Bestätigungs- Zeitstempel + Bestätigungs-Klick-IP. Die Beweislast trägt der Werbende, nicht der Empfänger. Die Aufbewahrungsfrist entspricht mindestens der Verjährungsfrist wettbewerbsrechtlicher Ansprüche (6 Monate ab Kenntnis, max. 3 Jahre §11 UWG) plus Puffer — empfohlen 5 Jahre.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: hat_newsletter_formular, versendet_newsletter, versendet_werbung_via_email

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_newsletter_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formular
  • versendet_newsletter - greift, wenn Kommunikation/Versand dieses Typs erkannt wird: newsletter
  • versendet_werbung_via_email - greift, wenn Kommunikation/Versand dieses Typs erkannt wird: werbung via email
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 7 Abs. 2 Nr. 3 (Beweislast-Auslegung durch BGH I ZR 218/07) Nachweispflicht der Einwilligung

Risiko: 1.500,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: critical

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
versendet_newslettergreift, wenn Kommunikation/Versand dieses Typs erkannt wird: newsletterSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
versendet_werbung_via_emailgreift, wenn Kommunikation/Versand dieses Typs erkannt wird: werbung via emailSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "hat_newsletter_formular"
        },
        {
            "scope": "versendet_newsletter"
        },
        {
            "scope": "versendet_werbung_via_email"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-7-doi-nachweis",
    "fix_type": "diy_config",
    "check_type": "ai_semantic",
    "section_name": "newsletter",
    "check_hinweis": "- Scanner kann die Dokumentation selbst nicht prüfen (liegt in den Logs des\n  E-Mail-Providers); kann aber das Vorhandensein eines DOI-Flows testen:\n- Playwright: E-Mail-Adresse eintragen, absenden → erhält die Adresse eine\n  Bestätigungs-E-Mail? Ist der Link in der Bestätigungs-E-Mail individuell\n  (Token)?\n- KI-Prompt: \"Gibt es in der Datenschutzerklärung oder auf der Newsletter-\n  Seite einen Hinweis auf Double-Opt-In + Dokumentationsdauer?\"\n- Empfehlung: Zusätzlich auf Datenschutzerklärung prüfen, ob DOI\n  beschrieben ist (Transparenz-Pflicht nach DSGVO Art. 13).\n",
    "normalization": {
        "section_name": "newsletter"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "hat_newsletter_formular"
            },
            {
                "scope": "versendet_newsletter"
            },
            {
                "scope": "versendet_werbung_via_email"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "REGELN zur DOI-Dokumentation:\n\nDOKUMENTATIONSDATEN pro Anmeldung:\n- E-Mail-Adresse\n- Anmelde-Zeitstempel (UTC + Local)\n- IP-Adresse (IPv4/IPv6) zum Anmelde-Zeitpunkt\n- User-Agent-String\n- Formular-Inhalt im Wortlaut (Screenshot + HTML-Snapshot im Revisionsstand)\n- Datum/Uhrzeit + Empfängeradresse der Bestätigungs-E-Mail\n- Bestätigungs-Klick-Zeitstempel + IP (aus Link-Klick-Tracking)\n- Status (pending/bestätigt/abgemeldet)\n- Abmelde-Zeitstempel (falls zutreffend) + Grund\n\nAUFBEWAHRUNG:\n- mindestens für Dauer der laufenden Einwilligung + 5 Jahre nach Ende\n- bei Export/Tool-Wechsel muss die Dokumentation mitgenommen werden\n\nTOOL-EMPFEHLUNG (EU-Hoster, integriertes DOI-Logging):\n- Brevo (ex Sendinblue) — französisch, EU-gehostet\n- CleverReach — deutsch\n- Rapidmail — deutsch\n- MailChimp / Klaviyo — US, aber DPF-zertifiziert\n\nLEGAL-SICHERUNG:\n- Formular-Wortlaut und Datenschutzerklärung bei Änderungen versionieren\n  (wichtig für Altabonnenten)\n"
}

newsletter / uwg

E-Mail-Werbung/Newsletter nur mit ausdrücklicher Einwilligung (§7 Abs. 2 Nr. 3 UWG)

a-uwg-7-mail-werbung-einwilligung

executablepublic_aiai_semantic
Was macht diese Regel?

Werbung per E-Mail (einschließlich Newsletter, Promotions, "Sonderangebot diese Woche") ist ohne vorherige **ausdrückliche Einwilligung** des Adressaten stets unzulässig und stellt eine unzumutbare Belästigung dar. Die Einwilligung muss ausdrücklich (aktive Zustimmung, kein Vorkreuzen), informiert (Zweck genannt) und freiwillig (keine Kopplung mit anderen Leistungen) sein. In der Praxis verlangt die Rechtsprechung zur Nachweis- barkeit den **Double-Opt-In (DOI)** — Bestätigungs-E-Mail nach Anmeldung, erst nach Klick auf den Bestätigungs-Link gilt die Einwilligung als wirksam erteilt. Diese Rule erfasst den UWG-Kern; die technische Umsetzung des DOI-Flows (E-Mail-Template, Logging, Tool-Konfiguration) wird in Ebene B `newsletter-doi.md` detailliert.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: hat_newsletter_formular, hat_e-book_download_mit_email, hat_webinar_anmeldung, sammelt_emails_via_formular

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_newsletter_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formular
  • hat_e-book_download_mit_email - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: e book download mit email
  • hat_webinar_anmeldung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: webinar anmeldung
  • sammelt_emails_via_formular - greift, wenn der Trigger "sammelt_emails_via_formular" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 7 Abs. 2 Nr. 3 E-Mail-Werbung ohne ausdrückliche Einwilligung

Risiko: 1.000,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_e-book_download_mit_emailgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: e book download mit emailSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_webinar_anmeldunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: webinar anmeldungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
sammelt_emails_via_formulargreift, wenn der Trigger "sammelt_emails_via_formular" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "hat_newsletter_formular"
        },
        {
            "scope": "hat_e-book_download_mit_email"
        },
        {
            "scope": "hat_webinar_anmeldung"
        },
        {
            "scope": "sammelt_emails_via_formular"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-7-mail-werbung-einwilligung",
    "fix_type": "diy_config",
    "check_type": "ai_semantic",
    "section_name": "newsletter",
    "check_hinweis": "- DOM-Scan: Newsletter-/Anmelde-Formulare erkennen (Input name=\"email\" +\n  Submit-Button mit \"Newsletter\", \"Abonnieren\", \"Anmelden\").\n- Prüfe Begleittext: wird der Nutzer über den Zweck (Newsletter-Versand,\n  Werbung) aufgeklärt? Ist eine aktive Zustimmungs-Checkbox vorhanden (KEIN\n  Vorkreuzen)?\n- Playwright: Formular ausfüllen + absenden → erhält die angegebene\n  E-Mail-Adresse eine BESTÄTIGUNGS-E-Mail (DOI)? Oder wird sofort der\n  Newsletter zugesandt (Single-Opt-In = Verstoß)?\n- KI-Prompt: \"Enthält die Anmeldeseite einen klaren Hinweis, welche\n  Inhalte versendet werden, einen Datenschutz-Hinweis mit Link, einen\n  Widerrufshinweis? Ist die Einwilligung-Checkbox aktiv zu setzen?\"\n",
    "normalization": {
        "section_name": "newsletter"
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "hat_newsletter_formular"
            },
            {
                "scope": "hat_e-book_download_mit_email"
            },
            {
                "scope": "hat_webinar_anmeldung"
            },
            {
                "scope": "sammelt_emails_via_formular"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "KOMPLETT-VORLAGE für rechtskonformes Newsletter-Anmelde-Formular:\n\n---\nNEWSLETTER-ANMELDUNG\n---\n[ E-Mail-Adresse              ]  [Anmelden]\n\n[ ] Ja, ich möchte den {{firma}}-Newsletter mit Informationen zu\n    {{produkt_kategorie}}, Rabatten und Aktionen erhalten. Eine Abmeldung\n    ist jederzeit über den Link in jeder E-Mail oder per E-Mail an\n    {{abmelde_email}} möglich. Informationen zur Verarbeitung Ihrer Daten\n    finden Sie in unserer Datenschutzerklärung (Link).\n\n→ Nach Klick auf \"Anmelden\" versenden wir eine Bestätigungs-E-Mail an\n  die angegebene Adresse. Bitte klicken Sie auf den Bestätigungs-Link\n  in dieser E-Mail, um die Anmeldung abzuschließen. (Double-Opt-In)\n\nIMPLEMENTIERUNGS-PFLICHT (diy_config):\n1. Tool mit DOI-Funktion einsetzen (Brevo/Sendinblue, CleverReach,\n   MailChimp, Rapidmail, CleverPush, Klaviyo — alle EU-Anbieter oder\n   DPF-zertifiziert).\n2. Bestätigungs-E-Mail MUSS individualisierten Bestätigungs-Link enthalten\n   (Token, nicht allgemein; zeitlich begrenzt 24–72 h).\n3. Erst nach Klick auf Link Eintrag in den Versand-Verteiler.\n4. Vollständige Dokumentation: IP-Adresse, Zeitstempel, Formular-Inhalt,\n   Bestätigungs-Zeitstempel, später abgemeldete Nutzer.\n5. Siehe auch `a-uwg-7-doi-nachweis` (Nachweisführung) und\n   `a-uwg-7-absender-identitaet` / `a-uwg-7-abmeldelink-pflicht`.\n"
}

platform_dsa / dsa

Hauptparameter der Werbeausspielung offengelegt

a-dsa-art26-parameter-ausspielung

executablepublic_aistructured_page
Was macht diese Regel?

Die wichtigsten Parameter, nach denen eine bestimmte Werbung dem Nutzer angezeigt wird (z. B. Standort, Gerät, Interessensprofil, Zielgruppen- merkmale), müssen in einer klar sichtbaren und standardisierten Form offengelegt werden — idealerweise über einen Link/Button direkt am Werbemittel.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, werbung_vorhanden, werbung_zielgerichtet

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • werbung_vorhanden - greift, wenn der Trigger "werbung_vorhanden" im ScanScope aktiv ist
  • werbung_zielgerichtet - greift, wenn der Trigger "werbung_zielgerichtet" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 26 Abs. 1 lit. d Werbung — Ausspielungsparameter

Risiko: 1.000,00 EUR bis 1.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
werbung_vorhandengreift, wenn der Trigger "werbung_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
werbung_zielgerichtetgreift, wenn der Trigger "werbung_zielgerichtet" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "werbung_vorhanden"
        },
        {
            "scope": "werbung_zielgerichtet"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsa-art26-parameter-ausspielung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "platform_dsa",
    "check_hinweis": "Scope-Filter: Nur bei zielgerichteter Werbung (nicht bei rein\nkontextbezogener Content-Werbung). DOM-Scan auf Ad-Info-Links.\n",
    "normalization": {
        "section_name": "platform_dsa",
        "rechtsrisiko_typ": [
            "bussgeld_bnetza",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "werbung_vorhanden"
            },
            {
                "scope": "werbung_zielgerichtet"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Info-Button am Werbemittel (\"Warum sehe ich diese Anzeige?\") mit:\n- Zielgruppenmerkmale (grobes Profil)\n- Standort, Gerät, ggf. Interessenkategorien\n- Link zu AGB/Datenschutzerklärung mit Details\nAlternativ: Verweis auf zentrale \"Warum-sehe-ich-diese-Werbung\"-\nSeite mit nachvollziehbarer Auflistung.\n"
}

platform_dsa / dsa

Identität des Werbetreibenden beim Werbemittel angegeben

a-dsa-art26-werbetreibender-angeben

executablepublic_aistructured_page
Was macht diese Regel?

Nutzer müssen klar erkennen können, wer die Werbung bezahlt hat — die natürliche oder juristische Person, in deren Namen die Werbung angezeigt wird. Bei Drittwerbung über Ad-Netzwerke: Identität des Werbetreibenden muss zugänglich sein (z. B. über "Info"-Icon).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, werbung_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • werbung_vorhanden - greift, wenn der Trigger "werbung_vorhanden" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 26 Abs. 1 lit. b und c Werbung — Werbetreibender

Risiko: 1.000,00 EUR bis 1.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
werbung_vorhandengreift, wenn der Trigger "werbung_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "werbung_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsa-art26-werbetreibender-angeben",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "platform_dsa",
    "check_hinweis": "Prüfung: Ist bei jedem Werbemittel die Identität erkennbar? Info-\nButton / Tooltip mit Werbetreibendem?\n",
    "normalization": {
        "section_name": "platform_dsa",
        "rechtsrisiko_typ": [
            "bussgeld_bnetza",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "werbung_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Pro Werbemittel:\n- Angabe \"Werbetreibender: [Name]\" oder\n- Info-Button/Icon mit Auflösung der Werbetreibenden-Identität\n- Bei Eigenwerbung: \"Eine Anzeige der [eigene Firma]\"\n"
}

platform_dsa / dsa

Werbung als solche klar erkennbar gekennzeichnet

a-dsa-art26-werbung-erkennbar

executablepublic_aistructured_page
Was macht diese Regel?

Jede Werbung, die auf der Online-Schnittstelle angezeigt wird, muss für den Nutzer klar, präzise und eindeutig in Echtzeit erkennbar sein als Werbung. Dazu gehört eine deutliche Kennzeichnung (z. B. "Anzeige", "Werbung", "gesponsert"). Das gilt zusätzlich zu §6 DDG (Kennzeichnung kommerzieller Kommunikation) und §5a UWG.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, werbung_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • werbung_vorhanden - greift, wenn der Trigger "werbung_vorhanden" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 26 Abs. 1 lit. a Werbung auf Online-Plattformen

Risiko: 1.000,00 EUR bis 1.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
werbung_vorhandengreift, wenn der Trigger "werbung_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "werbung_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsa-art26-werbung-erkennbar",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "platform_dsa",
    "check_hinweis": "DOM-Scan auf Banner/Ad-Elemente. Heuristik: gekennzeichnet mit\n\"Anzeige\" / \"Werbung\" / \"Ad\" / \"Sponsored\"? Visuelle Abgrenzung\nzum redaktionellen Inhalt?\n",
    "normalization": {
        "section_name": "platform_dsa",
        "rechtsrisiko_typ": [
            "bussgeld_bnetza",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "werbung_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Jedes Werbemittel mit gut sichtbarer Kennzeichnung:\n- Text \"Anzeige\" oder \"Werbung\" oberhalb des Banners\n- Visuelle Abgrenzung (Rahmen, Farbe, Abstand zum Content)\n- Bei gesponserten Beiträgen: \"Gesponsert von [Firma]\"\n- Bei Influencer-Postings (extern): \"Werbung\" als erstes Wort\n"
}

platform_dsa / dsa

DSA-Risikobewertung systemische Risiken (jährlich)

c-20-dsa-risikobewertung-art-34

executablepublic_aistructured_page
Was macht diese Regel?

VLOPs führen gem. Art. 34 DSA jährliche Risikobewertungen durch (illegale Inhalte, Grundrechte, Demokratie, Gesundheit, Minderjährige). Zugriff für EU-Kommission + nationale Koordinatoren pflicht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_20, ist_vlop_vlose:true

  • branche_c_20 - greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt ist
  • ist_vlop_vlose:true - greift, wenn "ist vlop vlose" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 34 Risikobewertung

Risiko: 50.000,00 EUR bis 1.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_20greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
ist_vlop_vlose:truegreift, wenn "ist vlop vlose" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"ist_vlop_vlose":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_20"
        },
        {
            "ist_vlop_vlose": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-20-dsa-risikobewertung-art-34",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": "platform_dsa",
    "check_hinweis": "Aktuelle Assessment-Ergebnisse + Mitigations in Board-Minutes?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "section_name": "platform_dsa",
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_20"
            },
            {
                "ist_vlop_vlose": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "DSA-Audit-Firmen (Big 4) + spezialisierte Kanzleien.",
    "fix_text_vorlage": "Governance-Board + jährlicher Risiko-Report + Mitigations-Plan.\n"
}

platform_dsa / eu 2022/2065

DSA-Transparenzbericht (halbjährlich)

c-20-dsa-vlop-transparenzbericht

executablepublic_aistructured_page
Was macht diese Regel?

VLOPs/VLOSEs müssen nach Art. 42 DSA halbjährlich Transparenzberichte öffentlich zugänglich machen (Moderations-Aktionen, Risiko-Minderungen, Automationseinsatz, Beschwerden).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_20, ist_vlop_vlose:true

  • branche_c_20 - greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt ist
  • ist_vlop_vlose:true - greift, wenn "ist vlop vlose" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

EU 2022/2065 Art. 42 Transparenzberichterstattung VLOPs

Risiko: 10.000,00 EUR bis 500.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_20greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
ist_vlop_vlose:truegreift, wenn "ist vlop vlose" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"ist_vlop_vlose":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_20"
        },
        {
            "ist_vlop_vlose": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-20-dsa-vlop-transparenzbericht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "platform_dsa",
    "check_hinweis": "Existiert öffentliche Berichtsseite mit letztem Berichtsdatum < 6 Monate?\n",
    "normalization": {
        "section_name": "platform_dsa",
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_20"
            },
            {
                "ist_vlop_vlose": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"/transparency: halbjährlicher DSA-Bericht — Moderation, Appeals,\nAlgo-Einsatz, Risiko-Minderung.\"\n"
}

widerruf / bgb

14-tägiges Widerrufsrecht eingeräumt und klar kommuniziert

a-bgb-355-widerrufsrecht-14-tage

executablepublic_aistructured_page
Was macht diese Regel?

Verbrauchern steht bei Fernabsatzverträgen ein Widerrufsrecht von 14 Tagen zu. Die Frist beginnt mit Erhalt der Ware (Warenkauf) bzw. mit Vertragsschluss (Dienstleistung/digitale Inhalte). Der Widerruf ist formfrei möglich — keine Begründung erforderlich.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, b2c_vertrag_möglich

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • b2c_vertrag_moeglich - greift bei B2C-Vertrags-/Verbraucherbezug
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §355 i. V. m. §356 Widerrufsrecht bei Verbraucherverträgen

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
b2c_vertrag_moeglichgreift bei B2C-Vertrags-/VerbraucherbezugSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "b2c_vertrag_moeglich"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bgb-355-widerrufsrecht-14-tage",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "widerruf",
    "check_hinweis": "Scan der Seiten \"Widerruf\", \"Widerrufsbelehrung\", \"AGB\", Footer-Links.\nRegex auf \"14 Tage\" + \"Widerruf\". KI-Check ob Belehrung klar, getrennt\nund nicht in AGB versteckt.\n",
    "normalization": {
        "section_name": "widerruf",
        "rechtsrisiko_typ": [
            "abmahnung_plus_widerrufsfrist_verlaengert",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "b2c_vertrag_moeglich"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Eigene Seite \"Widerrufsbelehrung\" mit Footer-Link.\nStandardformulierung nach Anlage 1 EGBGB — siehe Rule 4.2.\n"
}

widerruf / bgb

Rechtsfolgen des Widerrufs vollständig angegeben (Rücksendekosten, Wertersatz)

a-bgb-357-rechtsfolgen-widerruf

executablepublic_aistructured_page
Was macht diese Regel?

Der Unternehmer muss angeben, wer die Rücksendekosten trägt (Verbraucher oder Unternehmer), wie die Rückabwicklung erfolgt und wann ggf. Wertersatz für gezogene Nutzungen oder Verschlechterung zu leisten ist. Bei digitalen Inhalten und Dienstleistungen besondere Hinweise auf Erlöschen des Widerrufsrechts bei Vollzug mit Einwilligung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, b2c_vertrag_möglich

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • b2c_vertrag_moeglich - greift bei B2C-Vertrags-/Verbraucherbezug
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §357 i. V. m. Art. 246a §1 Abs. 2 EGBGB Rechtsfolgen des Widerrufs

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
b2c_vertrag_moeglichgreift bei B2C-Vertrags-/VerbraucherbezugSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "b2c_vertrag_moeglich"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bgb-357-rechtsfolgen-widerruf",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "widerruf",
    "check_hinweis": "Teilcheck der WRB: enthält sie Abschnitt \"Folgen des Widerrufs\"?\nRücksendekosten-Zuordnung klar? Wertersatz-Hinweis vorhanden?\n",
    "normalization": {
        "section_name": "widerruf",
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "b2c_vertrag_moeglich"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Standard-Textbausteine aus Anlage 1 EGBGB:\n- \"Sie tragen die unmittelbaren Kosten der Rücksendung der Waren.\" ODER\n- \"Wir tragen die Kosten der Rücksendung der Waren.\"\n- \"Sie müssen für einen etwaigen Wertverlust der Waren nur aufkommen,\n  wenn dieser Wertverlust auf einen zur Prüfung der Beschaffenheit,\n  Eigenschaften und Funktionsweise der Waren nicht notwendigen Umgang\n  mit ihnen zurückzuführen ist.\"\n- Bei Dienstleistungen/digitalen Inhalten: Einwilligungserklärung mit\n  Kenntnisnahme des Erlöschens des Widerrufsrechts vor Leistungsbeginn.\n"
}

widerruf / egbgb

Widerrufsbelehrung nach Mustertext + Muster-Widerrufsformular vorhanden

a-bgb-356-widerrufsbelehrung-musterformular

executablepublic_aistructured_page
Was macht diese Regel?

Die Widerrufsbelehrung muss den gesetzlichen Musterwortlaut (Anlage 1 EGBGB) enthalten oder inhaltsgleich formuliert sein. Zusätzlich ist das Muster-Widerrufsformular (Anlage 2 EGBGB) zur Verfügung zu stellen. Beide Dokumente sind dem Verbraucher vor Vertragsschluss auf der Website zugänglich zu machen und nach Vertragsschluss in Textform zu übermitteln.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, b2c_vertrag_möglich

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • b2c_vertrag_moeglich - greift bei B2C-Vertrags-/Verbraucherbezug
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

EGBGB Art. 246a §1 Abs. 2 Nr. 1 + Anlagen 1 und 2 Widerrufsbelehrung bei Fernabsatzverträgen

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
b2c_vertrag_moeglichgreift bei B2C-Vertrags-/VerbraucherbezugSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "b2c_vertrag_moeglich"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bgb-356-widerrufsbelehrung-musterformular",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": "widerruf",
    "check_hinweis": "DOM-Scan nach WRB-Text und Muster-Widerrufsformular (PDF-Link oder\nVolltext). KI-Vergleich mit Anlage-1-/Anlage-2-Wortlaut.\n",
    "normalization": {
        "section_name": "widerruf",
        "rechtsrisiko_typ": [
            "abmahnung_plus_widerrufsfrist_verlaengert",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "b2c_vertrag_moeglich"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Widerrufsbelehrung nach Anlage 1 EGBGB einsetzen — Platzhalter ausfüllen:\n- Name/Anschrift/Telefonnr./E-Mail des Unternehmers\n- Hinweis zu Rücksendekosten (Pflichtangabe)\n- Ggf. Hinweise bei digitalen Inhalten / Dienstleistungen\nMuster-Widerrufsformular nach Anlage 2 EGBGB als PDF auf Widerrufsseite\nverlinken.\nVolltext: https://www.gesetze-im-internet.de/bgbeg/anlage_1.html\n"
}

ohne_section / (keine branchenspezifische) — verweis auf ebene a + b

Keine branchenspezifischen Zusatzpflichten (Hinweis-Rule)

c-01-keine-kammerpflicht

executablepublic_aistructured_page
Was macht diese Regel?

Für unregulierte Dienstleister (Coaching, Webdesign, Text, Grafik, Marketing) gibt es KEINE Kammerpflicht, KEINE Berufsordnung, KEINE Aufsichtsbehörde und KEINEN geschützten Titel. Es gelten ausschließlich Ebene A (BGB/DDG/ DSGVO/UWG) und Ebene B (TDDDG). Diese Rule ist eine Hinweis-Rule zur Scope-Abgrenzung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_01

  • branche_c_01 - greift, wenn Branche/Cluster branche_c_01 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Niedriges Risiko, Hinweis oder Feinschliff.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

(keine branchenspezifische) — Verweis auf Ebene A + B - Scope-Abgrenzung

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: low

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_01greift, wenn Branche/Cluster branche_c_01 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_01"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-01-keine-kammerpflicht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe, ob Anbieter tatsächlich unreguliert ist (kein Heilpraktiker-Claim,\nkein Coaching mit Fernlehrgang-Struktur, kein Fotograf ohne KUG-Beachtung).\nFalls doch → Weiterleitung zu Cluster 05 (Heilberufe) / Cluster 14 (FernUSG)\noder Rule 1.3.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "hinweis",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_01"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Keine branchenspezifischen Angaben erforderlich. Prüfe Einhaltung Ebene A\n(Impressum, Datenschutz, AGB/Widerruf) und Ebene B (Cookies/TDDDG).\n"
}

ohne_section / (muster-)berufsordnung Ärzte — mbo-Ä

§7 Abs. 4 MBO-Ä — Fernbehandlungsgrenzen (Telemedizin)

c-05-telemedizin-fernbehandlung

executablepublic_aistructured_page
Was macht diese Regel?

Seit Fernbehandlungs-Novelle 2018 erlaubt §7 Abs. 4 MBO-Ä ausschließliche Fernbehandlung, wenn dies ärztlich vertretbar und Sorgfaltsanforderungen gewahrt sind. Werbung muss deutlich machen: Ärztliche Sorgfalt, Notfallhinweis auf persönliche Untersuchung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_05, angebot:telemedizin_videosprechstunde

  • branche_c_05 - greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt ist
  • angebot:telemedizin_videosprechstunde - greift nur, wenn dieses Angebot/Produkt erkannt wurde: telemedizin videosprechstunde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

(Muster-)Berufsordnung Ärzte — MBO-Ä §7 Abs. 4 Behandlungsgrundsätze / Fernbehandlung

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_05greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:telemedizin_videosprechstundegreift nur, wenn dieses Angebot/Produkt erkannt wurde: telemedizin videosprechstundeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"telemedizin_videosprechstunde"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_05"
        },
        {
            "angebot": "telemedizin_videosprechstunde"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-05-telemedizin-fernbehandlung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Telemedizin-Angebot: Hinweise auf Grenzen der Fernbehandlung,\nNotfallverweis, ärztliche Sorgfalt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_kammerruege",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_05"
            },
            {
                "angebot": "telemedizin_videosprechstunde"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Hinweis zur Online-Sprechstunde: Die ausschließliche Fernbehandlung\nist nach §7 Abs. 4 MBO-Ä nur zulässig, wenn ärztlich vertretbar. Bei\nNotfällen oder wenn eine persönliche Untersuchung erforderlich ist,\nerfolgt eine Überweisung / Aufforderung zum Praxisbesuch. Notruf 112\nbei lebensbedrohlichen Zuständen.\"\n"
}

ohne_section / agb

AGB-Risikomuster technisch erkannt

legal.agb.risks

executablepublic_autolegal.agb.risks
Was macht diese Regel?

Ob auf AGB-Seiten bekannte Risikoklauseln oder auffaellige Trigger aus dem AGB-Katalog erkannt werden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §§ 305c, 307 Kontrolle überraschender und unangemessen benachteiligender AGB-Klauseln

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "legal_text_ai_assisted_risk_patterns",
    "check_type": "legal.agb.risks",
    "what_it_checks": "Ob auf AGB-Seiten bekannte Risikoklauseln oder auffaellige Trigger aus dem AGB-Katalog erkannt werden.",
    "evidence_sources": [
        "Textauszug",
        "HTML-Ausschnitt",
        "AGB-Risikokatalog"
    ],
    "legal_basis_refs": [
        "BGB §§ 305 ff.",
        "BGB § 307"
    ],
    "correction_template": {
        "type": "legal_fix",
        "instruction": "Auffaellige Klauseln inhaltlich eingrenzen, transparenter formulieren oder streichen."
    },
    "exposure_profile_key": "legal.agb.risks",
    "plain_language_label": "AGB ohne gepruefte Risikoklauseln"
}

ohne_section / analog

Handwerksrollennummer im Impressum (Best Practice)

c-02-betriebsnummer-handwerksrolle

executablepublic_aistructured_page
Was macht diese Regel?

Die Handwerksrollennummer ist zwar nicht explizit im DDG vorgeschrieben, wird aber regelmäßig als Transparenzpflicht angesehen (Verbraucherverband- Abmahnungen), analog zur Handelsregisternummer. Best Practice: Nummer im Impressum nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_02

  • branche_c_02 - greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

analog §6 HwO; §5 Abs. 1 Nr. 4 DDG (analog) Handwerksrolle

Risiko: 100,00 EUR bis 1.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_02greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_02"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-02-betriebsnummer-handwerksrolle",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe, ob Handwerksrollennummer mit Kammer-Kürzel im Impressum steht.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_02"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Handwerksrollen-Nr.: [Nummer] (HWK [Stadt])\"\n"
}

ohne_section / analog ddg best practice

Berufsgenossenschaft-Hinweis (optional, Best Practice)

c-03-berufsgenossenschaft

executablepublic_aistructured_page
Was macht diese Regel?

Die Angabe der zuständigen Berufsgenossenschaft (BG Bau, BGHW, BGHM, VBG etc.) ist nicht zwingend, aber bei Arbeitgebern mit Kunden-/ Mitarbeitersichtbarkeit (Handwerk mit Monteur-Einsatz) Best Practice zur Transparenz (Unfallversicherungsträger).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_03, angebot:arbeitgeber_mit_mitarbeitern

  • branche_c_03 - greift, wenn Branche/Cluster branche_c_03 erkannt oder ausgewählt ist
  • angebot:arbeitgeber_mit_mitarbeitern - greift nur, wenn dieses Angebot/Produkt erkannt wurde: arbeitgeber mit mitarbeitern
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Niedriges Risiko, Hinweis oder Feinschliff.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

analog DDG Best Practice §121 SGB VII Zuständigkeit BG

Risiko: 0,00 EUR bis 500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: low

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_03greift, wenn Branche/Cluster branche_c_03 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:arbeitgeber_mit_mitarbeiterngreift nur, wenn dieses Angebot/Produkt erkannt wurde: arbeitgeber mit mitarbeiternFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"arbeitgeber_mit_mitarbeitern"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_03"
        },
        {
            "angebot": "arbeitgeber_mit_mitarbeitern"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-03-berufsgenossenschaft",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfen: Werden Mitarbeiter eingesetzt? Falls ja → BG-Angabe ergänzen.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "transparenz_best_practice",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_03"
            },
            {
                "angebot": "arbeitgeber_mit_mitarbeitern"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Berufsgenossenschaft: [z.B. BG BAU – Berufsgenossenschaft der\nBauwirtschaft, Hildegardstraße 29, 10715 Berlin, www.bgbau.de]\"\n"
}

ohne_section / ao

Gemeinnützigkeit + Freistellungsbescheid ausweisen

c-19-spenden-gemeinnuetzigkeit-freistellungsbescheid

executablepublic_aistructured_page
Was macht diese Regel?

Gemeinnützige Organisationen (§§51–68 AO) weisen Freistellungsbescheid (Datum, Finanzamt, Steuernummer, Zweckbetrieb/Förderzweck) auf Spenden- seite + Impressum aus, damit Spender Zuwendungsbestätigungen korrekt erstellen können.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_19, gemeinnuetzig:true

  • branche_c_19 - greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt ist
  • gemeinnuetzig:true - greift, wenn "gemeinnuetzig" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

AO §§51–68 Steuerbegünstigte Zwecke

Risiko: 200,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_19greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
gemeinnuetzig:truegreift, wenn "gemeinnuetzig" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"gemeinnuetzig":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_19"
        },
        {
            "gemeinnuetzig": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-19-spenden-gemeinnuetzigkeit-freistellungsbescheid",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Spenden-Seite: Freistellungsbescheid-Datum + zuständiges Finanzamt +\nSteuernummer angegeben?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "steuerrechtlich_und_abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_19"
            },
            {
                "gemeinnuetzig": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Steuerbegünstigt nach §5 Abs. 1 Nr. 9 KStG (Freistellungsbescheid des\nFinanzamts Musterstadt vom [Datum], Steuernummer [...]). Zweck: [...]\"\n"
}

ohne_section / bafa-richtlinien + geg §88

BAFA-Zulassung Energieberater

c-17-energieberater-zertifizierung-bafa

executablepublic_aistructured_page
Was macht diese Regel?

Energieberater, die KfW-/BAFA-Förderungen begleiten, müssen in der "Energieeffizienz-Expertenliste" gelistet sein (Richtlinie EBW, EBN). Nummer + Zulassung im Impressum/auf Angebotsseiten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_17, rolle:energieberater

  • branche_c_17 - greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt ist
  • rolle:energieberater - greift nur für diese fachliche Rolle: energieberater
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BAFA-Richtlinien + GEG §88 §88 GEG; Richtlinie Energieberatung im Mittelstand (EBM) Energieberater-Qualifikation

Risiko: 300,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_17greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:energieberatergreift nur für diese fachliche Rolle: energieberaterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"energieberater"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_17"
        },
        {
            "rolle": "energieberater"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-17-energieberater-zertifizierung-bafa",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum/Über-uns: BAFA-Listen-Nummer + Fachgebiet angegeben?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_und_foerderverlust",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_17"
            },
            {
                "rolle": "energieberater"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Eingetragen in der Energieeffizienz-Expertenliste des Bundes,\nNr. [...], Fachgebiet Wohngebäude / Nichtwohngebäude.\"\n"
}

ohne_section / barrierefreiheit

BFSG Accessibility Baseline (WCAG AA)

bfsg.accessibility_wcag_aa_baseline

executablepublic_autoohne check_type
Was macht diese Regel?

Führt eine technische Accessibility-Baseline mit 20+ WCAG-AA-indikativen Checks aus.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BFSG / BFSGV § 3, § 14 BFSG; §§ 12, 19 BFSGV Barrierefreiheit von Dienstleistungen im elektronischen Geschaeftsverkehr

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "source": "render.accessibility or fallback_heuristics",
    "strategy": "bfsg_accessibility_wcag_aa_baseline",
    "minimum_check_count": 20
}

ohne_section / bgb

Zielgruppe (B2C/B2B/Mixed) klar erkennbar

a-bgb-13-verbraucherrolle-feststellbar

executablepublic_aistructured_page
Was macht diese Regel?

Der Website-Betreiber muss erkennen lassen, ob er mit Verbrauchern (§13 BGB) oder ausschließlich Unternehmern (§14 BGB) Verträge abschließt. Ohne klare B2B-Beschränkung (Hinweis + technische Absicherung) gelten alle Fernabsatz- Pflichten. Eine bloße AGB-Klausel "nur Gewerbetreibende" ist nicht ausreichend, wenn die Website auch Verbraucher anspricht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §13 Verbraucher

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bgb-13-verbraucherrolle-feststellbar",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DOM-Scan nach Begriffen \"B2B\", \"nur für Unternehmer\", \"gewerbliche Kunden\"\nsowie nach Preisdarstellung (netto/brutto). KI-Prompt klassifiziert die\nZielgruppe auf Basis Homepage + Shop-Seiten.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Sichtbarer Hinweis im Footer oder Shop-Header:\n\"Dieses Angebot richtet sich ausschließlich an Verbraucher im Sinne des\n§13 BGB.\" (für B2C)\nODER\n\"Dieses Angebot richtet sich ausschließlich an Unternehmer im Sinne des\n§14 BGB. Ein Vertragsschluss mit Verbrauchern ist ausgeschlossen. Bitte\nbestätigen Sie Ihre Unternehmereigenschaft vor Bestellung.\" (für B2B mit\nPflicht-Checkbox im Checkout)\n"
}

ohne_section / bgb

Unternehmer-Eigenschaft im Impressum nachvollziehbar

a-bgb-14-unternehmer-impressumsbezug

executablepublic_aistructured_page
Was macht diese Regel?

Der Seitenbetreiber muss als Unternehmer (§14 BGB) im Impressum erkennbar sein — Rechtsform, Vertretungsberechtigter, Handelsregister/Register, USt- IdNr. (soweit vorhanden). Dies ist Voraussetzung dafür, dass BGB-Fernabsatz- pflichten überhaupt greifen (Unternehmereigenschaft + gewerbliche/ selbstständige Tätigkeit).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §14 Unternehmer

Risiko: 500,00 EUR bis 1.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bgb-14-unternehmer-impressumsbezug",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Verweist auf Impressums-Rules aus DDG (a-ddg-5-impressum-*). Hier nur\nKonsistenzprüfung: Wer auf der Seite Verträge anbahnt, muss als\nUnternehmer identifizierbar sein.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Siehe Impressums-Vorgaben aus DDG-Inventur. Zusätzlicher Satz im Footer\noder Impressum möglich:\n\"Wir handeln als Unternehmer im Sinne des §14 BGB.\"\n"
}

ohne_section / bgb

Korrekturmöglichkeit für Eingabefehler vor Absenden

a-bgb-312i-korrekturmöglichkeit-eingabefehler

executablepublic_aistructured_page
Was macht diese Regel?

Der Unternehmer hat angemessene, wirksame und zugängliche technische Mittel zur Verfügung zu stellen, mit denen der Kunde Eingabefehler vor Abgabe seiner Bestellung erkennen und berichtigen kann. In der Praxis: Zusammenfassungsseite vor dem Bestell-Button mit "Zurück/Ändern"-Links zu jeder Eingabesektion.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, checkout_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • checkout_vorhanden - greift, wenn der Trigger "checkout_vorhanden" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312i Abs. 1 S. 1 Nr. 1 Allgemeine Pflichten im elektronischen Geschäftsverkehr

Risiko: 500,00 EUR bis 1.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
checkout_vorhandengreift, wenn der Trigger "checkout_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "checkout_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bgb-312i-korrekturmoeglichkeit-eingabefehler",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Checkout-Flow-Analyse: gibt es vor dem Bestell-Button eine Übersichts-\nSeite mit Bearbeitungslinks? (Manuelle Prüfung / KI-Prompt auf Checkout-\nScreenshots.)\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "checkout_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Checkout-Zusammenfassung mit klaren \"Ändern\"-Buttons je Bestellteil\n(Lieferadresse, Zahlungsart, Warenkorb, Versandart) vor dem finalen\nBestell-Button.\n"
}

ohne_section / bgb

Unverzügliche Zugangsbestätigung der Bestellung per E-Mail

a-bgb-312i-zugangsbestaetigung

executablepublic_aiai_semantic
Was macht diese Regel?

Der Unternehmer hat den Zugang der Bestellung unverzüglich auf elektronischem Weg zu bestätigen. Die Zugangsbestätigung ist keine Annahmeerklärung; sie muss lediglich dokumentieren, dass die Bestellung eingegangen ist. Zusätzlich müssen AGB und Widerrufsbelehrung in Textform (§126b BGB) übermittelt werden (Art. 246c EGBGB).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, checkout_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • checkout_vorhanden - greift, wenn der Trigger "checkout_vorhanden" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312i Abs. 1 S. 1 Nr. 3 Allgemeine Pflichten im elektronischen Geschäftsverkehr

Risiko: 500,00 EUR bis 1.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
checkout_vorhandengreift, wenn der Trigger "checkout_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "checkout_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bgb-312i-zugangsbestaetigung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Keine automatische DOM-Prüfung möglich. Fragebogen oder Test-Bestellung\ndurch Nutzer. Prüfpunkte: Bestätigungs-Mail vorhanden? Enthält AGB + WRB\nin Textform (PDF oder Volltext)?\n",
    "normalization": {
        "check_type": [
            "service_behavior",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "checkout_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Automatische Bestätigungs-E-Mail nach Bestellung mit:\n- Bestellnummer + Eingangsdatum\n- Zusammenfassung Bestellung\n- AGB (als PDF-Anhang oder Volltext)\n- Widerrufsbelehrung + Musterwiderrufsformular (PDF-Anhang)\n- Hinweis: \"Diese Mail ist eine Zugangsbestätigung, kein Vertragsschluss.\"\n"
}

ohne_section / bgb

Bestell-Button mit Beschriftung 'zahlungspflichtig bestellen' + Pflichtinfos unmittelbar davor

a-bgb-312j-button-zahlungspflichtig-bestellen

executableowner_deepstructured_page
Was macht diese Regel?

Bei einem Verbrauchervertrag im elektronischen Geschäftsverkehr, der auf eine entgeltliche Leistung gerichtet ist, muss der Bestell-Button gut lesbar mit "zahlungspflichtig bestellen" oder einer entsprechenden eindeutigen Formulierung beschriftet sein. Unmittelbar vor der Bestellung sind dem Verbraucher die wesentlichen Merkmale, Gesamtpreis, Laufzeit und ggf. Mindestdauer klar und hervorgehoben darzustellen. Verstoß = Vertrag kommt nicht zustande (§312j Abs. 4 BGB).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, b2c_vertrag_möglich, checkout_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • b2c_vertrag_moeglich - greift bei B2C-Vertrags-/Verbraucherbezug
  • checkout_vorhanden - greift, wenn der Trigger "checkout_vorhanden" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312j Abs. 2, 3 und 4 Besondere Pflichten im elektronischen Geschäftsverkehr gegenüber Verbrauchern

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
b2c_vertrag_moeglichgreift bei B2C-Vertrags-/VerbraucherbezugSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
checkout_vorhandengreift, wenn der Trigger "checkout_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "b2c_vertrag_moeglich"
        },
        {
            "scope": "checkout_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bgb-312j-button-zahlungspflichtig-bestellen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Regex auf Button-Beschriftungen: erlaubt (\"zahlungspflichtig bestellen\",\n\"kaufen\", \"kostenpflichtig bestellen\"); unklar (\"jetzt bestellen\",\n\"anmelden\", \"weiter\", \"abschicken\"). KI-Check auf Zusammenfassung\nunmittelbar vor Button (Produkt + Preis + Laufzeit sichtbar ohne\nScrollen?).\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "vertrag_nichtig_plus_abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "b2c_vertrag_moeglich"
            },
            {
                "scope": "checkout_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Button-Beschriftung: \"Zahlungspflichtig bestellen\" (exakter Wortlaut\nsichergstes Vorgehen).\nUnmittelbar über dem Button — hervorgehobener Block:\n- Produktname/Leistungsumfang\n- Gesamtpreis inkl. MwSt\n- Laufzeit / Mindestlaufzeit (bei Abo)\n- Versandkosten (falls zutreffend)\nZwischen diesem Block und dem Button dürfen keine ablenkenden Elemente\n(Werbung, Cross-Sell, Pop-ups) stehen.\n"
}

ohne_section / bgb

Online-Kündigungsbutton für Dauerschuldverhältnisse

a-bgb-312k-kuendigungsbutton

executableowner_deepstructured_page
Was macht diese Regel?

Wer Verbrauchern den Abschluss von Dauerschuldverhältnissen im elektronischen Geschäftsverkehr anbietet, muss auf seiner Website eine Kündigungsschaltfläche bereitstellen. Diese Schaltfläche muss: - gut lesbar mit "Verträge hier kündigen" oder entsprechender eindeutiger Formulierung beschriftet sein, - unmittelbar erreichbar sein (max. 1 Klick aus Hauptnavigation), - zu einer Bestätigungsseite führen, - eine Bestätigung per Textform (E-Mail) an den Verbraucher auslösen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, b2c_vertrag_möglich, dauerschuldverhaeltnis_abschliessbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • b2c_vertrag_moeglich - greift bei B2C-Vertrags-/Verbraucherbezug
  • dauerschuldverhaeltnis_abschliessbar - greift, wenn der Trigger "dauerschuldverhaeltnis_abschliessbar" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312k Kündigung von Verträgen im elektronischen Geschäftsverkehr

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
b2c_vertrag_moeglichgreift bei B2C-Vertrags-/VerbraucherbezugSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
dauerschuldverhaeltnis_abschliessbargreift, wenn der Trigger "dauerschuldverhaeltnis_abschliessbar" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "b2c_vertrag_moeglich"
        },
        {
            "scope": "dauerschuldverhaeltnis_abschliessbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-bgb-312k-kuendigungsbutton",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DOM-Scan nach Link/Button-Texten \"Vertrag kündigen\", \"Kündigung\",\n\"Abo kündigen\". Klick-Pfad-Analyse: Wie viele Klicks vom Footer bis\nzum Kündigungs-Formular? KI-Check auf Bestätigungsseite + -Mail-Flow.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_plus_sonderkuendigung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "b2c_vertrag_moeglich"
            },
            {
                "scope": "dauerschuldverhaeltnis_abschliessbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Footer-Link: \"Verträge hier kündigen\"\nKündigungs-Seite mit Formular:\n- Art des Vertrags (Dropdown)\n- Vor- und Nachname\n- Kundennummer / Vertragsnummer / E-Mail\n- Grund (optional)\n- Termin: sofort / zum nächsten möglichen Zeitpunkt\nButton: \"Jetzt kündigen\"\nBestätigungsseite mit Eingangsbestätigung + automatische E-Mail an\nKunden (inkl. Eingangsdatum).\n"
}

ohne_section / bgb

AGB wirksam einbezogen und transparent

b-buchung-agb-transparent-einbezogen

executableowner_deepstructured_page
Was macht diese Regel?

AGB werden nach §305 Abs. 2 BGB nur Bestandteil, wenn der Verwender ausdrücklich auf sie hinweist UND der Kunde zumutbar Kenntnis nehmen kann. Online: Checkbox "Ich akzeptiere die AGB" mit direktem Link + PDF-Download; Anzeige vor Buchung. §307 BGB: keine unangemessene Benachteiligung, klar und verständlich.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_buchung_zahlungspflichtig

  • hat_buchung_zahlungspflichtig - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtig
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §§305, 307 Einbeziehung AGB / Inhaltskontrolle

Risiko: 500,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_buchung_zahlungspflichtiggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtigSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_buchung_zahlungspflichtig"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-buchung-agb-transparent-einbezogen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Im Buchungsprozess prüfen: Gibt es eine AGB-Checkbox (Pflicht,\nnicht vorbelegt)? Link öffnet AGB als HTML/PDF ohne Login?\nIn AGB: keine unzulässigen Klauseln (z. B. pauschale\nHaftungsausschlüsse, pauschale Stornogebühren ohne\nDifferenzierung)?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_buchung_zahlungspflichtig"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "anwalt",
    "fix_text_vorlage": "Im Buchungs-Checkout: \"Ich habe die <a href='/agb' target='_blank'>\nAGB</a> gelesen und akzeptiere sie.\" Checkbox Pflicht, nicht\nvorbelegt. AGB-Datei im Impressum und im PDF-Anhang der\nBestätigungs-Mail.\n"
}

ohne_section / bgb

Buchungs-Button trägt 'Zahlungspflichtig buchen' oder äquivalent

b-buchung-button-kostenpflichtig-buchen

executableowner_deepstructured_page
Was macht diese Regel?

§312j Abs. 3 BGB verlangt, dass der finale Bestell-Button unmissverständlich kennzeichnet, dass damit eine Zahlungspflicht entsteht. "Zahlungspflichtig bestellen" ist gesetzeskonform; "Kostenpflichtig buchen" akzeptiert die Rechtsprechung (OLG Hamm 4 U 210/18). NICHT ausreichend: "Anmelden", "Weiter", "Reservieren", "Buchen", "Jetzt buchen". Fehler führt zu §312j Abs. 4: Vertrag kommt NICHT zustande = kein Zahlungsanspruch.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_buchung_zahlungspflichtig
Darf nicht zutreffen: ist_kostenlose_reservierung

  • hat_buchung_zahlungspflichtig - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtig
  • ist_kostenlose_reservierung - greift, wenn KarlKI die Website so einordnet: kostenlose reservierung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312j Abs. 3 und 4 Button-Lösung — besondere Pflichten im E-Commerce

Risiko: 2.000,00 EUR bis 8.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_buchung_zahlungspflichtiggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtigSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

NICHT Wenn eine dieser Bedingungen zutrifft, darf die Regel nicht laufen.

BegriffWas er bedeutetWofür er da ist
ist_kostenlose_reservierunggreift, wenn KarlKI die Website so einordnet: kostenlose reservierungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_buchung_zahlungspflichtig"
        }
    ],
    "oder": [],
    "nicht": [
        {
            "scope": "ist_kostenlose_reservierung"
        }
    ]
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-buchung-button-kostenpflichtig-buchen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Letzter Schritt im Buchungsprozess: Welche Beschriftung hat der\nSubmit-Button? Nur \"Buchen\" oder \"Jetzt buchen\" = Verstoß.\n\"Zahlungspflichtig buchen\" / \"Kostenpflichtig buchen\" = OK.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_buchung_zahlungspflichtig"
            }
        ],
        "oder": [],
        "nicht": [
            {
                "scope": "ist_kostenlose_reservierung"
            }
        ]
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Button-Beschriftung ändern auf \"Zahlungspflichtig buchen\" oder\n\"Kostenpflichtig buchen\". Bei kostenfreier Reservierung\n(Zahlung erst vor Ort): klarer Hinweis \"Unverbindlich reservieren —\nZahlung vor Ort\" — dann greift §312j nicht.\n"
}

ohne_section / bgb

Kündigungsbutton bei Abo-/Mitgliedschafts-Buchungen

b-buchung-kuendigungsbutton-bei-abo

executableowner_deepstructured_page
Was macht diese Regel?

Bei Dauerschuldverhältnissen, die online abgeschlossen wurden (Mitgliedschaft, Kurs-Abo, Coworking-Abo, Streaming), ist seit 01.07.2022 ein "Kündigungsbutton" Pflicht (§312k BGB). Beschriftung "Verträge hier kündigen" (oder ähnlich), direkt zugänglich ohne Login-Zwang. BGH I ZR 17/22 bestätigt: gilt auch bei Online- Buchungen von Services.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_buchung_zahlungspflichtig
Mindestens eine muss passen: hat_abo_mitgliedschaft
Darf nicht zutreffen: ist_einmaliger_termin

  • hat_buchung_zahlungspflichtig - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtig
  • hat_abo_mitgliedschaft - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: abo mitgliedschaft
  • ist_einmaliger_termin - greift, wenn KarlKI die Website so einordnet: einmaliger termin
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312k Kündigung im elektronischen Geschäftsverkehr

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_buchung_zahlungspflichtiggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtigSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_abo_mitgliedschaftgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: abo mitgliedschaftSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

NICHT Wenn eine dieser Bedingungen zutrifft, darf die Regel nicht laufen.

BegriffWas er bedeutetWofür er da ist
ist_einmaliger_termingreift, wenn KarlKI die Website so einordnet: einmaliger terminSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_buchung_zahlungspflichtig"
        }
    ],
    "oder": [
        {
            "scope": "hat_abo_mitgliedschaft"
        }
    ],
    "nicht": [
        {
            "scope": "ist_einmaliger_termin"
        }
    ]
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-buchung-kuendigungsbutton-bei-abo",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Website-Footer und Buchungsbereich prüfen: Gibt es einen direkt\nklickbaren \"Verträge hier kündigen\"-Button? Funktioniert er ohne\nLogin? Führt er zu einer Seite mit Formular, das Kündigung mit\nTextform-Bestätigung aufnimmt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_buchung_zahlungspflichtig"
            }
        ],
        "oder": [
            {
                "scope": "hat_abo_mitgliedschaft"
            }
        ],
        "nicht": [
            {
                "scope": "ist_einmaliger_termin"
            }
        ]
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Footer-Link \"Verträge hier kündigen\" → Formular mit Feldern:\nVertragsart, Kundennummer, Name, E-Mail, Kündigungsart\n(ordentlich/außerordentlich), gewünschtes Datum, Grund (optional),\nSubmit-Button \"Jetzt kündigen\". Bestätigung per E-Mail mit\nKündigungs-Zeitstempel.\n"
}

ohne_section / bgb

Gesamtpreis inkl. USt und Zusatzkosten vor Buchungs-Klick sichtbar

b-buchung-preis-inkl-ust-vorab

executableowner_deepstructured_page
Was macht diese Regel?

Vor Abgabe der Buchungs-Willenserklärung muss der Verbraucher den Gesamtpreis inklusive Umsatzsteuer sowie aller Versand-, Service-, Gebühren- und Zusatzkosten in einem klar wahrnehmbaren Bereich oberhalb des Buchungs-Buttons sehen (§312j Abs. 2 i. V. m. Art. 246a §1 Abs. 1 Nr. 4 EGBGB). Überraschungen auf der nächsten Seite oder kleinere Zusatzkosten im Kleingedruckten sind unzulässig.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_buchung_zahlungspflichtig

  • hat_buchung_zahlungspflichtig - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtig
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312j Abs. 2 i. V. m. Art. 246a §1 EGBGB Pflichten bei elektronischem Geschäftsverkehr mit Verbrauchern

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_buchung_zahlungspflichtiggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtigSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_buchung_zahlungspflichtig"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-buchung-preis-inkl-ust-vorab",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Buchungsprozess durchspielen: Steht auf der letzten Seite vor dem\nSubmit-Button der finale Gesamtpreis inkl. USt, Service-Gebühren,\nggf. Kurtaxe, Stornoversicherung? Oder gibt es versteckte\nPreisbestandteile (\"+ 5 € Buchungsgebühr in AGB\")?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_buchung_zahlungspflichtig"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Auf der Buchungs-Übersicht direkt über dem Buchen-Button\nZusammenfassung:\n\"Leistung: [Name]\n Zeitraum/Termin: [Datum]\n Preis (netto): [X €]\n USt (19 %): [Y €]\n Service-Gebühr: [Z €]\n GESAMT (inkl. MwSt.): [N €]\"\nKeine Überraschungen auf Folgeseiten.\n"
}

ohne_section / bgb

Korrekte Widerrufsbelehrung oder begründeter Ausschluss nach §312g Abs. 2

b-buchung-widerrufsbelehrung-oder-ausschluss

executableowner_deepstructured_page
Was macht diese Regel?

Bei Fernabsatzverträgen mit Verbrauchern besteht grundsätzlich 14-tägiges Widerrufsrecht (§355 BGB). Widerrufsbelehrung mit Musterformular nach Anlage 1/2 EGBGB ist Pflicht. Widerruf kann ausgeschlossen sein nach §312g Abs. 2 — bei Buchungen häufig Nr. 9 "Dienstleistung im Zusammenhang mit Freizeitbetätigung, wenn ein bestimmter Zeitpunkt/Zeitraum vorgesehen ist" (Konzerte, Hotel, zeitgenaue Beratung). Der Ausschluss ist eng auszulegen (EuGH C-568/19) und muss klar kommuniziert werden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_buchung_zahlungspflichtig

  • hat_buchung_zahlungspflichtig - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtig
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §§355, 356 i. V. m. §312g Abs. 2 Widerrufsrecht und Ausnahmen

Risiko: 2.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: high

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_buchung_zahlungspflichtiggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtigSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_buchung_zahlungspflichtig"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-buchung-widerrufsbelehrung-oder-ausschluss",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfen: Gibt es eine Widerrufsbelehrung am Buchungsprozess?\nOder wird Widerruf ausgeschlossen? Bei Ausschluss: Begründung\nnach §312g Abs. 2 plausibel? Fristüberschreitung nach\n§356 Abs. 3 S. 2 BGB möglich (12 Monate + 14 Tage).\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_buchung_zahlungspflichtig"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "anwalt",
    "fix_text_vorlage": "Entweder (a) vollständige Widerrufsbelehrung nach Anlage 1 EGBGB\nim Buchungsprozess UND in Bestätigungsmail, Musterformular Anlage\n2 beigefügt. ODER (b) klarer Hinweis: \"Für diese Buchung besteht\nkein Widerrufsrecht, weil es sich um eine Dienstleistung zu einem\nbestimmten Termin im Freizeitbereich handelt (§312g Abs. 2 Nr. 9\nBGB).\" Ausschluss muss vor Buchungsklick bestätigt werden.\n"
}

ohne_section / bgb

Unverzügliche Zugangsbestätigung per E-Mail

b-buchung-zugangsbestaetigung-mail

executableowner_deepai_semantic
Was macht diese Regel?

Nach §312i Abs. 1 Nr. 3 BGB muss der Unternehmer den Zugang der Bestellung unverzüglich auf elektronischem Weg bestätigen. Diese Bestätigung ist nicht notwendigerweise die Annahme des Vertragsangebots, sondern eine reine Zugangsbestätigung — rechtlich Pflicht. Inhaltlich muss sie Bestelldetails (Datum, Leistung, Preis), Widerrufsbelehrung (falls anwendbar) und AGB textform-konserviert enthalten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_buchung_zahlungspflichtig

  • hat_buchung_zahlungspflichtig - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtig
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312i Abs. 1 Nr. 3 Allgemeine Pflichten im elektronischen Geschäftsverkehr

Risiko: 500,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_buchung_zahlungspflichtiggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtigSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_buchung_zahlungspflichtig"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-buchung-zugangsbestaetigung-mail",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Testbuchung durchführen: Kommt unverzüglich (< 1 Minute) eine\nBestätigungs-Mail? Enthält sie Bestelldetails, Preis,\nWiderrufsbelehrung (falls zutreffend), AGB im PDF?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_buchung_zahlungspflichtig"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "technik_web",
    "fix_text_vorlage": "E-Mail-Template für Buchungsbestätigung mit: Anrede, Bestellnummer,\nLeistung/Datum/Preis tabellarisch, PDF-Anhang mit AGB und\nWiderrufsbelehrung, Kontaktdaten Support. Versand direkt nach\nKlick via Transaktions-Mail-Service.\n"
}

ohne_section / bgb

Mindestens eine gängige und kostenlose Zahlart

b-zahlung-mindestangebot-gaengig-kostenlos

executableowner_deepstructured_page
Was macht diese Regel?

§312a Abs. 4 BGB: Der Unternehmer muss im Fernabsatz mindestens eine gängige und zumutbare unentgeltliche Zahlungsmöglichkeit anbieten. Als "gängig" gelten in Deutschland: Rechnung, SEPA- Lastschrift, Visa/Mastercard ohne Aufschlag, PayPal-Standard. "Zumutbar" = breit verfügbar, ohne besondere technische Hürden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_fernabsatz_verbrauchervertrag

  • hat_fernabsatz_verbrauchervertrag - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: fernabsatz verbrauchervertrag
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312a Abs. 4 Allgemeine Pflichten und Grundsätze bei Verbraucherverträgen

Risiko: 500,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_fernabsatz_verbrauchervertraggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: fernabsatz verbrauchervertragSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_fernabsatz_verbrauchervertrag"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-zahlung-mindestangebot-gaengig-kostenlos",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Im Checkout prüfen: Welche Zahlarten stehen zur Auswahl? Gibt es\nmindestens eine, die ohne Aufschlag verfügbar ist? Nur Vorkasse\nbei hohem Bestellvolumen ist nicht \"zumutbar\".\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_fernabsatz_verbrauchervertrag"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Mindestens eine Zahlart ohne Gebühr anbieten — z. B. SEPA-\nLastschrift oder Rechnung oder Kreditkarte ohne Surcharge. Hinweis\nim Checkout: \"Alle angebotenen Zahlarten sind für Sie kostenlos.\"\n"
}

ohne_section / bgb

Kein Aufschlag für gängige Zahlungsmittel (§270a BGB)

b-zahlung-surcharge-verbot-270a

executableowner_deepstructured_page
Was macht diese Regel?

§270a BGB (seit 13.01.2018) verbietet Entgelte für die Nutzung von SEPA-Basis-Lastschrift, SEPA-Firmen-Lastschrift, SEPA-Überweisung sowie Zahlungskarten, die in den Anwendungsbereich der Interchange-VO (2015/751) fallen. Sog. "Surcharge" oder "Zahlart-Zuschlag" auf diese Methoden ist unwirksam. Ausnahme: bestimmte Firmenkarten (AmEx, Diners) und PayPal-Aufschläge sind umstritten; OLG Frankfurt 11 U 123/22 verbietet PayPal-Aufschläge für Händler mit Pauschalvertrag.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: akzeptiert_online_zahlung

  • akzeptiert_online_zahlung - greift, wenn der Trigger "akzeptiert_online_zahlung" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §270a Vereinbarungen über Entgelte für Zahlungsmittel

Risiko: 500,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
akzeptiert_online_zahlunggreift, wenn der Trigger "akzeptiert_online_zahlung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "akzeptiert_online_zahlung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-zahlung-surcharge-verbot-270a",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Checkout-Prozess: Werden je nach Zahlart verschiedene Preise\nangezeigt? Gibt es einen Aufschlag für SEPA-Lastschrift, Mastercard,\nVisa oder PayPal? Wenn ja: Verstoß §270a.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "akzeptiert_online_zahlung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "anwalt",
    "fix_text_vorlage": "Zahlart-Aufschläge für SEPA, Kreditkarte (im Geltungsbereich der\nInterchange-VO) und PayPal (bei Pauschalvertrag) entfernen. Falls\nAufschläge für AmEx/Diners erwünscht sind: transparent vor Auswahl\nanzeigen, anwaltliche Einzelfallprüfung einholen.\n"
}

ohne_section / bgb

§312i BGB — AGB abrufbar, wiedergebbar, speicherbar

c-07-agb-agb-abrufbar-speicherbar

executablepublic_aistructured_page
Was macht diese Regel?

§312i Abs. 1 Nr. 4 BGB verlangt, dass AGB so zugänglich sind, dass der Verbraucher sie in wiedergabefähiger Form (Download, Ausdruck, Speichern) erhalten kann. Reine Bildschirmanzeige ohne Speicher-/ Druckmöglichkeit unzureichend.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_07

  • branche_c_07 - greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312i Abs. 1 Nr. 4 Elektronischer Geschäftsverkehr

Risiko: 200,00 EUR bis 1.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_07greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_07"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-07-agb-agb-abrufbar-speicherbar",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "AGB downloadbar (PDF)? Druckversion existiert? Zusendung per E-Mail\nnach Vertragsschluss?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_07"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "AGB-Seite + PDF-Download bereitstellen. Nach Bestellabschluss AGB\nals Text-Anhang der Bestellbestätigungs-Mail oder PDF beifügen.\n"
}

ohne_section / bgb

Klare B2B-Kennzeichnung (USt-ID / Gewerbenachweis)

c-08-abgrenzung-b2b-nur-unternehmer

executablepublic_aistructured_page
Was macht diese Regel?

Damit Verbraucherschutz-Pflichten entfallen, muss die Website ausschließlich Unternehmer ansprechen. Reine AGB-Klausel "nur Gewerbetreibende" reicht nach Rechtsprechung NICHT. Nötig: (a) deutlicher Hinweisbanner, (b) USt-ID-Abfrage im Registrierungs-/ Bestellprozess mit Plausibilitätsprüfung (VIES) oder Gewerbeanmeldung, (c) Preise auch netto ausgewiesen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_08

  • branche_c_08 - greift, wenn Branche/Cluster branche_c_08 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §14 Unternehmer

Risiko: 1.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_08greift, wenn Branche/Cluster branche_c_08 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_08"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-08-abgrenzung-b2b-nur-unternehmer",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe: Banner / Hinweis im Header \"Ausschließlich für Unternehmer\"?\nRegistrierung mit USt-ID-Pflicht? VIES-Prüfung aktiviert?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_rueckfall_b2c",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_08"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "- Hinweisbanner: \"Dieser Shop richtet sich ausschließlich an Unternehmer\n  i. S. d. §14 BGB. Eine Bestellung durch Verbraucher ist nicht möglich.\"\n- Registrierungsfeld: Pflichtfeld \"USt-IdNr. oder Steuernummer\"\n- Validierung: VIES-Abfrage (https://ec.europa.eu/taxation_customs/vies/)\n- AGB-Klausel: §14 BGB ausdrücklich.\n"
}

ohne_section / bgb

§307 BGB — AGB-Inhaltskontrolle auch im B2B

c-08-agb-inhaltskontrolle-§307

executablepublic_aistructured_page
Was macht diese Regel?

Auch im B2B unterliegen AGB-Klauseln der Inhaltskontrolle nach §307 BGB. §§308, 309 BGB gelten zwar nicht direkt, aber die Wertungen strahlen aus (BGH X ZR 23/13). Typische B2B-unzulässige Klauseln: Gewährleistungsausschluss bei Neuware, pauschale Haftungsfreizeichnung bei grober Fahrlässigkeit, unangemessen kurze Rügefristen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_08

  • branche_c_08 - greift, wenn Branche/Cluster branche_c_08 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §307 Inhaltskontrolle

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_08greift, wenn Branche/Cluster branche_c_08 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_08"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-08-agb-inhaltskontrolle-§307",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "AGB-Klauseln prüfen (lassen): Haftung, Gewährleistung, Rügefristen,\nZahlung, Verzug, Gerichtsstand. Besonders kritisch pauschale\nAusschlüsse und kurze Fristen.\n",
    "normalization": {
        "fix_type": [
            "partner",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "nichtigkeit_klauseln",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_08"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt Handels-/Wirtschaftsrecht",
    "fix_text_vorlage": "AGB durch Fachanwalt prüfen lassen. Typische Anpassungen:\n- Haftung: Vorsatz/grobe Fahrlässigkeit nicht ausschließen.\n- Gewährleistung: Mindest-Nacherfüllung gewährleisten.\n- Rügefrist: §377 HGB gilt (unverzüglich), aber nicht verkürzen.\n"
}

ohne_section / bgb

Kein gesetzliches Widerrufsrecht bei B2B

c-08-kein-widerruf-b2b

executablepublic_aistructured_page
Was macht diese Regel?

§355 BGB greift nur gegenüber Verbrauchern. Im B2B besteht kein gesetzliches Widerrufs- oder Rückgaberecht. AGB können freiwillig ein vertragliches Rückgaberecht einräumen — sollte aber explizit als kulanzmäßig gekennzeichnet sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_08

  • branche_c_08 - greift, wenn Branche/Cluster branche_c_08 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §355 i.V.m. §312 Abs. 3 Widerrufsrecht

Risiko: 0,00 EUR bis 1.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_08greift, wenn Branche/Cluster branche_c_08 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_08"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-08-kein-widerruf-b2b",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Widerrufsbelehrung nur wenn vertraglich angeboten? Wenn ja: klar als\n\"freiwillige Rückgabe\" / \"Kulanz\" bezeichnen (nicht \"gesetzlicher\nWiderruf\").\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_irrefuehrung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_08"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Hinweis: Bei diesem Geschäft zwischen Unternehmern besteht kein\ngesetzliches Widerrufsrecht. Rückgaben/Umtausch sind ausschließlich\nnach den Regelungen unserer AGB möglich.\"\n"
}

ohne_section / bgb

Widerrufsausschluss Beherbergung §312g II Nr. 9 BGB

c-11-online-buchung-widerruf-ausschluss

executableowner_deepstructured_page
Was macht diese Regel?

Für datumsbezogene Beherbergungs-, Transport-, Miet- oder Freizeitleistungen besteht KEIN Widerrufsrecht (§312g Abs. 2 Nr. 9 BGB). Der Unternehmer muss hierauf vor Vertragsschluss klar hinweisen (Art. 246a §1 Abs. 3 EGBGB).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_11, hat_online_buchung:true

  • branche_c_11 - greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt ist
  • hat_online_buchung:true - greift, wenn "hat online buchung" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312g Abs. 2 Nr. 9 Ausnahmen vom Widerrufsrecht

Risiko: 400,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_11greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
hat_online_buchung:truegreift, wenn "hat online buchung" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"hat_online_buchung":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_11"
        },
        {
            "hat_online_buchung": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-11-online-buchung-widerruf-ausschluss",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Ist vor dem Buchen-Button der Hinweis \"Kein Widerrufsrecht\" platziert?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_11"
            },
            {
                "hat_online_buchung": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Mit Klick auf 'zahlungspflichtig buchen' verzichten Sie auf das Widerrufs-\nrecht gem. §312g Abs. 2 Nr. 9 BGB (datumsbezogene Beherbergung).\"\n"
}

ohne_section / bgb

Pauschalreise-Definition & vorvertragliche Information

c-11-pauschalreise-definition-buchung

executableowner_deepstructured_page
Was macht diese Regel?

Wer mindestens zwei unterschiedliche Reiseleistungen (z. B. Beförderung + Unterkunft) für denselben Reisezeitraum zu einem Gesamtpreis anbietet, schließt eine Pauschalreise nach §651a BGB. Vor Buchung muss der Reisende über die wesentlichen Eigenschaften, Preis, Zahlungsmodalitäten und sein Rücktrittsrecht informiert werden (Art. 250 §3 EGBGB).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_11, hat_reiseleistung_kombination:true

  • branche_c_11 - greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt ist
  • hat_reiseleistung_kombination:true - greift, wenn "hat reiseleistung kombination" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §651a Vertragstypische Pflichten beim Pauschalreisevertrag

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_11greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
hat_reiseleistung_kombination:truegreift, wenn "hat reiseleistung kombination" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"hat_reiseleistung_kombination":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_11"
        },
        {
            "hat_reiseleistung_kombination": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-11-pauschalreise-definition-buchung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe Angebotsseiten: werden mind. 2 Reiseleistungen (Flug/Transfer +\nUnterkunft + Mietwagen o. ä.) zu einem Gesamtpreis angeboten? Dann\nvorvertragliche Info-Pflicht vor Buchen-Button.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_11"
            },
            {
                "hat_reiseleistung_kombination": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Vor-Buchungs-Info-Kasten: wesentliche Merkmale, Gesamtpreis, Rücktritts-\nbedingungen, Insolvenzversicherung + Formblatt verlinkt.\n"
}

ohne_section / bgb

Reisebüro: Vermittler vs. Veranstalter klar trennen

c-11-reisebuero-vermittlung-trennung

executablepublic_aistructured_page
Was macht diese Regel?

Reisebüros haften als Vermittler nur für eigenes Verschulden. Wichtig: Gegenüber dem Kunden muss transparent sein, ob das Büro im eigenen Namen (Veranstalter) oder im Namen eines Dritten (Vermittler) handelt (§651v BGB + Art. 250 §8 EGBGB).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_11, rolle:reisevermittler

  • branche_c_11 - greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt ist
  • rolle:reisevermittler - greift nur für diese fachliche Rolle: reisevermittler
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §651v Reisevermittler

Risiko: 400,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_11greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:reisevermittlergreift nur für diese fachliche Rolle: reisevermittlerFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"reisevermittler"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_11"
        },
        {
            "rolle": "reisevermittler"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-11-reisebuero-vermittlung-trennung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "AGB + Impressum: ausdrücklicher Hinweis \"Wir vermitteln Reisen der\nVeranstalter ...\" mit Liste oder Verweis.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_11"
            },
            {
                "rolle": "reisevermittler"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "AGB § Rolle: \"Wir handeln ausschließlich als Vermittler im Namen des\njeweils angegebenen Veranstalters.\"\n"
}

ohne_section / bgb

Widerrufsrecht B2C-Maklervertrag Fernabsatz

c-13-widerrufsrecht-maklervertrag-b2c

executablepublic_aistructured_page
Was macht diese Regel?

Makler, die mit Verbrauchern per Telefon/Online/E-Mail einen Vertrag schließen, müssen eine Widerrufsbelehrung nach §312b BGB + Art. 246a EGBGB vorlegen. Fehlt sie, verlängert sich die Frist auf 12 Monate + 14 Tage – der Provisionsanspruch kann entfallen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_13, rolle:makler, b2c:true

  • branche_c_13 - greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt ist
  • rolle:makler - greift nur für diese fachliche Rolle: makler
  • b2c:true - greift, wenn "b2c" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §312b + §356 Außerhalb von Geschäftsräumen geschlossene Verträge

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_13greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:maklergreift nur für diese fachliche Rolle: maklerFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
b2c:truegreift, wenn "b2c" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"makler"} | alle: {"b2c":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_13"
        },
        {
            "rolle": "makler"
        },
        {
            "b2c": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-13-widerrufsrecht-maklervertrag-b2c",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Wird Widerrufsbelehrung + Muster-Widerrufsformular bereitgestellt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_und_anspruchsverlust",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_13"
            },
            {
                "rolle": "makler"
            },
            {
                "b2c": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Muster-Widerrufsbelehrung Anlage 1 EGBGB auf Makler-Auftragsformular.\n"
}

ohne_section / bgb

Gewährleistung + Update-Pflicht §§327 ff. BGB

c-16-kvkg-gewährleistung-digitale-produkte

executablepublic_aistructured_page
Was macht diese Regel?

Für digitale Produkte und Inhalte gegenüber Verbrauchern gelten seit 01.01.2022 §§327 ff. BGB: 2 Jahre Mängelhaftung + Aktualisierungspflicht während der gewöhnlichen Nutzungsdauer. AGB-Klauseln müssen angepasst sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_16, b2c:true, ist_digitales_produkt:true

  • branche_c_16 - greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt ist
  • b2c:true - greift, wenn "b2c" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
  • ist_digitales_produkt:true - greift, wenn "ist digitales produkt" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB §§327 ff. Verträge über digitale Produkte

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_16greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
b2c:truegreift, wenn "b2c" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
ist_digitales_produkt:truegreift, wenn "ist digitales produkt" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"b2c":true} | alle: {"ist_digitales_produkt":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_16"
        },
        {
            "b2c": true
        },
        {
            "ist_digitales_produkt": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-16-kvkg-gewährleistung-digitale-produkte",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "AGB: Update-Pflicht-Klausel, Mängelhaftung 24 Monate, Rechte des\nNutzers bei ausbleibenden Updates?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_16"
            },
            {
                "b2c": true
            },
            {
                "ist_digitales_produkt": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Aktualisierungen: Wir stellen Updates gemäß §327f BGB für die übliche\nNutzungsdauer bereit.\"\n"
}

ohne_section / bgb agb-recht + hgb §449

ADSp/VBGL nur mit ausdrücklicher Vereinbarung

c-12-umzug-allg-deutsche-spediteur-bedingungen

executablepublic_aistructured_page
Was macht diese Regel?

Die ADSp 2017 und VBGL (Verkehrsbedingungen für Güterverkehrs- und Logistikunternehmen) gelten nicht automatisch, sondern nur bei ausdrücklicher Einbeziehung in den Vertrag. Bei B2C-Umzügen ist zudem die AGB-Kontrolle (§§305 ff. BGB) zu beachten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_12, rolle:spedition_umzug

  • branche_c_12 - greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt ist
  • rolle:spedition_umzug - greift nur für diese fachliche Rolle: spedition umzug
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB AGB-Recht + HGB §449 §305 BGB; §449 HGB Einbeziehung AGB / Abweichende Vereinbarungen

Risiko: 300,00 EUR bis 2.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_12greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:spedition_umzuggreift nur für diese fachliche Rolle: spedition umzugFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"spedition_umzug"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_12"
        },
        {
            "rolle": "spedition_umzug"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-12-umzug-allg-deutsche-spediteur-bedingungen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Werden ADSp/VBGL im Angebot + AGB klar verlinkt & einbezogen?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_12"
            },
            {
                "rolle": "spedition_umzug"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Unserem Vertrag liegen die ADSp 2017 zugrunde: Link + PDF.\"\n"
}

ohne_section / bgb i. v. m. egbgb art. 250 §3

Pauschalreise-Formblatt nach Anlage 11 EGBGB

c-11-pauschalreise-informationsblatt

executablepublic_aistructured_page
Was macht diese Regel?

Der Reiseveranstalter hat dem Reisenden vor Abgabe seiner Vertragserklärung das Formblatt gemäß Anlage 11 EGBGB auszuhändigen (klare und verständliche Form, hervorgehoben). Inhalt: Rechte aus Pauschalreise-RL, Reklamations- wege, Insolvenzsicherer.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_11, rolle:reiseveranstalter

  • branche_c_11 - greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt ist
  • rolle:reiseveranstalter - greift nur für diese fachliche Rolle: reiseveranstalter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB i. V. m. EGBGB Art. 250 §3 §651d BGB Informationspflichten; Vertragsinhalt

Risiko: 500,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_11greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:reiseveranstaltergreift nur für diese fachliche Rolle: reiseveranstalterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"reiseveranstalter"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_11"
        },
        {
            "rolle": "reiseveranstalter"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-11-pauschalreise-informationsblatt",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Ist das Formblatt (Anlage 11 EGBGB) vor Buchungsabschluss sichtbar\n(Pop-up, Hervorhebung, verpflichtende Bestätigung)? PDF-Download allein\ngenügt nicht.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_11"
            },
            {
                "rolle": "reiseveranstalter"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Formblatt 11 EGBGB-konform einbinden, Checkbox \"zur Kenntnis genommen\".\n"
}

ohne_section / bilder

Externe Bildquellen erkannt

assets.external_image_sources

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen technischen Risikohinweis bei extern eingebundenen Bildquellen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6, Art. 13, ggf. Art. 44 Rechtsgrundlage, Informationspflicht und Drittlandtransfer bei externen Ressourcen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "module": {
        "key": "deep.media_rights"
    },
    "signals": [
        "img_src_refs",
        "source_srcset_refs",
        "css_background_image_refs"
    ],
    "strategy": "external_image_asset_detection"
}

ohne_section / bmg

Hotelmeldeschein – Pflicht & DSGVO-konform

c-11-hotel-meldeschein-bmg29

executablepublic_aistructured_page
Was macht diese Regel?

Beherbergungsbetriebe erheben gem. §29 BMG personenbezogene Daten (Name, Anschrift, Geburtsdatum, Staatsangehörigkeit, Ankunfts-/Abreise- datum). Rechtsgrundlage: Art. 6 Abs. 1 lit. c DSGVO i. V. m. §29 BMG. Einwilligung NICHT erforderlich, aber Transparenzpflicht (Art. 13). Aufbewahrung: 1 Jahr (bzw. bis zu 10 Jahre bei AO-Relevanz).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_11, rolle:beherbergungsbetrieb

  • branche_c_11 - greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt ist
  • rolle:beherbergungsbetrieb - greift nur für diese fachliche Rolle: beherbergungsbetrieb
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BMG §29 Besondere Meldepflichten bei Beherbergungsstätten

Risiko: 200,00 EUR bis 1.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_11greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:beherbergungsbetriebgreift nur für diese fachliche Rolle: beherbergungsbetriebFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"beherbergungsbetrieb"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_11"
        },
        {
            "rolle": "beherbergungsbetrieb"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-11-hotel-meldeschein-bmg29",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "In DSE: erwähnt der Betreiber den Meldeschein-Zweck + Rechtsgrundlage\n§29 BMG (nicht Einwilligung)? Aufbewahrungsfrist genannt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_11"
            },
            {
                "rolle": "beherbergungsbetrieb"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "DSE-Abschnitt \"Meldeschein\": Zweck = gesetzl. Meldepflicht, Rechtsgrundlage\n§29 BMG i. V. m. Art. 6 I c DSGVO, Speicherdauer 1 Jahr.\n"
}

ohne_section / bora

Anwalt: BORA §6 Impressum + Berufsbezeichnung

c-04-anwalt-bora-impressum

executablepublic_aistructured_page
Was macht diese Regel?

Rechtsanwälte müssen im Impressum nach BORA §6 i.V.m. §5 Abs. 1 Nr. 5, 6 DDG nennen: (a) gesetzliche Berufsbezeichnung "Rechtsanwalt/-in" + Staat der Verleihung (Deutschland), (b) zuständige Rechtsanwaltskammer (RAK) nach Kanzleisitz, (c) anwendbare berufsrechtliche Regelungen (BRAO, BORA, RVG, FAO, BerufsR-RL, CCBE) mit Webadresse.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_04, beruf:rechtsanwalt

  • branche_c_04 - greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt ist
  • beruf:rechtsanwalt - greift nur für diesen reglementierten Beruf: rechtsanwalt
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BORA §6 Darstellung auf Medien (Impressum)

Risiko: 1.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_04greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
beruf:rechtsanwaltgreift nur für diesen reglementierten Beruf: rechtsanwaltFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"beruf":"rechtsanwalt"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_04"
        },
        {
            "beruf": "rechtsanwalt"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-04-anwalt-bora-impressum",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe Impressum: Berufsbezeichnung + Staat + RAK + BRAO/BORA-Links\nalle vorhanden und erreichbar?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_kammerruege",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_04"
            },
            {
                "beruf": "rechtsanwalt"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Berufsbezeichnung: Rechtsanwalt / Rechtsanwältin (verliehen in Deutschland)\nZuständige Kammer: Rechtsanwaltskammer [Stadt], [Adresse], [Web]\nAnwendbare berufsrechtliche Regelungen:\n- Bundesrechtsanwaltsordnung (BRAO)\n- Berufsordnung für Rechtsanwälte (BORA)\n- Rechtsanwaltsvergütungsgesetz (RVG)\n- Fachanwaltsordnung (FAO)\n- Berufsregeln der Rechtsanwälte der EU (CCBE)\nEinsehbar unter: https://www.brak.de/fuer-anwaelte/berufsrecht/\"\n"
}

ohne_section / brao

Fachanwalt-Titel nur mit Nachweis (§43c BRAO)

c-04-anwalt-fachanwalt-nur-bei-nachweis

executablepublic_aistructured_page
Was macht diese Regel?

Die Bezeichnung "Fachanwalt für ..." darf nur führen, wer die FAO- Voraussetzungen erfüllt und den Titel von der Kammer verliehen bekommen hat (§43c BRAO). Unbelegte Verwendung = §43b BRAO-Verstoß + UWG §5 Irreführung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_04, beruf:rechtsanwalt

  • branche_c_04 - greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt ist
  • beruf:rechtsanwalt - greift nur für diesen reglementierten Beruf: rechtsanwalt
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BRAO §43c Fachanwaltschaft

Risiko: 1.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_04greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
beruf:rechtsanwaltgreift nur für diesen reglementierten Beruf: rechtsanwaltFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"beruf":"rechtsanwalt"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_04"
        },
        {
            "beruf": "rechtsanwalt"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-04-anwalt-fachanwalt-nur-bei-nachweis",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "\"Fachanwalt\"-Verwendung auf Website → prüfen ob Titel von RAK verliehen.\nWenn ja, Urkundenjahr/Verleihungsstelle belegbar.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_kammerruege",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_04"
            },
            {
                "beruf": "rechtsanwalt"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Nur verliehene Fachanwaltstitel führen. Alternativ: \"Tätigkeitsschwerpunkt\"\n(kein Titelschutz) nach BORA §7 — bis zu 3 Schwerpunkte, deutliche\nAbgrenzung vom Fachanwalt.\n"
}

ohne_section / brao / stberg

§43b BRAO / §57a StBerG — reklamehafter Werbung unzulässig

c-04-werbeverbot-einschraenkungen

executablepublic_aistructured_page
Was macht diese Regel?

Werbung der Freien Berufe muss nach §43b BRAO / §57a StBerG auf Form und Inhalt sachlich sein. Superlative ("beste Kanzlei", "Top-Experte"), Erfolgshonorarversprechen, Vergleichende Werbung gegen Kollegen sind unzulässig. BVerfG hat Werbefreiheit ausgeweitet, aber Grenzen bleiben.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_04

  • branche_c_04 - greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BRAO / StBerG §43b BRAO; §57a StBerG Werbung

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_04greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_04"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-04-werbeverbot-einschraenkungen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Website-Texte auf Superlative, Erfolgsgarantien, Vergleiche prüfen.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_kammerruege",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_04"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Superlative streichen. Keine \"Top-Kanzlei\", \"Nr. 1\", \"Beste\". Statt\nErfolgsgarantie: \"erfahrene Vertretung\" o.ä. Vergleichende Werbung\ngegen namentlich genannte Kollegen untersagen.\n"
}

ohne_section / brao §51; stberg §67; wpo §54; bnoto §19a; ddg §5 abs. 1 nr. 8

Berufshaftpflichtversicherung — Angabe im Impressum

c-04-haftpflicht-versicherung

executablepublic_aistructured_page
Was macht diese Regel?

Anwälte (§51 BRAO), StB (§67 StBerG), WP (§54 WPO), Architekten (Länder-ArchG), Notare (§19a BNotO) müssen eine Berufshaftpflicht- versicherung unterhalten und nach DDG §5 Abs. 1 Nr. 8 den Versicherer + geografischen Geltungsbereich im Impressum nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_04

  • branche_c_04 - greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BRAO §51; StBerG §67; WPO §54; BNotO §19a; DDG §5 Abs. 1 Nr. 8 je Gesetz Berufshaftpflicht

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_04greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_04"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-04-haftpflicht-versicherung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum: Versicherer-Name, Anschrift, räumlicher Geltungsbereich?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_04"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Berufshaftpflichtversicherung:\n[Name Versicherer], [Anschrift]\nRäumlicher Geltungsbereich: [z.B. EU + EWR + Schweiz]\nVersicherungssumme: [mindestens gesetzliches Minimum, z.B. 250.000 € bei Anwalt]\"\n"
}

ohne_section / bsi-gesetz (bsig) + kritis-v

KRITIS Stand-der-Technik-Nachweis (§8a BSIG)

c-20-kritis-bsig-8a-stand-technik

executablepublic_aistructured_page
Was macht diese Regel?

KRITIS-Betreiber weisen dem BSI alle 2 Jahre nach, dass sie angemessene technische und organisatorische Maßnahmen auf Stand der Technik umge- setzt haben (§8a Abs. 3 BSIG + KRITIS-VO).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_20, ist_kritis_betreiber:true

  • branche_c_20 - greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt ist
  • ist_kritis_betreiber:true - greift, wenn "ist kritis betreiber" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BSI-Gesetz (BSIG) + KRITIS-V §8a Sicherheit in der IT Kritischer Infrastrukturen

Risiko: 5.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_20greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
ist_kritis_betreiber:truegreift, wenn "ist kritis betreiber" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"ist_kritis_betreiber":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_20"
        },
        {
            "ist_kritis_betreiber": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-20-kritis-bsig-8a-stand-technik",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Letzter §8a-Nachweis < 24 Monate? Auditor qualifiziert (BSI-gelistet)?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_20"
            },
            {
                "ist_kritis_betreiber": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "BSI-gelistete Prüfstellen (Liste BSI-Website).",
    "fix_text_vorlage": "Zweijährlicher §8a-Audit durch BSI-gelisteten Prüfer + Nachweis-Upload.\n"
}

ohne_section / btmg + npsg + novel-food-vo

CBD / Kratom — Grenzwerte BtMG/NpSG/Novel Food

c-18-cbd-betaeubungsmittel-grenze

executablepublic_aistructured_page
Was macht diese Regel?

CBD-Produkte sind zulässig, wenn THC-Grenze (i. d. R. < 0,2 %) eingehalten und nicht als Lebensmittel ohne Novel-Food-Zulassung vermarktet wird (EU-Novel-Food-VO 2015/2283). Kratom fällt unter Neue-psychoaktive-Stoffe- Gesetz (NpSG). Rechtsprechung im Fluss.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_18, rolle:cbd_kratom

  • branche_c_18 - greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt ist
  • rolle:cbd_kratom - greift nur für diese fachliche Rolle: cbd kratom
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BtMG + NpSG + Novel-Food-VO Anl. I BtMG; §2 NpSG Betäubungsmittel / psychoaktive Stoffe

Risiko: 3.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_18greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:cbd_kratomgreift nur für diese fachliche Rolle: cbd kratomFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"cbd_kratom"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_18"
        },
        {
            "rolle": "cbd_kratom"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-18-cbd-betaeubungsmittel-grenze",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "THC-Analyse-Zertifikat + Novel-Food-Status auf Produktseite?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "strafbarkeit_und_produktverbot",
            "strafe_strafrecht"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_18"
            },
            {
                "rolle": "cbd_kratom"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Lebensmittelchemiker + Fachanwalt.",
    "fix_text_vorlage": "\"THC < 0,2 %, Analyse durch akkreditiertes Labor [Nr.]. Produkt nicht zum\nVerzehr — nur als Aromatherapie/Kosmetik.\"\n"
}

ohne_section / bundesärzteordnung (bÄo) / ddg

Approbation / Berufsbezeichnung im Impressum

c-05-approbation-nachweis

executablepublic_aistructured_page
Was macht diese Regel?

Approbationsurkunde bzw. Erlaubnis (Heilpraktiker) ist Voraussetzung. Im Impressum (§5 DDG) sind: Berufsbezeichnung "Arzt/Zahnarzt/ Psychotherapeut", Staat der Approbation, Landesärztekammer und anwendbare BO zu nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_05, beruf:arzt_zahnarzt_psychotherapeut

  • branche_c_05 - greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt ist
  • beruf:arzt_zahnarzt_psychotherapeut - greift nur für diesen reglementierten Beruf: arzt zahnarzt psychotherapeut
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Bundesärzteordnung (BÄO) / DDG §2 BÄO; §5 DDG Approbation / Impressumpflicht

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_05greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
beruf:arzt_zahnarzt_psychotherapeutgreift nur für diesen reglementierten Beruf: arzt zahnarzt psychotherapeutFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"beruf":"arzt_zahnarzt_psychotherapeut"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_05"
        },
        {
            "beruf": "arzt_zahnarzt_psychotherapeut"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-05-approbation-nachweis",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum: Approbations-Staat + Bezeichnung + Kammer + BO-Verweis?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_05"
            },
            {
                "beruf": "arzt_zahnarzt_psychotherapeut"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Berufsbezeichnung: Arzt / Ärztin (Approbation verliehen in Deutschland)\nZuständige Kammer: [Landes-]Ärztekammer [Bundesland]\nAnwendbare berufsrechtliche Regelungen:\n- Bundesärzteordnung (BÄO)\n- Berufsordnung der Landesärztekammer [Bundesland]\n- Heilmittelwerbegesetz (HWG)\nEinsehbar unter: [Link Länder-BO]\"\n"
}

ohne_section / claims

Sensible Claims in grossen Texten

content.sensitive_claims_detected

executablepublic_autoohne check_type
Was macht diese Regel?

Ob in grossen Inhaltsseiten absolute oder schwer belegbare Werbeaussagen auftreten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5 Irrefuehrende geschaeftliche Handlungen bei werblichen oder sensiblen Claims

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "module": {
        "key": "deep.content_scan"
    },
    "strategy": "sensitive_claim_detection_for_large_text",
    "claim_groups": [
        "absolute_legal_guarantee",
        "absolute_superlative_claim",
        "final_verdict_wording"
    ],
    "what_it_checks": "Ob in grossen Inhaltsseiten absolute oder schwer belegbare Werbeaussagen auftreten.",
    "evidence_sources": [
        "Textauszug",
        "AI-/Fallback-Claims-Analyse"
    ],
    "legal_basis_refs": [
        "UWG § 5",
        "UWG § 5a"
    ],
    "correction_template": {
        "type": "legal_fix",
        "instruction": "Aussagen nur mit belastbarem Nachweis nutzen oder auf eine engere, sachliche Formulierung zurueckbauen."
    },
    "exposure_profile_key": "content.sensitive_claims_detected",
    "plain_language_label": "Sensible Werbeaussagen mit Nachweis absichern",
    "minimum_word_threshold": 220
}

ohne_section / connected_product_data

Data-Act-Informationen für Connected Products fehlen

product.data_act_connected_product_info_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Connected-Product-Angebote auf sichtbare Vorvertragsinformationen zu erzeugten Daten und Datenzugang.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:connected_product_data - greift, wenn das Zusatzmerkmal "scope signal" den Wert "connected product data" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Regulation (EU) 2023/2854 - Data Act Art. 3 Obligation to make product data and related service data accessible to the user

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "connected_product_data"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.72,
    "fail_summary": "Connected-Product-Scope erkannt, aber Data-Act-Vorvertragsinformationen fehlen.",
    "pass_summary": "Connected-Product-Scope und Data-Act-Vorvertragsinformationen wurden erkannt.",
    "gate_keywords": [
        "connected product",
        "smart device",
        "iot",
        "internet of things",
        "app verbunden",
        "app-gesteuert",
        "vernetztes produkt",
        "smarthome",
        "wearable",
        "sensor",
        "telemetrie"
    ],
    "legal_basis_refs": [
        "Data Act Art. 3"
    ],
    "correction_instruction": "Vor Vertragsschluss klar angeben, welche Produkt-/Servicedaten entstehen und wie Nutzer darauf zugreifen koennen.",
    "not_applicable_summary": "Keine Connected-Product-Signale erkannt.",
    "required_signal_groups": [
        {
            "key": "generated_data_information",
            "label": "Informationen zu erzeugten Produktdaten",
            "keywords": [
                "produktdaten",
                "product data",
                "generated data",
                "data generated",
                "datentyp",
                "datenformat",
                "estimated volume",
                "geschaetztes volumen",
                "geschätztes volumen"
            ]
        },
        {
            "key": "data_access_information",
            "label": "Datenzugang fuer Nutzer",
            "keywords": [
                "datenzugang",
                "data access",
                "daten exportieren",
                "export data",
                "machine-readable",
                "maschinenlesbar",
                "api access",
                "zugriff auf daten"
            ]
        }
    ]
}

ohne_section / content

Grosse Textbloecke erkannt

content.large_text_blocks_detected

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert Seiten mit umfangreichen Textbloecken als vertieften technischen Content-Review-Fall.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Niedriges Risiko, Hinweis oder Feinschliff.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 12 Transparente, verstaendliche und leicht zugängliche Informationen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: low

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "module": {
        "key": "deep.content_scan"
    },
    "strategy": "large_text_block_detection",
    "chunk_word_size": 180,
    "minimum_word_threshold": 220
}

ohne_section / content_structure

Strukturelle Auffaelligkeiten in grossen Texten

content.large_text_structure_weak

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert grosse Inhalte mit schwacher Gliederung als technischen Risikohinweis.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 12 Transparente, verstaendliche und leicht zugängliche Informationen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "module": {
        "key": "deep.content_scan"
    },
    "strategy": "large_text_structure_quality",
    "minimum_word_threshold": 220,
    "long_sentence_threshold": 32,
    "long_paragraph_threshold": 140
}

ohne_section / cookies

Cookie-Banner Dark-Pattern-Signale

cookies.banner_dark_patterns

executablepublic_autoohne check_type
Was macht diese Regel?

Ob ein Cookie-Banner eine faire Erstwahl zwischen Zustimmen und Ablehnen bietet.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TDDDG / DSGVO § 25 TDDDG; Art. 7 DSGVO Einwilligung für Zugriff auf Endeinrichtungen und Nachweis wirksamer Einwilligung

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "checks": [
        "reject_missing_top_level",
        "prechecked_checkbox",
        "contrast_disparity",
        "reject_nested_in_settings"
    ],
    "strategy": "cookie_banner_dark_pattern_heuristics",
    "what_it_checks": "Ob ein Cookie-Banner eine faire Erstwahl zwischen Zustimmen und Ablehnen bietet.",
    "evidence_sources": [
        "HTML-Ausschnitt",
        "Textauszug",
        "Consent-Signale"
    ],
    "legal_basis_refs": [
        "TTDSG § 25",
        "DSGVO Art. 7"
    ],
    "correction_template": {
        "type": "legal_fix",
        "instruction": "Akzeptieren und Ablehnen gleichwertig sichtbar machen und manipulative Muster entfernen."
    },
    "exposure_profile_key": "cookies.banner_dark_patterns",
    "plain_language_label": "Cookie-Banner ohne manipulative Auswahl"
}

ohne_section / cookies

Cookie-Banner Text und Auswahl rechtlich plausibel

cookies.banner_legal_compliance

executablepublic_autolegal.cookie_banner.compliance
Was macht diese Regel?

Ob ein Banner auf erster Ebene echte Ablehnung, klare Zweckbeschreibung und eine Trennung zwischen notwendigen und optionalen Kategorien bietet.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TDDDG / DSGVO § 25 TDDDG; Art. 7 DSGVO Einwilligung für Zugriff auf Endeinrichtungen und Nachweis wirksamer Einwilligung

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "cookie_banner_legal_compliance",
    "check_type": "legal.cookie_banner.compliance",
    "what_it_checks": "Ob ein Banner auf erster Ebene echte Ablehnung, klare Zweckbeschreibung und eine Trennung zwischen notwendigen und optionalen Kategorien bietet.",
    "evidence_sources": [
        "Banner-Text",
        "HTML-Ausschnitt",
        "Consent-Signale"
    ],
    "legal_basis_refs": [
        "TTDSG § 25",
        "DSGVO Art. 6",
        "DSGVO Art. 7"
    ],
    "correction_template": {
        "type": "legal_fix",
        "instruction": "Bannertext und Auswahlstruktur so anpassen, dass Einwilligungen klar informiert und frei erteilt oder abgelehnt werden koennen."
    },
    "exposure_profile_key": "cookies.banner_legal_compliance",
    "plain_language_label": "Cookie-Banner Text und Auswahl rechtlich plausibel"
}

ohne_section / cookies

Consent-Hinweis bei Tracking

cookies.banner_missing_for_tracking

executablepublic_autoohne check_type
Was macht diese Regel?

Ob Tracking-Signale vorhanden sind, ohne dass auf derselben Seite ein klarer Consent-Hinweis sichtbar ist.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TDDDG / DSGVO § 25 TDDDG; Art. 7 DSGVO Einwilligung für Zugriff auf Endeinrichtungen und Nachweis wirksamer Einwilligung

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "consent_hint_for_tracking",
    "what_it_checks": "Ob Tracking-Signale vorhanden sind, ohne dass auf derselben Seite ein klarer Consent-Hinweis sichtbar ist.",
    "consent_signals": [
        "cookie_banner",
        "consent_actions",
        "consent_reject",
        "consent_settings"
    ],
    "evidence_sources": [
        "HTML-Ausschnitt",
        "Textauszug",
        "Tracking-Signale"
    ],
    "legal_basis_refs": [
        "TTDSG § 25",
        "DSGVO Art. 6",
        "DSGVO Art. 7"
    ],
    "correction_template": {
        "type": "legal_fix",
        "instruction": "Vor optionalem Tracking einen sichtbaren Einwilligungshinweis mit echter Auswahl anbieten."
    },
    "exposure_profile_key": "cookies.banner_missing_for_tracking",
    "plain_language_label": "Tracking nur mit sichtbarer Einwilligung",
    "requires_tracking_signal": true
}

ohne_section / cookies

Nicht-essenzielle Cookies vor Consent

cookies.pre_consent_non_essential

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Set-Cookie-Spuren gegen technische Whitelist und markiert nicht-essenzielle Cookies ohne Consent-Signal.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TDDDG / DSGVO § 25 TDDDG; Art. 7 DSGVO Einwilligung für Zugriff auf Endeinrichtungen und Nachweis wirksamer Einwilligung

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "pre_consent_cookie_check",
    "consent_signals": [
        "cookie_banner",
        "consent_actions",
        "consent_reject",
        "consent_settings"
    ],
    "technical_whitelist_path": "config/rules/cookie_technical_whitelist.yaml"
}

ohne_section / cookies

Unbekannte Cookies AI-klassifizieren

cookies.unknown_cookie_ai_classification

executablepublic_autoohne check_type
Was macht diese Regel?

Klassifiziert nicht-technische Cookies via AI/Fallback und markiert unklassifizierte Marker zur manuellen Prüfung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TDDDG / DSGVO § 25 TDDDG; Art. 7 DSGVO Einwilligung für Zugriff auf Endeinrichtungen und Nachweis wirksamer Einwilligung

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "unknown_cookie_ai_classification",
    "use_case": "cookie_classification",
    "cache_table": "cookie_classifications"
}

ohne_section / cookies

Tracking-Indikatoren erkannt

tracking.indicators_detected

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen Risikohinweis, wenn typische Tracking-Skripte oder Marker erkannt werden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TDDDG / DSGVO § 25 TDDDG; Art. 7 DSGVO Einwilligung für Zugriff auf Endeinrichtungen und Nachweis wirksamer Einwilligung

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "signals": [
        "html_excerpt",
        "text_excerpt",
        "header_excerpt"
    ],
    "strategy": "tracking_indicator_detection",
    "providers": [
        "google",
        "meta",
        "hotjar",
        "matomo",
        "plausible",
        "clarity",
        "segment",
        "mixpanel"
    ]
}

ohne_section / datenschutz

Datenschutz-Basisplausibilitaet

datenschutz.content_plausible

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen Risikohinweis, wenn erkannte Datenschutzerklärungen leer oder strukturell unplausibel wirken.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Informationspflichten bei Erhebung personenbezogener Daten

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "datenschutz_content_plausibility",
    "minimum_excerpt_length": 120,
    "required_indicator_groups": [
        "responsible",
        "purpose",
        "rights",
        "contact"
    ]
}

ohne_section / datenschutz

Datenschutzerklärung auffindbar

datenschutz.page_present

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen Risikohinweis, wenn im Scan keine typische Datenschutzerklärungsseite erkannt wird.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Informationspflichten bei Erhebung personenbezogener Daten

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "signals": [
        "url",
        "path",
        "title",
        "text_excerpt",
        "html_excerpt"
    ],
    "keywords": [
        "datenschutz",
        "privacy policy",
        "data protection"
    ],
    "strategy": "datenschutz_page_detection"
}

ohne_section / datenschutz

Drittanbieter-Dienste in Datenschutzerklärung abgeglichen

datenschutz.service_abgleich

executablepublic_autoohne check_type
Was macht diese Regel?

Vergleicht erkannte Drittanbieter-Dienste mit der erkannten Datenschutzerklärung und markiert fehlende Nennungen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Informationspflichten bei Erhebung personenbezogener Daten

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "datenschutz_service_abgleich",
    "depends_on_rule": "services.third_party_detected",
    "datenschutz_gate": "datenschutz_page_present"
}

ohne_section / datenschutz

Datenschutz-Basispunkte technisch vollständig

legal.dse.completeness

executablepublic_autolegal.dse.completeness
Was macht diese Regel?

Ob auf einer erkannten Datenschutzerklärungsseite wesentliche Informationspflichten technisch auffindbar sind.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Informationspflichten bei Erhebung personenbezogener Daten

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "legal_text_ai_assisted_completeness",
    "check_type": "legal.dse.completeness",
    "what_it_checks": "Ob auf einer erkannten Datenschutzerklaerungsseite wesentliche Informationspflichten technisch auffindbar sind.",
    "evidence_sources": [
        "Textauszug",
        "HTML-Ausschnitt",
        "Seitenkontext"
    ],
    "legal_basis_refs": [
        "DSGVO Art. 12",
        "DSGVO Art. 13",
        "DSGVO Art. 14"
    ],
    "correction_template": {
        "type": "legal_fix",
        "instruction": "Fehlende Informationen in der Datenschutzerklaerung klar, konkret und verarbeitungsbezogen ergaenzen."
    },
    "exposure_profile_key": "legal.dse.completeness",
    "plain_language_label": "Datenschutzerklaerung enthaelt die geprueften Pflichtpunkte"
}

ohne_section / datenschutz

Geo-/Datenreise-Risiko bei Drittanbietern

services.geo_data_transfer_risk

executablepublic_autoohne check_type
Was macht diese Regel?

Aggregiert erkannte Drittanbieter und markiert technisch erhoehte Datenreise-Risiken je Scan.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 44 Allgemeiner Grundsatz für Übermittlungen personenbezogener Daten in Drittlaender

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "geo_data_transfer_risk",
    "risk_sources": [
        "provider_country",
        "country_risk_matrix",
        "cross_border_flag"
    ],
    "high_risk_threshold": 3
}

ohne_section / datenschutz-grundverordnung (dsgvo) / pci-dss

TLS 1.2 oder höher aktiv, keine veralteten Cipher-Suites

b-zahlung-pci-tls-versioning

executableowner_deepstructured_page
Was macht diese Regel?

PCI-DSS v4.0 Req. 4.2 verlangt starke Transport-Verschlüsselung. TLS 1.0/1.1 und SSLv3 sind veraltet und unzulässig. Empfohlen: TLS 1.3 mit Forward-Secrecy-Ciphers. Website muss HTTPS ausschließlich anbieten (HSTS-Header).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: akzeptiert_kartenzahlung
Mindestens eine muss passen: akzeptiert_online_zahlung

  • akzeptiert_kartenzahlung - greift, wenn der Trigger "akzeptiert_kartenzahlung" im ScanScope aktiv ist
  • akzeptiert_online_zahlung - greift, wenn der Trigger "akzeptiert_online_zahlung" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Datenschutz-Grundverordnung (DSGVO) / PCI-DSS Art. 32 DSGVO i. V. m. PCI-DSS Req. 4.2 Sicherheit der Verarbeitung / Transport-Sicherheit

Risiko: 1.000,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: high

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
akzeptiert_kartenzahlunggreift, wenn der Trigger "akzeptiert_kartenzahlung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
akzeptiert_online_zahlunggreift, wenn der Trigger "akzeptiert_online_zahlung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "akzeptiert_kartenzahlung"
        }
    ],
    "oder": [
        {
            "scope": "akzeptiert_online_zahlung"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-zahlung-pci-tls-versioning",
    "fix_type": "diy_template",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "SSL-Scanner einsetzen (Qualys SSL Labs, testssl.sh). Rating A oder\nA+? Kein TLS 1.0/1.1 aktiv? HSTS-Header vorhanden? Cipher-Suites\nohne RC4/3DES?\n",
    "normalization": {
        "fix_type": [
            "code_template",
            "diy_template"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "akzeptiert_kartenzahlung"
            }
        ],
        "oder": [
            {
                "scope": "akzeptiert_online_zahlung"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "technik_web",
    "fix_text_vorlage": "Webserver-Konfiguration: TLS 1.2/1.3 only, moderne Cipher-Suites\n(Mozilla SSL Config Generator \"Modern\" oder \"Intermediate\"),\nHSTS-Header \"max-age=31536000; includeSubDomains\". Regelmäßige\nNeuprüfung (SSL Labs).\n"
}

ohne_section / ddg

Redaktionelle Angebote: Verantwortlicher i.S.d.P. mit Name + Anschrift

a-ddg-5-visdp-redaktionell

executablepublic_aiai_classification
Was macht diese Regel?

Wer auf seiner Website journalistisch-redaktionelle Inhalte veröffentlicht (typisch: Blog mit eigenen Meinungsbeiträgen, News-Portal, Online-Magazin, Podcast-Website mit News-Format), MUSS nach §5 Abs. 2 DDG zusätzlich zur Impressumspflicht einen "Verantwortlichen im Sinne des Presserechts" (V.i.S.d.P.) mit Namen und Anschrift benennen. Die Angabe darf mit den allgemeinen Anbieterangaben zusammengelegt werden, muss dann aber deutlich als "V.i.S.d.P." gekennzeichnet sein. Bei mehreren Rubriken (z. B. Ressort-Themen) kann für jede Rubrik ein gesonderter Verantwortlicher angegeben werden. Reine Werbe-Landingpages, Produkt-Seiten, Shop-Beschreibungen und Unternehmens-Website ohne redaktionellen Inhalt sind NICHT betroffen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, diensteanbieter_geschaeftsmaessig
Mindestens eine muss passen: hat_redaktionelle_inhalte, ist_blog_mit_meinungsbeitraegen, ist_news_portal, ist_podcast_news_format

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
  • hat_redaktionelle_inhalte - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: redaktionelle inhalte
  • ist_blog_mit_meinungsbeitraegen - greift, wenn KarlKI die Website so einordnet: blog mit meinungsbeitraegen
  • ist_news_portal - greift, wenn KarlKI die Website so einordnet: news portal
  • ist_podcast_news_format - greift, wenn KarlKI die Website so einordnet: podcast news format
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 2 Allgemeine Informationspflichten — journalistisch-redaktionelle Inhalte

Risiko: 540,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_redaktionelle_inhaltegreift, wenn KarlKI dieses Website-Merkmal gefunden hat: redaktionelle inhalteSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
ist_blog_mit_meinungsbeitraegengreift, wenn KarlKI die Website so einordnet: blog mit meinungsbeitraegenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
ist_news_portalgreift, wenn KarlKI die Website so einordnet: news portalSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
ist_podcast_news_formatgreift, wenn KarlKI die Website so einordnet: podcast news formatSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        }
    ],
    "oder": [
        {
            "scope": "hat_redaktionelle_inhalte"
        },
        {
            "scope": "ist_blog_mit_meinungsbeitraegen"
        },
        {
            "scope": "ist_news_portal"
        },
        {
            "scope": "ist_podcast_news_format"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-5-visdp-redaktionell",
    "fix_type": "diy_text",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "- Klassifizierung zuerst: enthält Website redaktionelle Inhalte?\n- Signal-Patterns: regelmäßige Blog-Posts (≥ 10 Artikel), News-Ressorts, Autoren-Seiten mit Bylines,\n  Podcast-Shownotes mit redaktionellem Kommentar.\n- Wenn erkannt, prüfe Impressum auf: \"V.i.S.d.P.\", \"Verantwortlich im Sinne des Presserechts\",\n  \"verantwortlich i.S.d. § 18 MStV\".\n- Dahinter muss ein Name + deutsche Anschrift stehen.\n- KI-Prompt: \"Enthält die Website journalistisch-redaktionelle Beiträge? Wenn ja: wird eine Person mit\n  V.i.S.d.P.-Kennung und Anschrift benannt?\"\n- Bei reinen Produkt-Seiten / Corporate-Websites ohne redaktionelle Inhalte → Rule `not_applicable`.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            }
        ],
        "oder": [
            {
                "scope": "hat_redaktionelle_inhalte"
            },
            {
                "scope": "ist_blog_mit_meinungsbeitraegen"
            },
            {
                "scope": "ist_news_portal"
            },
            {
                "scope": "ist_podcast_news_format"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Verantwortlich für den redaktionellen Inhalt gemäß § 5 Abs. 2 DDG (V.i.S.d.P.):\n\n{{vorname}} {{nachname}}\n{{strasse_hausnummer}}\n{{plz}} {{ort}}\nDeutschland\"\n\n— oder bei mehreren Rubriken —\n\"Verantwortlich gemäß § 5 Abs. 2 DDG:\n- Redaktion Allgemein: {{name_1}}, {{anschrift_1}}\n- Rubrik {{ressort}}: {{name_2}}, {{anschrift_2}}\"\n"
}

ohne_section / ddg

Impressum-Link eindeutig bezeichnet

a-ddg-impressum-label-eindeutig

executablepublic_autodom_element
Was macht diese Regel?

Das Link-Label, das zum Impressum führt, muss für einen durchschnittlichen Nutzer unmissverständlich erkennbar sein. Die sichere Variante ist das Wort "Impressum". Nach BGH I ZR 228/03 ist auch "Anbieterkennzeichnung" oder "Kontakt" hinnehmbar, wenn ein durchschnittlicher Nutzer dahinter die Anbieter-Identifikation erwartet. PROBLEMATISCH sind Labels wie "Über uns", "Team", "Info", "Rechtliches" (ohne Ausdifferenzierung) oder rein grafische Icons ohne Beschriftung. Das AG Aachen (84 C 237/09) bevorzugte "Impressum" als klaren Begriff; die OLG-Linie ist liberaler, die Praxis-Empfehlung aber eindeutig: **Label "Impressum" verwenden**.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, diensteanbieter_geschaeftsmaessig

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 1 Allgemeine Informationspflichten — 'leicht erkennbar'

Risiko: 540,00 EUR bis 30.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, dom_snapshot, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, dom_snapshot, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-impressum-label-eindeutig",
    "fix_type": "diy_config",
    "check_type": "dom_element",
    "section_name": null,
    "check_hinweis": "- Suche im Footer und in Navigation nach `<a>`-Elementen, die auf die Impressum-URL verweisen.\n- Prüfe Link-Text gegen Whitelist: [\"Impressum\", \"Imprint\", \"Anbieterkennzeichnung\", \"Kontakt\" (nur wenn Impressum-Inhalt dahinter), \"Rechtliches → Impressum\"].\n- Negativ-Liste: \"Über uns\", \"Team\", \"Info\", \"Home\", \"Start\", reine Icons.\n- Wenn Link-Text mehrdeutig (\"Kontakt\", \"Rechtliches\"): prüfe, ob unter der Ziel-URL tatsächlich das Impressum liegt → wenn ja: Soft-Pass + Hinweis \"Label 'Impressum' empfohlen\".\n- KI-Prompt: \"Welchen Text trägt der Link, der zum Impressum führt? Ist er für einen durchschnittlichen Nutzer als Anbieterkennzeichnung erkennbar?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "# technischer Fix — im Footer-Template:\n\n<a href=\"/impressum\">Impressum</a>\n\nEmpfohlene Labels (absteigende Sicherheit):\n  1. \"Impressum\" (rechtssicher, Branchenstandard)\n  2. \"Imprint\" (bei englischsprachigen Seiten zusätzlich)\n  3. \"Anbieterkennzeichnung\" (rechtssicher, aber sperrig)\n\nNICHT empfohlen (Grauzone / Abmahnrisiko):\n  - \"Über uns\" — verschleiert Impressumscharakter\n  - \"Info\" / \"Team\" / \"Home\" — unzureichend\n  - rein grafische Icons ohne sichtbaren Text\n"
}

ohne_section / ddg

Impressum in maximal zwei Klicks von jeder Seite erreichbar

a-ddg-impressum-zwei-klicks

executablepublic_autodom_element
Was macht diese Regel?

Nach gefestigter BGH-Rechtsprechung (I ZR 228/03 „Anbieterkennzeichnung", 20.07.2006) muss das Impressum von jeder Seite des digitalen Dienstes aus mit höchstens zwei Klicks erreichbar sein. In der Praxis bedeutet das: - EIN DIREKT-LINK im Footer jeder Seite (Standard und sicherste Variante) - alternativ: Link im Haupt-Menü oder in der Sidebar, wenn durchgängig auf allen Seiten sichtbar Wenn das Impressum nur über den Umweg "Startseite → Über uns → Impressum" oder via Hamburger-Menü + zwei Untermenüs erreichbar ist, droht Abmahnung. Besonders kritisch: Landingpages mit eigenem Layout, auf denen das Footer-Menü "vergessen" wurde. Relevant auch auf MOBIL-Ansicht — Impressum-Link darf nicht nur im Desktop-Footer stehen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, diensteanbieter_geschaeftsmaessig

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Abs. 1 Allgemeine Informationspflichten — 'leicht erkennbar, unmittelbar erreichbar'

Risiko: 540,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, dom_snapshot, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, dom_snapshot, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-impressum-zwei-klicks",
    "fix_type": "diy_config",
    "check_type": "dom_element",
    "section_name": null,
    "check_hinweis": "- Lade Startseite und mindestens 3 weitere zufällige Unterseiten.\n- Suche in jedem DOM: `<a>`-Element mit Text-Regex `/impressum|imprint|anbieterkennzeichnung/i`.\n- Prüfe Klick-Tiefe: max. 2 Klicks ab beliebiger Seite bis Impressum-Seite-URL.\n- Prüfe Mobile-Viewport (375x812): ist Impressum-Link ebenfalls sichtbar/erreichbar?\n- Negativ-Signal: Impressum nur über Startseite → Footer → \"Über uns\" → Impressum (3 Klicks).\n- Prüfe Landingpages (Kampagnen-URLs ohne Footer) separat.\n- KI-Prompt: \"Ist von dieser Seite aus ein Link mit Text 'Impressum' (oder gleichwertig) direkt sichtbar und klickbar? Wenn nicht: in wie vielen Klicks erreichbar?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "# technischer Fix — im Footer-Template einzubauen:\n\n<footer>\n  <nav aria-label=\"Rechtliche Hinweise\">\n    <a href=\"/impressum\">Impressum</a>\n    <a href=\"/datenschutz\">Datenschutz</a>\n    <a href=\"/agb\">AGB</a>\n    <a href=\"/kontakt\">Kontakt</a>\n  </nav>\n</footer>\n\nDer Impressum-Link MUSS auf jeder URL des digitalen Dienstes erscheinen —\ninklusive Landing-Pages, Kampagnen-Seiten, Danke-Seiten und\nOnepager-Kapiteln.\n"
}

ohne_section / ddg

Im Auftrag welches Werbetreibenden wird geworben

b-influencer-ddg6-absender-werbetreibender

executablepublic_aistructured_page
Was macht diese Regel?

§6 DDG (seit 14.05.2024, Nachfolger §6 TMG) verlangt, dass in der kommerziellen Kommunikation nicht nur der kommerzielle Charakter, sondern auch die natürliche oder juristische Person, in deren Auftrag geworben wird, klar identifizierbar ist. Praktisch: der Name der beworbenen Marke/Firma muss erkennbar sein (nicht nur "[Werbung]" abstrakt).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_bezahlte_kooperation

  • hat_bezahlte_kooperation - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte kooperation
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG §6 Abs. 1 Nr. 2 Besondere Pflichten bei kommerziellen Kommunikationen

Risiko: 500,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_bezahlte_kooperationgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte kooperationSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_bezahlte_kooperation"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-influencer-ddg6-absender-werbetreibender",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Werbe-Posts prüfen: Ist der Werbetreibende (Marke, Firma) klar\nbenannt? \"Werbung\" allein reicht nicht — es muss klar sein, für\nWEN geworben wird.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_bezahlte_kooperation"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Kennzeichnung erweitern: \"Werbung | in Zusammenarbeit mit\n[Markenname GmbH]\". Oder bei Instagram \"Bezahlte Partnerschaft\nmit @markenname\". Auf Website: Im Beitragsheader nicht nur\n\"Werbung\", sondern \"Werbung für [Marke]\" oder Banner mit\nMarken-Logo.\n"
}

ohne_section / ddg

Zuständige HWK nach Betriebsort im Impressum

c-02-kammer-bezirk

executablepublic_aistructured_page
Was macht diese Regel?

§5 Abs. 1 Nr. 5 DDG verlangt die Nennung der zuständigen Kammer. Bei Handwerkern ist dies die HWK nach Betriebssitz — nicht zwingend Wohnort. Namen und Adresse / Webseite der Kammer müssen ermittelbar sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_02

  • branche_c_02 - greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG §5 Abs. 1 Nr. 5 Allgemeine Informationspflichten

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_02greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_02"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-02-kammer-bezirk",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe: Ist die zuständige HWK des Betriebssitzes korrekt genannt\n(nicht Wohnort des Inhabers)? Ist sie über Webseite erreichbar?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_02"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Zuständige Kammer:\nHandwerkskammer [Stadt]\n[Straße, PLZ Ort]\nWeb: https://www.hwk-[stadt].de\"\n"
}

ohne_section / ddg

HWK im Impressum (DDG §5 Abs. 1 Nr. 5)

c-03-kammer-hinweis-impressum

executablepublic_aistructured_page
Was macht diese Regel?

Die zuständige HWK ist als "Kammer" im Impressum zu nennen — auch bei B1/B2-Betrieben (DDG §5 Abs. 1 Nr. 5).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_03

  • branche_c_03 - greift, wenn Branche/Cluster branche_c_03 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG §5 Abs. 1 Nr. 5 Kammerangabe

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_03greift, wenn Branche/Cluster branche_c_03 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_03"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-03-kammer-hinweis-impressum",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "HWK genannt + Webseite/Adresse prüfbar?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_03"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Kammer: Handwerkskammer [Stadt], [Adresse], https://www.hwk-[stadt].de\"\n"
}

ohne_section / ddg

Vereinsregister-Nummer + Amtsgericht

c-19-register-eintrag-vr-vereinsregister

executablepublic_aistructured_page
Was macht diese Regel?

Eingetragene Vereine (e.V.) müssen die Registernummer (VR-Nummer) und das zuständige Amtsgericht im Impressum angeben (§5 Abs. 1 Nr. 4 DDG).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_19, rolle:eingetragener_verein

  • branche_c_19 - greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt ist
  • rolle:eingetragener_verein - greift nur für diese fachliche Rolle: eingetragener verein
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG §5 Abs. 1 Nr. 4 Registerangabe

Risiko: 100,00 EUR bis 1.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_19greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:eingetragener_vereingreift nur für diese fachliche Rolle: eingetragener vereinFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"eingetragener_verein"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_19"
        },
        {
            "rolle": "eingetragener_verein"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-19-register-eintrag-vr-vereinsregister",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum: \"Vereinsregister: AG [Ort], VR [Nummer]\"?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_19"
            },
            {
                "rolle": "eingetragener_verein"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Registergericht: Amtsgericht Musterstadt, Vereinsregister Nr. VR 1234.\"\n"
}

ohne_section / ddg + bgb

Vorstand + Vertretungsregelung im Impressum

c-19-bgb-impressum-vertretungsberechtigter

executablepublic_aistructured_page
Was macht diese Regel?

§5 Abs. 1 Nr. 1 DDG i. V. m. §26 BGB verlangt bei juristischen Personen die Angabe der Vertretungsberechtigten (Vorstandsmitglieder) mit Namen und – sofern einschlägig – der Vertretungsregelung (Einzel- vs. Gesamt- vertretung).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_19

  • branche_c_19 - greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG + BGB §5 DDG; §26 BGB Impressum juristischer Personen

Risiko: 200,00 EUR bis 1.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_19greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_19"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-19-bgb-impressum-vertretungsberechtigter",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum: \"Vorstand: [Namen, Rollen]; Vertretung: [Einzel-/Gesamt]\".\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_19"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Vertreten durch den Vorstand: Max Mustermann (Vorsitz), Erika Beispiel\n(Kassenwart); gemäß §26 BGB vertretungsberechtigt sind zwei Vorstands-\nmitglieder gemeinschaftlich.\"\n"
}

ohne_section / ddg + heilberufsgesetze der länder

Landesärztekammer im Impressum (je Bundesland)

c-05-kammer-aerztekammer

executablepublic_aistructured_page
Was macht diese Regel?

Die jeweilige Landesärzte-, Zahnärzte- oder Psychotherapeutenkammer (17 Länder-Kammern) ist nach Praxissitz als zuständige Kammer im Impressum zu nennen — mit Adresse und Webseite.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_05

  • branche_c_05 - greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG + Heilberufsgesetze der Länder §5 Abs. 1 Nr. 5 DDG Kammerangabe

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_05greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_05"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-05-kammer-aerztekammer",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Kammer im Impressum nach Praxissitz korrekt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_05"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Zuständige Kammer: [z.B. Ärztekammer Nordrhein], [Adresse], [Web]\"\n"
}

ohne_section / ddg / gewo

Aufsichtsbehörde IHK (ggf. BaFin) im Impressum

c-06-ihk-aufsicht

executablepublic_aistructured_page
Was macht diese Regel?

Die zuständige IHK (nach Betriebssitz) ist Aufsichtsbehörde für §34d/f/h/i- Vermittler und im Impressum (§5 Abs. 1 Nr. 3 DDG) zu nennen. Bei bestimmten Produkten (Einlagen, Zahlungsdienste) tritt BaFin als Aufsicht zusätzlich hinzu.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_06

  • branche_c_06 - greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG / GewO §5 Abs. 1 Nr. 3 DDG Aufsichtsbehörde

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_06greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_06"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-06-ihk-aufsicht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "IHK genannt + Adresse + Web? BaFin bei KWG-Instituten zusätzlich?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_06"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Aufsichtsbehörde:\nIndustrie- und Handelskammer [Stadt], [Adresse], [Web]\n(zusätzlich bei bestimmten Produkten: Bundesanstalt für\nFinanzdienstleistungsaufsicht — BaFin, Graurheindorfer Str. 108,\n53117 Bonn, www.bafin.de)\"\n"
}

ohne_section / ddg / ustg

USt-IdNr. im Impressum + Reverse-Charge-Hinweis

c-08-impressum-ust-pflicht-bei-vertrag-intl

executablepublic_aistructured_page
Was macht diese Regel?

USt-IdNr. ist nach §5 Abs. 1 Nr. 6 DDG bei ihrem Bestehen zwingend im Impressum zu nennen. Bei EU-B2B-Verkäufen (Reverse-Charge nach §13b UStG) muss Rechnung + Website-Hinweis erkennen lassen: "Steuerschuld geht auf Leistungsempfänger über".

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_08

  • branche_c_08 - greift, wenn Branche/Cluster branche_c_08 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG / UStG §5 Abs. 1 Nr. 6 DDG; §13b UStG USt-IdNr. / Reverse-Charge

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_08greift, wenn Branche/Cluster branche_c_08 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_08"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-08-impressum-ust-pflicht-bei-vertrag-intl",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum: USt-IdNr. genannt (falls vorhanden)? Reverse-Charge-Hinweis\nbei EU-Geschäften in Rechnung + Website?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_ust",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_08"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Umsatzsteuer-Identifikationsnummer gemäß §27a UStG: DE123456789\nBei Lieferungen innerhalb der EU an Unternehmer mit gültiger\nUSt-IdNr. erfolgt die Rechnung steuerfrei nach §4 Nr. 1 lit. b UStG\ni.V.m. §6a UStG; die Steuerschuld geht auf den Leistungsempfänger\nüber (Reverse-Charge, §13b UStG).\"\n"
}

ohne_section / dora

DORA Art. 28/30: Vertragsstandard IKT-Auslagerung

c-20-dora-vertrag-auslagerung-ikt

executablepublic_aistructured_page
Was macht diese Regel?

Verträge mit IKT-Drittanbietern müssen die Pflichtklauseln aus Art. 30 DORA enthalten (Exit-Strategie, Prüfrechte, SLA, Sub-Auslagerung, Datenort, Sicherheitsanforderungen).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_20, ist_finanzunternehmen:true

  • branche_c_20 - greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt ist
  • ist_finanzunternehmen:true - greift, wenn "ist finanzunternehmen" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DORA Art. 30 Wesentliche Vertragsinhalte

Risiko: 10.000,00 EUR bis 100.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_20greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
ist_finanzunternehmen:truegreift, wenn "ist finanzunternehmen" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"ist_finanzunternehmen":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_20"
        },
        {
            "ist_finanzunternehmen": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-20-dora-vertrag-auslagerung-ikt",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Alle kritischen IKT-Verträge auf Art. 30 DORA aktualisiert?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_20"
            },
            {
                "ist_finanzunternehmen": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Vertrags-Re-Review gemäß DORA Art. 30 — Klausel-Checkliste mit Exit,\nAudit, SLA.\n"
}

ohne_section / drittanbieter

Drittanbieter-Dienste erkannt

services.third_party_detected

executablepublic_autoohne check_type
Was macht diese Regel?

Erkennt bekannte externe Dienste auf Seitenebene über Domain- und Cookie-Muster.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Informationspflichten bei Erhebung personenbezogener Daten

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "signals": [
        "service_domains",
        "cookie_name_patterns",
        "html",
        "text",
        "headers"
    ],
    "strategy": "third_party_catalog_detection",
    "catalog_table": "third_party_services"
}

ohne_section / dsa

AGB / Nutzungsbedingungen leicht zugänglich und klar verständlich

a-dsa-art14-agb-zugänglich-verstaendlich

executablepublic_aistructured_page
Was macht diese Regel?

Die Allgemeinen Geschäftsbedingungen bzw. Nutzungsbedingungen müssen in klarer, verständlicher, nutzerfreundlicher und eindeutiger Sprache verfasst sein und öffentlich auf leicht zugängliche und maschinen- lesbare Art zur Verfügung gestellt werden. Bei wesentlichen Änderungen Informationspflicht der Nutzer.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 14 Abs. 1 Allgemeine Geschäftsbedingungen

Risiko: 1.000,00 EUR bis 1.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsa-art14-agb-zugaenglich-verstaendlich",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DOM-Scan auf Footer-Link \"AGB\", \"Nutzungsbedingungen\", \"Terms\".\nPrüfung auf maschinenlesbares Format (HTML-Volltext, nicht nur\nPDF-Download). KI-Lesbarkeits-Score auf AGB-Text.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld_bnetza",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "- Footer-Link \"AGB\" bzw. \"Nutzungsbedingungen\" auf jeder Seite\n- AGB als HTML-Seite (zusätzlich ggf. PDF-Download)\n- Gliederung mit nummerierten Abschnitten, Inhaltsverzeichnis\n- Verständliche Sprache (Flesch-Score möglichst >60)\n- Vermeidung juristischer Fachbegriffe ohne Erklärung\n- Änderungsinformation: \"Zuletzt geändert am [Datum]\" + bei\n  wesentlichen Änderungen proaktive Information der aktiven Nutzer\n"
}

ohne_section / dsa

Inhalts-Moderationsregeln transparent dargelegt

a-dsa-art14-moderationsregeln-transparent

executablepublic_aistructured_page
Was macht diese Regel?

Die AGB müssen Informationen über alle Richtlinien, Verfahren, Maßnahmen und Werkzeuge enthalten, die zur Moderation von Inhalten verwendet werden, einschließlich algorithmischer Entscheidungsfindung und menschlicher Überprüfung. Relevant bei Websites mit nutzergenerierten Inhalten (Kommentare, Bewertungen, Forum, Upload-Funktion).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, ugc_möglich

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • ugc_moeglich - greift, wenn der Trigger "ugc_möglich" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 14 Abs. 1 S. 2 Allgemeine Geschäftsbedingungen — Moderation

Risiko: 1.000,00 EUR bis 1.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
ugc_moeglichgreift, wenn der Trigger "ugc_möglich" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "ugc_moeglich"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsa-art14-moderationsregeln-transparent",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Nur aktivieren bei Websites mit User-generated Content. KI-Check\nder AGB auf Abschnitt zu Moderation/Community-Regeln.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld_bnetza",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "ugc_moeglich"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "AGB-Abschnitt \"Moderation von Inhalten\":\n- Welche Inhalte sind unzulässig (Kriterien-Liste)\n- Wie werden Verstöße entdeckt (automatisch, Meldung, menschliche\n  Prüfung)\n- Welche Maßnahmen können ergriffen werden (Löschen, Sperren,\n  Einschränkung)\n- Benachrichtigung des Betroffenen bei Maßnahme\n- Beschwerdemöglichkeit (siehe Rule 3.3)\n"
}

ohne_section / dsa

Notice-and-Action-Meldemechanismus leicht zugänglich

a-dsa-art16-notice-action

executablepublic_aistructured_page
Was macht diese Regel?

Anbieter von Hosting-Diensten müssen einen Mechanismus bereitstellen, über den Einzelpersonen oder Stellen das Vorhandensein von nach ihrer Ansicht illegalen Inhalten melden können. Der Mechanismus muss leicht zugänglich, benutzerfreundlich und vollständig elektronisch nutzbar sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, hosting_dienst

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hosting_dienst - greift, wenn der Trigger "hosting_dienst" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 16 Melde- und Abhilfemechanismen

Risiko: 1.000,00 EUR bis 1.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
hosting_dienstgreift, wenn der Trigger "hosting_dienst" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "hosting_dienst"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsa-art16-notice-action",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Scope-Filter: Nur aktivieren, wenn nutzergenerierte Inhalte möglich\nsind (Kommentare, Forum, Upload). DOM-Scan auf \"Inhalt melden\" /\n\"Report\"-Link bei UGC-Elementen.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld_bnetza",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "hosting_dienst"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Meldeformular mit Pflichtfeldern:\n- Hinreichend genaue Begründung, warum der Meldende den Inhalt\n  für illegal hält\n- Klare Identifizierung des Inhalts (URL, Screenshot)\n- Name und E-Mail des Meldenden (außer bei §184b StGB —\n  Kinderpornografie — anonyme Meldungen möglich)\n- Erklärung zu Treu und Glauben der Angaben\nBestätigung per E-Mail an Meldenden (unverzüglich).\n"
}

ohne_section / dsa

Begründete Entscheidung bei Maßnahme gegen Inhalt

a-dsa-art17-begruendete-entscheidung

executablepublic_aiai_semantic
Was macht diese Regel?

Wird ein Inhalt aufgrund einer Meldung eingeschränkt oder gelöscht, muss der betroffene Nutzer eine klare und eindeutige Begründung erhalten (Art. 17 DSA). Inhalt der Begründung: Sachverhalt, rechtliche Grundlage, Verweis auf einschlägige AGB-Regelung, Hinweis auf Beschwerdemöglichkeiten (intern und extern).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, hosting_dienst

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hosting_dienst - greift, wenn der Trigger "hosting_dienst" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 17 Begründung der Entscheidung

Risiko: 1.000,00 EUR bis 1.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
hosting_dienstgreift, wenn der Trigger "hosting_dienst" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "hosting_dienst"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsa-art17-begruendete-entscheidung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Keine DOM-Prüfung — Selbstauskunft. Existiert Prozess für begründete\nEntscheidungen? Template vorhanden?\n",
    "normalization": {
        "check_type": [
            "service_behavior",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "bussgeld_bnetza",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "hosting_dienst"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Mitteilungs-Template bei Löschung/Einschränkung:\n1. Anrede Nutzer\n2. Betroffener Inhalt (URL, Datum, Inhaltsauszug)\n3. Maßnahme (Löschung / Einschränkung Sichtbarkeit / Account-Sperre)\n4. Tatsachengrundlage (was wurde festgestellt)\n5. Rechtsgrundlage (Gesetz/AGB-Klausel mit Verweis)\n6. Möglichkeiten zur Beschwerde (interner Prozess + außergerichtliche\n   Streitbeilegung nach Art. 21 DSA, sofern einschlägig)\n7. Hinweis auf Klageweg\n"
}

ohne_section / dsa

Internes Beschwerdemanagement für Plattform-Entscheidungen

a-dsa-art20-internes-beschwerdemanagement

executablepublic_aistructured_page
Was macht diese Regel?

Anbieter von Online-Plattformen müssen ein internes Beschwerde- management-System bereitstellen, über das Nutzer Entscheidungen (z. B. Löschung, Sperrung) anfechten können — elektronisch, kostenfrei, mindestens 6 Monate ab Entscheidung verfügbar. Befreit: Kleinstunter- nehmen (Art. 19 DSA) — für diese gilt lediglich Art. 14 + Art. 16/17.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, online_plattform
Darf nicht zutreffen: kleinstunternehmen

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • online_plattform - greift, wenn der Trigger "online_plattform" im ScanScope aktiv ist
  • kleinstunternehmen - greift, wenn der Trigger "kleinstunternehmen" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 20 Internes Beschwerdemanagementsystem

Risiko: 1.000,00 EUR bis 1.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
online_plattformgreift, wenn der Trigger "online_plattform" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

NICHT Wenn eine dieser Bedingungen zutrifft, darf die Regel nicht laufen.

BegriffWas er bedeutetWofür er da ist
kleinstunternehmengreift, wenn der Trigger "kleinstunternehmen" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "online_plattform"
        }
    ],
    "oder": [],
    "nicht": [
        {
            "scope": "kleinstunternehmen"
        }
    ]
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsa-art20-internes-beschwerdemanagement",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Scope-Filter: Nur bei Online-Plattformen ohne Kleinstunternehmen-\nStatus. DOM-Scan auf Beschwerde-Portal / -Formular.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld_bnetza",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "online_plattform"
            }
        ],
        "oder": [],
        "nicht": [
            {
                "scope": "kleinstunternehmen"
            }
        ]
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Beschwerde-Formular erreichbar aus Mitteilung nach Art. 17 + von\nHilfe-Seite:\n- Referenz auf ursprüngliche Entscheidung\n- Begründung des Nutzers\n- Möglichkeit, weitere Beweise einzureichen\n- Zusicherung menschlicher Überprüfung (nicht nur Automatik)\n- Frist für Antwort (unverzüglich, praxisüblich 14 Tage)\n"
}

ohne_section / dsa

Keine Profiling-basierte Werbung an Minderjährige

a-dsa-art28-keine-profiling-werbung-minderjaehrige

executablepublic_aiai_classification
Was macht diese Regel?

Anbieter von Online-Plattformen dürfen keine Werbung auf Basis von Profiling (DSGVO Art. 4 Nr. 4) mit personenbezogenen Daten des Nutzers ausspielen, wenn sie mit hinreichender Sicherheit wissen, dass der Nutzer minderjährig ist. Nicht-personalisierte, kontextuelle Werbung bleibt zulässig.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, online_plattform, minderjaehrige_zielgruppe_oder_erkennbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • online_plattform - greift, wenn der Trigger "online_plattform" im ScanScope aktiv ist
  • minderjaehrige_zielgruppe_oder_erkennbar - greift, wenn der Trigger "minderjaehrige_zielgruppe_oder_erkennbar" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 28 Abs. 2 Schutz Minderjähriger

Risiko: 1.000,00 EUR bis 1.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
online_plattformgreift, wenn der Trigger "online_plattform" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
minderjaehrige_zielgruppe_oder_erkennbargreift, wenn der Trigger "minderjaehrige_zielgruppe_oder_erkennbar" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "online_plattform"
        },
        {
            "scope": "minderjaehrige_zielgruppe_oder_erkennbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsa-art28-keine-profiling-werbung-minderjaehrige",
    "fix_type": "diy_text",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "Selbstauskunft: Ist die Zielgruppe oder Teil davon minderjährig?\n(z. B. Gaming-Plattform, Schul-App) Bei ja: Werbung-Setup prüfen.\n",
    "normalization": {
        "check_type": [
            "self_assessment",
            "ai_classification"
        ],
        "rechtsrisiko_typ": [
            "bussgeld_bnetza",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "online_plattform"
            },
            {
                "scope": "minderjaehrige_zielgruppe_oder_erkennbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Bei Kinder-/Jugendangeboten zusätzlich JMStV prüfen.",
    "fix_text_vorlage": "- Personalisiertes Targeting (Retargeting, Interest-based) für\n  Nutzer <18 Jahre deaktivieren\n- Alternative: nur kontextuelle Werbung (basierend auf Seiteninhalt,\n  nicht Nutzerprofil)\n- Altersprüfung (Self-Declaration, Altersgate) bei Anmeldung, wenn\n  Minderjährige erkennbar Zielgruppe\n- Dokumentation der technischen Maßnahme\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Bearbeitungsfrist ein Monat, verlängerbar (Art. 12 Abs. 3)

a-dsgvo-art12-frist-ein-monat

executablepublic_aistructured_page
Was macht diese Regel?

Die DSE soll die Bearbeitungsfrist für Betroffenenanfragen (Art. 15–22) klar kommunizieren: Antwort unverzüglich, in jedem Fall innerhalb eines Monats nach Eingang. Verlängerung um weitere zwei Monate möglich bei Komplexität oder großer Anzahl von Anträgen — Nutzer muss dann innerhalb des ersten Monats informiert werden (inkl. Gründe).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 12 Abs. 3 Transparente Information, Kommunikation und Modalitäten für die Ausübung der Rechte der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art12-frist-ein-monat",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt: \"Kommuniziert die DSE die Bearbeitungsfrist aus Art. 12 Abs. 3\nDSGVO (Antwort innerhalb eines Monats, Verlängerung um zwei weitere Monate\nmöglich)? Zitat.\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Bearbeitungsfrist (Art. 12 Abs. 3 DSGVO):**\nWir beantworten Anträge zur Ausübung Ihrer Betroffenenrechte unverzüglich,\nin jedem Fall aber innerhalb eines Monats nach Eingang des Antrags. Sollte\nein Antrag besonders umfangreich oder komplex sein, können wir diese Frist\num bis zu zwei weitere Monate verlängern. In diesem Fall informieren wir\nSie innerhalb des ersten Monats über die Verlängerung und die Gründe.\n\nAnfragen bitte an: {{email_datenschutz}}\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Bearbeitung grundsätzlich kostenfrei (Art. 12 Abs. 5)

a-dsgvo-art12-kostenlos

executablepublic_aistructured_page
Was macht diese Regel?

Die Ausübung der Betroffenenrechte (Auskunft, Berichtigung, Löschung, Einschränkung, Widerspruch, Datenübertragbarkeit, automatisierte Entscheidung) ist für den Nutzer grundsätzlich kostenfrei. Ausnahme: bei offenkundig unbegründeten oder exzessiven Anträgen darf der Verantwortliche entweder ein angemessenes Entgelt verlangen oder die Bearbeitung verweigern — muss aber den exzessiven Charakter nachweisen. Die DSE darf keine pauschale Gebührenankündigung enthalten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 12 Abs. 5 Transparente Information, Kommunikation und Modalitäten für die Ausübung der Rechte der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art12-kostenlos",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt: \"Stellt die DSE klar, dass die Bearbeitung von Betroffenen-\nanfragen grundsätzlich kostenfrei ist? WICHTIG: prüfe Gegenprobe —\nenthält die DSE unzulässige Gebührenankündigungen (z. B. 'für eine\nAuskunft berechnen wir X Euro')?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Kostenfreiheit (Art. 12 Abs. 5 DSGVO):**\nDie Ausübung Ihrer Betroffenenrechte nach Art. 15 bis 22 DSGVO ist für Sie\ngrundsätzlich kostenfrei. Ein angemessenes Entgelt dürfen wir nur verlangen\noder die Bearbeitung verweigern, wenn Ihr Antrag offenkundig unbegründet\noder — insbesondere im Fall häufiger Wiederholung — exzessiv ist. Den\nexzessiven Charakter müssen wir nachweisen.\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Pflicht zur Datenbereitstellung

a-dsgvo-art13-erforderlichkeit

executablepublic_aistructured_page
Was macht diese Regel?

Wenn Daten gesetzlich oder vertraglich bereitzustellen sind (z. B. Name/Anschrift für Kaufvertrag, Steuer-ID für Rechnung), muss die DSE darüber informieren, ob die betroffene Person zur Bereitstellung verpflichtet ist und welche Folgen eine Nichtbereitstellung hätte (z. B. Vertrag kommt nicht zustande).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich
Mindestens eine muss passen: hat_formular, hat_shop, hat_kundenkonto

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • hat_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: formular
  • hat_shop - greift bei Shop/Warenkorb/Checkout-Signalen
  • hat_kundenkonto - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenkonto
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 2 lit. e Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_shopgreift bei Shop/Warenkorb/Checkout-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_kundenkontogreift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenkontoSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        }
    ],
    "oder": [
        {
            "scope": "hat_formular"
        },
        {
            "scope": "hat_shop"
        },
        {
            "scope": "hat_kundenkonto"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-erforderlichkeit",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt: \"Enthält die DSE einen Hinweis, welche Daten gesetzlich/vertraglich\nbereitgestellt werden müssen und welche Folgen eine Nichtbereitstellung hätte?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            }
        ],
        "oder": [
            {
                "scope": "hat_formular"
            },
            {
                "scope": "hat_shop"
            },
            {
                "scope": "hat_kundenkonto"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Pflicht zur Bereitstellung:**\nDie Angabe Ihrer personenbezogenen Daten ist weder gesetzlich noch vertraglich\nvorgeschrieben. Ohne bestimmte Pflichtangaben (z. B. Name, Rechnungsadresse\nbei Bestellungen) können wir Ihnen jedoch unsere Leistung nicht zur Verfügung\nstellen bzw. keinen Vertrag mit Ihnen schließen. Pflichtfelder in unseren\nFormularen sind als solche gekennzeichnet.\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Automatisierte Entscheidungsfindung / Profiling

a-dsgvo-art13-profiling

executablepublic_aistructured_page
Was macht diese Regel?

Wenn automatisierte Entscheidungsfindung inkl. Profiling stattfindet, die dem Betroffenen gegenüber rechtliche Wirkung entfaltet oder ihn ähnlich erheblich beeinträchtigt (Art. 22), MUSS die DSE aussagekräftige Informationen über die Logik sowie Tragweite und Auswirkungen geben. Bei reiner Webanalyse/Retargeting typischerweise nicht einschlägig — dann aber klarstellen, dass keine automatisierte Entscheidung stattfindet.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 2 lit. f Informationspflicht bei Erhebung personenbezogener Daten bei der betroffenen Person

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art13-profiling",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt: \"Enthält die DSE eine Aussage dazu, ob automatisierte\nEntscheidungsfindung/Profiling im Sinne von Art. 22 DSGVO stattfindet?\nWenn ja: werden Logik, Tragweite und Auswirkungen beschrieben?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Bei Einsatz von KI-gestützten Entscheidungen (Scoring, automatische\nAblehnungen): Fachanwalt hinzuziehen. Art. 22 ist Grauzone mit hohem\nEuGH-Dynamikrisiko — Standard-Mustertext greift dann nicht mehr.\n",
    "fix_text_vorlage": "**Automatisierte Entscheidungsfindung:**\nEine automatisierte Entscheidungsfindung oder ein Profiling im Sinne des\nArt. 22 DSGVO findet {{ja_oder_nein}} statt.\n\n{{#automatisiert_ja}}\nEingesetzt wird: {{system_name}}\nLogik der Entscheidung: {{logik_beschreibung}}\nMögliche Auswirkungen: {{auswirkungen}}\nSie haben das Recht, nicht ausschließlich einer automatisierten Entscheidung\nunterworfen zu werden, ein Eingreifen einer natürlichen Person zu verlangen,\nIhren Standpunkt darzulegen und die Entscheidung anzufechten.\n{{/automatisiert_ja}}\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Herkunft der Daten (bei Erhebung aus anderer Quelle)

a-dsgvo-art14-herkunft

executablepublic_aistructured_page
Was macht diese Regel?

Wenn Daten NICHT direkt beim Betroffenen erhoben werden (z. B. aus öffentlichen Registern, gekauften Adresslisten, Partner-APIs, Social-Media-Profilen), MUSS die DSE die Quelle und ggf. ob es sich um öffentlich zugängliche Quellen handelt, angeben. Ausreichend: Kategorien (z. B. "öffentlich zugängliche Register", "Adresshändler XY"), sofern Nennung aller Einzelquellen unmöglich.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich
Mindestens eine muss passen: daten_aus_fremdquelle, hat_b2b_leadgen, scraped_public_data

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • daten_aus_fremdquelle - greift, wenn der Trigger "daten_aus_fremdquelle" im ScanScope aktiv ist
  • hat_b2b_leadgen - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: b2b leadgen
  • scraped_public_data - greift, wenn der Trigger "scraped_public_data" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 14 Abs. 2 lit. f Informationspflicht, wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben wurden

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
daten_aus_fremdquellegreift, wenn der Trigger "daten_aus_fremdquelle" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
hat_b2b_leadgengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: b2b leadgenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
scraped_public_datagreift, wenn der Trigger "scraped_public_data" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        }
    ],
    "oder": [
        {
            "scope": "daten_aus_fremdquelle"
        },
        {
            "scope": "hat_b2b_leadgen"
        },
        {
            "scope": "scraped_public_data"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art14-herkunft",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Trigger über Onboarding-Frage: \"Nutzen Sie Daten, die nicht direkt beim\nBetroffenen erhoben wurden (z. B. B2B-Adresshandel, öffentliche Register,\nDatenanreicherung)?\" Wenn ja → Rule aktiv. KI prüft DSE auf Passage\n\"Herkunft\"/\"Quelle\".\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            }
        ],
        "oder": [
            {
                "scope": "daten_aus_fremdquelle"
            },
            {
                "scope": "hat_b2b_leadgen"
            },
            {
                "scope": "scraped_public_data"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Herkunft der Daten (Art. 14 DSGVO):**\nEinige der von uns verarbeiteten Daten haben wir nicht direkt bei Ihnen erhoben,\nsondern aus folgenden Quellen bezogen:\n\n- {{quelle_1}} (z. B. öffentlich zugängliches Handelsregister, Unternehmensverzeichnis)\n- {{quelle_2}} (z. B. Adressdienstleister {{adresshaendler}})\n- {{quelle_3}} (z. B. Empfehlung durch bestehende Geschäftspartner)\n\nEs handelt sich {{ja_nein}} um öffentlich zugängliche Quellen.\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Zeitpunkt der Information bei Fremderhebung

a-dsgvo-art14-zeitpunkt

executablepublic_aistructured_page
Was macht diese Regel?

Bei Daten, die nicht beim Betroffenen selbst erhoben werden, muss die Information erfolgen: (a) innerhalb einer angemessenen Frist, längstens 1 Monat nach Erlangung; (b) spätestens bei erster Kommunikation mit Betroffenem, falls früher; (c) spätestens bei erster Offenlegung gegenüber einem Dritten, falls früher. Die DSE allein ersetzt den aktiven Versand NICHT, wenn der Betroffene die Website noch nie besucht hat. Rule prüft, ob der Prozess dokumentiert ist.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich
Mindestens eine muss passen: daten_aus_fremdquelle, hat_b2b_leadgen, hat_kaltakquise

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • daten_aus_fremdquelle - greift, wenn der Trigger "daten_aus_fremdquelle" im ScanScope aktiv ist
  • hat_b2b_leadgen - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: b2b leadgen
  • hat_kaltakquise - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: kaltakquise
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 14 Abs. 3 Informationspflicht, wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben wurden

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
daten_aus_fremdquellegreift, wenn der Trigger "daten_aus_fremdquelle" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
hat_b2b_leadgengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: b2b leadgenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_kaltakquisegreift, wenn KarlKI dieses Website-Merkmal gefunden hat: kaltakquiseSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        }
    ],
    "oder": [
        {
            "scope": "daten_aus_fremdquelle"
        },
        {
            "scope": "hat_b2b_leadgen"
        },
        {
            "scope": "hat_kaltakquise"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art14-zeitpunkt",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Dies ist KEIN reiner DSE-Text-Check — der Scanner kann nur prüfen, ob der\nKunde im Onboarding einen dokumentierten Prozess zur aktiven Nachinformation\nbestätigt hat. DSE muss den Informationsweg beschreiben (Mustertext in Mail).\nScanner markiert Rule als erfüllt nur bei Kombination: (a) DSE-Textbaustein\nvorhanden UND (b) Prozess-Bestätigung durch Kunden.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            }
        ],
        "oder": [
            {
                "scope": "daten_aus_fremdquelle"
            },
            {
                "scope": "hat_b2b_leadgen"
            },
            {
                "scope": "hat_kaltakquise"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Bei größerem B2B-Leadgen / Adresshandel: Prozess durch Datenschutzbeauftragten\naufsetzen lassen. Reiner DSE-Text ohne realen Informationsversand hilft nicht\ngegen Bußgeld.\n",
    "fix_text_vorlage": "**Zeitpunkt der Information (Art. 14 Abs. 3 DSGVO):**\nHaben wir Daten über Sie aus einer anderen Quelle erhalten, informieren wir Sie\nspätestens innerhalb eines Monats nach Erlangung dieser Daten — spätestens\njedoch bei der ersten Kontaktaufnahme oder Offenlegung gegenüber Dritten.\n\nDie Erstinformation erfolgt in der Regel per E-Mail an die uns bekannte\nAdresse mit Hinweis auf diese Datenschutzerklärung.\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO)

a-dsgvo-art18-einschraenkung

executablepublic_aistructured_page
Was macht diese Regel?

Die DSE muss das Einschränkungsrecht benennen. Der Nutzer kann statt Löschung eine Einschränkung („Sperrung") verlangen, wenn: (a) Richtigkeit der Daten bestritten wird (bis Prüfung), (b) Verarbeitung unrechtmäßig, aber Nutzer statt Löschung Einschränkung möchte, (c) Verantwortlicher Daten nicht mehr braucht, Nutzer sie aber zur Rechtsverteidigung benötigt, (d) Widerspruch nach Art. 21 eingelegt, bis Abwägung erfolgt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 18 Abs. 1 Recht auf Einschränkung der Verarbeitung

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art18-einschraenkung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt: \"Nennt die DSE das Recht auf Einschränkung der Verarbeitung\nnach Art. 18 DSGVO namentlich? Werden die vier Fallgruppen (Richtigkeit\nbestritten / unrechtmäßig / nicht mehr benötigt aber Rechtsverteidigung /\nWiderspruch anhängig) zumindest angedeutet?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO):**\nSie haben das Recht, statt einer Löschung die Einschränkung der Verarbeitung\nIhrer Daten zu verlangen, wenn:\n\n- Sie die Richtigkeit Ihrer Daten bestreiten — für die Dauer der Überprüfung,\n- die Verarbeitung unrechtmäßig ist, Sie aber statt Löschung eine Einschränkung wünschen,\n- wir die Daten nicht mehr benötigen, Sie sie aber zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen brauchen,\n- Sie Widerspruch gegen die Verarbeitung eingelegt haben — solange noch nicht feststeht, ob unsere berechtigten Gründe überwiegen.\n\nBitte wenden Sie sich an: {{email_datenschutz}}\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Mitteilungspflicht an Empfänger bei Berichtigung/Löschung (Art. 19 DSGVO)

a-dsgvo-art19-mitteilungspflicht

executablepublic_aistructured_page
Was macht diese Regel?

Die DSE sollte darauf hinweisen, dass der Verantwortliche allen Empfängern, denen Daten offengelegt wurden, jede Berichtigung, Löschung oder Einschränkung mitteilt (sofern nicht unmöglich oder unverhältnismäßig). Der Nutzer hat das Recht, über diese Empfänger unterrichtet zu werden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 19 Mitteilungspflicht im Zusammenhang mit der Berichtigung oder Löschung personenbezogener Daten oder der Einschränkung der Verarbeitung

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art19-mitteilungspflicht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt: \"Enthält die DSE einen Hinweis auf die Mitteilungspflicht\nnach Art. 19 DSGVO (Empfänger werden über Berichtigung/Löschung/\nEinschränkung unterrichtet)? Wird das Recht des Nutzers auf Information\nüber diese Empfänger erwähnt?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Mitteilungspflicht (Art. 19 DSGVO):**\nHaben Sie das Recht auf Berichtigung, Löschung oder Einschränkung der\nVerarbeitung gegenüber uns geltend gemacht, sind wir verpflichtet, allen\nEmpfängern, denen wir Ihre Daten offengelegt haben, diese Berichtigung,\nLöschung oder Einschränkung mitzuteilen — es sei denn, dies erweist sich\nals unmöglich oder ist mit unverhältnismäßigem Aufwand verbunden. Auf\nWunsch informieren wir Sie über diese Empfänger.\n\nKontakt: {{email_datenschutz}}\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Recht auf Datenübertragbarkeit (Art. 20 DSGVO)

a-dsgvo-art20-datenübertragbarkeit

executablepublic_aistructured_page
Was macht diese Regel?

Die DSE muss das Recht auf Datenübertragbarkeit nennen: Nutzer kann die ihn betreffenden Daten, die er dem Verantwortlichen bereitgestellt hat, in einem **strukturierten, gängigen und maschinenlesbaren Format** erhalten und einem anderen Verantwortlichen ohne Behinderung übermitteln. Gilt nur bei Verarbeitung auf Basis von Einwilligung (Art. 6 Abs. 1 lit. a / Art. 9 Abs. 2 lit. a) oder Vertrag (Art. 6 Abs. 1 lit. b) UND wenn die Verarbeitung automatisiert erfolgt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 20 Abs. 1 Recht auf Datenübertragbarkeit

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art20-datenuebertragbarkeit",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt: \"Nennt die DSE das Recht auf Datenübertragbarkeit nach\nArt. 20 DSGVO? Werden die drei Schlüsselbegriffe 'strukturiert',\n'gängig' und 'maschinenlesbar' genannt? Wird auf die Voraussetzung\n(Einwilligung oder Vertrag + automatisierte Verarbeitung) hingewiesen?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Recht auf Datenübertragbarkeit (Art. 20 DSGVO):**\nSie haben das Recht, die Sie betreffenden personenbezogenen Daten, die Sie\nuns bereitgestellt haben, in einem strukturierten, gängigen und\nmaschinenlesbaren Format zu erhalten. Sie haben außerdem das Recht, diese\nDaten einem anderen Verantwortlichen ohne Behinderung durch uns zu\nübermitteln, sofern die Verarbeitung auf einer Einwilligung oder einem\nVertrag beruht und automatisiert erfolgt.\n\nSoweit technisch machbar, übermitteln wir die Daten auf Ihren Wunsch\ndirekt an den von Ihnen benannten Verantwortlichen.\n\nAnfrage an: {{email_datenschutz}}\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Widerspruch gegen Direktwerbung — jederzeit, ohne Begründung (Art. 21 Abs. 2+3)

a-dsgvo-art21-widerspruch-direktwerbung

executablepublic_aistructured_page
Was macht diese Regel?

Das Widerspruchsrecht gegen Direktwerbung ist ABSOLUT und erfordert KEINE Begründung. Es gilt auch für Profiling, soweit es mit Direktwerbung zusammenhängt. Nach Widerspruch dürfen die Daten für Werbezwecke NICHT MEHR verarbeitet werden. Der Hinweis muss (1) in der DSE prominent stehen, (2) in jeder Werbe-E-Mail als einfacher Abmelde-Link verfügbar sein, und (3) nach Art. 21 Abs. 4 getrennt von anderen Informationen hervorgehoben sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 21 Abs. 2 und Abs. 3 Widerspruchsrecht gegen Direktwerbung

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art21-widerspruch-direktwerbung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt: \"Ist in der DSE der Widerspruch gegen Direktwerbung nach\nArt. 21 Abs. 2 DSGVO benannt? Wird klargestellt, dass er JEDERZEIT\nund OHNE BEGRÜNDUNG möglich ist? Ist der Hinweis optisch hervorgehoben\n(fett/separate Überschrift)? Wenn Newsletter oder Direktwerbung\neingesetzt wird: wird ein konkreter Abmeldeweg (E-Mail, Link) genannt?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Widerspruch gegen Direktwerbung (Art. 21 Abs. 2 DSGVO):**\nSie können der Verarbeitung Ihrer personenbezogenen Daten für Zwecke der\nDirektwerbung — einschließlich eines damit verbundenen Profilings —\n**jederzeit und ohne Angabe von Gründen** widersprechen. Nach Ihrem\nWiderspruch werden wir Ihre Daten nicht mehr für Werbezwecke verarbeiten.\n\nDen Widerspruch können Sie formlos aussprechen:\n- per E-Mail an {{email_datenschutz}}\n- per Abmeldelink am Ende jeder Werbe-E-Mail ({{newsletter_unsubscribe_url}})\n- postalisch an {{postanschrift}}\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Allgemeines Widerspruchsrecht (Art. 21 Abs. 1 DSGVO)

a-dsgvo-art21-widerspruchsrecht

executablepublic_aistructured_page
Was macht diese Regel?

Die DSE muss das allgemeine Widerspruchsrecht nennen. Der Nutzer kann aus Gründen, die sich aus seiner besonderen Situation ergeben, jederzeit gegen eine Verarbeitung widersprechen, die auf Art. 6 Abs. 1 lit. e (öffentliches Interesse) oder lit. f (berechtigtes Interesse) beruht — einschließlich Profiling auf dieser Grundlage. Der Verantwortliche darf nur weiterverarbeiten, wenn er zwingende schutzwürdige Gründe nachweist. Hinweis auf das Widerspruchsrecht ist nach Art. 21 Abs. 4 in verständlicher Form separat von sonstigen Informationen hervorzuheben.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, verarbeitet_personendaten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 21 Abs. 1 Widerspruchsrecht

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art21-widerspruchsrecht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt: \"Nennt die DSE das Widerspruchsrecht nach Art. 21 Abs. 1 DSGVO\nnamentlich? Wird auf die Voraussetzung (Verarbeitung auf Art. 6 Abs. 1\nlit. e oder f) und die 'besondere Situation' des Betroffenen hingewiesen?\nIst der Hinweis optisch hervorgehoben (fett/überschrift), wie Art. 21\nAbs. 4 verlangt?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "**Widerspruchsrecht (Art. 21 Abs. 1 DSGVO):**\nSie haben das Recht, aus Gründen, die sich aus Ihrer besonderen Situation\nergeben, jederzeit gegen die Verarbeitung Sie betreffender personenbezogener\nDaten Widerspruch einzulegen, sofern diese Verarbeitung auf Art. 6 Abs. 1\nlit. e (öffentliches Interesse) oder lit. f (berechtigtes Interesse) DSGVO\nberuht. Das gilt auch für ein auf diese Vorschriften gestütztes Profiling.\n\nIm Fall eines Widerspruchs verarbeiten wir Ihre Daten nicht mehr, es sei\ndenn, wir können zwingende schutzwürdige Gründe für die Verarbeitung\nnachweisen, die Ihre Interessen, Rechte und Freiheiten überwiegen, oder\ndie Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung\nvon Rechtsansprüchen.\n\nWiderspruch an: {{email_datenschutz}}\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Verbot rein automatisierter Einzelentscheidungen (Art. 22 DSGVO)

a-dsgvo-art22-automatisierte-entscheidung

executablepublic_aistructured_page
Was macht diese Regel?

Die DSE muss klarstellen, ob automatisierte Einzelentscheidungen im Sinne von Art. 22 DSGVO stattfinden — also Entscheidungen, die ausschließlich auf automatisierter Verarbeitung (inkl. Profiling) beruhen und der betroffenen Person gegenüber rechtliche Wirkung entfalten oder sie in ähnlicher Weise erheblich beeinträchtigen. Grundsatz: verboten. Ausnahmen: Vertragsabschluss/ -erfüllung, gesetzliche Zulassung, ausdrückliche Einwilligung. In diesen Fällen muss der Nutzer informiert werden über (a) die involvierte Logik, (b) Tragweite und angestrebte Auswirkungen, (c) sein Recht auf Eingreifen einer Person, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, verarbeitet_personendaten
Mindestens eine muss passen: verwendet_automatisierte_entscheidung, ist_scoring_anbieter

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • verarbeitet_personendaten - greift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv ist
  • verwendet_automatisierte_entscheidung - greift, wenn der Trigger "verwendet_automatisierte_entscheidung" im ScanScope aktiv ist
  • ist_scoring_anbieter - greift, wenn KarlKI die Website so einordnet: scoring anbieter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 22 Abs. 1 und Abs. 3 Automatisierte Entscheidungen im Einzelfall einschließlich Profiling

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
verarbeitet_personendatengreift, wenn der Trigger "verarbeitet_personendaten" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
verwendet_automatisierte_entscheidunggreift, wenn der Trigger "verwendet_automatisierte_entscheidung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
ist_scoring_anbietergreift, wenn KarlKI die Website so einordnet: scoring anbieterSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "verarbeitet_personendaten"
        }
    ],
    "oder": [
        {
            "scope": "verwendet_automatisierte_entscheidung"
        },
        {
            "scope": "ist_scoring_anbieter"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art22-automatisierte-entscheidung",
    "fix_type": "partner_datenschutz",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt: \"Trifft die DSE eine klare Aussage zu automatisierten\nEinzelentscheidungen nach Art. 22 DSGVO? Entweder: (a) 'findet nicht statt'\noder (b) bei Einsatz: Nennung von Logik, Tragweite/Auswirkungen,\nWiderspruchs- und Anfechtungsrecht?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "verarbeitet_personendaten"
            }
        ],
        "oder": [
            {
                "scope": "verwendet_automatisierte_entscheidung"
            },
            {
                "scope": "ist_scoring_anbieter"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Sobald echte automatisierte Einzelentscheidungen getroffen werden (Scoring,\nKI-gestützte Bewerber-Filterung, automatisierte Ablehnungen, dynamisches\nPricing mit Rechtsfolge), ist der Mustertext nur ein Platzhalter. Die\nkonkrete Ausgestaltung der Informationen (Logik, Tragweite) ist rechtlich\nanspruchsvoll — insbesondere nach EuGH C-634/21 (SCHUFA). Fix-Type wechselt\ndann auf partner_datenschutz.\n",
    "fix_text_vorlage": "**Automatisierte Entscheidungen im Einzelfall (Art. 22 DSGVO):**\nEine ausschließlich auf automatisierter Verarbeitung beruhende Entscheidung\neinschließlich Profiling, die Ihnen gegenüber rechtliche Wirkung entfaltet\noder Sie in ähnlicher Weise erheblich beeinträchtigt, findet bei uns NICHT\nstatt. [Bei Einsatz: Logik, Tragweite, Anfechtungsrecht einfügen.]\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Hinweis auf AVV nach Art. 28 Abs. 3 DSGVO

a-dsgvo-art28-av-garantien

executablepublic_aistructured_page
Was macht diese Regel?

Wenn in der Website Auftragsverarbeiter eingebunden sind, muss die DSE zumindest an einer Stelle erwähnen, dass mit den eingesetzten Dienstleistern Auftragsverarbeitungsverträge (AVV) nach Art. 28 Abs. 3 DSGVO geschlossen wurden bzw. dass "geeignete Garantien" vorliegen. Dies schafft Transparenz darüber, dass der Verantwortliche seine Kontrollpflicht erfüllt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, mindestens_ein_drittanbieter_erkannt

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • mindestens_ein_drittanbieter_erkannt - greift, wenn der Trigger "mindestens_ein_drittanbieter_erkannt" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 28 Abs. 3 Inhalt des Auftragsverarbeitungsvertrags

Risiko: 800,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
mindestens_ein_drittanbieter_erkanntgreift, wenn der Trigger "mindestens_ein_drittanbieter_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "mindestens_ein_drittanbieter_erkannt"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art28-av-garantien",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Scanner prüft den DSE-Text per KI-Prompt auf Formulierungen wie:\n  \"Auftragsverarbeitungsvertrag\", \"AVV\", \"Art. 28 DSGVO\",\n  \"geeignete Garantien\", \"Verarbeitung im Auftrag\".\nFehlt jegliche solche Passage → Rule fails.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "mindestens_ein_drittanbieter_erkannt"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Soweit wir personenbezogene Daten durch Dienstleister verarbeiten\nlassen, haben wir mit diesen Dienstleistern Verträge zur\nAuftragsverarbeitung nach Art. 28 DSGVO geschlossen. Damit ist\nvertraglich sichergestellt, dass die Daten nur nach unseren Weisungen\nund unter Einhaltung des Datenschutzniveaus der DSGVO verarbeitet\nwerden.\"\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Auftragsverarbeiter / eingebundene Dienste benennen

a-dsgvo-art28-av-liste-dse

executablepublic_aistructured_page
Was macht diese Regel?

Die Datenschutzerklärung muss jeden auf der Website eingebundenen Dienst benennen, der personenbezogene Daten im Auftrag verarbeitet (z. B. Google Analytics, Google Fonts, Meta Pixel, Mailchimp, Calendly, HubSpot, Matomo, Cloudflare, Stripe, PayPal, Zendesk). Pro erkanntem Dienst muss der Anbietername (inkl. Firma/Sitz) und der Verarbeitungszweck stehen. Rein pauschale Formulierungen wie "wir nutzen Drittanbieter" reichen nicht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 1 lit. e iVm Art. 28 Abs. 1 Informationspflicht über Empfänger / Auftragsverarbeiter

Risiko: 800,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art28-av-liste-dse",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Scanner-Workflow:\n1. Parser sammelt alle externen Ressourcen der Homepage (Script-Src,\n   Iframe-Src, Link-Href, XHR-Calls, Cookies) → Liste der eingebundenen\n   Dienste (z. B. \"fonts.googleapis.com\" → Google Fonts).\n2. DSE-Seite wird geladen und im Volltext geprüft.\n3. KI-Prompt pro Dienst: \"Wird der Dienst '<X>' im DSE-Text namentlich\n   oder über seinen Anbieter (z. B. 'Google Ireland Limited') erwähnt?\"\n4. Fehlt ein Dienst → Rule fails, Fix-Vorschlag listet konkreten Dienst.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Baustein pro fehlenden Dienst (einfügen unter \"Eingesetzte Dienste\"):\n\n\"{{dienst_name}} ({{anbieter_firma}}, {{anbieter_sitz}})\nZweck: {{zweck_kurz}}.\nVerarbeitete Daten: IP-Adresse, Geräte-/Browser-Infos,\nggf. weitere Nutzungsdaten.\nRechtsgrundlage: {{rechtsgrundlage_art6}}.\nMit dem Anbieter besteht ein Auftragsverarbeitungsvertrag\nnach Art. 28 DSGVO.\"\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Hinweis auf Einsatz von Sub-Auftragnehmern

a-dsgvo-art28-subauftragnehmer-info

executablepublic_aistructured_page
Was macht diese Regel?

Wenn Auftragsverarbeiter ihrerseits weitere Dienstleister (Sub-Auftragnehmer) einschalten, muss die DSE darauf transparent hinweisen — mindestens als Kategorien (z. B. "unsere Cloud-Anbieter setzen US-Rechenzentren und Sub-Dienstleister für E-Mail-Zustellung ein"). Art. 28 Abs. 2+4 DSGVO verlangt eine schriftliche Genehmigung/allgemeine Zulassung plus Informationsrecht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden, mindestens_ein_drittanbieter_erkannt

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • mindestens_ein_drittanbieter_erkannt - greift, wenn der Trigger "mindestens_ein_drittanbieter_erkannt" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 28 Abs. 2 und Abs. 4 Hinzuziehung weiterer Auftragsverarbeiter

Risiko: 500,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
mindestens_ein_drittanbieter_erkanntgreift, wenn der Trigger "mindestens_ein_drittanbieter_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        },
        {
            "scope": "mindestens_ein_drittanbieter_erkannt"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art28-subauftragnehmer-info",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt auf DSE: \"Wird erwähnt, dass unsere Auftragsverarbeiter\nihrerseits Sub-Auftragnehmer einsetzen können?\"\nSignalwörter: \"Sub-Auftragnehmer\", \"Unterauftragnehmer\",\n\"weitere Dienstleister\", \"Sub-Processor\".\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            },
            {
                "scope": "mindestens_ein_drittanbieter_erkannt"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Unsere Auftragsverarbeiter dürfen im Rahmen des jeweils geschlossenen\nAuftragsverarbeitungsvertrags weitere Dienstleister (Sub-Auftragnehmer)\neinschalten, z. B. Rechenzentrumsbetreiber, CDN-Anbieter oder\nE-Mail-Zustelldienste. Diese Sub-Auftragnehmer sind vertraglich\ndenselben Datenschutz-Pflichten unterworfen. Auf Anfrage nennen wir\nIhnen die aktuell eingesetzten Sub-Auftragnehmer.\"\n"
}

ohne_section / dsgvo

Hinweis: Pflicht zur Führung eines Verzeichnisses von Verarbeitungstätigkeiten prüfen

a-dsgvo-art30-vvt-hinweis

executablepublic_aiai_classification
Was macht diese Regel?

Der Scanner kann nicht von außen beurteilen, ob ein Betreiber ein internes Verzeichnis von Verarbeitungstätigkeiten (VVT) nach Art. 30 DSGVO führt — das VVT ist eine interne Dokumentation, keine Pflicht auf der Website. Er kann aber per Classification erkennen, dass die VVT-Pflicht mit hoher Wahrscheinlichkeit besteht: - Unternehmen mit 250+ Mitarbeitern (Schwelle Art. 30 Abs. 5) - nicht nur gelegentliche Verarbeitung (praktisch jede Website mit Newsletter, CRM, Shop, Bewerberformular etc.) - Verarbeitung besonderer Kategorien (Art. 9) oder Daten über strafrechtliche Verurteilungen (Art. 10) In diesen Fällen gibt der Scanner einen Warnhinweis aus und empfiehlt den Partner-Datenschutz-Service, der das VVT extern erstellt/pflegt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich
Mindestens eine muss passen: unternehmen_ab_250_mitarbeiter, regelmaessige_verarbeitung_erkannt, besondere_datenkategorien, branche_gesundheitswesen, branche_personal_hr
Darf nicht zutreffen: vvt_laut_nutzerangabe_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • unternehmen_ab_250_mitarbeiter - greift, wenn der Trigger "unternehmen_ab_250_mitarbeiter" im ScanScope aktiv ist
  • regelmaessige_verarbeitung_erkannt - greift, wenn der Trigger "regelmaessige_verarbeitung_erkannt" im ScanScope aktiv ist
  • besondere_datenkategorien - greift, wenn der Trigger "besondere_datenkategorien" im ScanScope aktiv ist
  • branche_gesundheitswesen - greift bei dieser fachlichen Branchenzuordnung: gesundheitswesen
  • branche_personal_hr - greift bei dieser fachlichen Branchenzuordnung: personal hr
  • vvt_laut_nutzerangabe_vorhanden - greift anhand von Verarbeitungsverzeichnis-Angaben
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 30 Abs. 1 und Abs. 5 Verzeichnis von Verarbeitungstätigkeiten

Risiko: 800,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
unternehmen_ab_250_mitarbeitergreift, wenn der Trigger "unternehmen_ab_250_mitarbeiter" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
regelmaessige_verarbeitung_erkanntgreift, wenn der Trigger "regelmaessige_verarbeitung_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
besondere_datenkategoriengreift, wenn der Trigger "besondere_datenkategorien" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
branche_gesundheitswesengreift bei dieser fachlichen Branchenzuordnung: gesundheitswesenSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
branche_personal_hrgreift bei dieser fachlichen Branchenzuordnung: personal hrSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.

NICHT Wenn eine dieser Bedingungen zutrifft, darf die Regel nicht laufen.

BegriffWas er bedeutetWofür er da ist
vvt_laut_nutzerangabe_vorhandengreift anhand von Verarbeitungsverzeichnis-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        }
    ],
    "oder": [
        {
            "scope": "unternehmen_ab_250_mitarbeiter"
        },
        {
            "scope": "regelmaessige_verarbeitung_erkannt"
        },
        {
            "scope": "besondere_datenkategorien"
        },
        {
            "scope": "branche_gesundheitswesen"
        },
        {
            "scope": "branche_personal_hr"
        }
    ],
    "nicht": [
        {
            "scope": "vvt_laut_nutzerangabe_vorhanden"
        }
    ]
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art30-vvt-hinweis",
    "fix_type": "partner_datenschutz",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "Classification-Schritt:\n1. Branche erkennen (Impressum-Auswertung, Keywords, Domain-Kontext).\n2. Unternehmensgröße schätzen (Impressum \"Geschäftsführer XY\",\n   Karriere-/Team-Seite, Handelsregister-Hinweise).\n3. Verarbeitungs-Kontext einschätzen (Newsletter, Shop, Bewerberportal,\n   Patientendaten, Beschäftigten-Login).\nWenn ein VVT-Pflicht-Indiz zutrifft UND der Nutzer im Onboarding\nnicht bestätigt hat, dass ein VVT vorliegt → Rule fails mit\nEmpfehlung partner_datenschutz.\nKEINE harte Aussage (\"Sie SIND pflichtig\"), sondern\nFragehinweis (\"VVT-Pflicht in Ihrer Konstellation sehr wahrscheinlich\n— bitte prüfen lassen\").\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            }
        ],
        "oder": [
            {
                "scope": "unternehmen_ab_250_mitarbeiter"
            },
            {
                "scope": "regelmaessige_verarbeitung_erkannt"
            },
            {
                "scope": "besondere_datenkategorien"
            },
            {
                "scope": "branche_gesundheitswesen"
            },
            {
                "scope": "branche_personal_hr"
            }
        ],
        "nicht": [
            {
                "scope": "vvt_laut_nutzerangabe_vorhanden"
            }
        ]
    },
    "partner_hinweis": "Externer Datenschutzbeauftragter / Datenschutz-Service erstellt das\nVVT aus einem strukturierten Fragebogen. Upsell-Baustein:\n\"VVT-Erstellung + jährliche Pflege ab {{preis}} einmalig\".\n",
    "fix_text_vorlage": null
}

ohne_section / dsgvo

VVT-Pflichtinhalte: 11 Pflicht-Angaben nach Art. 30 Abs. 1 + Abs. 2

a-dsgvo-art30-vvt-inhalt

executablepublic_aiai_classification
Was macht diese Regel?

Informations-Rule für den Partner-Datenschutz-Upsell. Der Scanner prüft NICHTS auf der Website, sondern liefert strukturiert die 11 Pflicht-Inhalte eines VVT als Grundlage für das Partner-Angebot und für Dashboard-Erklärungen. Diese Rule wird im UI als "Info-Karte" angezeigt, wenn a-dsgvo-art30-vvt-hinweis fehlschlägt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: unternehmen_ab_250_mitarbeiter, regelmaessige_verarbeitung_erkannt, besondere_datenkategorien, auftragsverarbeiter_rolle_erkannt

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • unternehmen_ab_250_mitarbeiter - greift, wenn der Trigger "unternehmen_ab_250_mitarbeiter" im ScanScope aktiv ist
  • regelmaessige_verarbeitung_erkannt - greift, wenn der Trigger "regelmaessige_verarbeitung_erkannt" im ScanScope aktiv ist
  • besondere_datenkategorien - greift, wenn der Trigger "besondere_datenkategorien" im ScanScope aktiv ist
  • auftragsverarbeiter_rolle_erkannt - greift, wenn der Trigger "auftragsverarbeiter_rolle_erkannt" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 30 Abs. 1 lit. a-g + Abs. 2 lit. a-d Pflichtinhalte des Verzeichnisses von Verarbeitungstätigkeiten

Risiko: 800,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
unternehmen_ab_250_mitarbeitergreift, wenn der Trigger "unternehmen_ab_250_mitarbeiter" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
regelmaessige_verarbeitung_erkanntgreift, wenn der Trigger "regelmaessige_verarbeitung_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
besondere_datenkategoriengreift, wenn der Trigger "besondere_datenkategorien" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
auftragsverarbeiter_rolle_erkanntgreift, wenn der Trigger "auftragsverarbeiter_rolle_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "unternehmen_ab_250_mitarbeiter"
        },
        {
            "scope": "regelmaessige_verarbeitung_erkannt"
        },
        {
            "scope": "besondere_datenkategorien"
        },
        {
            "scope": "auftragsverarbeiter_rolle_erkannt"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art30-vvt-inhalt",
    "fix_type": "partner_datenschutz",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "Reine Info-Rule ohne technischen Check. Wird aktiviert, sobald\na-dsgvo-art30-vvt-hinweis fails. Dient als strukturierte\nCheckliste im Dashboard + als Basis für den Partner-Fragebogen.\nKeine KI-Prüfung, nur statische Auslieferung der 11 Pflichtpunkte.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "unternehmen_ab_250_mitarbeiter"
            },
            {
                "scope": "regelmaessige_verarbeitung_erkannt"
            },
            {
                "scope": "besondere_datenkategorien"
            },
            {
                "scope": "auftragsverarbeiter_rolle_erkannt"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Partner-Leistung \"VVT-Paket\":\n  - Strukturiertes Onboarding-Interview (45–90 Min.)\n  - Erstellung VVT nach Muster BfDI/DSK Nr. 1\n  - Einbindung in ein Datenschutz-Management-Tool\n  - Jährliches Review\nPreismodell: Paket einmalig + Abo-Pflege.\n",
    "fix_text_vorlage": "Pflicht-Inhalte VVT nach Art. 30 Abs. 1 (Verantwortlicher):\n1. Name + Kontakt Verantwortlicher (lit. a)\n2. ggf. gemeinsam Verantwortliche (lit. a)\n3. ggf. Vertreter des Verantwortlichen (lit. a)\n4. ggf. Kontakt Datenschutzbeauftragter (lit. a)\n5. Zwecke der Verarbeitung (lit. b)\n6. Kategorien betroffener Personen + Kategorien von Daten (lit. c)\n7. Kategorien von Empfängern (lit. d)\n8. Drittlandtransfers inkl. Rechtsgrundlage (lit. e)\n9. Löschfristen pro Datenkategorie (lit. f)\n10. Allgemeine Beschreibung TOMs nach Art. 32 (lit. g)\n\nPflicht-Inhalte VVT nach Art. 30 Abs. 2 (Auftragsverarbeiter):\n11. Name + Kontakt aller Verantwortlichen, für die verarbeitet wird,\n    + Kategorien der Verarbeitung + Drittlandtransfers + TOMs.\n"
}

ohne_section / dsgvo

TOM: Content-Security-Policy Header empfohlen (Best Practice)

a-dsgvo-art32-csp-header

executablepublic_autohttp_header
Was macht diese Regel?

Content-Security-Policy (CSP, RFC-draft) beschränkt, welche Quellen Skripte, Styles, Bilder, Fonts, Iframes etc. laden dürfen. CSP wirkt gegen Cross-Site-Scripting (XSS), gegen das Einschleusen von Tracking-Snippets durch manipulierte Ad-Netze und gegen Clickjacking (frame-ancestors). CSP ist nach DSGVO nicht hart verpflichtend, aber eine best-practice-TOM, die Aufsichtsbehörden im Risikoabgleich positiv werten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, https_aktiv

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • https_aktiv - greift, wenn der Trigger "https_aktiv" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI prüft technische Antwort-Header des Servers, z. B. Security- oder Transport-Informationen. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Abs. 1 lit. b Sicherheit der Verarbeitung — Stand der Technik

Risiko: 300,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, response_headers, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI prüft technische Antwort-Header des Servers, z. B. Security- oder Transport-Informationen.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, response_headers, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
https_aktivgreift, wenn der Trigger "https_aktiv" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "https_aktiv"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art32-csp-header",
    "fix_type": "diy_config",
    "check_type": "http_header",
    "section_name": null,
    "check_hinweis": "Scanner-Workflow:\n1. HEAD auf https://{{domain}} → Header Content-Security-Policy\n   vorhanden?\n2. Wenn ja: Direktiven parsen (default-src, script-src, style-src,\n   img-src, frame-ancestors). Mozilla-Observatory-Scoring als\n   Referenzrahmen.\n3. Severity: empfehlung (nicht Pflicht). Rule fails nur im Sinne\n   \"Warning / Verbesserungsvorschlag\".\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "https_aktiv"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": null
}

ohne_section / dsgvo

TOM: HTTP Strict Transport Security (HSTS) Header setzen

a-dsgvo-art32-hsts-header

executablepublic_autohttp_header
Was macht diese Regel?

Der HTTP Strict Transport Security Header (RFC 6797) weist Browser an, die Domain ausschließlich über HTTPS anzusprechen, und wirkt gegen SSL-Stripping und Downgrade-Angriffe. Als moderner TOM-Baustein nach Art. 32 DSGVO (Stand der Technik) zu setzen. Empfohlene Mindestdauer: 6 Monate (15768000 s), für Produktivsysteme 12 Monate (31536000 s) mit includeSubDomains.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, https_aktiv

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • https_aktiv - greift, wenn der Trigger "https_aktiv" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI prüft technische Antwort-Header des Servers, z. B. Security- oder Transport-Informationen. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Abs. 1 lit. b Sicherheit der Verarbeitung — Vertraulichkeit/Integrität

Risiko: 500,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, response_headers, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI prüft technische Antwort-Header des Servers, z. B. Security- oder Transport-Informationen.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, response_headers, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
https_aktivgreift, wenn der Trigger "https_aktiv" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "https_aktiv"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art32-hsts-header",
    "fix_type": "diy_config",
    "check_type": "http_header",
    "section_name": null,
    "check_hinweis": "Scanner-Workflow:\n1. HEAD-Request auf https://{{domain}} → Response-Header prüfen:\n   Strict-Transport-Security vorhanden?\n2. Wenn ja: max-age-Wert parsen. Mindest 15768000 (6 Monate) →\n   Pass, sonst Warning.\n3. includeSubDomains empfohlen (Extrapunkt), preload optional.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "https_aktiv"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": null
}

ohne_section / dsgvo

TOM: Cookies mit personenbezogenen Daten müssen Secure + HttpOnly + SameSite gesetzt haben

a-dsgvo-art32-secure-cookies

executablepublic_autohttp_header
Was macht diese Regel?

Session-Cookies und Tracking-/Consent-Cookies, die auch nur mittelbar personenbezogene Daten enthalten (Session-ID, User-ID, Consent-Auswahl), müssen abgesichert sein: - Secure — Cookie wird nur über HTTPS übertragen - HttpOnly — kein Zugriff per JavaScript (XSS-Schutz) - SameSite=Lax oder Strict — CSRF-Schutz + Tracking-Eindämmung Scanner prüft sowohl Set-Cookie-Response-Header als auch clientseitig gesetzte Cookies (document.cookie via Headless-Browser).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich
Mindestens eine muss passen: cookies_gesetzt

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • cookies_gesetzt - greift, wenn der Trigger "cookies_gesetzt" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI prüft technische Antwort-Header des Servers, z. B. Security- oder Transport-Informationen. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Abs. 1 lit. b Sicherheit der Verarbeitung — Vertraulichkeit

Risiko: 500,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, response_headers, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI prüft technische Antwort-Header des Servers, z. B. Security- oder Transport-Informationen.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, response_headers, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
cookies_gesetztgreift, wenn der Trigger "cookies_gesetzt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        }
    ],
    "oder": [
        {
            "scope": "cookies_gesetzt"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art32-secure-cookies",
    "fix_type": "diy_config",
    "check_type": "http_header",
    "section_name": null,
    "check_hinweis": "Scanner-Workflow:\n1. GET https://{{domain}} → Set-Cookie-Header extrahieren.\n2. Headless-Browser-Run (Playwright) → document.cookie + alle\n   clientseitig per JS gesetzten Cookies sammeln.\n3. Pro Cookie prüfen: Secure, HttpOnly, SameSite.\n4. Rule fails wenn ein Session-/Tracking-Cookie Pflicht-Attribut verletzt.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            }
        ],
        "oder": [
            {
                "scope": "cookies_gesetzt"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": null
}

ohne_section / dsgvo

TOM: Website muss über HTTPS mit gültigem TLS-Zertifikat erreichbar sein

a-dsgvo-art32-tls-verpflichtend

executablepublic_autohttp_header
Was macht diese Regel?

Art. 32 Abs. 1 DSGVO verlangt dem Stand der Technik entsprechende technisch-organisatorische Maßnahmen. Für jede Website, die personenbezogene Daten verarbeitet (schon IP-Adresse + HTTP-Referer reichen), ist Transportverschlüsselung mittels TLS heute Mindeststandard. Der Scanner prüft: - Erreichbarkeit via https:// - Gültigkeit des Zertifikats (nicht abgelaufen, Hostname matched, vertrauenswürdige Kette) - Kein reines http://-Auslieferung ohne Redirect auf https - Mindest-TLS-Version 1.2 (TLS 1.3 empfohlen)

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI prüft technische Antwort-Header des Servers, z. B. Security- oder Transport-Informationen. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Abs. 1 lit. a und b Sicherheit der Verarbeitung — Stand der Technik

Risiko: 800,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, response_headers, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI prüft technische Antwort-Header des Servers, z. B. Security- oder Transport-Informationen.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, response_headers, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art32-tls-verpflichtend",
    "fix_type": "diy_config",
    "check_type": "http_header",
    "section_name": null,
    "check_hinweis": "Scanner-Workflow:\n1. HEAD-Request auf http://{{domain}} → prüfen: 301/308-Redirect\n   auf https://{{domain}}? Bei 200 ohne Redirect → Rule fails.\n2. HEAD-Request auf https://{{domain}} → Zertifikat parsen\n   (OpenSSL-Lib): Gültigkeit, CN/SAN-Match, Chain of Trust,\n   Ablaufdatum > 7 Tage.\n3. TLS-Version per tls-handshake prüfen → min. 1.2.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": null
}

ohne_section / dsgvo

Datenschutzerklärung: Abschnitt 'Sicherheit der Verarbeitung' enthalten

a-dsgvo-art32-toms-in-dse-erwaehnen

executablepublic_aistructured_page
Was macht diese Regel?

Zwar schreibt Art. 32 DSGVO keinen DSE-Inhalt vor, aber Art. 13 Abs. 2 DSGVO und die Transparenz-Grundsätze (Art. 5 Abs. 1 lit. a) verlangen für die betroffene Person eine faire und transparente Information. Ein kurzer Abschnitt "Sicherheit der Verarbeitung" oder "Technisch-organisatorische Maßnahmen" in der DSE, der die wichtigsten TOMs in Klartext benennt (TLS, Zugriffskontrollen, Backups, Verschlüsselung, regelmäßige Updates), ist Best Practice und wird von Aufsichtsbehörden positiv bewertet.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 iVm Art. 13 Abs. 2 lit. a Sicherheit der Verarbeitung in der Transparenzpflicht

Risiko: 500,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art32-toms-in-dse-erwaehnen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt auf DSE-Volltext:\n  \"Enthält die Datenschutzerklärung einen erkennbaren Abschnitt\n   über die Sicherheit der Verarbeitung / technisch-organisatorische\n   Maßnahmen, der mindestens TLS-Verschlüsselung und Zugriffskontrolle\n   erwähnt?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Sicherheit der Verarbeitung (Art. 32 DSGVO)\n\nWir treffen geeignete technische und organisatorische Maßnahmen,\num Ihre personenbezogenen Daten vor Verlust, Manipulation und\nunberechtigtem Zugriff zu schützen. Dazu zählen insbesondere:\n\n- Verschlüsselung der Datenübertragung mittels TLS\n- Zugriffs- und Rollenkontrollen\n- Regelmäßige Sicherheits-Updates\n- Verschlüsselte Speicherung sensibler Daten (Passwörter als Hash)\n- Regelmäßige Backups\n- Geregelte Löschprozesse\n- Schulung der Mitarbeitenden zum Datenschutz\n\nUnsere Sicherheitsmaßnahmen werden regelmäßig überprüft und an\nden Stand der Technik angepasst.\"\n"
}

ohne_section / dsgvo

TOM: Clickjacking-Schutz via X-Frame-Options oder CSP frame-ancestors

a-dsgvo-art32-x-frame-options

executablepublic_autohttp_header
Was macht diese Regel?

Clickjacking lädt die Zielseite in einem unsichtbaren iframe einer Angreifer-Seite und bringt den Nutzer zu ungewollten Klicks (z. B. Zustimmungsdialoge, Käufe, Consent-Banner). Schutz: Website verbietet das Einbetten in fremde Frames. Zwei Wege: - X-Frame-Options: DENY oder SAMEORIGIN (älter, breit kompatibel) - CSP-Direktive frame-ancestors 'self' (moderner, löst XFO ab) Scanner akzeptiert einen der beiden Wege als Pass.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, https_aktiv

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • https_aktiv - greift, wenn der Trigger "https_aktiv" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI prüft technische Antwort-Header des Servers, z. B. Security- oder Transport-Informationen. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Abs. 1 lit. b Sicherheit der Verarbeitung — Integrität/Vertraulichkeit

Risiko: 300,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, response_headers, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI prüft technische Antwort-Header des Servers, z. B. Security- oder Transport-Informationen.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, response_headers, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
https_aktivgreift, wenn der Trigger "https_aktiv" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "https_aktiv"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art32-x-frame-options",
    "fix_type": "diy_config",
    "check_type": "http_header",
    "section_name": null,
    "check_hinweis": "Scanner-Workflow:\n1. HEAD https://{{domain}} → Header X-Frame-Options vorhanden\n   (DENY oder SAMEORIGIN)?\n2. ODER: Content-Security-Policy enthält frame-ancestors\n   (nicht '*')?\n3. Beides fehlt → Rule fails.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "https_aktiv"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": null
}

ohne_section / dsgvo

Datenschutzerklärung: Hinweis auf Umgang mit Datenpannen (Empfehlung)

a-dsgvo-art33-datenpanne-prozess-dse

executablepublic_aistructured_page
Was macht diese Regel?

Art. 33 DSGVO verpflichtet den Verantwortlichen, Verletzungen des Schutzes personenbezogener Daten binnen 72 Stunden an die zuständige Aufsichtsbehörde zu melden; Art. 34 DSGVO verlangt bei hohem Risiko die Benachrichtigung der Betroffenen. Diese Pflichten entstehen gegenüber der Aufsichtsbehörde bzw. den Betroffenen — es gibt keine DSE-Pflicht im engen Sinn. Als Transparenz-Best-Practice wird empfohlen, dass die DSE einen Satz enthält, wie der Betreiber bei Datenpannen vorgeht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 33 Abs. 1 (Meldepflicht binnen 72 h) Meldung von Verletzungen des Schutzes personenbezogener Daten

Risiko: 800,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art33-datenpanne-prozess-dse",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt auf DSE-Volltext:\n  \"Enthält die Datenschutzerklärung einen Hinweis darauf, wie\n   der Betreiber mit Datenpannen umgeht (z. B. Meldung an die\n   Aufsichtsbehörde binnen 72 Stunden)?\"\nSignalwörter: \"Datenpanne\", \"Datenschutzverletzung\", \"72 Stunden\",\n\"Art. 33\", \"Art. 34\", \"Aufsichtsbehörde melden\".\nseverity: empfehlung.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Umgang mit Datenpannen\n\nSollte es trotz unserer Schutzmaßnahmen zu einer Verletzung des\nSchutzes personenbezogener Daten kommen, werden wir dies\nunverzüglich nach Bekanntwerden, spätestens jedoch binnen 72\nStunden, der zuständigen Aufsichtsbehörde melden (Art. 33 DSGVO).\nLiegt für Sie voraussichtlich ein hohes Risiko vor, werden wir\nSie zusätzlich unverzüglich persönlich benachrichtigen\n(Art. 34 DSGVO). Unser interner Incident-Response-Prozess ist\ndokumentiert und wird regelmäßig überprüft.\"\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Verfahren zur Benachrichtigung Betroffener bei hohem Risiko

a-dsgvo-art34-benachrichtigung-verfahren

executablepublic_aistructured_page
Was macht diese Regel?

Art. 34 DSGVO verlangt, dass der Verantwortliche die betroffenen Personen unverzüglich benachrichtigt, wenn eine Datenpanne voraussichtlich ein hohes Risiko für deren Rechte und Freiheiten zur Folge hat. Ergänzend zur Art.-33-Empfehlung sollte die DSE beschreiben, auf welchem Weg die Benachrichtigung erfolgt (E-Mail an die hinterlegte Adresse, Brief, öffentliche Bekanntmachung, falls individuelle Benachrichtigung unverhältnismäßig).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 34 Abs. 1 und Abs. 2 Benachrichtigung der betroffenen Person

Risiko: 800,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art34-benachrichtigung-verfahren",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt auf DSE-Volltext:\n  \"Erklärt die Datenschutzerklärung, wie Betroffene bei einer\n   Datenschutzverletzung mit hohem Risiko benachrichtigt werden\n   (Art. 34 DSGVO)?\"\nseverity: empfehlung.\nWird in Kombination mit a-dsgvo-art33-datenpanne-prozess-dse in\nderselben Batch-Gruppe ausgewertet (ein KI-Call für beide Fragen).\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Benachrichtigung bei hohem Risiko (Art. 34 DSGVO)\n\nErgibt die Risikobewertung einer Datenpanne ein voraussichtlich\nhohes Risiko für Ihre Rechte und Freiheiten, werden wir Sie\nunverzüglich benachrichtigen. Die Benachrichtigung erfolgt in\nder Regel per E-Mail an die bei uns hinterlegte Adresse und\nenthält in klarer und einfacher Sprache eine Beschreibung der\nArt der Verletzung, die wahrscheinlichen Folgen und die von uns\nergriffenen bzw. vorgeschlagenen Maßnahmen. Ist eine individuelle\nBenachrichtigung mit unverhältnismäßigem Aufwand verbunden,\nerfolgt eine öffentliche Mitteilung über unsere Website oder in\ngleich wirksamer Weise (Art. 34 Abs. 3 lit. c DSGVO).\"\n"
}

ohne_section / dsgvo

Hinweis: Datenschutz-Folgenabschätzung (DSFA) wahrscheinlich pflichtig

a-dsgvo-art35-dsfa-hinweis

executablepublic_aiai_classification
Was macht diese Regel?

Art. 35 DSGVO verlangt eine vorgelagerte Datenschutz-Folgenabschätzung (DSFA) bei Verarbeitungen, die voraussichtlich ein hohes Risiko für die Rechte und Freiheiten natürlicher Personen bergen. Die DSK-Muss-Liste (Art. 35 Abs. 4 DSGVO) nennt u. a.: - umfangreiches Profiling mit Rechtswirkung (Art. 35 Abs. 3 lit. a) - systematische umfangreiche Überwachung öffentlich zugänglicher Bereiche (lit. c) - umfangreiche Verarbeitung besonderer Kategorien (Art. 9) - KI-basierte Bewerber-Scorings, Scoring-Tools, Bonitätsprüfungen - Tracking über mehrere Webseiten hinweg kombiniert mit Profiling Der Scanner erkennt per Classification typische Trigger und gibt einen Partner-Datenschutz-Upsell aus.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich
Mindestens eine muss passen: profiling_aktiv, systematische_überwachung_erkannt, besondere_datenkategorien, bonitaetsprüfung_oder_scoring, ki_bewerberauswahl, tracking_über_webseiten_hinweg
Darf nicht zutreffen: dsfa_laut_nutzerangabe_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • profiling_aktiv - greift, wenn der Trigger "profiling_aktiv" im ScanScope aktiv ist
  • systematische_ueberwachung_erkannt - greift, wenn der Trigger "systematische_überwachung_erkannt" im ScanScope aktiv ist
  • besondere_datenkategorien - greift, wenn der Trigger "besondere_datenkategorien" im ScanScope aktiv ist
  • bonitaetspruefung_oder_scoring - greift, wenn der Trigger "bonitaetsprüfung_oder_scoring" im ScanScope aktiv ist
  • ki_bewerberauswahl - greift, wenn der Trigger "ki_bewerberauswahl" im ScanScope aktiv ist
  • tracking_ueber_webseiten_hinweg - greift, wenn der Trigger "tracking_über_webseiten_hinweg" im ScanScope aktiv ist
  • dsfa_laut_nutzerangabe_vorhanden - greift anhand von Datenschutz-Folgenabschaetzungs-Angaben
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 35 Abs. 1, 3 und 4 Datenschutz-Folgenabschätzung

Risiko: 800,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
profiling_aktivgreift, wenn der Trigger "profiling_aktiv" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
systematische_ueberwachung_erkanntgreift, wenn der Trigger "systematische_überwachung_erkannt" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
besondere_datenkategoriengreift, wenn der Trigger "besondere_datenkategorien" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
bonitaetspruefung_oder_scoringgreift, wenn der Trigger "bonitaetsprüfung_oder_scoring" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
ki_bewerberauswahlgreift, wenn der Trigger "ki_bewerberauswahl" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
tracking_ueber_webseiten_hinweggreift, wenn der Trigger "tracking_über_webseiten_hinweg" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

NICHT Wenn eine dieser Bedingungen zutrifft, darf die Regel nicht laufen.

BegriffWas er bedeutetWofür er da ist
dsfa_laut_nutzerangabe_vorhandengreift anhand von Datenschutz-Folgenabschaetzungs-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        }
    ],
    "oder": [
        {
            "scope": "profiling_aktiv"
        },
        {
            "scope": "systematische_ueberwachung_erkannt"
        },
        {
            "scope": "besondere_datenkategorien"
        },
        {
            "scope": "bonitaetspruefung_oder_scoring"
        },
        {
            "scope": "ki_bewerberauswahl"
        },
        {
            "scope": "tracking_ueber_webseiten_hinweg"
        }
    ],
    "nicht": [
        {
            "scope": "dsfa_laut_nutzerangabe_vorhanden"
        }
    ]
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art35-dsfa-hinweis",
    "fix_type": "partner_datenschutz",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "Classification-Schritt:\n1. Tracking-Heuristik: mehrere Tracker kombiniert?\n2. Branchen-Klassifizierung: Finanzdienstleister mit Online-\n   Bonitätsprüfung, Personaldienstleister mit KI-Scoring, Health-\n   Plattformen mit Patientendaten.\n3. Funktionale Erkennung: Live-Video-Überwachung, Face-Tracking.\n4. Bei Treffer: Rule fails mit \"DSFA-Pflicht wahrscheinlich —\n   Partner-Datenschutz kontaktieren\", ohne harte Aussage.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            }
        ],
        "oder": [
            {
                "scope": "profiling_aktiv"
            },
            {
                "scope": "systematische_ueberwachung_erkannt"
            },
            {
                "scope": "besondere_datenkategorien"
            },
            {
                "scope": "bonitaetspruefung_oder_scoring"
            },
            {
                "scope": "ki_bewerberauswahl"
            },
            {
                "scope": "tracking_ueber_webseiten_hinweg"
            }
        ],
        "nicht": [
            {
                "scope": "dsfa_laut_nutzerangabe_vorhanden"
            }
        ]
    },
    "partner_hinweis": "DSFA-Erstellung ist Einzelfallprüfung und rechtlich-technisch\nanspruchsvoll (Schwellwertanalyse, Risikoidentifikation,\nMaßnahmenkatalog, Restrisiko-Bewertung, ggf. Konsultation\nAufsichtsbehörde nach Art. 36 DSGVO). Partner-Leistung:\n  - Schwellwertanalyse anhand DSK-Liste\n  - Vollständige DSFA nach EDSA WP 248 rev.01\n  - Abstimmung mit interner/externer DSB\n  - Ggf. Konsultation der Aufsichtsbehörde nach Art. 36 Abs. 1\nUpsell-Baustein: \"DSFA-Paket ab {{preis}} einmalig,\ninkl. 1-Jahres-Update\".\n",
    "fix_text_vorlage": null
}

ohne_section / dsgvo

Datenschutzerklärung: Kontaktdaten des Datenschutzbeauftragten

a-dsgvo-art37-dsb-kontakt-dse

executablepublic_aistructured_page
Was macht diese Regel?

Wenn ein Datenschutzbeauftragter (DSB) benannt ist — sei es gesetzlich verpflichtend oder freiwillig —, müssen seine Kontaktdaten in der Datenschutzerklärung stehen (Name optional, E-Mail bzw. Postadresse verpflichtend). Art. 37 Abs. 7 DSGVO verlangt außerdem die Meldung an die Aufsichtsbehörde, Art. 13 Abs. 1 lit. b schreibt die Nennung in der Informationspflicht vor.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, dse_vorhanden
Mindestens eine muss passen: dsb_laut_nutzerangabe_benannt, dsb_pflicht_laut_branche

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • dse_vorhanden - greift anhand der Datenschutzerklärung
  • dsb_laut_nutzerangabe_benannt - greift anhand von Datenschutzbeauftragten-Angaben
  • dsb_pflicht_laut_branche - greift anhand von Datenschutzbeauftragten-Angaben
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 37 Abs. 7 iVm Art. 13 Abs. 1 lit. b Veröffentlichung der Kontaktdaten des Datenschutzbeauftragten

Risiko: 800,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
dse_vorhandengreift anhand der DatenschutzerklärungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
dsb_laut_nutzerangabe_benanntgreift anhand von Datenschutzbeauftragten-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
dsb_pflicht_laut_branchegreift anhand von Datenschutzbeauftragten-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "dse_vorhanden"
        }
    ],
    "oder": [
        {
            "scope": "dsb_laut_nutzerangabe_benannt"
        },
        {
            "scope": "dsb_pflicht_laut_branche"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art37-dsb-kontakt-dse",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Scanner prüft DSE per KI-Prompt:\n  \"Gibt der Text einen Datenschutzbeauftragten namentlich oder mit\n   Kontaktweg (E-Mail/Postanschrift) an?\"\nSignalwörter: \"Datenschutzbeauftragter\", \"DSB\", \"DPO\",\n\"datenschutz@<domain>\".\nRule fails, wenn laut Nutzerangabe/Classification DSB-Pflicht besteht,\naber kein Kontakt in der DSE.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "dse_vorhanden"
            }
        ],
        "oder": [
            {
                "scope": "dsb_laut_nutzerangabe_benannt"
            },
            {
                "scope": "dsb_pflicht_laut_branche"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Mustereintrag (im DSE-Kopf, direkt unter dem Verantwortlichen):\n\n\"Datenschutzbeauftragter\n{{dsb_name_oder_funktion}}\n{{dsb_firma_falls_extern}}\n{{dsb_anschrift}}\nE-Mail: {{dsb_email}}\nSie können sich bei Fragen zum Datenschutz und zur Ausübung Ihrer\nBetroffenenrechte jederzeit direkt an unseren Datenschutzbeauftragten\nwenden.\"\n"
}

ohne_section / dsgvo

Rechtsgrundlage berechtigtes Interesse (Art. 6 Abs. 1 lit. f) mit Interessenabwägung

a-dsgvo-art6-berechtigtes-interesse-lit-f

executablepublic_aistructured_page
Was macht diese Regel?

Wenn die DSE Verarbeitungen auf berechtigte Interessen stützt (Reichweitenmessung, Server-Logs, IT-Sicherheit, Direktmarketing an Bestandskunden), MUSS sie (1) "Art. 6 Abs. 1 lit. f DSGVO" nennen, (2) das konkrete berechtigte Interesse benennen UND (3) die Interessenabwägung erkennbar machen (überwiegende Interessen des Verantwortlichen gegenüber Betroffenen-Rechten).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_datenschutzerklaerung

  • hat_datenschutzerklaerung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6 Abs. 1 lit. f Rechtmäßigkeit — berechtigtes Interesse

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_datenschutzerklaerunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_datenschutzerklaerung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art6-berechtigtes-interesse-lit-f",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "- Suche: \"lit. f\", \"berechtigtes Interesse\", \"Interessenabwägung\", \"überwiegt nicht\".\n- Sensible Kontexte gegenchecken: Marketing-Cookies unter lit. f = meist falsch (dafür lit. a nötig).\n- KI-Prompt: \"Wird bei Berufung auf lit. f das konkrete Interesse genannt UND\n  eine Interessenabwägung erkennbar erwähnt? Widerspruchsrecht nach Art. 21 genannt?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_datenschutzerklaerung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO. Unser berechtigtes Interesse\nbesteht in {{konkretes_interesse, z.B. 'der Sicherstellung der IT-Sicherheit\nunserer Systeme'}}. Nach sorgfältiger Abwägung überwiegen diese Interessen\ndie schutzwürdigen Interessen der betroffenen Personen, insbesondere da\n{{abwaegungsargument}}. Sie haben das Recht, jederzeit Widerspruch\ngegen diese Verarbeitung einzulegen (Art. 21 DSGVO).\"\n"
}

ohne_section / dsgvo

Rechtsgrundlage Einwilligung (Art. 6 Abs. 1 lit. a) korrekt benannt

a-dsgvo-art6-einwilligung-lit-a

executablepublic_aistructured_page
Was macht diese Regel?

Wenn die Verarbeitung auf einer Einwilligung des Nutzers beruht (Newsletter, Marketing-Cookies, Tracking), MUSS die DSE "Art. 6 Abs. 1 lit. a DSGVO" oder den Begriff "Einwilligung" als Rechtsgrundlage für diese Verarbeitung nennen. Bei Cookies: zusätzlich §25 TTDSG anzugeben ist best practice.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_datenschutzerklaerung
Mindestens eine muss passen: hat_cookie_banner, hat_newsletter_formular

  • hat_datenschutzerklaerung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerung
  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
  • hat_newsletter_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formular
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6 Abs. 1 lit. a Rechtmäßigkeit — Einwilligung

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_datenschutzerklaerunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_datenschutzerklaerung"
        }
    ],
    "oder": [
        {
            "scope": "hat_cookie_banner"
        },
        {
            "scope": "hat_newsletter_formular"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art6-einwilligung-lit-a",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "- Erkenne einwilligungsbasierte Verarbeitungen (Cookie-Banner aktiv? Newsletter-Form?).\n- Prüfe DSE-Abschnitte dazu: Nennung \"lit. a\" oder \"Einwilligung\" als Rechtsgrundlage?\n- KI-Prompt: \"Wird im Newsletter-/Tracking-Abschnitt der DSE die Einwilligung\n  (Art. 6 Abs. 1 lit. a DSGVO) als Rechtsgrundlage genannt?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_datenschutzerklaerung"
            }
        ],
        "oder": [
            {
                "scope": "hat_cookie_banner"
            },
            {
                "scope": "hat_newsletter_formular"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Rechtsgrundlage für den Versand des Newsletters / das Setzen von\nMarketing-Cookies ist Ihre Einwilligung gemäß Art. 6 Abs. 1 lit. a DSGVO\n(für Cookies ergänzend § 25 Abs. 1 TTDSG). Sie können Ihre Einwilligung\njederzeit mit Wirkung für die Zukunft widerrufen.\"\n"
}

ohne_section / dsgvo

Rechtsgrundlage lebenswichtige Interessen (Art. 6 Abs. 1 lit. d) korrekt benannt

a-dsgvo-art6-lebenswichtig-lit-d

executablepublic_aistructured_page
Was macht diese Regel?

Verarbeitung zum Schutz lebenswichtiger Interessen der betroffenen Person oder einer anderen natürlichen Person. Für typische Websites praktisch irrelevant — relevant nur bei medizinischen Notfall-Plattformen, Notruf-Diensten, humanitären Einsätzen. Wenn genutzt, MUSS die DSE "Art. 6 Abs. 1 lit. d DSGVO" nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_datenschutzerklaerung
Mindestens eine muss passen: ist_medizin_notfall, ist_humanitaer

  • hat_datenschutzerklaerung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerung
  • ist_medizin_notfall - greift, wenn KarlKI die Website so einordnet: medizin notfall
  • ist_humanitaer - greift, wenn KarlKI die Website so einordnet: humanitaer
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6 Abs. 1 lit. d Rechtmäßigkeit — lebenswichtige Interessen

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_datenschutzerklaerunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
ist_medizin_notfallgreift, wenn KarlKI die Website so einordnet: medizin notfallSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
ist_humanitaergreift, wenn KarlKI die Website so einordnet: humanitaerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_datenschutzerklaerung"
        }
    ],
    "oder": [
        {
            "scope": "ist_medizin_notfall"
        },
        {
            "scope": "ist_humanitaer"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art6-lebenswichtig-lit-d",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "- Regel greift selten. Nur wenn DSE-Kontext auf Notfalldienste / Medizin hinweist.\n- Suche: \"lit. d\", \"lebenswichtig\", \"Notfall\", \"Vitalinteresse\".\n- KI-Prompt: \"Wird bei einem Notfall-Bezug Art. 6 Abs. 1 lit. d DSGVO korrekt genannt?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_datenschutzerklaerung"
            }
        ],
        "oder": [
            {
                "scope": "ist_medizin_notfall"
            },
            {
                "scope": "ist_humanitaer"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Im Notfall verarbeiten wir Ihre Standort- und Kontaktdaten zum Schutz\nlebenswichtiger Interessen gemäß Art. 6 Abs. 1 lit. d DSGVO.\"\n"
}

ohne_section / dsgvo

Rechtsgrundlage öffentliches Interesse (Art. 6 Abs. 1 lit. e) korrekt benannt

a-dsgvo-art6-öffentliches-interesse-lit-e

executablepublic_aistructured_page
Was macht diese Regel?

Verarbeitung für die Wahrnehmung einer im öffentlichen Interesse liegenden Aufgabe oder in Ausübung öffentlicher Gewalt. Relevant für Behörden, öffentliche Körperschaften, beliehene Unternehmen. Bei Privatwirtschaft praktisch irrelevant. Wenn genutzt, MUSS die DSE "Art. 6 Abs. 1 lit. e DSGVO" + die konkrete Rechtsnorm nennen (lit. e braucht gem. Art. 6 Abs. 3 DSGVO eine zusätzliche Rechtsgrundlage).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_datenschutzerklaerung
Mindestens eine muss passen: ist_behoerde, ist_öffentliche_koerperschaft, ist_beliehener

  • hat_datenschutzerklaerung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerung
  • ist_behoerde - greift, wenn KarlKI die Website so einordnet: behoerde
  • ist_oeffentliche_koerperschaft - greift, wenn KarlKI die Website so einordnet: öffentliche koerperschaft
  • ist_beliehener - greift, wenn KarlKI die Website so einordnet: beliehener
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6 Abs. 1 lit. e Rechtmäßigkeit — öffentliches Interesse / öffentliche Gewalt

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_datenschutzerklaerunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
ist_behoerdegreift, wenn KarlKI die Website so einordnet: behoerdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
ist_oeffentliche_koerperschaftgreift, wenn KarlKI die Website so einordnet: öffentliche koerperschaftSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
ist_beliehenergreift, wenn KarlKI die Website so einordnet: beliehenerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_datenschutzerklaerung"
        }
    ],
    "oder": [
        {
            "scope": "ist_behoerde"
        },
        {
            "scope": "ist_oeffentliche_koerperschaft"
        },
        {
            "scope": "ist_beliehener"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art6-oeffentliches-interesse-lit-e",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "- Regel greift nur, wenn Website einer öffentlichen Stelle zuzuordnen ist.\n- Suche: \"lit. e\", \"öffentliche Aufgabe\", \"öffentliches Interesse\", \"hoheitlich\".\n- KI-Prompt: \"Bei öffentlicher Stelle: wird Art. 6 Abs. 1 lit. e DSGVO + konkrete\n  gesetzliche Grundlage (z. B. Landesgesetz) genannt?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_datenschutzerklaerung"
            }
        ],
        "oder": [
            {
                "scope": "ist_behoerde"
            },
            {
                "scope": "ist_oeffentliche_koerperschaft"
            },
            {
                "scope": "ist_beliehener"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Die Verarbeitung erfolgt zur Wahrnehmung einer im öffentlichen Interesse liegenden\nAufgabe gemäß Art. 6 Abs. 1 lit. e DSGVO i. V. m. {{landesgesetz_oder_norm}}.\"\n"
}

ohne_section / dsgvo

Datenschutzerklärung: Für jede Verarbeitung ist eine Rechtsgrundlage genannt

a-dsgvo-art6-rechtsgrundlage-genannt

executablepublic_aistructured_page
Was macht diese Regel?

Die Datenschutzerklärung muss für jede beschriebene Datenverarbeitung eine der sechs Rechtsgrundlagen aus Art. 6 Abs. 1 DSGVO (lit. a-f) explizit benennen. Pauschalformulierungen wie "DSGVO-konform" reichen nicht — der konkrete Buchstabe (z. B. "Art. 6 Abs. 1 lit. b DSGVO") muss genannt sein, oder die Rechtsgrundlage muss in Klartext unmissverständlich benannt werden ("zur Vertragserfüllung").

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, hat_datenschutzerklaerung

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_datenschutzerklaerung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6 Abs. 1 Rechtmäßigkeit der Verarbeitung

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
hat_datenschutzerklaerunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "hat_datenschutzerklaerung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art6-rechtsgrundlage-genannt",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "- Lade DSE-URL (/datenschutz, /privacy, /datenschutzerklaerung).\n- Regex-Suche: \"Art. 6\", \"Artikel 6\", \"Rechtsgrundlage\", \"lit. [a-f]\", \"Buchstabe [a-f]\".\n- KI-Prompt: \"Wird in diesem DSE-Text für jede beschriebene Verarbeitung eine\n  Rechtsgrundlage aus Art. 6 Abs. 1 DSGVO (a-f) genannt? Liste fehlende Stellen auf.\"\n- Negativ-Signal: DSE nennt Google Analytics/Matomo/Newsletter ohne Rechtsgrundlage.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "hat_datenschutzerklaerung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Die Verarbeitung Ihrer personenbezogenen Daten erfolgt auf Grundlage von\nArt. 6 Abs. 1 lit. {{buchstabe}} DSGVO ({{bedeutung}}).\nFür folgende Verarbeitungen gelten konkret:\n- Vertragsabwicklung: Art. 6 Abs. 1 lit. b DSGVO\n- Newsletter: Art. 6 Abs. 1 lit. a DSGVO (Einwilligung)\n- Reichweitenmessung: Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse)\n- Steuerliche Aufbewahrung: Art. 6 Abs. 1 lit. c DSGVO\"\n"
}

ohne_section / dsgvo

Rechtsgrundlage rechtliche Verpflichtung (Art. 6 Abs. 1 lit. c) korrekt benannt

a-dsgvo-art6-rechtspflicht-lit-c

executablepublic_aistructured_page
Was macht diese Regel?

Bei Verarbeitungen, die durch Gesetz vorgeschrieben sind (z. B. steuerrechtliche Aufbewahrung nach §147 AO / §257 HGB, Meldepflichten), MUSS die DSE "Art. 6 Abs. 1 lit. c DSGVO" oder "rechtliche Verpflichtung" als Rechtsgrundlage nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_datenschutzerklaerung
Mindestens eine muss passen: hat_shop, hat_rechnungen, ist_gewerbe

  • hat_datenschutzerklaerung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerung
  • hat_shop - greift bei Shop/Warenkorb/Checkout-Signalen
  • hat_rechnungen - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: rechnungen
  • ist_gewerbe - greift, wenn KarlKI die Website so einordnet: gewerbe
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6 Abs. 1 lit. c Rechtmäßigkeit — rechtliche Verpflichtung

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_datenschutzerklaerunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_shopgreift bei Shop/Warenkorb/Checkout-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_rechnungengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: rechnungenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
ist_gewerbegreift, wenn KarlKI die Website so einordnet: gewerbeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_datenschutzerklaerung"
        }
    ],
    "oder": [
        {
            "scope": "hat_shop"
        },
        {
            "scope": "hat_rechnungen"
        },
        {
            "scope": "ist_gewerbe"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art6-rechtspflicht-lit-c",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "- Prüfe DSE-Abschnitt \"Speicherdauer\" oder \"Aufbewahrungsfristen\".\n- Suche: \"lit. c\", \"rechtliche Verpflichtung\", \"steuerrechtlich\", \"§147 AO\", \"§257 HGB\".\n- KI-Prompt: \"Wird für steuerliche/handelsrechtliche Aufbewahrung Art. 6 Abs. 1 lit. c DSGVO genannt?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_datenschutzerklaerung"
            }
        ],
        "oder": [
            {
                "scope": "hat_shop"
            },
            {
                "scope": "hat_rechnungen"
            },
            {
                "scope": "ist_gewerbe"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Rechnungs- und Buchhaltungsdaten werden zur Erfüllung gesetzlicher\nAufbewahrungspflichten (§ 147 AO, § 257 HGB — bis zu 10 Jahre) gespeichert.\nRechtsgrundlage: Art. 6 Abs. 1 lit. c DSGVO (rechtliche Verpflichtung).\"\n"
}

ohne_section / dsgvo

Rechtsgrundlage Vertragserfüllung (Art. 6 Abs. 1 lit. b) korrekt benannt

a-dsgvo-art6-vertrag-lit-b

executablepublic_aistructured_page
Was macht diese Regel?

Für Verarbeitungen im Rahmen der Vertragsanbahnung oder -erfüllung (Bestellung, Kundenkonto, Zahlungsabwicklung, Auftragsausführung) MUSS die DSE "Art. 6 Abs. 1 lit. b DSGVO" oder "Vertragserfüllung" als Rechtsgrundlage nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_datenschutzerklaerung
Mindestens eine muss passen: hat_shop, hat_kundenkonto, hat_kontaktformular, hat_buchungssystem

  • hat_datenschutzerklaerung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerung
  • hat_shop - greift bei Shop/Warenkorb/Checkout-Signalen
  • hat_kundenkonto - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenkonto
  • hat_kontaktformular - greift bei Formular-/Kontaktformular-Signalen
  • hat_buchungssystem - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchungssystem
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6 Abs. 1 lit. b Rechtmäßigkeit — Vertragserfüllung

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_datenschutzerklaerunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_shopgreift bei Shop/Warenkorb/Checkout-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_kundenkontogreift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenkontoSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_kontaktformulargreift bei Formular-/Kontaktformular-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_buchungssystemgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchungssystemSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_datenschutzerklaerung"
        }
    ],
    "oder": [
        {
            "scope": "hat_shop"
        },
        {
            "scope": "hat_kundenkonto"
        },
        {
            "scope": "hat_kontaktformular"
        },
        {
            "scope": "hat_buchungssystem"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art6-vertrag-lit-b",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "- Prüfe, ob die Website Verträge abschließt (Shop, Dienstleistung, Buchung).\n- Suche in DSE nach: \"Vertrag\", \"Bestellung\", \"Kundenkonto\", \"lit. b\", \"Vertragserfüllung\".\n- KI-Prompt: \"Wird für vertragsbezogene Verarbeitungen Art. 6 Abs. 1 lit. b\n  DSGVO als Rechtsgrundlage genannt?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_datenschutzerklaerung"
            }
        ],
        "oder": [
            {
                "scope": "hat_shop"
            },
            {
                "scope": "hat_kundenkonto"
            },
            {
                "scope": "hat_kontaktformular"
            },
            {
                "scope": "hat_buchungssystem"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Bei Vertragsabschluss und -abwicklung verarbeiten wir Ihre Daten (Name,\nAnschrift, Zahlungsdaten) auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO\n(Erfüllung eines Vertrags, dessen Vertragspartei Sie sind, oder zur\nDurchführung vorvertraglicher Maßnahmen auf Ihre Anfrage).\"\n"
}

ohne_section / dsgvo

Einwilligung freiwillig — nicht an Vertragserfüllung gekoppelt (Kopplungsverbot)

a-dsgvo-art7-freiwilligkeit

requires_owner_permissionbrowser_interactivebrowser_interactive
Was macht diese Regel?

Einwilligungen (Cookie-Banner, Newsletter-Form) dürfen NICHT an die Erbringung einer Leistung gekoppelt sein, sofern diese Daten für die Leistung nicht zwingend erforderlich sind. Keine Pflicht-Kreuze, kein "Zugang nur mit Einwilligung", keine "Nagging"-Dialoge, die Ablehnung erschweren. Banner MUSS gleichwertigen "Ablehnen"-Button haben wie "Akzeptieren".

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: hat_cookie_banner, hat_newsletter_formular

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
  • hat_newsletter_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formular
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig. Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 7 Abs. 4 i. V. m. Art. 4 Nr. 11 Bedingungen für die Einwilligung — Freiwilligkeit

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig.

scan_mode: Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "hat_cookie_banner"
        },
        {
            "scope": "hat_newsletter_formular"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art7-freiwilligkeit",
    "fix_type": "diy_config",
    "check_type": "browser_interactive",
    "section_name": null,
    "check_hinweis": "- Playwright: Cookie-Banner laden, DOM untersuchen.\n- Prüfe: Gibt es \"Alle akzeptieren\"-Button? Gibt es GLEICHWERTIGEN \"Ablehnen\"-Button\n  (gleiche Ebene, gleiche Farbe/Größe, gleicher Klick-Weg)?\n- Negativ: \"Ablehnen\" nur in 2. Ebene, kleiner Text, als Link statt Button.\n- Newsletter: Ist Checkbox optional oder Pflicht? Ist Einwilligung an Gewinnspiel gekoppelt?\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "hat_cookie_banner"
            },
            {
                "scope": "hat_newsletter_formular"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Konfiguriere dein Consent-Banner so, dass:\n1. \"Ablehnen\"-Button in erster Ebene vorhanden\n2. Visuell gleichwertig zu \"Akzeptieren\" (gleiche Farbe, Größe, Position)\n3. Bei Newsletter-Formular: Einwilligungs-Checkbox unangekreuzt, nicht Pflicht für\n   nicht-marketing-bezogene Funktionen\nBeispiel-Plugins mit konformer Default-Konfig: Borlabs Cookie, Complianz, Usercentrics.\n"
}

ohne_section / dsgvo

Einwilligung granular — pro Zweck separate Wahl

a-dsgvo-art7-granularitaet

requires_owner_permissionbrowser_interactivebrowser_interactive
Was macht diese Regel?

Wenn mehrere Zwecke (Statistik, Marketing, personalisierte Werbung) vorliegen, MUSS die Einwilligung pro Zweck separat möglich sein. Ein einziger "Alle akzeptieren"-Button ohne Kategoriewahl reicht NICHT. Nutzer muss in der ERSTEN EBENE des Banners zumindest Kategorien sehen ODER einen gleichwertigen "Nur notwendige" / "Ablehnen"-Button haben.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, hat_cookie_banner

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig. Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 7 Abs. 2 i. V. m. Art. 6 Abs. 1 lit. a Bedingungen für die Einwilligung — Granularität pro Zweck

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig.

scan_mode: Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "hat_cookie_banner"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art7-granularitaet",
    "fix_type": "diy_config",
    "check_type": "browser_interactive",
    "section_name": null,
    "check_hinweis": "- Playwright: Cookie-Banner öffnen, DOM inspizieren.\n- Prüfe: Gibt es Kategorien (Notwendig/Statistik/Marketing)? Sind diese per\n  Checkbox einzeln wählbar VOR \"Speichern\"/\"Auswahl bestätigen\"?\n- Negativ: Nur \"Alle akzeptieren\" ohne Einstellungs-Link. Nur \"OK\"-Button.\n- Prüfe ob Einstellungen ebenso leicht erreichbar wie \"Alle akzeptieren\".\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "hat_cookie_banner"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Banner muss mindestens folgende Struktur haben:\nERSTE EBENE:\n  [  ] Notwendig (immer aktiv, nicht abwählbar)\n  [  ] Statistik / Analyse\n  [  ] Marketing / Personalisierung\n  [Auswahl speichern]  [Alle ablehnen]  [Alle akzeptieren]\n\nJede Kategorie mit kurzer Erklärung + Link zu Details / DSE.\nCheckboxen für nicht-notwendige Kategorien MÜSSEN standardmäßig LEER sein.\n"
}

ohne_section / dsgvo

Einwilligung informiert — verständliche Sprache, klarer Zweck

a-dsgvo-art7-informiertheit

executablepublic_aistructured_page
Was macht diese Regel?

Einwilligungs-Ersuchen müssen in verständlicher, klar von anderen Sachverhalten unterscheidbarer Form in einfacher Sprache erfolgen. Der Zweck muss konkret benannt sein. Keine Schachtelsätze, kein Juristendeutsch, keine versteckten Zwecke in AGB-Klauseln.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: hat_cookie_banner, hat_newsletter_formular, hat_einwilligungs_checkbox

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
  • hat_newsletter_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formular
  • hat_einwilligungs_checkbox - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: einwilligungs checkbox
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 7 Abs. 2 Bedingungen für die Einwilligung — Informiertheit

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_einwilligungs_checkboxgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: einwilligungs checkboxSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "hat_cookie_banner"
        },
        {
            "scope": "hat_newsletter_formular"
        },
        {
            "scope": "hat_einwilligungs_checkbox"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art7-informiertheit",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "- Extrahiere Banner-/Formular-Text.\n- KI-Prompt: \"Ist dieser Einwilligungstext in einfacher Sprache? Wird der Zweck\n  (z. B. 'Nutzungsanalyse', 'Marketing-Tracking durch Dritte') konkret benannt?\n  Oder nur Pauschalfloskel 'Cookies für besseres Erlebnis'?\"\n- Prüfe: Werden Drittanbieter namentlich genannt (Google Analytics, Meta Pixel)?\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "hat_cookie_banner"
            },
            {
                "scope": "hat_newsletter_formular"
            },
            {
                "scope": "hat_einwilligungs_checkbox"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Banner-Text Beispiel (gut):\n\"Wir nutzen Cookies und ähnliche Technologien, um unsere Website zu betreiben.\nZusätzlich bitten wir um Ihre Einwilligung für:\n- Statistik-Cookies (Google Analytics, anonymisiert) — Nutzungsanalyse\n- Marketing-Cookies (Meta Pixel, Google Ads) — personalisierte Werbung\nSie können einzelne Kategorien auswählen. Details in unserer Datenschutzerklärung.\"\n"
}

ohne_section / dsgvo

Einwilligung Minderjähriger — Verweis auf Art. 8 DSGVO bei Angeboten für Kinder

a-dsgvo-art7-kinder-art8-verweis

executablepublic_aistructured_page
Was macht diese Regel?

Bei direkt an Kinder gerichteten Diensten der Informationsgesellschaft ist die Einwilligung von Kindern unter 16 Jahren (in DE: §6 Abs. 2 BDSG bleibt bei 16) nur mit Zustimmung des Trägers der elterlichen Verantwortung rechtmäßig. Diese Rule prüft nur, ob die DSE einen Verweis auf Art. 8 DSGVO enthält und den Altersmechanismus beschreibt, wenn die Website sich an Kinder richtet. Die inhaltliche Detailprüfung erfolgt in einer separaten Art-8-Rule.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_datenschutzerklaerung
Mindestens eine muss passen: richtet_sich_an_kinder, ist_edu_plattform, ist_kinder_content

  • hat_datenschutzerklaerung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerung
  • richtet_sich_an_kinder - greift, wenn der Trigger "richtet_sich_an_kinder" im ScanScope aktiv ist
  • ist_edu_plattform - greift, wenn KarlKI die Website so einordnet: edu plattform
  • ist_kinder_content - greift, wenn KarlKI die Website so einordnet: kinder content
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 8 (i. V. m. Art. 7) Einwilligung eines Kindes in Bezug auf Dienste der Informationsgesellschaft

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_datenschutzerklaerunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
richtet_sich_an_kindergreift, wenn der Trigger "richtet_sich_an_kinder" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
ist_edu_plattformgreift, wenn KarlKI die Website so einordnet: edu plattformSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
ist_kinder_contentgreift, wenn KarlKI die Website so einordnet: kinder contentSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_datenschutzerklaerung"
        }
    ],
    "oder": [
        {
            "scope": "richtet_sich_an_kinder"
        },
        {
            "scope": "ist_edu_plattform"
        },
        {
            "scope": "ist_kinder_content"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art7-kinder-art8-verweis",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "- KI-Prompt (vorgelagert): \"Richtet sich diese Website erkennbar an Kinder/Jugendliche\n  unter 16 Jahren?\" (Bildangebote, Schul-Lernplattform, Spielzeug-Shop?)\n- Wenn ja: DSE-Suche nach \"Art. 8\", \"Kinder\", \"minderjährig\", \"Erziehungsberechtigte\",\n  \"Eltern\".\n- Erwachsenen-Seiten: Rule überspringen.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_datenschutzerklaerung"
            }
        ],
        "oder": [
            {
                "scope": "richtet_sich_an_kinder"
            },
            {
                "scope": "ist_edu_plattform"
            },
            {
                "scope": "ist_kinder_content"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Einwilligung Minderjähriger: Unser Angebot richtet sich (auch) an Kinder.\nPersonen unter 16 Jahren dürfen gemäß Art. 8 DSGVO nur mit Zustimmung des/der\nErziehungsberechtigten in die Verarbeitung ihrer personenbezogenen Daten\neinwilligen. Wir bitten Eltern, bei der Registrierung die Einwilligung\nüber [Mechanismus: E-Mail-Bestätigung / Unterschrift-Upload] zu erteilen.\"\n"
}

ohne_section / dsgvo

Einwilligung nachweisbar — Protokoll / Consent-Log vorhanden

a-dsgvo-art7-nachweisbarkeit

executablepublic_autodom_element
Was macht diese Regel?

Der Verantwortliche MUSS im Streitfall nachweisen können, dass der Nutzer eingewilligt hat (Zeitpunkt, Zweck, Banner-Version, IP-Hash). Das bedeutet Consent-Management-Tool mit Protokoll ODER Newsletter-Double-Opt-In mit nachweisbarem E-Mail-Log.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: hat_cookie_banner, hat_newsletter_formular

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
  • hat_newsletter_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formular
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 7 Abs. 1 Bedingungen für die Einwilligung — Nachweispflicht

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, dom_snapshot, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, dom_snapshot, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "hat_cookie_banner"
        },
        {
            "scope": "hat_newsletter_formular"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art7-nachweisbarkeit",
    "fix_type": "diy_config",
    "check_type": "dom_element",
    "section_name": null,
    "check_hinweis": "- Scannen nach Consent-Management-Tool (CMP) Fingerprints:\n  Cookiebot, Usercentrics, Borlabs, Complianz, OneTrust, Klaro, Iubenda.\n- DOM-Signale: window.Cookiebot, __cmp, __tcfapi, data-cmp-ab etc.\n- Negativ: reines DIY-Banner ohne Server-Log / ohne Consent-ID.\n- Bei Newsletter: Hinweis auf Double-Opt-In-Bestätigungsmail in DSE?\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "hat_cookie_banner"
            },
            {
                "scope": "hat_newsletter_formular"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Konfigurations-Empfehlung:\n1. Nutze ein Consent-Management-Tool (CMP), das jeden Consent mit\n   ID + Zeitstempel + Zweckkategorien + Banner-Version serverseitig speichert.\n2. Newsletter: Double-Opt-In mit Speicherung von\n   - Anmeldezeitpunkt + IP (gehasht)\n   - Bestätigungsklick-Zeitpunkt + IP (gehasht)\n   - Bestätigungsmail-Template-Version\n3. Aufbewahrungsdauer: solange Verarbeitung läuft + 3 Jahre (Verjährungsfrist).\n"
}

ohne_section / dsgvo

Einwilligung jederzeit widerrufbar — Widerruf so einfach wie Erteilung

a-dsgvo-art7-widerruf-einfach

executablepublic_autodom_element
Was macht diese Regel?

Der Nutzer MUSS seine Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen können, UND der Widerruf muss so einfach sein wie die Erteilung. Praktisch: Cookie-Einstellungen über permanent sichtbares Icon / Footer-Link wieder aufrufbar. Newsletter-Abbestell-Link in jeder E-Mail. Kein "Widerruf nur schriftlich per Brief".

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: hat_cookie_banner, hat_newsletter_formular

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
  • hat_newsletter_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formular
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 7 Abs. 3 Bedingungen für die Einwilligung — Widerrufbarkeit

Risiko: 800,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, dom_snapshot, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, dom_snapshot, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "hat_cookie_banner"
        },
        {
            "scope": "hat_newsletter_formular"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art7-widerruf-einfach",
    "fix_type": "diy_config",
    "check_type": "dom_element",
    "section_name": null,
    "check_hinweis": "- DOM: Suche nach \"Cookie-Einstellungen\", \"Privacy-Settings\", \"Consent ändern\",\n  permanent sichtbarem Badge/Icon/Footer-Link.\n- Playwright: Nach Banner-Akzeptanz prüfen, ob Einstellungs-Link weiterhin erreichbar.\n- DSE: Wird Widerrufsrecht + Weg zum Widerruf explizit beschrieben?\n- Newsletter: Verweis auf Abbestell-Link-Mechanismus?\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "hat_cookie_banner"
            },
            {
                "scope": "hat_newsletter_formular"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "1. Permanent sichtbarer Footer-Link: \"Cookie-Einstellungen\" oder\n   schwebendes Icon (z. B. Fingerabdruck-Icon unten links).\n2. Klick öffnet erneut das Consent-Banner mit aktuellen Einstellungen.\n3. DSE-Text:\n   \"Sie können Ihre Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen,\n   ohne dass die Rechtmäßigkeit der auf Grundlage der Einwilligung bis zum\n   Widerruf erfolgten Verarbeitung berührt wird. Nutzen Sie dazu den\n   Link 'Cookie-Einstellungen' im Footer oder den Abmelde-Link in jeder\n   Newsletter-E-Mail.\"\n"
}

ohne_section / dsgvo

Prüfung bei Beschwerde/Löschantrag des Kritisierten

b-bewertungen-gegenstimme-loeschrecht

executablepublic_aiai_semantic
Was macht diese Regel?

Wird ein Dritter (Mitarbeiter, Verantwortlicher) in einer Bewertung namentlich genannt oder als Person identifizierbar, greifen Rechte aus DSGVO Art. 17 (Recht auf Löschung), §22 KUG (Bildnisrecht) und dem allgemeinen Persönlichkeitsrecht (Art. 1 Abs. 1, 2 Abs. 1 GG). Der Plattformbetreiber muss nach Beanstandung prüfen und ggf. löschen (BGH VI ZR 489/19). Auch unwahre Tatsachenbehauptungen verpflichten zur Löschung nach Prüfung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_kundenbewertungen
Mindestens eine muss passen: hat_namenthafte_nennung_in_bewertungen

  • hat_kundenbewertungen - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenbewertungen
  • hat_namenthafte_nennung_in_bewertungen - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: namenthafte nennung in bewertungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 17 i. V. m. Art. 1 Abs. 1 GG Recht auf Löschung / Persönlichkeitsrecht

Risiko: 1.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_kundenbewertungengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenbewertungenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_namenthafte_nennung_in_bewertungengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: namenthafte nennung in bewertungenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_kundenbewertungen"
        }
    ],
    "oder": [
        {
            "scope": "hat_namenthafte_nennung_in_bewertungen"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-bewertungen-gegenstimme-loeschrecht",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Prozess bei Kritisierten-Beschwerde: Gibt es einen klaren Kanal\n(Formular, Mail) zur Meldung rechtsverletzender Bewertungen?\nWird geprüft und ggf. gelöscht? Existiert ein Protokoll über\nEingänge und Bescheide?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "zivilrechtlich",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_kundenbewertungen"
            }
        ],
        "oder": [
            {
                "scope": "hat_namenthafte_nennung_in_bewertungen"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "anwalt",
    "fix_text_vorlage": "Auf der Bewertungsseite einen Link \"Bewertung melden\" anbringen.\nFormular mit Pflichtfeldern: Name, betroffene Bewertung (ID),\nGrund (Beleidigung, falsche Tatsachenbehauptung, Persönlichkeits-\nrechtsverletzung), Nachweis. Interner Workflow: 3 Werktage\nPrüfung, Entscheidung per Mail, Dokumentation im\nBeschwerde-Log.\n"
}

ohne_section / dsgvo

US-Drittlandtransfer bei OpenAI/Anthropic abgesichert

b-ki-datenschutz-grundlage-drittlandtransfer

executablepublic_aiai_semantic
Was macht diese Regel?

Gängige KI-APIs (OpenAI, Anthropic, Google, Perplexity) haben ihren Sitz in den USA. Datenübermittlung erfordert Art.-44-DSGVO- Transfermechanismus: EU-US Data Privacy Framework (bei zertifizierten Anbietern) ODER Standardvertragsklauseln (SCC) + Transfer Impact Assessment (TIA). Zusätzlich ist Auftragsverarbeitung nach Art. 28 zu vereinbaren.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_ki_einsatz
Mindestens eine muss passen: nutzt_us_ki_api

  • hat_ki_einsatz - greift bei KI-/Chatbot-Signalen
  • nutzt_us_ki_api - greift, wenn die Website diese Nutzung erkennen laesst: us ki api
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 44 ff. i. V. m. Art. 28 Drittlandübermittlungen / Auftragsverarbeitung

Risiko: 1.000,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_ki_einsatzgreift bei KI-/Chatbot-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
nutzt_us_ki_apigreift, wenn die Website diese Nutzung erkennen laesst: us ki apiSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_ki_einsatz"
        }
    ],
    "oder": [
        {
            "scope": "nutzt_us_ki_api"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-ki-datenschutz-grundlage-drittlandtransfer",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Welche KI-APIs werden genutzt? OpenAI, Anthropic, Google Gemini? —\ndann USA-Transfer. Ist Anbieter EU-US-DPF-zertifiziert? Sonst SCC-\nVertrag + TIA vorhanden? AV-Vertrag unterzeichnet?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_ki_einsatz"
            }
        ],
        "oder": [
            {
                "scope": "nutzt_us_ki_api"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Beim Anbieter AV-Vertrag anfordern (OpenAI: \"Data Processing\nAddendum\"; Anthropic: \"DPA\"). DPF-Zertifizierung prüfen\n(dataprivacyframework.gov). Falls nicht zertifiziert: SCC Modul 2\neinsetzen + TIA dokumentieren (Art. 46 DSGVO). In DSE erwähnen:\n\"Übermittlung in die USA auf Grundlage von [EU-US-DPF / SCC].\"\n"
}

ohne_section / dsgvo

Rechtsgrundlage je KI-Use-Case dokumentiert

b-ki-datenschutz-grundlage-rechtsgrundlage-clear

executablepublic_aiai_semantic
Was macht diese Regel?

Pro KI-Einsatz (Chatbot, Empfehlung, Personalisierung, etc.) muss die konkrete Art.-6-Grundlage bestimmt und dokumentiert sein. Chatbot-Kommunikation häufig lit. b (vorvertraglich) oder lit. f. Personalisierte Werbung/Empfehlungen brauchen typischerweise lit. a (Einwilligung). Eine pauschale "berechtigtes Interesse"- Floskel reicht nicht — es braucht dokumentierte Interessen- abwägung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_ki_einsatz

  • hat_ki_einsatz - greift bei KI-/Chatbot-Signalen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6 Abs. 1 i. V. m. Art. 5 Abs. 2 Rechtmäßigkeit / Rechenschaftspflicht

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_ki_einsatzgreift bei KI-/Chatbot-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_ki_einsatz"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-ki-datenschutz-grundlage-rechtsgrundlage-clear",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Für jeden KI-Use-Case Frage stellen: Welche Art.-6-Grundlage?\nBei lit. f: Interessenabwägung dokumentiert? Bei lit. a: Opt-in\nvorhanden? Bei lit. b: klarer Vertragsbezug?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_ki_einsatz"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Use-Case-Katalog im Verarbeitungsverzeichnis (Art. 30) führen\nmit Spalten: KI-System, Zweck, betroffene Daten, Rechtsgrundlage,\nInteressenabwägung (bei lit. f), Speicherdauer, Empfänger. Bei\nPersonalisierung/Profiling: Einwilligung prominent einholen.\n"
}

ohne_section / dsgvo

DSE erläutert KI-Einsatz und Datenverarbeitung

b-ki-dsgvo-art13-info-ki-verwendung

executablepublic_aistructured_page
Was macht diese Regel?

Kommt KI zum Einsatz, muss die DSE transparent darüber informieren: welches KI-System, welche Daten fließen ein, welcher Anbieter (ggf. Auftragsverarbeiter wie OpenAI), welche Zwecke. Art. 13 Abs. 1 lit. c, e, f DSGVO. Auch wenn der KI-Einsatz nicht unter Art. 22 fällt, braucht es transparente Informationen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_ki_einsatz

  • hat_ki_einsatz - greift bei KI-/Chatbot-Signalen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 1 lit. c, e, f Informationspflichten bei Erhebung

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_ki_einsatzgreift bei KI-/Chatbot-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_ki_einsatz"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-ki-dsgvo-art13-info-ki-verwendung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DSE nach Begriffen \"KI\", \"künstliche Intelligenz\", \"OpenAI\",\n\"ChatGPT\", \"Anthropic\" durchsuchen. Ist der KI-Einsatz\nerwähnt? Sind Anbieter, Zwecke und Rechtsgrundlage klar?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_ki_einsatz"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Neuer DSE-Abschnitt \"Einsatz von KI-Systemen\": \"Wir nutzen\nKI-basierte Dienste der [Anbieter, z. B. OpenAI, Inc., USA]\nzum Zweck [z. B. Chatbot-Antworten]. Im Rahmen Ihrer Nutzung\nwerden folgende Daten übertragen: [Inhalt Ihrer Anfragen].\nRechtsgrundlage: Art. 6 Abs. 1 lit. [f/b/a] DSGVO.\nAuftragsverarbeitung nach Art. 28 vereinbart. Daten-Transfer\nin die USA erfolgt auf Basis von [EU-US-DPF / SCC].\"\n"
}

ohne_section / dsgvo

Art.-22-Info bei automatisierter Einzelentscheidung

b-ki-dsgvo-art22-automatisierte-entscheidung

executablepublic_aiai_semantic
Was macht diese Regel?

Wenn die KI zu einer Entscheidung führt, die rechtliche Wirkung entfaltet oder den Betroffenen ähnlich erheblich beeinträchtigt (z. B. automatische Kreditentscheidung, Bewerbungsauswahl, Preisdifferenzierung nach Profil), gilt Art. 22 DSGVO. Dies verlangt Information, oft Einwilligung/Vertragsnotwendigkeit und das Recht auf menschliche Überprüfung. EuGH C-634/21 (Schufa) hat den Begriff weit ausgelegt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_ki_einsatz
Mindestens eine muss passen: hat_automatisierte_entscheidung

  • hat_ki_einsatz - greift bei KI-/Chatbot-Signalen
  • hat_automatisierte_entscheidung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: automatisierte entscheidung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 22 i. V. m. Art. 13 Abs. 2 lit. f Automatisierte Entscheidungen im Einzelfall

Risiko: 1.000,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_ki_einsatzgreift bei KI-/Chatbot-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_automatisierte_entscheidunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: automatisierte entscheidungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_ki_einsatz"
        }
    ],
    "oder": [
        {
            "scope": "hat_automatisierte_entscheidung"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-ki-dsgvo-art22-automatisierte-entscheidung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Prüfen, ob die KI-Entscheidung ohne menschliches Zutun gegenüber\ndem Nutzer wirksam wird (Kreditzusage, Versicherungstarif,\nBewerbungsausschluss). Wenn ja: DSE muss Art.-22-Info enthalten,\nProzess muss menschliche Prüfung auf Widerspruch ermöglichen.\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_ki_einsatz"
            }
        ],
        "oder": [
            {
                "scope": "hat_automatisierte_entscheidung"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "anwalt",
    "fix_text_vorlage": "DSE-Ergänzung: \"Wir setzen zur [Zweck] automatisierte\nEntscheidungsverfahren im Sinne des Art. 22 DSGVO ein. Die\nLogik beruht auf [Erläuterung]. Mögliche Auswirkungen: [Beispiel].\nSie haben das Recht auf Einbeziehung einer Person unsererseits,\nauf Darlegung Ihres Standpunkts und auf Anfechtung der\nEntscheidung.\" Im Prozess: Button \"Menschliche Überprüfung\nanfordern\".\n"
}

ohne_section / dsgvo

Speicherdauer und Löschung der Anfragen dokumentiert

b-kontaktformular-loeschkonzept-dokumentiert

executablepublic_aistructured_page
Was macht diese Regel?

Anfragen aus dem Kontaktformular sind nach Erledigung zu löschen, soweit keine gesetzliche Aufbewahrungspflicht besteht (§257 HGB, §147 AO — 6/10 Jahre, aber nur für steuerlich/handelsrechtlich relevante Kommunikation). In der DSE muss eine konkrete Speicherdauer angegeben sein (Art. 13 Abs. 2 lit. a DSGVO). "Solange erforderlich" genügt nicht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_kontaktformular

  • hat_kontaktformular - greift bei Formular-/Kontaktformular-Signalen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 5 Abs. 1 lit. e i. V. m. Art. 13 Abs. 2 lit. a Speicherbegrenzung / Info Speicherdauer

Risiko: 300,00 EUR bis 2.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_kontaktformulargreift bei Formular-/Kontaktformular-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_kontaktformular"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-kontaktformular-loeschkonzept-dokumentiert",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DSE-Passage zum Kontaktformular prüfen: Ist eine konkrete Frist\n(z. B. \"3 Monate nach Erledigung\", \"2 Jahre für Nachfragen\") benannt?\nGibt es ein internes Löschkonzept (Kann der Betreiber auf Nachfrage\nbelegen, dass alte Anfragen gelöscht werden)?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_kontaktformular"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "DSE-Text: \"Ihre Angaben aus dem Kontaktformular werden bei uns\ngespeichert, bis die Bearbeitung Ihrer Anfrage abgeschlossen ist,\nund anschließend für maximal 6 Monate aufbewahrt für eventuelle\nNachfragen. Danach werden die Daten gelöscht, sofern keine\ngesetzliche Aufbewahrungspflicht besteht. Einer weitergehenden\nVerwendung Ihrer Daten widersprechen wir.\"\n"
}

ohne_section / dsgvo

Pflichtfelder auf das zweckgebundene Minimum reduziert

b-kontaktformular-pflichtfelder-minimal

executablepublic_aistructured_page
Was macht diese Regel?

Als Pflichtfelder (required) dürfen nur Angaben markiert sein, ohne die die Anfrage nicht bearbeitbar ist — in der Regel Name und E-Mail sowie Nachricht. Telefonnummer, Firma, Adresse, Geburtsdatum etc. dürfen optional, nicht Pflicht sein. Art. 5 Abs. 1 lit. c DSGVO (Datenminimierung). Optional-Felder müssen erkennbar als optional gekennzeichnet sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_kontaktformular

  • hat_kontaktformular - greift bei Formular-/Kontaktformular-Signalen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 5 Abs. 1 lit. c Grundsatz Datenminimierung

Risiko: 300,00 EUR bis 1.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_kontaktformulargreift bei Formular-/Kontaktformular-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_kontaktformular"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-kontaktformular-pflichtfelder-minimal",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Alle Felder mit required-Attribut oder Asterisk auflisten. Sind alle\ntatsächlich für die Anfrage notwendig? Telefon/Adresse selten nötig.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_kontaktformular"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Formular überarbeiten: nur Name, E-Mail und Nachricht als Pflicht.\nAlle anderen Felder mit Hinweis \"(optional)\" beschriften oder\nentfernen. Beispiel-Hinweis: \"Felder mit * sind Pflicht. Alle\nanderen Angaben sind freiwillig und helfen uns, Ihre Anfrage\nschneller zu bearbeiten.\"\n"
}

ohne_section / dsgvo

HTTPS-Übertragung + datenschutzkonformer Spam-Schutz

b-kontaktformular-transport-https-captcha

executablepublic_aistructured_page
Was macht diese Regel?

Das Formular muss über HTTPS (TLS 1.2+) übertragen werden — Art. 32 DSGVO verlangt angemessene TOMs. Zusätzlicher Spam-Schutz darf keine personenbezogenen Daten an Drittanbieter übertragen, bevor eine Einwilligung vorliegt. Google reCAPTCHA v2/v3 ist nach LG Hagen (2 O 44/23) ohne Consent datenschutzrechtlich riskant, da Daten in die USA fließen. Alternativen: hCaptcha (EU-Server), Friendly Captcha, Honeypot-Felder oder mathematische Fragen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_kontaktformular

  • hat_kontaktformular - greift bei Formular-/Kontaktformular-Signalen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Abs. 1 i. V. m. Art. 25 Sicherheit der Verarbeitung / Privacy by Design

Risiko: 500,00 EUR bis 4.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_kontaktformulargreift bei Formular-/Kontaktformular-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_kontaktformular"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-kontaktformular-transport-https-captcha",
    "fix_type": "diy_template",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Ist die Formularseite per HTTPS erreichbar (URL-Check)? Wird ein\nCaptcha eingebunden? Wenn ja: welcher Anbieter? reCAPTCHA = riskant\nohne Consent-Abdeckung.\n",
    "normalization": {
        "fix_type": [
            "code_template",
            "diy_template"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_kontaktformular"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "technik_web",
    "fix_text_vorlage": "Let's-Encrypt-Zertifikat einbinden, HTTP 301 auf HTTPS umleiten.\nCaptcha-Alternative: Honeypot (unsichtbares Feld, das nur Bots\nausfüllen) + Zeit-Messung. Oder Friendly Captcha / hCaptcha mit\nDSE-Eintrag. Falls reCAPTCHA nötig, nur nach Consent laden.\n"
}

ohne_section / dsgvo

Nur E-Mail-Adresse als Pflichtfeld

b-newsletter-formular-datensparsamkeit

executablepublic_aistructured_page
Was macht diese Regel?

Für den reinen Newsletter-Versand ist technisch nur die E-Mail-Adresse erforderlich. Weitere Pflichtfelder (Name, Vorname, Anrede, Geburtsdatum, Firma) verstoßen gegen den Grundsatz der Datenminimierung (Art. 5 Abs. 1 lit. c DSGVO). Zusätzliche Felder sind zulässig, wenn sie optional gekennzeichnet sind.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_newsletter_formular

  • hat_newsletter_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formular
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 5 Abs. 1 lit. c Grundsätze — Datenminimierung

Risiko: 300,00 EUR bis 2.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_newsletter_formular"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-newsletter-formular-datensparsamkeit",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Formular auf Pflichtfelder prüfen (Asterisk oder HTML-Attribut required).\nNur E-Mail sollte Pflicht sein. Alle weiteren Felder als \"optional\"\nmarkieren.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_newsletter_formular"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Formular umbauen: E-Mail = Pflicht. Optionale Felder wie Name oder\nAnrede mit Hinweis \"(optional, für persönliche Anrede)\". Falls für\nPersonalisierung nötig, Zweck transparent machen.\n"
}

ohne_section / dsgvo

Newsletter-Einwilligungs-Checkbox nicht vorbelegt

b-newsletter-formular-keine-vorbelegung

executablepublic_aistructured_page
Was macht diese Regel?

Wenn das Formular eine Einwilligungs-Checkbox enthält, muss diese unmarkiert sein und aktiv vom Nutzer angekreuzt werden (EuGH C-673/17 Planet49). Auch in Bestell-/Registrierungs-Flows darf Newsletter-Zustimmung nicht als voreingestellter Häkchen mitgeführt werden. Kopplung mit anderen Vertragsleistungen unzulässig (Art. 7 Abs. 4 DSGVO).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_newsletter_formular
Mindestens eine muss passen: hat_registrierungs_formular

  • hat_newsletter_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formular
  • hat_registrierungs_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: registrierungs formular
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 4 Nr. 11 i. V. m. Art. 7 Abs. 4 Begriffsbestimmung Einwilligung / Kopplungsverbot

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_registrierungs_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: registrierungs formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_newsletter_formular"
        }
    ],
    "oder": [
        {
            "scope": "hat_registrierungs_formular"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-newsletter-formular-keine-vorbelegung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Newsletter-Formular öffnen: Ist eine Checkbox vorhanden? Ist sie\nstandardmäßig leer? Ist der Submit-Button ohne aktiven Klick auf\ndie Checkbox nicht aktivierbar (bzw. erfordert sie den Klick)?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_newsletter_formular"
            }
        ],
        "oder": [
            {
                "scope": "hat_registrierungs_formular"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "HTML-Attribut \"checked\" bei Checkbox entfernen. Formularlogik so\nbauen, dass Absenden ohne aktives Anklicken scheitert. Beispiel-\nText: \"Ich möchte den Newsletter abonnieren und bin mit der\nVerarbeitung meiner E-Mail-Adresse zum Versand gemäß\nDatenschutzerklärung einverstanden. Widerruf jederzeit möglich.\"\n"
}

ohne_section / dsgvo

Consent-Log dokumentiert Anmeldung und DOI

b-newsletter-nachweis-consent-log

executablepublic_aiai_semantic
Was macht diese Regel?

Pro Newsletter-Abo muss protokolliert sein: Zeitpunkt der Anmeldung, IP-Adresse oder Hash, Formular-URL, Zeitpunkt des DOI-Klicks, ggf. Text der Einwilligung in der damaligen Fassung. Diese Daten dienen als Beweis bei Abmahnung/Behördenanfragen (Art. 7 Abs. 1 DSGVO, Rechenschaftspflicht Art. 5 Abs. 2). Bestandskundenausnahme §7 Abs. 3 UWG: Opt-Out-Hinweis bei Datenerhebung und in jeder Mail muss ebenfalls dokumentiert sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_newsletter_formular
Mindestens eine muss passen: versendet_e_mail_werbung

  • hat_newsletter_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formular
  • versendet_e_mail_werbung - greift, wenn Kommunikation/Versand dieses Typs erkannt wird: e mail werbung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 7 Abs. 1 i. V. m. Art. 5 Abs. 2 Nachweis der Einwilligung / Rechenschaftspflicht

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
versendet_e_mail_werbunggreift, wenn Kommunikation/Versand dieses Typs erkannt wird: e mail werbungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_newsletter_formular"
        }
    ],
    "oder": [
        {
            "scope": "versendet_e_mail_werbung"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-newsletter-nachweis-consent-log",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Im Newsletter-Tool exportieren lassen: Anmelde-Historie pro\nAdresse. Sind Zeitstempel, IP/Hash, Formular-URL, DOI-Bestätigung\nenthalten? Aufbewahrt bis Ende Widerspruchsrisiko?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_newsletter_formular"
            }
        ],
        "oder": [
            {
                "scope": "versendet_e_mail_werbung"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Newsletter-Anbieter mit DSGVO-Protokoll (z. B. CleverReach, Brevo,\nrapidmail) wählen. Pro Abonnent Protokollieren: Anmeldezeitpunkt,\nIP, Formular-URL, Einwilligungstext-Version, DOI-Klick-Zeitpunkt.\nAufbewahrung mind. 3 Jahre nach Abmeldung.\n"
}

ohne_section / dsgvo

PSP in DSE namentlich, mit Zweck und Rechtsgrundlage

b-zahlung-datenschutz-psp-in-dse

executableowner_deepstructured_page
Was macht diese Regel?

Jeder eingesetzte Payment Service Provider (PayPal, Stripe, Klarna, Mollie, Adyen) ist in der DSE zu nennen. Angabe: Firmensitz, übermittelte Daten (Name, Anschrift, Zahlungsdetails, IP), Rechtsgrundlage (Art. 6 Abs. 1 lit. b zur Vertragserfüllung), Drittlandtransfer bei US-Anbietern. Zusätzlich: oft führen PSP eigene Bonitätsprüfungen durch (Klarna, Paypal Pay Later) — auch dies muss transparent sein (Art. 22 DSGVO-Schnittstelle).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: akzeptiert_online_zahlung

  • akzeptiert_online_zahlung - greift, wenn der Trigger "akzeptiert_online_zahlung" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Abs. 1 lit. c, e, f Informationspflichten bei Erhebung

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
akzeptiert_online_zahlunggreift, wenn der Trigger "akzeptiert_online_zahlung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "akzeptiert_online_zahlung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-zahlung-datenschutz-psp-in-dse",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DSE auf Abschnitt \"Zahlungsdienstleister\"/\"Zahlungsabwicklung\"\nprüfen. Sind alle aktiven PSPs namentlich und mit Sitz genannt?\nBei Kauf auf Rechnung: Info zur Bonitätsprüfung (Klarna, Creditreform)?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "akzeptiert_online_zahlung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "DSE-Abschnitt \"Zahlungsabwicklung\": \"Wir nutzen zur Zahlungs-\nabwicklung folgende Dienstleister: [PSP-Name], [Firmensitz], Zweck:\nDurchführung der Zahlung, Rechtsgrundlage: Art. 6 Abs. 1 lit. b\nDSGVO. Übermittelte Daten: Name, Rechnungsadresse, Bestell- und\nZahlungsdetails. Bei Kauf auf Rechnung erfolgt zusätzlich eine\nBonitätsprüfung durch [Anbieter] auf Basis von Art. 6 Abs. 1\nlit. f DSGVO.\"\n"
}

ohne_section / dsgvo

Art. 9 DSGVO — Gesundheitsdaten als besondere Kategorie

c-05-dsgvo-art9-gesundheitsdaten

executablepublic_aistructured_page
Was macht diese Regel?

Gesundheitsdaten sind nach Art. 9 Abs. 1 DSGVO besonders geschützt. Verarbeitung nur bei expliziter Einwilligung (Art. 9 Abs. 2 lit. a) oder gesetzlicher Grundlage (§22 BDSG, Behandlungsvertrag). DSE muss Rechtsgrundlage pro Verarbeitungszweck konkret nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_05

  • branche_c_05 - greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 9 Besondere Kategorien personenbezogener Daten

Risiko: 2.000,00 EUR bis 200.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_05greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_05"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-05-dsgvo-art9-gesundheitsdaten",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DSE: Gesundheitsdaten-Verarbeitung mit Rechtsgrundlage Art. 9?\nEinwilligungsformular bei Online-Terminbuchung?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_05"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "DSB",
    "fix_text_vorlage": "\"Verarbeitung besonderer Kategorien (Art. 9 DSGVO):\nZweck: Behandlungsdokumentation, Abrechnung\nRechtsgrundlage: Art. 9 Abs. 2 lit. h DSGVO i.V.m. §22 BDSG\n(Gesundheitsvorsorge/Behandlung durch Berufsgeheimnisträger)\nAufbewahrung: 10 Jahre nach §630f BGB\"\n"
}

ohne_section / dsgvo

AVV-Pflicht nach Art. 28 DSGVO

c-16-avv-art28-anbieter-pflicht

executablepublic_aistructured_page
Was macht diese Regel?

SaaS-Anbieter, Hoster, IT-Dienstleister sind i. d. R. Auftragsverarbeiter und müssen mit jedem Kunden einen AVV nach Art. 28 Abs. 3 DSGVO abschließen (Pflichtinhalte: Zweck, Dauer, Art der Daten, TOM, Sub-Zustimmung).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_16, rolle:auftragsverarbeiter

  • branche_c_16 - greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt ist
  • rolle:auftragsverarbeiter - greift nur für diese fachliche Rolle: auftragsverarbeiter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 28 Auftragsverarbeitung

Risiko: 2.000,00 EUR bis 200.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_16greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:auftragsverarbeitergreift nur für diese fachliche Rolle: auftragsverarbeiterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"auftragsverarbeiter"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_16"
        },
        {
            "rolle": "auftragsverarbeiter"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-16-avv-art28-anbieter-pflicht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Gibt es einen AVV-Muster-Link auf der Website? Ist er Art. 28-konform\n(10 Pflichtinhalte)?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_16"
            },
            {
                "rolle": "auftragsverarbeiter"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Auftragsverarbeitungsvertrag: [Link zum PDF] — entspricht Art. 28 DSGVO.\"\n"
}

ohne_section / dsgvo

Sub-Auftragsverarbeiter öffentlich listen

c-16-sub-auftragsverarbeiter-liste

executablepublic_aistructured_page
Was macht diese Regel?

Nach Art. 28 Abs. 2 DSGVO muss der Kunde Sub-Verarbeitern (AWS, Stripe, Sentry, OpenAI etc.) zustimmen oder widersprechen können. Best Practice: öffentliche Liste der Sub-AVV + Änderungs-Benachrichtigung per Mail.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_16, rolle:auftragsverarbeiter, nutzt_sub_dienste:true

  • branche_c_16 - greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt ist
  • rolle:auftragsverarbeiter - greift nur für diese fachliche Rolle: auftragsverarbeiter
  • nutzt_sub_dienste:true - greift, wenn "nutzt sub dienste" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 28 Abs. 2 Sub-Auftragsverarbeitung

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_16greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:auftragsverarbeitergreift nur für diese fachliche Rolle: auftragsverarbeiterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
nutzt_sub_dienste:truegreift, wenn "nutzt sub dienste" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"auftragsverarbeiter"} | alle: {"nutzt_sub_dienste":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_16"
        },
        {
            "rolle": "auftragsverarbeiter"
        },
        {
            "nutzt_sub_dienste": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-16-sub-auftragsverarbeiter-liste",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Trust-/Legal-Seite mit aktueller Sub-AVV-Liste (Name, Land, Zweck)?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_16"
            },
            {
                "rolle": "auftragsverarbeiter"
            },
            {
                "nutzt_sub_dienste": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Tabelle: | Sub | Zweck | Sitz | Drittland? | EU-SCC? |\n"
}

ohne_section / dsgvo

TOM-Dokument nach Art. 32 DSGVO

c-16-tom-technisch-organisatorisch

executablepublic_aistructured_page
Was macht diese Regel?

Anbieter müssen technisch-organisatorische Maßnahmen nach Art. 32 DSGVO dokumentieren (Vertraulichkeit, Integrität, Verfügbarkeit, Pseudonymi- sierung, Verschlüsselung). B2B-üblich: TOM-PDF als Anlage zum AVV auf Trust-/Legal-Seite öffentlich.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_16, rolle:auftragsverarbeiter

  • branche_c_16 - greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt ist
  • rolle:auftragsverarbeiter - greift nur für diese fachliche Rolle: auftragsverarbeiter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung

Risiko: 1.000,00 EUR bis 100.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_16greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:auftragsverarbeitergreift nur für diese fachliche Rolle: auftragsverarbeiterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"auftragsverarbeiter"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_16"
        },
        {
            "rolle": "auftragsverarbeiter"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-16-tom-technisch-organisatorisch",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "TOM-PDF aktuell (< 12 Monate)? Deckt alle Bereiche?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_16"
            },
            {
                "rolle": "auftragsverarbeiter"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"TOM nach Art. 32 DSGVO: [PDF-Link]. Stand: [Datum]. Jährliche Review.\"\n"
}

ohne_section / dsgvo

Mitglieder-DSGVO: Art. 6 I b, nicht Einwilligung

c-19-ehrenamt-datenschutz-mitglieder

executablepublic_aistructured_page
Was macht diese Regel?

Die Verarbeitung von Mitgliederdaten erfolgt i. d. R. auf Grundlage Art. 6 Abs. 1 lit. b DSGVO (Vertrag Mitgliedschaft), nicht lit. a (Einwilligung). Eine fehlerhafte Rechtsgrundlage führt zu Betroffenen- rechten-Konflikten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_19, hat_mitgliederverwaltung:true

  • branche_c_19 - greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt ist
  • hat_mitgliederverwaltung:true - greift, wenn "hat mitgliederverwaltung" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6 Abs. 1 lit. b Rechtmäßigkeit der Verarbeitung

Risiko: 200,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_19greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
hat_mitgliederverwaltung:truegreift, wenn "hat mitgliederverwaltung" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"hat_mitgliederverwaltung":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_19"
        },
        {
            "hat_mitgliederverwaltung": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-19-ehrenamt-datenschutz-mitglieder",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DSE: Mitgliederdaten = Art. 6 I b; Bilder/Newsletter ggf. zusätzlich\nArt. 6 I a.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_19"
            },
            {
                "hat_mitgliederverwaltung": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Rechtsgrundlage: Art. 6 Abs. 1 lit. b DSGVO (Erfüllung des Mitglieds-\nvertrags). Darüber hinausgehende Zwecke (Newsletter, Fotos auf Website)\nbasieren auf Ihrer Einwilligung.\"\n"
}

ohne_section / dsgvo & ddg

Privat-FeWo: DSE-Pflicht auch ohne Gewerbe

c-11-fewo-privatvermieter-impressum

executablepublic_aistructured_page
Was macht diese Regel?

Auch private Ferienwohnungsvermieter unterliegen der DSGVO, sobald Buchungsdaten (Name, Adresse, Zahlungsdaten) erhoben werden. Pflicht: Datenschutzerklärung nach Art. 13 DSGVO, ggf. Impressum (abhängig von Nachhaltigkeit/Gewinnerzielung — §5 DDG fein abgrenzen).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_11, rolle:privatvermieter

  • branche_c_11 - greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt ist
  • rolle:privatvermieter - greift nur für diese fachliche Rolle: privatvermieter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO & DDG Art. 13 DSGVO; §5 DDG Informationspflichten bei Datenerhebung

Risiko: 300,00 EUR bis 2.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_11greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:privatvermietergreift nur für diese fachliche Rolle: privatvermieterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"privatvermieter"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_11"
        },
        {
            "rolle": "privatvermieter"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-11-fewo-privatvermieter-impressum",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Ist DSE mit Angabe Zweck (Buchung, Meldeschein, Abrechnung) erkennbar?\nImpressum notwendig, wenn dauerhaft vermietet.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_11"
            },
            {
                "rolle": "privatvermieter"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "DSE-Block mit Datenkategorien, Speicherdauer (max. 10 Jahre für Meldeschein),\nRechtsgrundlage Art. 6 I b (Vertrag) + lit. c (BMG).\n"
}

ohne_section / dsgvo + bdsg

Hinweis: Pflicht zur Benennung eines Datenschutzbeauftragten prüfen

a-dsgvo-art37-dsb-pflicht-hinweis-bdsg38

executablepublic_aiai_classification
Was macht diese Regel?

Der Scanner kann aufgrund der Website allein die DSB-Pflicht nicht zuverlässig feststellen (setzt Wissen über Mitarbeiteranzahl und Verarbeitungstätigkeiten voraus). Er gibt daher einen Branchen-/Kontext-basierten Hinweis aus, sobald Classification eine der typischen DSB-Pflicht-Konstellationen erkennt: - ≥20 Mitarbeiter mit ständiger automatisierter Datenverarbeitung (§38 Abs. 1 BDSG) - Kerntätigkeit = umfangreiche/regelmäßige Überwachung (Art. 37 Abs. 1 lit. b DSGVO) - Kerntätigkeit = Verarbeitung besonderer Kategorien oder strafrechtlicher Daten (Art. 37 Abs. 1 lit. c DSGVO) Beispiele: Krankenhäuser, Arztpraxen, größere Onlineshops, HR-Plattformen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich
Mindestens eine muss passen: branche_gesundheitswesen, branche_personal_hr, branche_groesserer_shop, kerntaetigkeit_überwachung, besondere_datenkategorien
Darf nicht zutreffen: dsb_laut_nutzerangabe_benannt

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • branche_gesundheitswesen - greift bei dieser fachlichen Branchenzuordnung: gesundheitswesen
  • branche_personal_hr - greift bei dieser fachlichen Branchenzuordnung: personal hr
  • branche_groesserer_shop - greift bei dieser fachlichen Branchenzuordnung: groesserer shop
  • kerntaetigkeit_ueberwachung - greift, wenn der Trigger "kerntaetigkeit_überwachung" im ScanScope aktiv ist
  • besondere_datenkategorien - greift, wenn der Trigger "besondere_datenkategorien" im ScanScope aktiv ist
  • dsb_laut_nutzerangabe_benannt - greift anhand von Datenschutzbeauftragten-Angaben
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO + BDSG DSGVO Art. 37 Abs. 1 / BDSG §38 Abs. 1 Benennung eines Datenschutzbeauftragten

Risiko: 800,00 EUR bis 10.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
branche_gesundheitswesengreift bei dieser fachlichen Branchenzuordnung: gesundheitswesenSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
branche_personal_hrgreift bei dieser fachlichen Branchenzuordnung: personal hrSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
branche_groesserer_shopgreift bei dieser fachlichen Branchenzuordnung: groesserer shopSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
kerntaetigkeit_ueberwachunggreift, wenn der Trigger "kerntaetigkeit_überwachung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
besondere_datenkategoriengreift, wenn der Trigger "besondere_datenkategorien" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

NICHT Wenn eine dieser Bedingungen zutrifft, darf die Regel nicht laufen.

BegriffWas er bedeutetWofür er da ist
dsb_laut_nutzerangabe_benanntgreift anhand von Datenschutzbeauftragten-AngabenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        }
    ],
    "oder": [
        {
            "scope": "branche_gesundheitswesen"
        },
        {
            "scope": "branche_personal_hr"
        },
        {
            "scope": "branche_groesserer_shop"
        },
        {
            "scope": "kerntaetigkeit_ueberwachung"
        },
        {
            "scope": "besondere_datenkategorien"
        }
    ],
    "nicht": [
        {
            "scope": "dsb_laut_nutzerangabe_benannt"
        }
    ]
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-dsgvo-art37-dsb-pflicht-hinweis-bdsg38",
    "fix_type": "partner_datenschutz",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "Classification-Schritt: Branche + Datenverarbeitungs-Typ erkennen\n(z. B. Klinik-URL, Arzt-Keywords, Stellenportale, großer Shop).\nWenn eine Pflicht-Konstellation plausibel ist UND DSE keinen DSB\nnennt → Hinweis-Rule fails mit Empfehlung partner_datenschutz.\nKeine harte Aussage (\"Sie SIND pflichtig\"), sondern Fragehinweis\n(\"In Ihrer Branche ist DSB-Pflicht häufig — bitte prüfen\").\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            }
        ],
        "oder": [
            {
                "scope": "branche_gesundheitswesen"
            },
            {
                "scope": "branche_personal_hr"
            },
            {
                "scope": "branche_groesserer_shop"
            },
            {
                "scope": "kerntaetigkeit_ueberwachung"
            },
            {
                "scope": "besondere_datenkategorien"
            }
        ],
        "nicht": [
            {
                "scope": "dsb_laut_nutzerangabe_benannt"
            }
        ]
    },
    "partner_hinweis": "Wenn kein DSB benannt ist und der Nutzer seine Pflichtlage nicht\nsicher einschätzen kann: externen DSB über Partner-Netzwerk buchbar.\nUpsell: \"DSB-Check + optionale externe Bestellung ab {{preis}}/Monat\".\nHintergrund: §38 BDSG = 20 Mitarbeiter-Schwelle in DE;\nArt. 37 DSGVO = EU-weite Kernpflicht.\n",
    "fix_text_vorlage": null
}

ohne_section / dsgvo + bdsg + landespressegesetze

Medienprivileg Art. 85 DSGVO + §12 BDSG / Landesrecht

c-15-recherche-dsgvo-grundlagen

executablepublic_aistructured_page
Was macht diese Regel?

Für journalistische Zwecke greift das Medienprivileg (Art. 85 DSGVO, §12 BDSG, Landespressegesetze). Betroffenenrechte sind eingeschränkt (keine Auskunft während Recherche). Dennoch: Datenschutzerklärung für Leser/Website-Nutzer bleibt Pflicht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_15, rolle:redaktion

  • branche_c_15 - greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt ist
  • rolle:redaktion - greift nur für diese fachliche Rolle: redaktion
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO + BDSG + Landespressegesetze Art. 85 DSGVO; §12 BDSG Datenverarbeitung zu journalistischen Zwecken

Risiko: 200,00 EUR bis 4.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_15greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:redaktiongreift nur für diese fachliche Rolle: redaktionFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"redaktion"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_15"
        },
        {
            "rolle": "redaktion"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-15-recherche-dsgvo-grundlagen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DSE erklärt Medienprivileg, nennt Auskunftsbeschränkung bei Recherche,\ntrennt Leser-Daten von Recherche-Daten.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_und_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_15"
            },
            {
                "rolle": "redaktion"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Redaktionelle Datenverarbeitung: Art. 85 DSGVO i. V. m. §12 BDSG;\nAuskunftsrechte zu laufenden Recherchen können eingeschränkt sein.\"\n"
}

ohne_section / durchführungs-vo (eu) 1337/2013 / honigv / weitere

Herkunftskennzeichnung (Fleisch, Honig, Öl, Fisch)

c-09-herkunftskennzeichnung

executablepublic_aistructured_page
Was macht diese Regel?

Bei Fleisch (VO 1337/2013: Rind ab 01.04.2015, Schwein/Schaf/Ziege/ Geflügel), Honig (HonigV), Olivenöl (VO 29/2012), Fisch (VO 1379/2013) ist die Herkunft (Aufzucht, Schlachtung, Fang-/Produktionsgebiet) verpflichtend anzugeben.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_09, angebot:fleisch_honig_oel_fisch

  • branche_c_09 - greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt ist
  • angebot:fleisch_honig_oel_fisch - greift nur, wenn dieses Angebot/Produkt erkannt wurde: fleisch honig oel fisch
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Durchführungs-VO (EU) 1337/2013 / HonigV / weitere Art. 5-7 DVO 1337/2013 Herkunft Fleisch

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_09greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:fleisch_honig_oel_fischgreift nur, wenn dieses Angebot/Produkt erkannt wurde: fleisch honig oel fischFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"fleisch_honig_oel_fisch"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_09"
        },
        {
            "angebot": "fleisch_honig_oel_fisch"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-09-herkunftskennzeichnung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Produktseite Fleisch: \"Aufgezogen in DE\", \"Geschlachtet in DE\"?\nHonig: Herkunftsland (oder Mischung EU/Nicht-EU)?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_09"
            },
            {
                "angebot": "fleisch_honig_oel_fisch"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Herkunft Schweinefleisch:\nAufgezogen in: Deutschland\nGeschlachtet in: Deutschland\n(Zerlegt in: Deutschland)\"\n"
}

ohne_section / ecommerce

Grundpreis-Hinweis fehlt

ecommerce.base_price_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Shop-Seiten mit Mengenangaben auf Grundpreis-Hinweise.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PAngV § 4 Pflicht zur Angabe des Grundpreises

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "ecommerce_base_price_hint",
    "shop_gate": true
}

ohne_section / ecommerce

Checkout-Gesamtpreis fehlt

ecommerce.checkout_total_price_missing

executableowner_deepohne check_type
Was macht diese Regel?

Prüft Checkout-Kontexte auf klaren Gesamtpreis inkl. Steuer/Versand.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB / EGBGB § 312j BGB; Art. 246a § 1 EGBGB Gesamtpreis unmittelbar vor Abgabe der Bestellung

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: page; Severity: high

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "ecommerce_checkout_total_price",
    "shop_gate": true,
    "checkout_gate": true
}

ohne_section / ecommerce

Lieferzeit-Hinweis fehlt

ecommerce.delivery_time_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Shop-Seiten auf Lieferzeit-Hinweise.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB / EGBGB § 312d BGB; Art. 246a § 1 Abs. 1 Nr. 10 EGBGB Information zu Liefer- und Leistungsbedingungen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "ecommerce_delivery_time_hint",
    "shop_gate": true
}

ohne_section / ecommerce

Verbraucherstreitbeilegungs-Hinweis fehlt

ecommerce.odr_platform_link_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft B2C-Shop-Indikatoren auf einen erkennbaren Hinweis zur Verbraucherstreitbeilegung nach VSBG.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

VSBG § 36 Allgemeine Informationspflicht zur Verbraucherstreitbeilegung

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "ecommerce_consumer_dispute_resolution_notice",
    "shop_gate": true
}

ohne_section / ecommerce

Omnibus-30-Tage-Hinweis bei Streichpreisen fehlt

ecommerce.omnibus_strikeout_price_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Rabatt-/Streichpreis-Signale auf einen Hinweis zum niedrigsten Preis der letzten 30 Tage.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PAngV § 11 Zusatzliche Preisangabenpflicht bei Preisermassigungen für Waren

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "ecommerce_omnibus_strikeout_price",
    "shop_gate": true
}

ohne_section / ecommerce

Bestellbutton-Beschriftung unklar

ecommerce.order_button_invalid

executableowner_deepohne check_type
Was macht diese Regel?

Prüft Checkout-Bestellbuttons auf klare zahlungspflichtige Beschriftung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB § 312j Abs. 3 Button-Loesung bei zahlungspflichtigen Verbraucherbestellungen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: page; Severity: critical

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "ecommerce_order_button_solution",
    "shop_gate": true,
    "checkout_gate": true
}

ohne_section / ecommerce

Versandkosten-Hinweis fehlt

ecommerce.shipping_info_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Shop-Seiten auf Versandkosten- oder Lieferkostenhinweise.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PAngV / EGBGB § 6 PAngV; Art. 246a § 1 Abs. 1 Nr. 7 EGBGB Versandkosten und sonstige Zusatzkosten bei Fernabsatzangeboten

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "ecommerce_shipping_hint",
    "shop_gate": true
}

ohne_section / ecommerce

WEEE-/ElektroG-Registrierungsnummer fehlt

ecommerce.weee_reg_nr_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Elektronik-/Geraete-Indikatoren auf einen WEEE-/ElektroG-Registrierungshinweis.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

ElektroG § 6 Abs. 3 Angabe der Registrierungsnummer beim Anbieten von Elektrogeraeten

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "ecommerce_weee_registration",
    "shop_gate": true,
    "electronics_gate": true
}

ohne_section / eeg

EEG-Vergütung & Fördertransparenz

c-17-solar-anlage-förderung-transparenz

executablepublic_aistructured_page
Was macht diese Regel?

Solar-Anlagen-Anbieter werben häufig mit EEG-Einspeisevergütung + KfW-Krediten + steuerlichen Vorteilen. Angaben müssen aktuell, nach- vollziehbar und mit Rechtsstand datiert sein (UWG §5).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_17, rolle:solar_anbieter

  • branche_c_17 - greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt ist
  • rolle:solar_anbieter - greift nur für diese fachliche Rolle: solar anbieter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

EEG §§19 ff. EEG 2023 Vergütungsvoraussetzungen

Risiko: 300,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_17greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:solar_anbietergreift nur für diese fachliche Rolle: solar anbieterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"solar_anbieter"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_17"
        },
        {
            "rolle": "solar_anbieter"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-17-solar-anlage-förderung-transparenz",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Vergütungssätze mit Datum + Link auf BNetzA-Datenbank? Hinweis \"keine\nRechts-/Steuerberatung\"?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_17"
            },
            {
                "rolle": "solar_anbieter"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"EEG-Vergütung Stand [Datum]: [...] ct/kWh (Quelle: BNetzA). Keine Steuer-\nberatung — individuelle Prüfung empfohlen.\"\n"
}

ohne_section / egbgb

Leistungsumfang und Storno-Bedingungen vor Buchung transparent

b-buchung-leistungsumfang-storno-vorab

executableowner_deepstructured_page
Was macht diese Regel?

Nach Art. 246a §1 EGBGB sind dem Verbraucher vor Buchung zu nennen: wesentliche Merkmale der Dienstleistung (Was genau ist gebucht? Dauer, Ort, inkludierte Leistungen), Zahlungs- und Lieferbedingungen (Anzahlung? Vollzahlung?), Storno-/Rücktrittsbedingungen und ggf. Mindestlaufzeit bei Abo-Buchungen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_buchung_zahlungspflichtig

  • hat_buchung_zahlungspflichtig - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtig
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

EGBGB Art. 246a §1 Abs. 1 Nr. 1, 7 Fernabsatz-Informationspflichten

Risiko: 500,00 EUR bis 4.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_buchung_zahlungspflichtiggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: buchung zahlungspflichtigSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_buchung_zahlungspflichtig"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-buchung-leistungsumfang-storno-vorab",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Buchungs-Seite durchklicken: Wird beschrieben, was genau\ninkludiert ist? Wie sind Storno-Bedingungen (kostenfrei bis X\nTage vorher, danach Y %)? Ist die Info vor dem Button sichtbar?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_buchung_zahlungspflichtig"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Vor dem Buchen-Button Block einfügen:\n\"Leistungsumfang: [z. B. 60-Min-Beratung per Video, inkl. schriftl.\nZusammenfassung]\nStornierung: kostenfrei bis 48 h vor Termin, danach 100 % fällig\nZahlung: Online-Zahlung bei Buchung, sofort fällig\nLaufzeit: einmaliger Termin / 6 Monate Abo (siehe Kündigungsbutton)\"\n"
}

ohne_section / email

DKIM-Selector erreichbar

email.dkim_selector

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Standard-Selector auf vorhandene DKIM-Records.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "dns_dkim_selector_lookup",
    "selectors": [
        "default",
        "google",
        "selector1",
        "mail",
        "k1"
    ]
}

ohne_section / email

DMARC-Policy durchsetzend

email.dmarc_policy

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft DMARC auf gueltigen Record und meldet p=none als schwache Policy.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "dns_dmarc_policy_strength",
    "weak_policy": "none"
}

ohne_section / email

MX-Hosts bieten STARTTLS an

email.mx_starttls

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft erreichbare MX-Hosts auf STARTTLS-Unterstuetzung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "mx_starttls_probe",
    "max_hosts": 3,
    "timeout_seconds": 5
}

ohne_section / email

SPF-Record vorhanden und gehaertet

email.spf_record

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft, ob für die Domain ein technischer SPF-Record vorhanden und ohne riskante Mechanismen konfiguriert ist.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "dns_spf_presence_and_syntax",
    "risk_markers": [
        "+all",
        "?all"
    ]
}

ohne_section / entwurf

NIS2-Cyber-Meldefristen 24h/72h/1 Monat

c-20-nis2-meldung-cyber-incident

executablepublic_aistructured_page
Was macht diese Regel?

Nach NIS2-UmsG (Stand 2025: NIS2UmsuCG) müssen wichtige und wichtige+ Einrichtungen Sicherheitsvorfälle innerhalb 24h frühmelden, 72h mit Einschätzung ergänzen und 1 Monat Schlussbericht abgeben (BSI).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_20, unterliegt_nis2:true

  • branche_c_20 - greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt ist
  • unterliegt_nis2:true - greift, wenn "unterliegt nis2" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Entwurf §§31 ff. BSIG (neu) Meldepflichten

Risiko: 10.000,00 EUR bis 100.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_20greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
unterliegt_nis2:truegreift, wenn "unterliegt nis2" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"unterliegt_nis2":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_20"
        },
        {
            "unterliegt_nis2": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-20-nis2-meldung-cyber-incident",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Incident-Response-Plan + BSI-Melde-Template bereit? Trainings-Nachweis?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_20"
            },
            {
                "unterliegt_nis2": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "IT-Security-Berater (KPMG, Deloitte, HiSolutions).",
    "fix_text_vorlage": "CSIRT-Prozess mit Zeitachsen 24/72h/1M + BSI-Portal-Anbindung.\n"
}

ohne_section / envkv + eu-vo 2017/1369

EU-Energielabel EnVKV + VO 2017/1369

c-17-wärmepumpe-eu-label-envkv

executablepublic_aistructured_page
Was macht diese Regel?

Händler/Hersteller energieverbrauchsrelevanter Produkte (Wärmepumpen, Heizungen, Haushaltsgeräte) müssen das EU-Label in Online-Anzeigen einbinden (Art. 6 EU-VO 2017/1369 + EnVKV). Datenblatt-Link + Pfeil- Piktogramm pflicht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_17, rolle:haendler_label_produkt

  • branche_c_17 - greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt ist
  • rolle:haendler_label_produkt - greift nur für diese fachliche Rolle: haendler label produkt
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

EnVKV + EU-VO 2017/1369 §6 EnVKV; Art. 6 VO Online-Kennzeichnung

Risiko: 300,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_17greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:haendler_label_produktgreift nur für diese fachliche Rolle: haendler label produktFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"haendler_label_produkt"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_17"
        },
        {
            "rolle": "haendler_label_produkt"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-17-wärmepumpe-eu-label-envkv",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Produktseite: EU-Label-Piktogramm sichtbar, Datenblatt verlinkt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_und_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_17"
            },
            {
                "rolle": "haendler_label_produkt"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"[Produktbild] + EU-Label A+++ | Datenblatt: [Link].\"\n"
}

ohne_section / eu 2022/2554

DORA: IKT-Drittanbieter-Register (Art. 28)

c-20-dora-ikt-dienstleister-register

executablepublic_aistructured_page
Was macht diese Regel?

Finanzunternehmen führen ein Register aller IKT-Drittanbieter (Cloud, SaaS, Infrastruktur). Pflichtangaben nach ITS (Implementing Technical Standards): Anbieterdaten, Kritikalität, Location, Vertragsdatum etc. Meldung an BaFin/EBA möglich.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_20, ist_finanzunternehmen:true

  • branche_c_20 - greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt ist
  • ist_finanzunternehmen:true - greift, wenn "ist finanzunternehmen" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

EU 2022/2554 Art. 28 IKT-Drittparteirisikomanagement

Risiko: 10.000,00 EUR bis 100.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_20greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
ist_finanzunternehmen:truegreift, wenn "ist finanzunternehmen" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"ist_finanzunternehmen":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_20"
        },
        {
            "ist_finanzunternehmen": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-20-dora-ikt-dienstleister-register",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "ITS-konformes Register vorhanden? Jährliche Meldung an Aufsicht\nvorbereitet?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_20"
            },
            {
                "ist_finanzunternehmen": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "BaFin-Leitfaden + spezialisierte Banken-Audit-Firmen.",
    "fix_text_vorlage": "DORA-Register (CSV/ERP-System) mit Anbieter, Kritikalität, Exit-Plan,\nStandort.\n"
}

ohne_section / eu-Öko-verordnung

Bio-Werbung nur mit Zertifikat + Kontrollstelle (EU-Öko-VO)

c-09-bio-siegel-eu-verordnung-2018-848

executablepublic_aistructured_page
Was macht diese Regel?

"Bio", "öko", "aus biologischem Anbau" sind nach VO (EU) 2018/848 geschützte Begriffe. Werbung nur zulässig bei Zertifizierung durch staatlich anerkannte Kontrollstelle; die Kontrollstellen-Code-Nummer (z.B. "DE-ÖKO-001") muss auf Produkten und in Werbung genannt sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_09, angebot:bio_werbung

  • branche_c_09 - greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt ist
  • angebot:bio_werbung - greift nur, wenn dieses Angebot/Produkt erkannt wurde: bio werbung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

EU-Öko-Verordnung Art. 30, 38 Kennzeichnung / Kontrolle

Risiko: 1.000,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_09greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:bio_werbunggreift nur, wenn dieses Angebot/Produkt erkannt wurde: bio werbungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"bio_werbung"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_09"
        },
        {
            "angebot": "bio_werbung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-09-bio-siegel-eu-verordnung-2018-848",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "\"Bio\"/\"Öko\"-Claims auf Website: Kontrollstellen-Code-Nr. genannt?\nEU-Bio-Siegel abgebildet? Zertifikat-PDF verlinkt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_09"
            },
            {
                "angebot": "bio_werbung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Zertifiziert-Bio-Produkte:\nKontrollstelle: DE-ÖKO-XXX\nEU-Bio-Siegel abgebildet.\nZertifikat: [Link PDF]\"\n"
}

ohne_section / fernunterricht

FernUSG-Zulassungssignal fehlt

training.fernusg_approval_signal_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Fernlehrgangs-/Onlinekurs-Angebote auf sichtbare ZFU- oder Zulassungssignale.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:fernunterricht - greift, wenn das Zusatzmerkmal "scope signal" den Wert "fernunterricht" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Fernunterrichtsschutzgesetz § 12 Zulassung von Fernlehrgaengen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "fernunterricht"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.71,
    "fail_summary": "Fernunterrichts-Scope erkannt, aber kein ZFU-/Zulassungssignal gefunden.",
    "pass_summary": "Fernunterrichts-Scope und ZFU-/Zulassungssignal wurden erkannt.",
    "gate_keywords": [
        "fernlehrgang",
        "fernstudium",
        "fernunterricht",
        "online-lehrgang",
        "online lehrgang",
        "onlinekurs mit betreuung",
        "zertifikatskurs",
        "lehrgang mit lernkontrolle"
    ],
    "legal_basis_refs": [
        "FernUSG § 12"
    ],
    "correction_instruction": "Bei zulassungspflichtigen Fernlehrgaengen ZFU-/Zulassungsinformationen im Angebot sichtbar machen oder den Scope intern klaeren.",
    "not_applicable_summary": "Keine Fernunterrichts-Signale erkannt.",
    "required_signal_groups": [
        {
            "key": "approval_signal",
            "label": "ZFU- oder Zulassungssignal",
            "keywords": [
                "zfu",
                "zulassungsnummer",
                "zfu-zulassung",
                "staatlich zugelassen",
                "zugelassener fernlehrgang",
                "fernlehrgang zugelassen"
            ]
        }
    ]
}

ohne_section / fernusg

Coaching-Fernlehrgang benötigt ZFU-Zulassung (FernUSG)

c-01-coaching-fernusg-warnung

executablepublic_aistructured_page
Was macht diese Regel?

Wenn Coaching als planmäßig strukturierter Lehrgang mit überwiegend räumlicher Trennung (Online-Kurs, Video-Module, Live-Calls als Hauptteil) angeboten wird, greift §12 FernUSG: Zulassung durch Staatliche Zentralstelle für Fernunterricht (ZFU) zwingend. Ohne Zulassung ist der Vertrag nach §7 FernUSG nichtig (BGH III ZR 85/23).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_01, angebot:coaching_lehrgang_strukturiert

  • branche_c_01 - greift, wenn Branche/Cluster branche_c_01 erkannt oder ausgewählt ist
  • angebot:coaching_lehrgang_strukturiert - greift nur, wenn dieses Angebot/Produkt erkannt wurde: coaching lehrgang strukturiert
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

FernUSG §12 Zulassung von Fernlehrgängen

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_01greift, wenn Branche/Cluster branche_c_01 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:coaching_lehrgang_strukturiertgreift nur, wenn dieses Angebot/Produkt erkannt wurde: coaching lehrgang strukturiertFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"coaching_lehrgang_strukturiert"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_01"
        },
        {
            "angebot": "coaching_lehrgang_strukturiert"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-01-coaching-fernusg-warnung",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe: Wird Online-Kurs/Programm mit festem Ablauf, Modulen, Lernzielen\nund Erfolgskontrolle angeboten? Falls ja → FernUSG-Prüfung nötig.\nDetail-Check in Ebene C Cluster 14 (FernUSG).\n",
    "normalization": {
        "fix_type": [
            "partner",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "vertragsnichtigkeit",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_01"
            },
            {
                "angebot": "coaching_lehrgang_strukturiert"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt Wirtschaftsrecht / FernUSG-Spezialisierung",
    "fix_text_vorlage": "ACHTUNG: Wahrscheinliche FernUSG-Pflicht erkannt. Empfehlung:\n1. Rechtsanwalt für Prüfung beauftragen (unsere Partnerkanzlei).\n2. ZFU-Zulassung beantragen ODER Angebot umstrukturieren\n   (individuelles 1:1-Coaching ohne festen Lehrplan).\n"
}

ohne_section / fernusg

Abgrenzung reines Live-Coaching vs. Fernunterricht

c-14-fernusg-abgrenzung-live-coaching

executablepublic_aistructured_page
Was macht diese Regel?

Reines Live-Coaching OHNE strukturierte Lernkontrolle, OHNE Lehrplan, OHNE asynchrone Module fällt NICHT unter FernUSG. Die Grenze ist unscharf (z. B. Gruppen-Masterminds mit Hausaufgaben). Anbieter sollten die Abgrenzung dokumentieren (Juristisches Memo).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_14, rolle:coach

  • branche_c_14 - greift, wenn Branche/Cluster branche_c_14 erkannt oder ausgewählt ist
  • rolle:coach - greift nur für diese fachliche Rolle: coach
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

FernUSG §1 Anwendungsbereich

Risiko: 2.000,00 EUR bis 30.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_14greift, wenn Branche/Cluster branche_c_14 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:coachgreift nur für diese fachliche Rolle: coachFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"coach"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_14"
        },
        {
            "rolle": "coach"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-14-fernusg-abgrenzung-live-coaching",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Wird auf Kurs-Seite ausdrücklich Live-Natur + fehlende Lernkontrolle\ndokumentiert? Memo vom Anwalt vorhanden?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "vertragsnichtigkeit",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_14"
            },
            {
                "rolle": "coach"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Rechtsanwalts-Memo einholen, insb. bei Kursen > 2 Wochen Dauer.",
    "fix_text_vorlage": "\"Dieses Coaching ist ein reines Live-Format ohne strukturierten Lehrplan\nund ohne Lernerfolgskontrolle; FernUSG ist nach Prüfung nicht einschlägig.\"\n"
}

ohne_section / fernusg

14-Tage-Widerruf nach FernUSG §4

c-14-fernusg-widerruf-14-tage-unabhängig

executablepublic_aistructured_page
Was macht diese Regel?

Fernunterrichtsverträge gewähren zwingend ein 14-tägiges Widerrufsrecht (§4 FernUSG), UNABHÄNGIG vom BGB-Fernabsatzwiderruf. Ausschluss durch Dienstleistungsbeginn NICHT möglich.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_14, ist_fernunterricht:true

  • branche_c_14 - greift, wenn Branche/Cluster branche_c_14 erkannt oder ausgewählt ist
  • ist_fernunterricht:true - greift, wenn "ist fernunterricht" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

FernUSG §4 Widerrufsrecht

Risiko: 1.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_14greift, wenn Branche/Cluster branche_c_14 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
ist_fernunterricht:truegreift, wenn "ist fernunterricht" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"ist_fernunterricht":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_14"
        },
        {
            "ist_fernunterricht": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-14-fernusg-widerruf-14-tage-unabhaengig",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Enthält Widerrufsbelehrung ausdrücklichen Bezug auf §4 FernUSG?\nAusschlussklausel \"Vertrag beginnt sofort\" ist unwirksam.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_und_fristverlaengerung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_14"
            },
            {
                "ist_fernunterricht": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Widerrufsrecht nach §4 FernUSG: 14 Tage ab Vertragsschluss. Das Recht\ngilt auch, wenn die Kursleistung bereits begonnen hat.\"\n"
}

ohne_section / fernusg

ZFU-Zulassungsnummer im Angebot

c-14-fernusg-zulassungsnummer-pflicht

executablepublic_aistructured_page
Was macht diese Regel?

§9 FernUSG schreibt vor, dass die Zulassungsnummer der ZFU bei jedem Angebot und in Werbung mitgeteilt wird. Fehlt sie, ist der Vertrag anfechtbar und das Angebot irreführend (UWG).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_14, ist_fernunterricht:true

  • branche_c_14 - greift, wenn Branche/Cluster branche_c_14 erkannt oder ausgewählt ist
  • ist_fernunterricht:true - greift, wenn "ist fernunterricht" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

FernUSG §9 Werbung und Angebote

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_14greift, wenn Branche/Cluster branche_c_14 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
ist_fernunterricht:truegreift, wenn "ist fernunterricht" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"ist_fernunterricht":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_14"
        },
        {
            "ist_fernunterricht": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-14-fernusg-zulassungsnummer-pflicht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Landingpage + Checkout: Zulassungsnummer sichtbar?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_14"
            },
            {
                "ist_fernunterricht": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"ZFU-Zulassung Nr. 1234567, erteilt durch Staatliche Zentralstelle für\nFernunterricht, Köln.\"\n"
}

ohne_section / fernusg

ZFU-Zulassungspflicht Fernlehrgang

c-14-fernusg-zulassungspflicht-zfu

executablepublic_aistructured_page
Was macht diese Regel?

Strukturierte Online-Kurse mit Lernkontrolle, Dauer ≥ 2 Wochen, Entgelt und räumlicher Trennung sind Fernunterricht im Sinne des FernUSG und bedürfen einer Zulassung durch die ZFU (§12 FernUSG). OHNE Zulassung sind die Verträge nach §7 FernUSG nichtig — volle Rückzahlungspflicht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_14, strukturierter_lernpfad:true, lernkontrolle:true
Darf nicht zutreffen: ist_live_only:true

  • branche_c_14 - greift, wenn Branche/Cluster branche_c_14 erkannt oder ausgewählt ist
  • strukturierter_lernpfad:true - greift, wenn "strukturierter lernpfad" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
  • lernkontrolle:true - greift, wenn "lernkontrolle" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
  • ist_live_only:true - greift, wenn "ist live only" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

FernUSG §12 Zulassungspflicht

Risiko: 5.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_14greift, wenn Branche/Cluster branche_c_14 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
strukturierter_lernpfad:truegreift, wenn "strukturierter lernpfad" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
lernkontrolle:truegreift, wenn "lernkontrolle" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.

NICHT Wenn eine dieser Bedingungen zutrifft, darf die Regel nicht laufen.

BegriffWas er bedeutetWofür er da ist
ist_live_only:truegreift, wenn "ist live only" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"strukturierter_lernpfad":true} | alle: {"lernkontrolle":true} | nicht: {"ist_live_only":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_14"
        },
        {
            "strukturierter_lernpfad": true
        },
        {
            "lernkontrolle": true
        }
    ],
    "oder": [],
    "nicht": [
        {
            "ist_live_only": true
        }
    ]
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-14-fernusg-zulassungspflicht-zfu",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Liegt Kurs vor mit: Lehrplan, Lernkontrolle (Prüfung, Feedback,\nHausaufgaben), ≥2 Wochen Dauer, räumlich getrennt? Dann ZFU nötig.\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "vertragsnichtigkeit_und_rueckforderung",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_14"
            },
            {
                "strukturierter_lernpfad": true
            },
            {
                "lernkontrolle": true
            }
        ],
        "oder": [],
        "nicht": [
            {
                "ist_live_only": true
            }
        ]
    },
    "partner_hinweis": "ZFU-Beratung durch spezialisierte Kanzleien (z. B. WKS, Schulte) oder Agenturen wie Digistore24-Legal.",
    "fix_text_vorlage": "Schritt 1: Kurs-Audit; Schritt 2: ZFU-Zulassung beantragen (8–12 Wochen);\nSchritt 3: Zulassungsnummer auf Landingpage.\n"
}

ohne_section / fernusg i. v. m. rechtsprechung

FernUSG-Anwendbarkeit B2B (BGH III ZR 85/23)

c-14-b2b-fernusg-anwendbarkeit

executablepublic_aistructured_page
Was macht diese Regel?

Der BGH hat 2023/2024 mit III ZR 85/23 klargestellt, dass FernUSG auch bei B2B-Kunden anwendbar sein KANN, wenn die gesetzlichen Tatbestands- merkmale erfüllt sind. Eine pauschale "Nur-B2B"-Klausel schützt nicht. Status der Rechtsprechung: im Fluss, regelmäßig zu prüfen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_14, ist_fernunterricht:true, b2b_anteil:true

  • branche_c_14 - greift, wenn Branche/Cluster branche_c_14 erkannt oder ausgewählt ist
  • ist_fernunterricht:true - greift, wenn "ist fernunterricht" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
  • b2b_anteil:true - greift, wenn "b2b anteil" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

FernUSG i. V. m. Rechtsprechung §1 FernUSG Anwendungsbereich

Risiko: 5.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_14greift, wenn Branche/Cluster branche_c_14 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
ist_fernunterricht:truegreift, wenn "ist fernunterricht" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
b2b_anteil:truegreift, wenn "b2b anteil" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"ist_fernunterricht":true} | alle: {"b2b_anteil":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_14"
        },
        {
            "ist_fernunterricht": true
        },
        {
            "b2b_anteil": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-14-b2b-fernusg-anwendbarkeit",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Werden B2B-Kunden-Gruppen mit strukturierten Lernpfaden angeboten?\nDann Risiko-Check durch Anwalt.\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "vertragsnichtigkeit",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_14"
            },
            {
                "ist_fernunterricht": true
            },
            {
                "b2b_anteil": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Anwaltliche Einschätzung dringend empfohlen (Stand 2024/2025 BGH-Auslegung).",
    "fix_text_vorlage": "\"Auch B2B-Kurse werden ZFU-zertifiziert, um die FernUSG-Risiken gemäß\nBGH III ZR 85/23 abzudecken.\"\n"
}

ohne_section / finvermv

FinVermV-Offenlegung (Kosten, Risiko, Interessenkonflikte)

c-06-finvermv-offenlegung

executablepublic_aistructured_page
Was macht diese Regel?

Nach §§11–18 FinVermV müssen Finanzanlagenvermittler vorvertraglich über Kosten, Risiken und Interessenkonflikte (Provisionen von Produktanbietern) aufklären. Auf der Website: Kurzbeschreibung der Offenlegungspflichten + Dokumentationspflicht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_06, beruf:finanzanlagenvermittler_34f

  • branche_c_06 - greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt ist
  • beruf:finanzanlagenvermittler_34f - greift nur für diesen reglementierten Beruf: finanzanlagenvermittler 34f
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

FinVermV §§11–18 Wohlverhaltens- und Offenlegungspflichten

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_06greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
beruf:finanzanlagenvermittler_34fgreift nur für diesen reglementierten Beruf: finanzanlagenvermittler 34fFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"beruf":"finanzanlagenvermittler_34f"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_06"
        },
        {
            "beruf": "finanzanlagenvermittler_34f"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-06-finvermv-offenlegung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Transparenzseite vorhanden? Offenlegung Provisionen/Konflikte?\nProtokoll/Dokumentation erwähnt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_06"
            },
            {
                "beruf": "finanzanlagenvermittler_34f"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Wohlverhalten und Offenlegung (§§11 ff. FinVermV):\nWir beraten abhängig / unabhängig [zutreffendes wählen]. Vergütung\nerfolgt durch Provisionen von Produktanbietern / Honorar. Vor jeder\nVermittlung erhalten Sie ein Geeignetheits-/Angemessenheitsprotokoll.\nInteressenkonflikte (z.B. Konzernzugehörigkeit) werden offengelegt.\"\n"
}

ohne_section / fonts

Externe Font-Quellen erkannt

assets.external_font_sources

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen technischen Risikohinweis bei extern eingebundenen Font-Quellen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 6, Art. 13, ggf. Art. 44 Rechtsgrundlage, Informationspflicht und Drittlandtransfer bei externen Ressourcen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "module": {
        "key": "deep.media_rights"
    },
    "signals": [
        "html_asset_links",
        "css_url_refs",
        "font_provider_hosts"
    ],
    "strategy": "external_font_asset_detection"
}

ohne_section / forms

Formulare erkannt

forms.detected

executablepublic_autoohne check_type
Was macht diese Regel?

Erkennt Kontakt- oder Eingabeformulare auf Seitenebene.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Niedriges Risiko, Hinweis oder Feinschliff.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Informationspflichten bei Erhebung personenbezogener Daten

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: low

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "signals": [
        "html_form_tag",
        "contact_context",
        "input_fields"
    ],
    "strategy": "form_detection"
}

ohne_section / forms

Datenschutzhinweis bei Formularen

forms.privacy_hint_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert Formularseiten ohne erkennbare Datenschutzhinweise oder Einwilligungs-Hinweise.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 13 Informationspflichten bei Erhebung personenbezogener Daten

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "form_privacy_hint_detection",
    "privacy_signals": [
        "privacy_keyword",
        "consent_wording",
        "checkbox_marker"
    ],
    "requires_form_detection": true
}

ohne_section / geg

Energieausweis-Pflicht in Immobilienanzeigen

c-13-immobilien-energieausweis-enev

executablepublic_aistructured_page
Was macht diese Regel?

Bei Verkauf/Vermietung muss in Immobilienanzeigen die Energieeffizienz- klasse, Energieträger, Baujahr, Endenergiebedarf/-verbrauch angegeben werden (§87 Abs. 1 GEG). Verstöße = Bußgeld bis 15.000 € + UWG-Abmahnung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_13, hat_immobilienanzeige:true

  • branche_c_13 - greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt ist
  • hat_immobilienanzeige:true - greift, wenn "hat immobilienanzeige" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

GEG §87 Pflichtangaben in Immobilienanzeigen

Risiko: 500,00 EUR bis 15.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_13greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
hat_immobilienanzeige:truegreift, wenn "hat immobilienanzeige" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"hat_immobilienanzeige":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_13"
        },
        {
            "hat_immobilienanzeige": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-13-immobilien-energieausweis-enev",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "In Anzeigen: Energieklasse, -bedarf/-verbrauch, Baujahr, Energieträger?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld_und_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_13"
            },
            {
                "hat_immobilienanzeige": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Energiebedarfsausweis, Klasse C, 120 kWh/m²a, Gas-Zentralheizung,\nBaujahr 1995.\"\n"
}

ohne_section / geg

Energieausweis bei Immobilien/Anlagen-Werbung

c-17-energieausweis-geg-pflicht

executablepublic_aistructured_page
Was macht diese Regel?

Energieeffizienzklasse, Energiebedarf und Energieträger sind bei Werbung und Angeboten, die Immobilien oder große Anlagen bewerben, anzugeben (§80-87 GEG). Gilt bei Verkauf + Vermietung + Leasing.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_17, bewirbt_gebaeudeleistung:true

  • branche_c_17 - greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt ist
  • bewirbt_gebaeudeleistung:true - greift, wenn "bewirbt gebaeudeleistung" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

GEG §§80–87 Energieausweis und Pflichtangaben

Risiko: 500,00 EUR bis 15.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_17greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
bewirbt_gebaeudeleistung:truegreift, wenn "bewirbt gebaeudeleistung" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"bewirbt_gebaeudeleistung":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_17"
        },
        {
            "bewirbt_gebaeudeleistung": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-17-energieausweis-geg-pflicht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Werbeseiten: Klasse, Baujahr, Energieträger, kWh/m²a angegeben?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld_und_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_17"
            },
            {
                "bewirbt_gebaeudeleistung": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Energiebedarfsausweis: Klasse B, 85 kWh/m²a, Wärmepumpe, Baujahr 2019.\"\n"
}

ohne_section / gewerbeordnung (gewo) / versvermv

Berufshaftpflicht Vermittler (§34d Abs. 5 GewO)

c-06-berufshaftpflicht-vermittler

executablepublic_aistructured_page
Was macht diese Regel?

§34d Abs. 5 GewO verlangt Berufshaftpflicht mit Mindestsumme 1.300.380 € pro Versicherungsfall und 1.924.560 € pro Jahr (EU-VersVertrRL-Umrechnung). Nachweis im Impressum.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_06

  • branche_c_06 - greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Gewerbeordnung (GewO) / VersVermV §34d Abs. 5 GewO; §9 VersVermV Berufshaftpflicht

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_06greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_06"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-06-berufshaftpflicht-vermittler",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Haftpflichtversicherer + räumlicher Geltungsbereich genannt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_06"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Berufshaftpflichtversicherung (§34d Abs. 5 GewO):\n[Versicherer], [Adresse]\nVersicherungssumme: mind. 1.300.380 € je Versicherungsfall /\n1.924.560 € jährlich\nRäumlicher Geltungsbereich: EU + EWR\"\n"
}

ohne_section / gewo

Vermittlerregister-Eintrag (§11a GewO) + Registernummer

c-06-34d-gewo-eintragung-vermittler-register

executablepublic_aistructured_page
Was macht diese Regel?

Versicherungsvermittler (§34d), Versicherungsberater (§34e), Finanzanlagenvermittler (§34f), Honorar-Anlagenberater (§34h), Immobiliardarlehensvermittler (§34i) müssen im Vermittlerregister unter www.vermittlerregister.info eingetragen sein. Registrierungs- nummer, Registerführer (DIHK) und Erlaubnisart sind im Impressum vorvertraglich zu nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_06

  • branche_c_06 - greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

GewO §§34d–i, §11a Erlaubnis / Vermittlerregister

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_06greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_06"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-06-34d-gewo-eintragung-vermittler-register",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum + Beratungsseiten: Erlaubnisart (§34d/f/h/i) + Registernummer +\nLink www.vermittlerregister.info vorhanden?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_06"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Erlaubnis nach §34[d/f/h/i] Abs. [X] GewO\nRegistrierungsnummer: D-XXX-XXXXXXX-XX\nRegisterführer: DIHK — Deutscher Industrie- und Handelskammertag e. V.,\nBreite Straße 29, 10178 Berlin, www.vermittlerregister.info\nEintrag prüfbar unter: https://www.vermittlerregister.info\"\n"
}

ohne_section / gewo

Finanzanlagenvermittler §34f GewO — Erlaubnis + Eintragung

c-06-34f-gewo-finanzanlagenvermittler

executablepublic_aistructured_page
Was macht diese Regel?

§34f GewO unterscheidet drei Kategorien (Nr. 1 offene Invest-Fonds, Nr. 2 geschlossene Fonds, Nr. 3 Vermögensanlagen). Die konkrete Erlaubnis ist im Impressum und vor Beratung offenzulegen. Wechsel zur BaFin-Aufsicht für bestimmte Produkte (FinVermV-Novelle) ist zu beachten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_06, beruf:finanzanlagenvermittler_34f

  • branche_c_06 - greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt ist
  • beruf:finanzanlagenvermittler_34f - greift nur für diesen reglementierten Beruf: finanzanlagenvermittler 34f
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

GewO §34f Finanzanlagenvermittler

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_06greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
beruf:finanzanlagenvermittler_34fgreift nur für diesen reglementierten Beruf: finanzanlagenvermittler 34fFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"beruf":"finanzanlagenvermittler_34f"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_06"
        },
        {
            "beruf": "finanzanlagenvermittler_34f"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-06-34f-gewo-finanzanlagenvermittler",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Erlaubnis-Kategorie (1/2/3) konkret genannt? Reichweite transparent?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_06"
            },
            {
                "beruf": "finanzanlagenvermittler_34f"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Erlaubnis nach §34f Abs. 1 S. 1 Nr. [1/2/3] GewO\n(erteilt durch IHK [Stadt] am [Datum])\"\n"
}

ohne_section / gewo

§34c GewO-Erlaubnis im Impressum

c-13-34c-gewo-erlaubnis-makler

executablepublic_aistructured_page
Was macht diese Regel?

Makler, Bauträger, Baubetreuer und Verwalter brauchen eine Erlaubnis nach §34c GewO. Die Behörde + Erlaubnisnummer sind im Impressum gemäß DL-InfoV §2 auszuweisen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_13, rolle:makler_bautraeger_verwalter

  • branche_c_13 - greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt ist
  • rolle:makler_bautraeger_verwalter - greift nur für diese fachliche Rolle: makler bautraeger verwalter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

GewO §34c Immobilienmakler, Darlehensvermittler, Bauträger, Baubetreuer, Wohnimmobilienverwalter

Risiko: 500,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_13greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:makler_bautraeger_verwaltergreift nur für diese fachliche Rolle: makler bautraeger verwalterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"makler_bautraeger_verwalter"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_13"
        },
        {
            "rolle": "makler_bautraeger_verwalter"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-13-34c-gewo-erlaubnis-makler",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Ist die Erlaubnisnummer + Behörde (meist IHK) aufgeführt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_und_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_13"
            },
            {
                "rolle": "makler_bautraeger_verwalter"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Erlaubnis nach §34c GewO, erteilt durch IHK [...], Aktenzeichen [...].\"\n"
}

ohne_section / glüstv

GlüStV-Erlaubnis GGL im Impressum

c-18-glüstv-lizenz-deutsches-gliw

executablepublic_aistructured_page
Was macht diese Regel?

Online-Glücksspiel (Sportwetten, virt. Automaten, Online-Poker) bedarf seit 01.07.2021 einer GGL-Erlaubnis (§4 GlüStV 2021). Lizenznummer + Behörde (Gemeinsame Glücksspielbehörde der Länder, Halle/Saale) auf Website sichtbar.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_18, rolle:gluecksspielanbieter

  • branche_c_18 - greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt ist
  • rolle:gluecksspielanbieter - greift nur für diese fachliche Rolle: gluecksspielanbieter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

GlüStV §4 Allgemeine Erlaubnispflicht

Risiko: 5.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_18greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:gluecksspielanbietergreift nur für diese fachliche Rolle: gluecksspielanbieterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"gluecksspielanbieter"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_18"
        },
        {
            "rolle": "gluecksspielanbieter"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-18-glüstv-lizenz-deutsches-gliw",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum/Footer: GGL-Lizenznummer, Gültigkeitsdatum, Link zur GGL?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld_und_strafbarkeit",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_18"
            },
            {
                "rolle": "gluecksspielanbieter"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Anwalts-Netzwerk für GGL-Lizenzantrag (ca. 12 Monate Dauer).",
    "fix_text_vorlage": "\"Erlaubnis nach §4 GlüStV 2021: [Nummer], erteilt durch GGL, Halle (Saale);\ngültig bis [Datum].\"\n"
}

ohne_section / glüstv + stgb

Affiliate-Links zu unlizenziertem Glücksspiel verboten

c-18-affiliate-glüspiel-verbot

executablepublic_aistructured_page
Was macht diese Regel?

Affiliate-Marketing für unlizenziertes Glücksspiel ist nach §4 Abs. 1 Nr. 2 GlüStV verboten und als Beihilfe zu §284 StGB strafbar. Affiliates müssen GGL-Lizenz des beworbenen Anbieters prüfen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_18, rolle:affiliate_gluecksspiel

  • branche_c_18 - greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt ist
  • rolle:affiliate_gluecksspiel - greift nur für diese fachliche Rolle: affiliate gluecksspiel
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

GlüStV + StGB §4 Abs. 1 Nr. 2 GlüStV; §284 StGB Werbung für unerlaubtes Glücksspiel

Risiko: 5.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_18greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:affiliate_gluecksspielgreift nur für diese fachliche Rolle: affiliate gluecksspielFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"affiliate_gluecksspiel"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_18"
        },
        {
            "rolle": "affiliate_gluecksspiel"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-18-affiliate-glüspiel-verbot",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Affiliate-Partner mit GGL-Lizenz? Whitelist-Prüfung?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "strafbarkeit",
            "strafe_strafrecht"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_18"
            },
            {
                "rolle": "affiliate_gluecksspiel"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Wir bewerben ausschließlich Glücksspielanbieter mit GGL-Lizenz; Liste:\n[Link].\"\n"
}

ohne_section / gwg

§10 GwG — Identifizierungspflicht + Hinweis in DSE

c-06-gwg-identifizierung

executablepublic_aistructured_page
Was macht diese Regel?

Vermittler nach §34d/f/h/i und Finanzinstitute sind nach §2 GwG Verpflichtete und müssen Kunden identifizieren (§10 GwG). In der DSE ist dieser Zweck + Rechtsgrundlage (Art. 6 Abs. 1 lit. c DSGVO + §10 GwG) + Aufbewahrungspflicht (5 Jahre, §8 GwG) transparent zu machen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_06

  • branche_c_06 - greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

GwG §10 Allgemeine Sorgfaltspflichten (KYC)

Risiko: 5.000,00 EUR bis 100.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_06greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_06"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-06-gwg-identifizierung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DSE: GwG-Zweck genannt? Rechtsgrundlage Art. 6 Abs. 1 lit. c + §10 GwG?\nAufbewahrung 5 Jahre benannt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_06"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "DSB Finanzbranche",
    "fix_text_vorlage": "\"Identifizierung nach Geldwäschegesetz:\nZweck: Kundenidentifizierung gem. §10 GwG (KYC)\nRechtsgrundlage: Art. 6 Abs. 1 lit. c DSGVO i.V.m. §10 GwG\nAufbewahrungsfrist: 5 Jahre nach Ende Geschäftsbeziehung (§8 GwG)\nEmpfänger bei Verdacht: Financial Intelligence Unit (FIU, Zoll)\"\n"
}

ohne_section / gwg

Transparenzregister-Meldung §20 GwG

c-19-transparenzregister-gwg-20

executablepublic_aistructured_page
Was macht diese Regel?

Seit 01.08.2021 müssen ALLE eingetragenen Vereine (auch e.V.) aktive Meldungen ans Transparenzregister machen (§20 GwG); die alte Mitteilungs- fiktion wurde abgeschafft. Ausnahme nur für rein tatsächliche Regelfälle (§20a GwG, Übergangsregelungen).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_19, rolle:verein_oder_stiftung

  • branche_c_19 - greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt ist
  • rolle:verein_oder_stiftung - greift nur für diese fachliche Rolle: verein oder stiftung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

GwG §20 Mitteilungspflicht an Transparenzregister

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_19greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:verein_oder_stiftunggreift nur für diese fachliche Rolle: verein oder stiftungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"verein_oder_stiftung"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_19"
        },
        {
            "rolle": "verein_oder_stiftung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-19-transparenzregister-gwg-20",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Wurde Meldung erstellt (wirtschaftlich Berechtigte, ggf. fiktiv = Vorstand)?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_19"
            },
            {
                "rolle": "verein_oder_stiftung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Steuerberater oder Rechtsanwalt für Erstmeldung.",
    "fix_text_vorlage": "Interner Prozess: jährlicher Abgleich + Meldung über\nhttps://www.transparenzregister.de\n"
}

ohne_section / gükg

GüKG-Erlaubnis ab 3,5 t Nutzlast

c-12-guekg-erlaubnis-gueterverkehr

executablepublic_aistructured_page
Was macht diese Regel?

Gewerblicher Güterkraftverkehr mit Fahrzeugen > 3,5 t Gesamtmasse bedarf einer Erlaubnis (§3 GüKG) oder EU-Lizenz. Der Unternehmer muss die Erlaubnisnummer und die zuständige Behörde (BAG, IHK) offen ausweisen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_12, rolle:gueterverkehr, über_3_5_t:true

  • branche_c_12 - greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt ist
  • rolle:gueterverkehr - greift nur für diese fachliche Rolle: gueterverkehr
  • ueber_3_5_t:true - greift, wenn "über 3 5 t" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

GüKG §3 Erlaubnis- und Lizenzpflicht

Risiko: 500,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_12greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:gueterverkehrgreift nur für diese fachliche Rolle: gueterverkehrFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
ueber_3_5_t:truegreift, wenn "über 3 5 t" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"gueterverkehr"} | alle: {"ueber_3_5_t":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_12"
        },
        {
            "rolle": "gueterverkehr"
        },
        {
            "ueber_3_5_t": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-12-guekg-erlaubnis-gueterverkehr",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum: \"Erlaubnis nach §3 GüKG / EU-Gemeinschaftslizenz, Nr. ...,\nerteilt durch BAG Köln.\"\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_12"
            },
            {
                "rolle": "gueterverkehr"
            },
            {
                "ueber_3_5_t": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Block \"Aufsichtsbehörde / Erlaubnis\" mit Nummer + Gültigkeitsdauer.\n"
}

ohne_section / handwerksordnung (hwo) i. v. m. ddg

Meister-Nachweis / Betriebsleiter im Impressum

c-02-meister-nennung

executablepublic_aistructured_page
Was macht diese Regel?

Bei zulassungspflichtigen Handwerken muss der Betrieb einen Meister als Betriebsleiter haben (§7 HwO). Der Name des verantwortlichen Meisters (oder die Ausnahmebewilligung) ist als "berufsrechtliche Regelung" i.S.d. §5 Abs. 1 Nr. 6 DDG im Impressum zu nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_02

  • branche_c_02 - greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Handwerksordnung (HwO) i. V. m. DDG §7 HwO; §5 Abs. 1 Nr. 6 DDG Meistervoraussetzung / Berufsrechtliche Regelung

Risiko: 500,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_02greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_02"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-02-meister-nennung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe Impressum: Wird ein Meister/Betriebsleiter namentlich genannt?\nBei Ausnahmebewilligung (§8 HwO) wird diese erwähnt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_02"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Ergänze im Impressum unter \"Berufsrechtliche Regelung\":\n\"Betriebsleiter/Meister: [Vorname Nachname], [Meistertitel]\nBerufsbezeichnung: [z.B. Installateur- und Heizungsbauermeister]\n(verliehen in Deutschland)\nAnwendbare berufsrechtliche Regelungen: Handwerksordnung (HwO),\neinsehbar unter: https://www.gesetze-im-internet.de/hwo/\"\n"
}

ohne_section / health-claims-vo

Health-Claims nach VO (EG) 1924/2006 — nur mit EFSA-Zulassung

c-09-gesundheits-nach-claimverordnung

executablepublic_aistructured_page
Was macht diese Regel?

Gesundheitsbezogene Angaben ("stärkt Immunsystem", "fördert Verdauung", "hilft bei Müdigkeit") sind nur zulässig, wenn sie im EU-Register der Health-Claims (EFSA) zugelassen sind und der Wortlaut eingehalten wird. Irreführend = §11 LFGB + Abmahnung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_09, angebot:lebensmittel_mit_claims

  • branche_c_09 - greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt ist
  • angebot:lebensmittel_mit_claims - greift nur, wenn dieses Angebot/Produkt erkannt wurde: lebensmittel mit claims
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Health-Claims-VO Art. 10, 13, 14 Zugelassene Angaben

Risiko: 1.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_09greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:lebensmittel_mit_claimsgreift nur, wenn dieses Angebot/Produkt erkannt wurde: lebensmittel mit claimsFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"lebensmittel_mit_claims"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_09"
        },
        {
            "angebot": "lebensmittel_mit_claims"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-09-gesundheits-nach-claimverordnung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Website auf gesundheitsbezogene Aussagen prüfen — EU-Register-Match?\nWortlaut exakt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_09"
            },
            {
                "angebot": "lebensmittel_mit_claims"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt Lebensmittelrecht",
    "fix_text_vorlage": "Nur zugelassene Claims verwenden. EU-Register einsehbar unter:\nhttps://ec.europa.eu/food/food-feed-portal/screen/health-claims\nUnzulässige Claims streichen oder durch zugelassene Synonyme\nersetzen (z.B. \"Vitamin C trägt zu einer normalen Funktion des\nImmunsystems bei\").\n"
}

ohne_section / health_claims

Health-Claims-Autorisierungssignale fehlen

product.health_claims_authorisation_signal_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Lebensmittel- und Nahrungsergaenzungsangebote mit Health Claims auf Autorisierungs- und Pflichtkontextsignale.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:health_claims - greift, wenn das Zusatzmerkmal "scope signal" den Wert "health claims" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Regulation (EC) No 1924/2006 - Health Claims Regulation Art. 10 Specific conditions for health claims

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "health_claims"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.72,
    "fail_summary": "Health-Claim-Scope erkannt, aber Autorisierungs- oder Pflichtkontextsignale fehlen.",
    "pass_summary": "Health-Claim-Scope sowie Autorisierungs- und Pflichtkontextsignale wurden erkannt.",
    "gate_keywords": [
        "nahrungsergaenzung",
        "nahrungsergänzung",
        "supplement",
        "vitamin",
        "mineralstoff",
        "gesundheit",
        "health claim",
        "immunsystem",
        "immune system",
        "verdauung",
        "darmflora",
        "cholesterin",
        "unterstuetzt",
        "unterstützt",
        "traegt bei",
        "trägt bei"
    ],
    "legal_basis_refs": [
        "Health Claims Regulation Art. 10"
    ],
    "correction_instruction": "Health Claims nur mit zugelassener Angabe, passendem Produktkontext und Pflichtinformationen wie Ernaehrungs-/Lebensstilhinweis sowie Verzehrmenge verwenden.",
    "not_applicable_summary": "Keine Lebensmittel- oder Nahrungsergaenzungs-Health-Claim-Signale erkannt.",
    "required_signal_groups": [
        {
            "key": "authorised_claim_reference",
            "label": "Zugelassene Health-Claim-Referenz",
            "keywords": [
                "zugelassene gesundheitsangabe",
                "zugelassener health claim",
                "authorised health claim",
                "authorized health claim",
                "eu register",
                "verordnung (eu) nr. 432/2012",
                "432/2012",
                "claim zugelassen"
            ]
        },
        {
            "key": "mandatory_health_claim_context",
            "label": "Pflichtkontext zu Ernaehrung und Verwendung",
            "keywords": [
                "abwechslungsreiche und ausgewogene ernaehrung",
                "ausgewogene ernaehrung",
                "gesunder lebensstil",
                "verzehrmenge",
                "verzehrempfehlung",
                "taegliche verzehrmenge",
                "daily intake"
            ]
        }
    ]
}

ohne_section / heilmittelwerbung

HWG-Irrefuehrungskontext fehlt

health.hwg_misleading_advertising_signal_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Gesundheits-, Behandlungs- oder Heilmittelwerbung auf fehlende Evidenz-, Qualifikations- oder Risikokontextsignale.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:heilmittelwerbung - greift, wenn das Zusatzmerkmal "scope signal" den Wert "heilmittelwerbung" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Heilmittelwerbegesetz § 3 Irrefuehrende Werbung

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "heilmittelwerbung"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.69,
    "fail_summary": "Gesundheitswerbe-Scope erkannt, aber kein belastbarer Evidenz-, Zulassungs- oder Risikokontext gefunden.",
    "pass_summary": "Gesundheitswerbe-Scope und Evidenz-/Kontextsignale wurden erkannt.",
    "gate_keywords": [
        "heilt",
        "heilung",
        "therapie",
        "behandlung",
        "schmerzfrei",
        "wirkung garantiert",
        "garantierte wirkung",
        "keine nebenwirkungen",
        "arzneimittel",
        "medizinprodukt",
        "diagnose",
        "krankheit"
    ],
    "legal_basis_refs": [
        "HWG § 3"
    ],
    "correction_instruction": "Therapie-, Heilungs- oder Wirkungsaussagen sachlich einordnen, belegbar machen und Risiken, Zulassung oder Zweckbestimmung sichtbar ergaenzen.",
    "not_applicable_summary": "Keine relevanten Gesundheitswerbe-Signale fuer HWG § 3 erkannt.",
    "required_signal_groups": [
        {
            "key": "evidence_or_risk_context",
            "label": "Evidenz-, Zulassungs- oder Risikokontext",
            "keywords": [
                "klinische studie",
                "studienlage",
                "zugelassen",
                "zulassung",
                "ce-kennzeichnung",
                "zweckbestimmung",
                "fachliche einordnung",
                "risiken",
                "gegenanzeigen",
                "nicht bei jedem"
            ]
        }
    ]
}

ohne_section / heilmittelwerbung

HWG-Publikumswerbung-Prüfkontext fehlt

health.hwg_public_advertising_restriction_signal_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Publikumswerbung in Gesundheitskontexten auf riskante Empfehlungs-, Krankengeschichten-, Vorher-Nachher- oder Muster-Signale ohne Prüfkontext.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:heilmittelwerbung - greift, wenn das Zusatzmerkmal "scope signal" den Wert "heilmittelwerbung" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Heilmittelwerbegesetz § 11 Werbung ausserhalb der Fachkreise

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "heilmittelwerbung"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.66,
    "fail_summary": "Riskante HWG-Publikumswerbe-Signale erkannt, aber kein Pruef- oder Einordnungskontext gefunden.",
    "pass_summary": "Riskanter Publikumswerbe-Scope und Pruefkontextsignale wurden erkannt.",
    "gate_keywords": [
        "vorher nachher",
        "before after",
        "patientenbericht",
        "krankengeschichte",
        "arzt empfiehlt",
        "aerzte empfehlen",
        "wissenschaftler empfehlen",
        "erfahrungsbericht",
        "testimonial",
        "dankesschreiben",
        "gratisprobe",
        "kostenlose probe",
        "gewinnspiel"
    ],
    "legal_basis_refs": [
        "HWG § 11"
    ],
    "correction_instruction": "Riskante Publikumswerbung entfernen, auf Fachkreis-Kontext begrenzen oder mit belastbarer medizinischer und rechtlicher Einordnung pruefen.",
    "not_applicable_summary": "Keine relevanten Publikumswerbe-Signale fuer HWG § 11 erkannt.",
    "required_signal_groups": [
        {
            "key": "public_advertising_review_context",
            "label": "Publikumswerbe-Pruefkontext",
            "keywords": [
                "fachkreis",
                "fachkreise",
                "nur fuer fachpersonal",
                "publikumswerbung geprueft",
                "kein heilversprechen",
                "medizinische einordnung",
                "rechtliche pruefung"
            ]
        }
    ]
}

ohne_section / heilprg

Heilpraktiker: §1 HeilprG Erlaubnis + Abgrenzung zu Arzt

c-05-heilpraktiker-abgrenzung

executablepublic_aistructured_page
Was macht diese Regel?

Die Ausübung der Heilkunde ohne ärztliche Approbation ist nach §1 HeilprG nur mit Heilpraktiker-Erlaubnis zulässig. Werbung muss deutlich machen: KEIN Arzt. Keine ärztlichen Leistungen anbieten (Verschreibungen, OP, Impfungen). Überprüfungserlaubnis durch Gesundheitsamt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_05, beruf:heilpraktiker

  • branche_c_05 - greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt ist
  • beruf:heilpraktiker - greift nur für diesen reglementierten Beruf: heilpraktiker
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

HeilprG §1 Heilkunde-Ausübung

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_05greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
beruf:heilpraktikergreift nur für diesen reglementierten Beruf: heilpraktikerFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"beruf":"heilpraktiker"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_05"
        },
        {
            "beruf": "heilpraktiker"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-05-heilpraktiker-abgrenzung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum: Heilpraktiker-Erlaubnis + ausstellendes Gesundheitsamt genannt?\nKlare Abgrenzung zu ärztlichen Leistungen auf Leistungsseiten?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_strafbarkeit",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_05"
            },
            {
                "beruf": "heilpraktiker"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Berufsbezeichnung: Heilpraktiker/in (Erlaubnis nach §1 HeilprG)\nAusstellende Behörde: Gesundheitsamt [Stadt], [Datum]\nHinweis: Ich bin kein Arzt/keine Ärztin. Diagnosen/Verschreibungen\nerfolgen nicht. Bei akuten Erkrankungen konsultieren Sie einen Arzt.\"\n"
}

ohne_section / hgb

AGB-Klauseln Frachtvertrag nach §407 ff. HGB

c-12-hgb-frachtvertrag-agb

executablepublic_aistructured_page
Was macht diese Regel?

Haftung im Frachtvertrag ist auf 8,33 SZR/kg (§431 HGB) begrenzt; diese Begrenzung greift jedoch nur, wenn die AGB wirksam einbezogen und für B2C zusätzlich gesondert transparent vereinbart sind.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_12, hat_agb:true

  • branche_c_12 - greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt ist
  • hat_agb:true - greift, wenn "hat agb" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

HGB §431 Haftungshöchstbetrag

Risiko: 300,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_12greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
hat_agb:truegreift, wenn "hat agb" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"hat_agb":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_12"
        },
        {
            "hat_agb": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-12-hgb-frachtvertrag-agb",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "AGB § Haftung: Verweis auf §431 HGB korrekt + b2c-tauglich formuliert?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_12"
            },
            {
                "hat_agb": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Die Haftung des Frachtführers bestimmt sich nach §§425 ff. HGB;\nHöchstbetrag 8,33 SZR/kg.\"\n"
}

ohne_section / hoai

HOAI nach EuGH – Orientierung statt Bindung

c-13-hoai-mindest-hoechst-saetze

executablepublic_aistructured_page
Was macht diese Regel?

Nach EuGH C-377/17 (2019) sind die Mindest-/Höchstsätze der HOAI nicht mehr zwingend. Architekten/Ingenieure können frei vereinbaren, müssen aber transparent kommunizieren, welche Honorarform gilt (HOAI-Orientierung vs. Pauschal vs. Stundensatz).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_13, rolle:architekt_ingenieur

  • branche_c_13 - greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt ist
  • rolle:architekt_ingenieur - greift nur für diese fachliche Rolle: architekt ingenieur
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

HOAI HOAI 2021 Honorarermittlung

Risiko: 100,00 EUR bis 1.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_13greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:architekt_ingenieurgreift nur für diese fachliche Rolle: architekt ingenieurFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"architekt_ingenieur"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_13"
        },
        {
            "rolle": "architekt_ingenieur"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-13-hoai-mindest-hoechst-saetze",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Wird auf Website klar gemacht, welche Honorarform angewendet wird?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_13"
            },
            {
                "rolle": "architekt_ingenieur"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Honorar: Orientierung an HOAI 2021 / Pauschale / Stundensatz — wird im\nAngebot individuell vereinbart.\"\n"
}

ohne_section / hwg

§11 Nr. 11 HWG — Keine Werbung mit Laien-Empfehlungen

c-05-hwg-keine-testberichte-laien

executablepublic_aistructured_page
Was macht diese Regel?

Die Werbung mit Krankengeschichten Dritter oder Hinweisen darauf ist nach §11 Abs. 1 Nr. 11 HWG unzulässig, wenn sie in missbräuchlicher abstoßender oder irreführender Weise erfolgt. Patienten-Testimonials mit Namen und Bild sind regelmäßig unzulässig; Google-Bewertungen mit gesundheitlichen Aussagen sind heikel.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_05

  • branche_c_05 - greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

HWG §11 Abs. 1 Nr. 11 Publikumswerbung

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_05greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_05"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-05-hwg-keine-testberichte-laien",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Testimonials / Erfahrungsberichte / eingebettete Google-Reviews mit\nNamen/Bild prüfen.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_05"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Patiententestimonials zu konkreten Behandlungserfolgen entfernen.\nAllgemeine Reviews zur Servicequalität (Freundlichkeit, Wartezeit)\nbleiben zulässig. Ggf. Namen anonymisieren.\n"
}

ohne_section / hwg

HWG-Werbegrenzen (§§3, 4, 5, 11)

c-05-hwg-werbung-grenze

executablepublic_aistructured_page
Was macht diese Regel?

Werbung für Arzneimittel, Medizinprodukte und Heilbehandlungen unterliegt strengen Grenzen: §3 HWG (irreführende Werbung), §4 HWG (Pflichtangaben), §5 HWG (Werbebeschränkung homöopathischer Arzneimittel), §11 HWG (publikumsbezogene Werbung: u.a. Nr. 5 Vorher-Nachher-Verbot bei operativ-plastischen Eingriffen, Nr. 4 Verbot der Werbung mit Ängsten/Angstgefühlen).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_05

  • branche_c_05 - greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

HWG §§3, 4, 5, 11 Werbebeschränkungen

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_05greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_05"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-05-hwg-werbung-grenze",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Website auf Vorher-Nachher-Bilder (Schönheits-OP), Erfolgsversprechen,\nAngstwerbung, Rabatt-Aktionen (§7 HWG) prüfen.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_05"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt Medizin-/Heilwerberecht bei komplexen Kampagnen",
    "fix_text_vorlage": "- Vorher-Nachher-Bilder bei plastisch-operativen Eingriffen entfernen.\n- Erfolgsversprechen (\"garantierte Heilung\", \"100% wirksam\") streichen.\n- Keine Angstmotive (\"ohne Behandlung droht...\").\n- Pflichtangaben bei Arzneimittelwerbung vollständig (§4 HWG).\n"
}

ohne_section / hwo

Geschützte Meisterbezeichnung nur bei Nachweis

c-02-berufsbezeichnung-geschuetzt

executablepublic_aistructured_page
Was macht diese Regel?

Die Berufsbezeichnung "Meister im XY-Handwerk" bzw. "XY-Meister" ist nach §51 HwO geschützt. Verwendung ohne Meisterbrief = §51 Abs. 1 HwO Ordnungswidrigkeit + UWG §5 Irreführung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_02

  • branche_c_02 - greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

HwO §51 Meisterbezeichnung

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_02greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_02"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-02-berufsbezeichnung-geschuetzt",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe Website-Texte/Titel: Werden \"Meister\"-Begriffe verwendet? Existiert\nfür jede Verwendung ein Meisterbrief-Nachweis?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_02"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Nur nachgewiesene Meistertitel verwenden. Bei unbelegter Werbung:\n\"Meister\" streichen und durch \"Fachbetrieb\", \"Handwerksbetrieb\" oder\nkonkrete Qualifikation (z.B. \"Geselle\") ersetzen.\n"
}

ohne_section / hwo

HWK-Pflichtmitgliedschaft + Eintrag in Handwerksrolle

c-02-hwk-mitgliedschaft

executablepublic_aistructured_page
Was macht diese Regel?

Zulassungspflichtige Handwerke (Anlage A HwO) dürfen nur mit Eintrag in die Handwerksrolle ausgeübt werden. Die Mitgliedschaft in der örtlichen Handwerkskammer ist gesetzlich verpflichtend (§90 HwO). Fehlende Eintragung = Schwarzarbeit (SchwarzArbG) + Nichtigkeit von Verträgen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_02

  • branche_c_02 - greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

HwO §1 i. V. m. §90 Handwerksbetrieb / HWK-Mitgliedschaft

Risiko: 1.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_02greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_02"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-02-hwk-mitgliedschaft",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe Impressum: Ist HWK-Mitgliedschaft erwähnt? Handwerksrolle-Nummer\nangegeben? Zuständige Kammer nach Betriebssitz korrekt benannt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "ordnungswidrigkeit_abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_02"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Ergänze im Impressum:\n\"Kammer: Handwerkskammer [Stadt/Region]\nEingetragen in die Handwerksrolle: [Nummer]\nBerufsbezeichnung: [z.B. Elektrotechnikermeister], verliehen in Deutschland\"\n"
}

ohne_section / hwo

HWK-Mitgliedschaft auch bei zulassungsfreien Handwerken

c-03-hwk-mitgliedschaft-zulassungsfrei

executablepublic_aistructured_page
Was macht diese Regel?

Auch Betriebe der Anlage B1 (zulassungsfrei) und B2 (handwerksähnlich) müssen sich in das Verzeichnis der Handwerkskammer eintragen (§19 HwO) und sind HWK-Mitglied (§90 HwO). Meisterbrief NICHT erforderlich, aber Gewerbeanmeldung + Verzeichnis-Eintrag zwingend.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_03

  • branche_c_03 - greift, wenn Branche/Cluster branche_c_03 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

HwO §19 i. V. m. §90 Verzeichnis / HWK-Mitgliedschaft

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_03greift, wenn Branche/Cluster branche_c_03 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_03"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-03-hwk-mitgliedschaft-zulassungsfrei",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe Impressum: HWK genannt? Verzeichnis-Eintrags-Nummer (falls\nverfügbar) angegeben?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_03"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Zuständige Kammer: Handwerkskammer [Stadt]\nEingetragen in das Verzeichnis der zulassungsfreien Handwerke\nbzw. handwerksähnlichen Gewerbe (Anlage B [1/2] HwO)\"\n"
}

ohne_section / hwo / ddg

HWK-Mitgliedschaft bei Anlage A/B (Querverweis C-02/C-03)

c-10-hwk-mitgliedschaft-anlage-b

executablepublic_aistructured_page
Was macht diese Regel?

Friseur = Anlage A HwO (zulassungspflichtig, Meister erforderlich). Kosmetiker + Fußpfleger (nicht-medizinisch) = Anlage B1 (zulassungsfrei, aber HWK-Mitglied). Nagelstudio/Tattoo = typisch handwerksähnliches Gewerbe (B2). Querverweis auf Cluster 02 (Anlage A) und Cluster 03 (Anlage B).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_10

  • branche_c_10 - greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

HwO / DDG §1, §19, §90 HwO; §5 DDG HWK-Mitgliedschaft / Impressum

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_10greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_10"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-10-hwk-mitgliedschaft-anlage-b",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum: HWK + Eintrag Anlage A (Friseur) oder B1/B2 genannt?\nFriseur: Meister zwingend, Name nennen.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_10"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Zuständige Kammer: Handwerkskammer [Stadt]\nEingetragen in [Handwerksrolle / Verzeichnis zulassungsfreie Handwerke /\nhandwerksähnliche Gewerbe]\nBerufsbezeichnung: [z.B. Friseurmeister/in — verliehen in Deutschland\n| Kosmetiker/in]\nAnwendbare Regelung: HwO, einsehbar unter\nhttps://www.gesetze-im-internet.de/hwo/\"\n"
}

ohne_section / ifsg

§§42/43 IfSG — Personal-Belehrung (Nachweis intern)

c-09-hygiene-ifsg-überlagerung

executablepublic_aistructured_page
Was macht diese Regel?

Lebensmittel-Personal benötigt Erstbelehrung (§43 IfSG) + jährliche Folgebelehrung (§43 Abs. 4 IfSG). Nicht direkt Website-relevant, aber im Impressum / Team-Seite sollte bei Personal-Abbildung kein Widerspruch zu Hygienestandards entstehen (z.B. Haarnetz-Pflicht nicht aushebeln durch Marketing-Fotos). Dokumentationspflicht beim Betrieb.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_09, angebot:gastronomie_mit_personal

  • branche_c_09 - greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt ist
  • angebot:gastronomie_mit_personal - greift nur, wenn dieses Angebot/Produkt erkannt wurde: gastronomie mit personal
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

IfSG §§42, 43 Tätigkeits-/Beschäftigungsverbote / Belehrung

Risiko: 100,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_09greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:gastronomie_mit_personalgreift nur, wenn dieses Angebot/Produkt erkannt wurde: gastronomie mit personalFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"gastronomie_mit_personal"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_09"
        },
        {
            "angebot": "gastronomie_mit_personal"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-09-hygiene-ifsg-ueberlagerung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Interne Dokumentations-Pflicht. Auf Website: Keine hygiene­widrigen\nDarstellungen (Marketing-Foto ohne Haarnetz o.ä.).\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "ordnungswidrigkeit",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_09"
            },
            {
                "angebot": "gastronomie_mit_personal"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Intern: Belehrungsnachweise archivieren. Website-Fotos auf Hygiene-\nkonformität prüfen (Schutzkleidung, Haarschutz sichtbar).\n"
}

ohne_section / impressum

Handelsregister- und USt-IdNr.-Pflichtangaben

impressum.handelsregister_pflichtangaben

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Impressumsseiten bei Kapitalgesellschafts-/Handelsregistersignalen auf Register-, Gerichts-, Vertretungs- und USt-IdNr.-Hinweise.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Allgemeine Informationspflichten für digitale Dienste

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "impressum_handelsregister_pflichtangaben",
    "required_patterns": [
        "hrb_hra",
        "registergericht",
        "vertretungsberechtigt",
        "ust_id"
    ],
    "applicable_company_forms": [
        "gmbh",
        "ug",
        "ag",
        "kg",
        "ohg",
        "eg"
    ]
}

ohne_section / impressum

Impressum-Basisstruktur vorhanden

impressum.minimum_structure

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen Risikohinweis, wenn auf erkannter Impressumsseite Basisindikatoren fehlen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Allgemeine Informationspflichten für digitale Dienste

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "impressum_minimum_structure",
    "candidate_gate": "impressum_keyword_detection",
    "required_indicators": [
        "anbieter",
        "adresse",
        "kontakt"
    ]
}

ohne_section / impressum

Impressumsseite auffindbar

impressum.page_present

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen Risikohinweis, wenn im Scan keine typische Impressumsseite erkannt wird.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Allgemeine Informationspflichten für digitale Dienste

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "signals": [
        "url",
        "path",
        "title",
        "text_excerpt",
        "html_excerpt"
    ],
    "keywords": [
        "impressum",
        "imprint",
        "legal notice",
        "anbieterkennzeichnung"
    ],
    "strategy": "impressum_page_detection"
}

ohne_section / impressum

Impressum-Basispunkte technisch vollständig

legal.impressum.completeness

executablepublic_autolegal.impressum.completeness
Was macht diese Regel?

Ob auf einer erkannten Impressumsseite wesentliche Pflichtangaben technisch auffindbar sind.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG § 5 Allgemeine Informationspflichten für digitale Dienste

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "legal_text_ai_assisted_completeness",
    "check_type": "legal.impressum.completeness",
    "what_it_checks": "Ob auf einer erkannten Impressumsseite wesentliche Pflichtangaben technisch auffindbar sind.",
    "evidence_sources": [
        "Textauszug",
        "HTML-Ausschnitt",
        "Seitenkontext"
    ],
    "legal_basis_refs": [
        "DDG § 5",
        "DDG § 6"
    ],
    "correction_template": {
        "type": "legal_fix",
        "instruction": "Fehlende Pflichtangaben im Impressum konkret und unmittelbar sichtbar ergaenzen."
    },
    "exposure_profile_key": "legal.impressum.completeness",
    "plain_language_label": "Impressum enthaelt die geprueften Pflichtpunkte"
}

ohne_section / in de: nis2umsucg, bsi-gesetz

NIS2-UmsG Anwendbarkeit (kritisch/wichtig)

c-16-nis2-anwendbarkeit-kritisch-wichtig

executablepublic_aistructured_page
Was macht diese Regel?

Das NIS2-Umsetzungsgesetz (Stand 2025: Entwurf NIS2UmsuCG) erweitert den Kreis meldepflichtiger Einrichtungen massiv (IT, Cloud, DNS, Managed Service, Rechenzentren). Pflichten: Registrierung, Security-Maßnahmen (Risiko-Mgmt.), Meldung Sicherheitsvorfälle (24h/72h/1 Monat).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_16, groesse_min_mitarbeiter_50_oder_umsatz_10m:true

  • branche_c_16 - greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt ist
  • groesse_min_mitarbeiter_50_oder_umsatz_10m:true - greift, wenn "groesse min mitarbeiter 50 oder umsatz 10m" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

in DE: NIS2UmsuCG, BSI-Gesetz §§30 ff. NIS2UmsuCG (Entwurf) Umsetzung NIS2-Richtlinie EU 2022/2555

Risiko: 10.000,00 EUR bis 100.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_16greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
groesse_min_mitarbeiter_50_oder_umsatz_10m:truegreift, wenn "groesse min mitarbeiter 50 oder umsatz 10m" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"groesse_min_mitarbeiter_50_oder_umsatz_10m":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_16"
        },
        {
            "groesse_min_mitarbeiter_50_oder_umsatz_10m": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-16-nis2-anwendbarkeit-kritisch-wichtig",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Self-Check BSI-Portal + Meldung im BSI-Melderegister nach Inkrafttreten.\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_16"
            },
            {
                "groesse_min_mitarbeiter_50_oder_umsatz_10m": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "IT-Sicherheitsberater & Anwalt für NIS2-Readiness-Check.",
    "fix_text_vorlage": "Interne NIS2-Checkliste: Risk-Mgmt, Meldeprozess, Business Continuity,\nSupply-Chain-Security.\n"
}

ohne_section / infektionsschutzgesetz (ifsg) + länder-hygienevo

IfSG §36 + Länder-HygieneVO — Hygieneplan + Anzeigepflicht

c-10-hygieneverordnung-laender

executablepublic_aistructured_page
Was macht diese Regel?

Tattoo-, Piercing-, Permanent-Make-Up-, teils Kosmetik- und Fußpflegestudios unterliegen §36 IfSG (Überwachung durch Gesundheitsamt) + jeweiliger Länder-HygieneVO (z.B. Bay. HygieneVO, BW-HygieneVO). Anzeigepflicht beim Gesundheitsamt, Hygieneplan, Dokumentation. Website-Bezug: Hinweis auf Einhaltung ggf. in FAQ/Impressum (Vertrauens- bildung); interne Dokumentation ist Pflicht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_10, angebot:tattoo_piercing_pmu_kosmetik_fusspflege

  • branche_c_10 - greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt ist
  • angebot:tattoo_piercing_pmu_kosmetik_fusspflege - greift nur, wenn dieses Angebot/Produkt erkannt wurde: tattoo piercing pmu kosmetik fusspflege
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Infektionsschutzgesetz (IfSG) + Länder-HygieneVO §36 IfSG Hygienische Anforderungen / Überwachung

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_10greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:tattoo_piercing_pmu_kosmetik_fusspflegegreift nur, wenn dieses Angebot/Produkt erkannt wurde: tattoo piercing pmu kosmetik fusspflegeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"tattoo_piercing_pmu_kosmetik_fusspflege"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_10"
        },
        {
            "angebot": "tattoo_piercing_pmu_kosmetik_fusspflege"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-10-hygieneverordnung-laender",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Falls Hygiene-Zertifikat vorliegt: prüfen ob auf Website genannt.\nInterne Pflicht: Anzeige beim Gesundheitsamt + Hygieneplan.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld_betriebsschliessung",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_10"
            },
            {
                "angebot": "tattoo_piercing_pmu_kosmetik_fusspflege"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Intern: Anzeige beim Gesundheitsamt nach §36 IfSG, Hygieneplan\nerstellen, jährliche Schulung Personal.\nWebsite (optional/Best Practice): \"Wir arbeiten nach den Vorgaben\nder §36 IfSG und [Landes-]Hygieneverordnung. Regelmäßige\nKontrollen durch das Gesundheitsamt [Stadt].\"\n"
}

ohne_section / jmstv

Zwei-stufige Altersverifikation JMStV §4

c-18-jmstv-altersverifikation-ab-18

executablepublic_aistructured_page
Was macht diese Regel?

Pornografische + schwer jugendgefährdende Angebote dürfen nur in geschlossenen Benutzergruppen mit zwei-stufiger Altersverifikation zugänglich gemacht werden (face-to-face-ID + Einmal-Login, §4 Abs. 2 JMStV + KJM-Kriterien).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_18, rolle:adult_content

  • branche_c_18 - greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt ist
  • rolle:adult_content - greift nur für diese fachliche Rolle: adult content
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

JMStV §4 Abs. 2 Unzulässige Angebote

Risiko: 5.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_18greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:adult_contentgreift nur für diese fachliche Rolle: adult contentFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"adult_content"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_18"
        },
        {
            "rolle": "adult_content"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-18-jmstv-altersverifikation-ab-18",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Ist Zugang erst nach ID-Verifikation (VideoIdent/PostIdent) + Session-\nLogin möglich? KJM-zertifizierte Systeme?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_18"
            },
            {
                "rolle": "adult_content"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "KJM-Liste zertifizierter AV-Systeme (z. B. Schufa Q-Bit, IDnow).",
    "fix_text_vorlage": "\"Zugang nur für volljährige Nutzer mit KJM-zertifizierter Altersprüfung.\"\n"
}

ohne_section / jmstv

Sendezeit + Altersfreigaben (JMStV §5)

c-18-jmstv-sendezeit-kennzeichnung

executablepublic_aistructured_page
Was macht diese Regel?

Jugendgefährdende Inhalte (Freigaben ab 12/16/18) sind nur zu passenden "Sendezeiten" oder mit technischer Zugangsbeschränkung (z. B. Alters- freigabe via JusProg) verfügbar zu machen (§5 JMStV).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_18, rolle:medienanbieter_altersrelevant

  • branche_c_18 - greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt ist
  • rolle:medienanbieter_altersrelevant - greift nur für diese fachliche Rolle: medienanbieter altersrelevant
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

JMStV §5 Entwicklungsbeeinträchtigende Angebote

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_18greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:medienanbieter_altersrelevantgreift nur für diese fachliche Rolle: medienanbieter altersrelevantFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"medienanbieter_altersrelevant"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_18"
        },
        {
            "rolle": "medienanbieter_altersrelevant"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-18-jmstv-sendezeit-kennzeichnung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "age-de.xml eingebunden? Inhalte korrekt klassifiziert (0/6/12/16/18)?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_18"
            },
            {
                "rolle": "medienanbieter_altersrelevant"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "age-de.xml Tool + JusProg-Listung.",
    "fix_text_vorlage": "\"<meta name='age-de-meta-label' content='...'> + JusProg-kompatible\nKennzeichnung je Seite.\"\n"
}

ohne_section / juschg

Alkohol Online-Verkauf Altersverifikation

c-18-alkohol-altersgrenze-jug-14

executablepublic_aistructured_page
Was macht diese Regel?

Abgabe von Spirituosen ist an Personen unter 18 verboten, Bier/Wein ab 16 (§9 JuSchG). Im Online-Handel ist eine zuverlässige Altersverifikation bei Bestellung UND Lieferung Pflicht (Zustellung nur mit Ident-Check).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_18, rolle:alkohol_shop

  • branche_c_18 - greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt ist
  • rolle:alkohol_shop - greift nur für diese fachliche Rolle: alkohol shop
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

JuSchG §9 Alkoholische Getränke

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_18greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:alkohol_shopgreift nur für diese fachliche Rolle: alkohol shopFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"alkohol_shop"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_18"
        },
        {
            "rolle": "alkohol_shop"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-18-alkohol-altersgrenze-jug-14",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Geburtsdatum-Abfrage + DHL Ident-Check / PostIdent bei Zustellung?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_18"
            },
            {
                "rolle": "alkohol_shop"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Altersnachweis bei Bestellung + Zustellung (DHL Ident). Verkauf Spirituosen\nab 18, Bier/Wein ab 16 Jahren.\"\n"
}

ohne_section / ki_transparenz

AI-Transparenzhinweis fehlt

legal.ai_act_transparency_notice_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft KI-Interaktions- und synthetische Content-Kontexte auf erkennbare AI-/KI-Transparenzhinweise.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:ki_transparenz - greift, wenn das Zusatzmerkmal "scope signal" den Wert "ki transparenz" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Regulation (EU) 2024/1689 - AI Act Art. 50 Transparency obligations for providers and deployers of certain AI systems

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "ki_transparenz"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.78,
    "fail_summary": "KI-Scope erkannt, aber kein klarer Transparenzhinweis gefunden.",
    "pass_summary": "KI-Scope und Transparenzsignal wurden erkannt.",
    "gate_keywords": [
        "chatbot",
        "chat bot",
        "ki-chat",
        "ai chat",
        "virtueller assistent",
        "assistant",
        "deepfake",
        "synthetisch",
        "ki-generiert",
        "ai-generated"
    ],
    "legal_basis_refs": [
        "AI Act Art. 50"
    ],
    "correction_instruction": "Im KI-Interaktions- oder Synthetic-Content-Kontext klar sichtbar offenlegen, dass KI verwendet wird.",
    "not_applicable_summary": "Keine oeffentlichen KI-/Synthetic-Content-Signale erkannt.",
    "required_signal_groups": [
        {
            "key": "ai_disclosure",
            "label": "KI-/AI-Offenlegung",
            "keywords": [
                "ki",
                "kuenstliche intelligenz",
                "künstliche intelligenz",
                "artificial intelligence",
                "ai system",
                "automatisch generiert",
                "synthetisch erzeugt",
                "ai-generated"
            ]
        }
    ]
}

ohne_section / kosmetikkennzeichnung

Kosmetik-Pflichtinformationen fehlen

product.cosmetics_labelling_info_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Kosmetik-Produktangebote auf sichtbare Signale zu verantwortlicher Person, Nenninhalt und Inhaltsstoffen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:kosmetikkennzeichnung - greift, wenn das Zusatzmerkmal "scope signal" den Wert "kosmetikkennzeichnung" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Regulation (EC) No 1223/2009 - Cosmetic Products Regulation Art. 19 Labelling

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "kosmetikkennzeichnung"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.76,
    "fail_summary": "Kosmetikprodukt-Scope erkannt, aber sichtbare Kosmetik-Pflichtinformationen fehlen.",
    "pass_summary": "Kosmetikprodukt-Scope und sichtbare Kosmetik-Pflichtinformationen wurden erkannt.",
    "gate_keywords": [
        "kosmetik",
        "cosmetic",
        "hautpflege",
        "gesichtspflege",
        "koerperpflege",
        "körperpflege",
        "gesichtscreme",
        "handcreme",
        "face cream",
        "skin cream",
        "body cream",
        "eye cream",
        "serum",
        "shampoo",
        "duschgel",
        "lotion",
        "make-up",
        "mascara",
        "lippenstift",
        "parfum",
        "deo",
        "sonnencreme"
    ],
    "legal_basis_refs": [
        "Cosmetics Regulation Art. 19"
    ],
    "correction_instruction": "Kosmetik-Pflichtinformationen wie verantwortliche Person, Nenninhalt und Inhaltsstoffliste im Produktangebot sichtbar bereitstellen.",
    "not_applicable_summary": "Keine Kosmetikprodukt-Signale erkannt.",
    "required_signal_groups": [
        {
            "key": "responsible_person",
            "label": "Verantwortliche Person",
            "keywords": [
                "verantwortliche person",
                "responsible person",
                "verantwortlich",
                "name und anschrift",
                "anschrift",
                "address"
            ]
        },
        {
            "key": "nominal_content",
            "label": "Nenninhalt",
            "keywords": [
                "nenninhalt",
                "nominal content",
                "net contents",
                "net weight",
                "nettoinhalt",
                "fuellmenge",
                "füllmenge",
                "5 ml",
                "10 ml",
                "15 ml",
                "30 ml",
                "50 ml",
                "75 ml",
                "100 ml",
                "150 ml",
                "200 ml",
                "250 ml",
                "500 ml",
                "5ml",
                "10ml",
                "15ml",
                "30ml",
                "50ml",
                "75ml",
                "100ml",
                "150ml",
                "200ml",
                "250ml",
                "500ml",
                "50 g",
                "100 g",
                "200 g",
                "250 g",
                "500 g",
                "50g",
                "100g",
                "200g",
                "250g",
                "500g"
            ]
        },
        {
            "key": "ingredients",
            "label": "Inhaltsstoffe / Ingredients",
            "keywords": [
                "ingredients",
                "inhaltsstoffe",
                "inci",
                "aqua",
                "glycerin"
            ]
        }
    ]
}

ohne_section / kosmetikvo

KosmetikVO — INCI, Haltbarkeit, Chargen­nummer

c-10-kosmetikvo-inci-auslobung

executablepublic_aistructured_page
Was macht diese Regel?

Wer kosmetische Mittel online verkauft, muss nach VO (EG) 1223/2009 Art. 19 folgende Pflichtangaben bereitstellen: INCI-Liste, Nenn-Inhalt, Mindesthaltbarkeits- oder Verwendungsdatum, Chargennummer, besondere Vorsichtsmaßnahmen, Verantwortliche Person mit Adresse (Art. 4, 5). Werbung keine unzutreffenden Wirkaussagen (Art. 20).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_10, angebot:kosmetik_verkauf

  • branche_c_10 - greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt ist
  • angebot:kosmetik_verkauf - greift nur, wenn dieses Angebot/Produkt erkannt wurde: kosmetik verkauf
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

KosmetikVO Art. 19, 20 Kennzeichnung / Wirkversprechen

Risiko: 1.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_10greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:kosmetik_verkaufgreift nur, wenn dieses Angebot/Produkt erkannt wurde: kosmetik verkaufFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"kosmetik_verkauf"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_10"
        },
        {
            "angebot": "kosmetik_verkauf"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-10-kosmetikvo-inci-auslobung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Produktseite: INCI vorhanden? Haltbarkeit? Verantwortliche Person\ngenannt? Keine medizinischen Wirkversprechen (\"heilt\", \"therapiert\")?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_10"
            },
            {
                "angebot": "kosmetik_verkauf"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Produktseiten ergänzen:\n- INCI-Liste (exakt verordnungskonform)\n- Nenninhalt (ml/g)\n- Haltbarkeit (z.B. \"12M\" Symbol oder Datum)\n- Chargen-Nr.\n- Verantwortliche Person (Name + EU-Adresse)\n- Warnhinweise gemäß Anhang III\n"
}

ohne_section / kug

Einwilligung aller abgebildeten Personen dokumentiert

a-kug-22-einwilligung-personenfoto

executablepublic_aiai_classification
Was macht diese Regel?

Bildnisse von Personen dürfen nur mit deren Einwilligung (konkret und nachweisbar) verbreitet oder öffentlich zur Schau gestellt werden. Eine reine Erlaubnis zur Aufnahme ist NICHT Einwilligung zur Veröffentlichung. Die Einwilligung ist spezifisch je Zweck (Website, Social Media, Print) zu erteilen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, personenfotos_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • personenfotos_vorhanden - greift, wenn der Trigger "personenfotos_vorhanden" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

KUG §22 Verbreitung und Zurschaustellung von Bildnissen

Risiko: 500,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
personenfotos_vorhandengreift, wenn der Trigger "personenfotos_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "personenfotos_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-kug-22-einwilligung-personenfoto",
    "fix_type": "diy_text",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "KI-Prompt: Gibt es Personenfotos (Mitarbeiter, Kunden, Eventfotos)?\nSelbstauskunft: Liegen Einwilligungen schriftlich vor?\n",
    "normalization": {
        "check_type": [
            "self_assessment",
            "ai_classification"
        ],
        "rechtsrisiko_typ": [
            "strafe_plus_schadensersatz",
            "strafe_strafrecht"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "personenfotos_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Pro Personenfoto Einwilligungsformular (schriftlich) mit:\n- Name der Person\n- Datum/Ort der Aufnahme\n- Konkreter Verwendungszweck (Website-URL, Social-Kanäle, Dauer)\n- Widerrufsrecht\n- Doppelte Rechtsgrundlage bei personenbez. Daten (Art. 6 Abs. 1 lit. a\n  DSGVO + §22 KUG)\nAblage mind. bis 3 Jahre nach Entfernung des Fotos.\n"
}

ohne_section / kug

Ausnahmen §23 KUG nur nach sorgfältiger Abwägung genutzt

a-kug-23-ausnahmen-zeitgeschichte

executablepublic_aiai_classification
Was macht diese Regel?

Einwilligungsfrei sind u. a. Bildnisse aus dem Bereich der Zeitgeschichte (§23 Abs. 1 Nr. 1), Bilder auf denen Personen nur als Beiwerk neben einer Landschaft o. Ä. erscheinen (Nr. 2), Versammlungen/Aufzüge/ ähnliche Vorgänge (Nr. 3), höheres Interesse der Kunst (Nr. 4). Die Abwägung nach BGH/EuGH ist streng: berechtigtes Interesse der abgebildeten Person überwiegt regelmäßig kommerzielle Interessen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, personenfotos_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • personenfotos_vorhanden - greift, wenn der Trigger "personenfotos_vorhanden" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

KUG §23 Ausnahmen zum Einwilligungserfordernis

Risiko: 500,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
personenfotos_vorhandengreift, wenn der Trigger "personenfotos_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "personenfotos_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-kug-23-ausnahmen-zeitgeschichte",
    "fix_type": "diy_text",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "Selbstauskunft + KI-Prompt: Wird ein Foto ohne Einwilligung mit\n\"Versammlungsausnahme\" o. Ä. begründet? Bei kommerzieller Nutzung\nfast immer unzulässig.\n",
    "normalization": {
        "check_type": [
            "self_assessment",
            "ai_classification"
        ],
        "rechtsrisiko_typ": [
            "strafe_plus_schadensersatz",
            "strafe_strafrecht"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "personenfotos_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Anwalt bei Prominenten-/Journalismus-Fällen hinzuziehen.",
    "fix_text_vorlage": "Bei Berufung auf §23 KUG:\n- Schriftliche Dokumentation der Abwägung (welcher Ausnahmetatbestand,\n  welche Interessen, warum berechtigte Interessen der Person\n  nachrangig)\n- Im Zweifel Einwilligung einholen ODER Gesichter unkenntlich machen\nKommerzielle Nutzung (Werbung, Landing-Page): Ausnahmen gelten\npraktisch nie.\n"
}

ohne_section / kug

Fotograf: §22 KUG Einwilligung + UrhG eigene Werke

c-01-fotograf-kug-kernpflicht

executablepublic_aistructured_page
Was macht diese Regel?

Fotografen müssen bei Personenabbildungen §22 KUG beachten: Bildnisse dürfen nur mit Einwilligung des Abgebildeten verbreitet werden (Ausnahmen §23 KUG). Zusätzlich: §§2, 72 UrhG für eigene Lichtbilder/Lichtbildwerke — Urheberrechtsvermerk auf Website + klare Nutzungsrechte-Regelung in AGB.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_01, angebot:fotografie

  • branche_c_01 - greift, wenn Branche/Cluster branche_c_01 erkannt oder ausgewählt ist
  • angebot:fotografie - greift nur, wenn dieses Angebot/Produkt erkannt wurde: fotografie
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

KUG §22 Recht am eigenen Bild

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_01greift, wenn Branche/Cluster branche_c_01 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:fotografiegreift nur, wenn dieses Angebot/Produkt erkannt wurde: fotografieFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"fotografie"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_01"
        },
        {
            "angebot": "fotografie"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-01-fotograf-kug-kernpflicht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe Portfolio-Seite: Sind Personen abgebildet? Modelrelease vorhanden?\nUrheberrechtsvermerk (\"© Name, Jahr\") sichtbar? Nutzungsrechte in AGB\ngeregelt (einfaches/ausschließliches Nutzungsrecht, Nutzungsdauer, -umfang)?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_01"
            },
            {
                "angebot": "fotografie"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "1. Hinweis in Datenschutzerklärung: Fotos mit Personen werden nur nach\n   schriftlicher Einwilligung (Modelrelease) veröffentlicht.\n2. Urheberrechts-Footer: \"© [Name] — Alle Rechte vorbehalten.\"\n3. AGB-Klausel Nutzungsrechte: Umfang, Dauer, räumliche Begrenzung,\n   Bearbeitungsrecht explizit regeln.\n"
}

ohne_section / kug i. v. m. dsgvo art. 7 abs. 3

Widerruf der Einwilligung zeitnah umgesetzt (Foto entfernen)

a-kug-widerruf-einwilligung

executablepublic_aiai_semantic
Was macht diese Regel?

Die Einwilligung in die Verbreitung eines Bildnisses ist jederzeit widerruflich (aus wichtigem Grund; bei Wegfall der Geschäftsgrundlage; bei DSGVO-parallelisierter Einwilligung: jederzeit ohne Begründung, Art. 7 Abs. 3 DSGVO). Nach Widerruf muss der Betreiber das Foto unverzüglich entfernen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, personenfotos_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • personenfotos_vorhanden - greift, wenn der Trigger "personenfotos_vorhanden" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

KUG i. V. m. DSGVO Art. 7 Abs. 3 §22 KUG Widerruf der Einwilligung

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
personenfotos_vorhandengreift, wenn der Trigger "personenfotos_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "personenfotos_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-kug-widerruf-einwilligung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Selbstauskunft: Gibt es einen Prozess für Bildwiderrufe? Innerhalb\nwelcher Zeit wird Foto entfernt?\n",
    "normalization": {
        "check_type": [
            "service_behavior",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "schadensersatz_bei_verzug",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "personenfotos_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Internes SOP:\n- Widerrufs-Kanal (E-Mail, Formular) dokumentieren\n- Verarbeitungsfrist: 7 Tage\n- Nach Entfernung: Bestätigung an Betroffene\n- Dokumentation in interner Liste (wann widerrufen, wann entfernt)\n"
}

ohne_section / kug i. v. m. dsgvo art. 8

Bei Minderjährigen: Einwilligung aller Erziehungsberechtigten

a-kug-22-minderjaehrige-einwilligung

executablepublic_aiai_classification
Was macht diese Regel?

Bei Minderjährigen (unter 18 Jahren) ist die Einwilligung beider Erziehungsberechtigten erforderlich (BGH VI ZR 156/13). Bei urteilsfähigen Minderjährigen (i. d. R. ab 14–16 Jahren) zusätzlich deren Einwilligung. Besondere Sensibilität bei Kindergarten-, Schul- oder Sportfotos.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, personenfotos_vorhanden, minderjaehrige_möglich

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • personenfotos_vorhanden - greift, wenn der Trigger "personenfotos_vorhanden" im ScanScope aktiv ist
  • minderjaehrige_moeglich - greift, wenn der Trigger "minderjaehrige_möglich" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

KUG i. V. m. DSGVO Art. 8 §22 KUG i. V. m. §§1626, 1629 BGB Einwilligung Minderjähriger

Risiko: 1.000,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
personenfotos_vorhandengreift, wenn der Trigger "personenfotos_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
minderjaehrige_moeglichgreift, wenn der Trigger "minderjaehrige_möglich" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "personenfotos_vorhanden"
        },
        {
            "scope": "minderjaehrige_moeglich"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-kug-22-minderjaehrige-einwilligung",
    "fix_type": "diy_text",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "Selbstauskunft: Sind auf Fotos Kinder/Jugendliche abgebildet?\nLiegt Einwilligung BEIDER Eltern vor?\n",
    "normalization": {
        "check_type": [
            "self_assessment",
            "ai_classification"
        ],
        "rechtsrisiko_typ": [
            "strafe_plus_schadensersatz",
            "strafe_strafrecht"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "personenfotos_vorhanden"
            },
            {
                "scope": "minderjaehrige_moeglich"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Spezielles Einwilligungsformular für Kinderbilder:\n- Name des Kindes\n- Geburtsdatum\n- Unterschrift BEIDER Erziehungsberechtigten\n- Ggf. Unterschrift des urteilsfähigen Minderjährigen (≥14 Jahre)\n- Konkreter Verwendungszweck + Dauer + Widerrufsrecht\n"
}

ohne_section / kwg / zag

BaFin-Aufsicht bei KWG-Instituten + Erlaubnisangabe

c-06-bafin-aufsicht-kwg

executablepublic_aistructured_page
Was macht diese Regel?

Kreditinstitute, Finanzdienstleistungs-Institute, Zahlungsinstitute (ZAG) unterliegen der BaFin-Aufsicht nach KWG/ZAG. Die BaFin-Erlaubnis mit Registernummer/Institutsnummer ist im Impressum zu nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_06, beruf:kwg_institut_zag_institut

  • branche_c_06 - greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt ist
  • beruf:kwg_institut_zag_institut - greift nur für diesen reglementierten Beruf: kwg institut zag institut
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

KWG / ZAG §32 KWG; §10 ZAG Erlaubnis BaFin

Risiko: 2.000,00 EUR bis 100.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_06greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
beruf:kwg_institut_zag_institutgreift nur für diesen reglementierten Beruf: kwg institut zag institutFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"beruf":"kwg_institut_zag_institut"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_06"
        },
        {
            "beruf": "kwg_institut_zag_institut"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-06-bafin-aufsicht-kwg",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "BaFin-Erlaubnisnummer, Institutstyp, Link BaFin-Unternehmensdatenbank?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "straftat_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_06"
            },
            {
                "beruf": "kwg_institut_zag_institut"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt Bank-/Kapitalmarktrecht",
    "fix_text_vorlage": "\"Aufsichtsbehörde: Bundesanstalt für Finanzdienstleistungsaufsicht\n(BaFin), Graurheindorfer Str. 108, 53117 Bonn, www.bafin.de\nErlaubnis nach §32 KWG / §10 ZAG\nInstitutsnummer: [Nummer]\nDatenbank-Link: https://portal.mvp.bafin.de\"\n"
}

ohne_section / landespressegesetze (z. b. lpg nrw §4) + gg art. 5

Auskunftsanspruch Landespressegesetze + Art. 5 GG

c-15-presse-auskunftsanspruch-art5-gg

executablepublic_aistructured_page
Was macht diese Regel?

Redaktionen/Journalisten haben gegenüber Behörden Auskunftsansprüche (Landespressegesetze §4 z. B. LPG NRW; Art. 5 Abs. 1 S. 2 GG). Der Hinweis auf journalistische Tätigkeit im Impressum erleichtert behördliche Anfragen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_15, ist_redaktion:true

  • branche_c_15 - greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt ist
  • ist_redaktion:true - greift, wenn "ist redaktion" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Niedriges Risiko, Hinweis oder Feinschliff.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Landespressegesetze (z. B. LPG NRW §4) + GG Art. 5 §4 LPG Informationsrecht der Presse

Risiko: 50,00 EUR bis 500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: low

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_15greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
ist_redaktion:truegreift, wenn "ist redaktion" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"ist_redaktion":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_15"
        },
        {
            "ist_redaktion": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-15-presse-auskunftsanspruch-art5-gg",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Hinweis \"Journalistisches Angebot i. S. d. LPG\" im Impressum?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "kein_direktes_abmahnrisiko",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_15"
            },
            {
                "ist_redaktion": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Dieses Angebot ist journalistisch-redaktionell i. S. d. §18 MStV und\nLandespressegesetz [...].\"\n"
}

ohne_section / lebensmittelkennzeichnung

LMIV-Lebensmittelinformationen fehlen

product.lmiv_distance_food_info_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Lebensmittelangebote im Fernabsatz auf Basis-Signale für Zutaten, Allergene und Naehrwerte.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:lebensmittelkennzeichnung - greift, wenn das Zusatzmerkmal "scope signal" den Wert "lebensmittelkennzeichnung" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Regulation (EU) No 1169/2011 - Food Information to Consumers Art. 14 Distance selling

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "lebensmittelkennzeichnung"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.75,
    "fail_summary": "Lebensmittel-Fernabsatz-Scope erkannt, aber LMIV-Pflichtsignale fehlen.",
    "pass_summary": "Lebensmittel-Fernabsatz-Scope und LMIV-Pflichtsignale wurden erkannt.",
    "gate_keywords": [
        "lebensmittel",
        "food",
        "muesli",
        "müsli",
        "getraenk",
        "getränk",
        "nahrung",
        "snack",
        "bio",
        "nutrition"
    ],
    "legal_basis_refs": [
        "LMIV Art. 14"
    ],
    "correction_instruction": "Pflichtangaben fuer Lebensmittel vor Kaufabschluss im Produktangebot sichtbar bereitstellen.",
    "not_applicable_summary": "Keine Lebensmittel-Fernabsatz-Signale erkannt.",
    "required_signal_groups": [
        {
            "key": "ingredients",
            "label": "Zutatenliste",
            "keywords": [
                "zutaten",
                "ingredients"
            ]
        },
        {
            "key": "allergens",
            "label": "Allergenhinweis",
            "keywords": [
                "allergen",
                "allergene",
                "spuren von"
            ]
        },
        {
            "key": "nutrition",
            "label": "Naehrwertangaben",
            "keywords": [
                "naehrwert",
                "nährwert",
                "nutrition",
                "kj",
                "kcal"
            ]
        }
    ]
}

ohne_section / lmiv

LMIV Anhang II — 14 Hauptallergene kennzeichnen

c-09-lmiv-14-hauptallergene

executablepublic_aistructured_page
Was macht diese Regel?

Die 14 in Anhang II LMIV gelisteten Hauptallergene müssen bei allen Lebensmitteln — vorverpackt und lose abgegeben — deutlich hervorgehoben kenntlich gemacht werden (fett, farbig, ggf. typografisch abgehoben). 14: glutenhaltiges Getreide, Krebstiere, Eier, Fisch, Erdnüsse, Soja, Milch, Schalenfrüchte (Nüsse), Sellerie, Senf, Sesam, Sulfite (>10mg/kg), Lupinen, Weichtiere.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_09

  • branche_c_09 - greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

LMIV Art. 9 Abs. 1 lit. c + Anhang II Allergenkennzeichnung

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_09greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_09"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-09-lmiv-14-hauptallergene",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Speisekarte / Produktseite: Sind alle 14 Allergene pro Gericht /\nProdukt hervorgehoben? Typografisch abgehoben?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_09"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Produktseite-Beispiel:\n\"Zutaten: Weizenmehl* (Gluten), Hühnerei*, Butter (Milch*), Mandeln*,\nZucker, Vanille. *= Allergen.\"\n(Bold oder Großbuchstaben der Allergen-Worte.)\nBei Gastro-Menü: Fußnoten-System mit Allergen-Legende am Ende der Karte.\n"
}

ohne_section / lmiv

LMIV Art. 14 — Allergene im Fernabsatz (Online-Bestellung)

c-09-online-speisekarte-allergen-leicht-zugänglich

executablepublic_aistructured_page
Was macht diese Regel?

Bei Fernabsatz von Lebensmitteln (Online-Bestellung, Lieferdienst) müssen alle Pflichtinformationen inkl. Allergene VOR Abschluss des Kaufvertrags abrufbar sein — leicht zugänglich, kostenlos, auf deutscher Sprache. Einrichtung einer "Allergen-Info"-Seite reicht nicht, wenn nicht im Bestellprozess sichtbar.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_09, angebot:online_speisekarte_lieferdienst

  • branche_c_09 - greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt ist
  • angebot:online_speisekarte_lieferdienst - greift nur, wenn dieses Angebot/Produkt erkannt wurde: online speisekarte lieferdienst
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

LMIV Art. 14 Fernabsatz

Risiko: 1.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_09greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:online_speisekarte_lieferdienstgreift nur, wenn dieses Angebot/Produkt erkannt wurde: online speisekarte lieferdienstFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"online_speisekarte_lieferdienst"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_09"
        },
        {
            "angebot": "online_speisekarte_lieferdienst"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-09-online-speisekarte-allergen-leicht-zugaenglich",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Lieferdienst/Online-Menü: Allergene direkt am Gericht klickbar?\nNicht nur Fußnote \"siehe Allergenliste PDF\".\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_09"
            },
            {
                "angebot": "online_speisekarte_lieferdienst"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Jedes Gericht im Online-Menü mit Allergen-Tags (\"A, B, C\" verlinkt auf\nLegende) oder ausklappbarer Allergen-Info. Keine isolierte PDF-Lösung.\n"
}

ohne_section / länder-bo bindend

§27 MBO-Ä — Sachlichkeitsgebot Arztwerbung

c-05-boe-sachlichkeitsgebot

executablepublic_aistructured_page
Was macht diese Regel?

Die (Muster-)Berufsordnung der Ärzte (MBO-Ä §27) und die Länder-BO erlauben sachliche berufsbezogene Information, verbieten aber anpreisende, irreführende oder vergleichende Werbung. Superlative, Heilsgarantien, "besser als Kollege X" sind unzulässig.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_05, beruf:arzt_zahnarzt_psychotherapeut

  • branche_c_05 - greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt ist
  • beruf:arzt_zahnarzt_psychotherapeut - greift nur für diesen reglementierten Beruf: arzt zahnarzt psychotherapeut
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Länder-BO bindend §27 Erlaubte Information, unerlaubte Werbung

Risiko: 500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_05greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
beruf:arzt_zahnarzt_psychotherapeutgreift nur für diesen reglementierten Beruf: arzt zahnarzt psychotherapeutFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"beruf":"arzt_zahnarzt_psychotherapeut"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_05"
        },
        {
            "beruf": "arzt_zahnarzt_psychotherapeut"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-05-boe-sachlichkeitsgebot",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Startseite auf Superlative, Heilsgarantien, vergleichende Werbung prüfen.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_kammerruege",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_05"
            },
            {
                "beruf": "arzt_zahnarzt_psychotherapeut"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Texte sachlich formulieren. Keine \"führende Praxis\", \"beste Methode\",\nkeine garantierten Heilungen. Fakten statt Marketingsprache.\n"
}

ohne_section / mabv

MaBV-Fortbildung 20h / 3 Jahre

c-13-mabv-fortbildung-nachweis

executablepublic_aistructured_page
Was macht diese Regel?

Makler und Verwalter nach §34c GewO müssen sich und ihre Beschäftigten fortbilden: 20 Stunden in 3 Jahren (§15b MaBV). Auf Anfrage und in Werbematerialien darf dies transparent beworben werden ("zertifizierte Fortbildung").

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_13, rolle:makler_verwalter

  • branche_c_13 - greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt ist
  • rolle:makler_verwalter - greift nur für diese fachliche Rolle: makler verwalter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

MaBV §15b Weiterbildungspflicht

Risiko: 200,00 EUR bis 1.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_13greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:makler_verwaltergreift nur für diese fachliche Rolle: makler verwalterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"makler_verwalter"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_13"
        },
        {
            "rolle": "makler_verwalter"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-13-mabv-fortbildung-nachweis",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Wird Fortbildungsbilanz intern geführt + im \"Über uns\" transparent\nerwähnt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_13"
            },
            {
                "rolle": "makler_verwalter"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Unsere Mitarbeiter erfüllen die Fortbildungspflicht nach §15b MaBV\n(20h / 3 Jahre).\"\n"
}

ohne_section / mabv

MaBV-Berufshaftpflichtversicherung Verwalter

c-13-mabv-vermoegensschaden-versicherung

executablepublic_aistructured_page
Was macht diese Regel?

Wohnimmobilienverwalter müssen gem. §15 MaBV eine Berufshaftpflicht mit Mindestdeckung 500.000 € je Schaden, 1 Mio. € jährlich abschließen (Vermögensschaden). Versicherer + Anschrift sind auf Anfrage zu nennen; übliche Praxis: Impressums-Block.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_13, rolle:wohnimmobilienverwalter

  • branche_c_13 - greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt ist
  • rolle:wohnimmobilienverwalter - greift nur für diese fachliche Rolle: wohnimmobilienverwalter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

MaBV §15 Versicherungspflicht Verwalter

Risiko: 300,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_13greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:wohnimmobilienverwaltergreift nur für diese fachliche Rolle: wohnimmobilienverwalterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"wohnimmobilienverwalter"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_13"
        },
        {
            "rolle": "wohnimmobilienverwalter"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-13-mabv-vermoegensschaden-versicherung",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Wird Versicherer + Versicherungsnummer (oder mind. Bestätigung des\nBestehens) auf Website erwähnt?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_13"
            },
            {
                "rolle": "wohnimmobilienverwalter"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Versicherer: VHV, R+V, Allianz Immobilien",
    "fix_text_vorlage": "\"Berufshaftpflicht nach §15 MaBV: [Versicherer], Deckung 500.000 € /\n1 Mio. € jährlich.\"\n"
}

ohne_section / mar (eu 596/2014) + wphg

MAR/WpHG Insiderlisten + Ad-hoc-Pflichten

c-20-banken-mar-insider-offenlegung

executablepublic_aistructured_page
Was macht diese Regel?

Börsennotierte Emittenten führen Insiderlisten (Art. 18 MAR) und veröffent- lichen unverzüglich Ad-hoc-Informationen (Art. 17 MAR). Auf Unternehmens- websites: IR-Bereich mit Ad-hoc-Archiv + Corporate-Governance.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_20, ist_emittent_börsennotiert:true

  • branche_c_20 - greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt ist
  • ist_emittent_börsennotiert:true - greift, wenn "ist emittent börsennotiert" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

MAR (EU 596/2014) + WpHG Art. 17, 18 MAR Ad-hoc-Publizität, Insiderlisten

Risiko: 10.000,00 EUR bis 150.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_20greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
ist_emittent_börsennotiert:truegreift, wenn "ist emittent börsennotiert" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"ist_emittent_börsennotiert":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_20"
        },
        {
            "ist_emittent_börsennotiert": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-20-banken-mar-insider-offenlegung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "IR-Website: Ad-hoc-Archiv, Governance-Kodex, Insider-Compliance-Policy?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_20"
            },
            {
                "ist_emittent_börsennotiert": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"/investors: Ad-hoc-Archiv, Geschäftsberichte, Corporate Governance.\"\n"
}

ohne_section / marktplatz_compliance_interface

DSA-Marktplatz-Compliance-Interface unvollständig

platform.dsa_marketplace_compliance_interface_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Marketplace-/Trader-Kontexte auf Signale, dass Haendler Identitaets-, Produkt- und Compliance-Informationen bereitstellen können.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:marktplatz_compliance_interface - greift, wenn das Zusatzmerkmal "scope signal" den Wert "marktplatz compliance interface" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Regulation (EU) 2022/2065 - Digital Services Act Art. 31 Compliance by design

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "marktplatz_compliance_interface"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.72,
    "fail_summary": "DSA-Marktplatz-Scope erkannt, aber Compliance-by-design-Signale fehlen.",
    "pass_summary": "DSA-Marktplatz-Scope und Compliance-by-design-Signale wurden erkannt.",
    "gate_keywords": [
        "marketplace",
        "marktplatz",
        "haendler",
        "händler",
        "seller",
        "trader",
        "drittanbieter",
        "anbieterprofil",
        "sell on",
        "verkaufen auf"
    ],
    "legal_basis_refs": [
        "DSA Art. 31"
    ],
    "correction_instruction": "Marktplatz-Interface so gestalten und sichtbar erklaeren, dass Haendler Identitaets-, Compliance- und Produktsicherheitsinformationen bereitstellen koennen.",
    "not_applicable_summary": "Keine DSA-Marktplatz-Signale erkannt.",
    "required_signal_groups": [
        {
            "key": "trader_identity_fields",
            "label": "Haendler-Identitaetsinformationen",
            "keywords": [
                "haendlername",
                "händlername",
                "trader name",
                "seller information",
                "anbieterinformationen",
                "name und anschrift",
                "adresse des haendlers",
                "address of the trader"
            ]
        },
        {
            "key": "compliance_product_information",
            "label": "Compliance- und Produktinformationen",
            "keywords": [
                "konformitaet",
                "konformität",
                "compliance information",
                "produktsicherheit",
                "product safety",
                "ce-kennzeichnung",
                "wirtschaftsakteur",
                "economic operator"
            ]
        }
    ]
}

ohne_section / marktplatz_produktsicherheit

GPSR-Marktplatz-Produktsicherheitsprozess fehlt

platform.gpsr_marketplace_safety_process_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Online-Marktplatz-Kontexte auf Produktsicherheits-Kontaktpunkt, Safety-Gate- oder Meldeprozess-Signale.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:marktplatz_produktsicherheit - greift, wenn das Zusatzmerkmal "scope signal" den Wert "marktplatz produktsicherheit" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Regulation (EU) 2023/988 - General Product Safety Regulation Art. 22 Specific obligations of providers of online marketplaces related to product safety

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "marktplatz_produktsicherheit"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.74,
    "fail_summary": "Online-Marktplatz-Scope erkannt, aber keine GPSR-Produktsicherheitsprozess-Signale gefunden.",
    "pass_summary": "Online-Marktplatz-Scope und GPSR-Produktsicherheitsprozess-Signale wurden erkannt.",
    "gate_keywords": [
        "marketplace",
        "marktplatz",
        "seller",
        "haendler",
        "händler",
        "anbieter",
        "drittanbieter",
        "third-party seller",
        "verkaufen auf",
        "sell on"
    ],
    "legal_basis_refs": [
        "GPSR Art. 22"
    ],
    "correction_instruction": "Fuer den Marktplatz einen klar auffindbaren Produktsicherheits-Kontaktpunkt und Melde-/Entfernungsprozess fuer unsichere Produkte bereitstellen.",
    "not_applicable_summary": "Keine Online-Marktplatz-Signale fuer GPSR Art. 22 erkannt.",
    "required_signal_groups": [
        {
            "key": "product_safety_contact",
            "label": "Produktsicherheits-Kontaktpunkt",
            "keywords": [
                "produktsicherheit",
                "product safety",
                "safety contact",
                "kontaktstelle",
                "single point of contact",
                "zentrale kontaktstelle"
            ]
        },
        {
            "key": "unsafe_product_notice_process",
            "label": "Melde- oder Entfernungsprozess fuer unsichere Produkte",
            "keywords": [
                "unsicheres produkt melden",
                "unsafe product",
                "produkt melden",
                "notice and action",
                "safety gate",
                "marktueberwachung",
                "marktüberwachung",
                "rueckruf",
                "rückruf",
                "recall"
            ]
        }
    ]
}

ohne_section / medizinprodukte

MDR-Claim-Kontext für Medizinprodukte fehlt

product.mdr_claim_context_signal_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Medizinprodukt- oder medizinproduktnahe Angebote auf Zweckbestimmungs- und Regulierungsstatussignale.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:medizinprodukte - greift, wenn das Zusatzmerkmal "scope signal" den Wert "medizinprodukte" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Regulation (EU) 2017/745 - Medical Device Regulation Art. 7 Claims

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "medizinprodukte"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.7,
    "fail_summary": "Medizinprodukt-Scope erkannt, aber Zweckbestimmungs- oder Regulierungsstatussignale fehlen.",
    "pass_summary": "Medizinprodukt-Scope sowie Zweckbestimmungs- und Regulierungsstatussignale wurden erkannt.",
    "gate_keywords": [
        "medizinprodukt",
        "medical device",
        "diagnose",
        "diagnosis",
        "therapiegeraet",
        "therapiegerät",
        "behandlungsgeraet",
        "behandlungsgerät",
        "ce medizinprodukt",
        "klasse i",
        "klasse ii",
        "klasse iii"
    ],
    "legal_basis_refs": [
        "MDR Art. 7"
    ],
    "correction_instruction": "Bei Medizinprodukten Zweckbestimmung, Hersteller-/CE- oder Regulierungsstatus und claim-bezogene Grenzen klar sichtbar machen.",
    "not_applicable_summary": "Keine Medizinprodukt-Claim-Signale erkannt.",
    "required_signal_groups": [
        {
            "key": "intended_purpose",
            "label": "Zweckbestimmung",
            "keywords": [
                "zweckbestimmung",
                "intended purpose",
                "bestimmungsgemaesse verwendung",
                "bestimmungsgemäße verwendung",
                "verwendungszweck"
            ]
        },
        {
            "key": "regulatory_status",
            "label": "Regulierungsstatus",
            "keywords": [
                "ce-kennzeichnung",
                "ce marked",
                "konformitaetserklaerung",
                "konformitätserklärung",
                "eudamed",
                "benannte stelle",
                "notified body",
                "hersteller"
            ]
        }
    ]
}

ohne_section / medizinprodukterecht-durchführungsgesetz (mpdg) / mdr

Medizinprodukte: CE-Kennzeichnung + MPDG-Konformität

c-05-medizinprodukt-ce-kennzeichnung

executablepublic_aistructured_page
Was macht diese Regel?

Werden Medizinprodukte (z.B. Pflaster, Blutdruckmessgeräte, Hörgeräte, bestimmte Apps) online angeboten/beworben, ist die CE-Kennzeichnung (MDR VO (EU) 2017/745) + Konformitätserklärung nach MPDG notwendig. Werbung muss CE-Angabe enthalten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_05, angebot:medizinprodukt_verkauf_werbung

  • branche_c_05 - greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt ist
  • angebot:medizinprodukt_verkauf_werbung - greift nur, wenn dieses Angebot/Produkt erkannt wurde: medizinprodukt verkauf werbung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Medizinprodukterecht-Durchführungsgesetz (MPDG) / MDR §§9, 11 MPDG; Art. 20 MDR CE-Kennzeichnung / Konformität

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_05greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:medizinprodukt_verkauf_werbunggreift nur, wenn dieses Angebot/Produkt erkannt wurde: medizinprodukt verkauf werbungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"medizinprodukt_verkauf_werbung"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_05"
        },
        {
            "angebot": "medizinprodukt_verkauf_werbung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-05-medizinprodukt-ce-kennzeichnung",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Produktseite: CE-Zeichen abgebildet, Produktkategorie/Risikoklasse\ngenannt, EU-Konformitätserklärung verlinkt?\n",
    "normalization": {
        "fix_type": [
            "partner",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_05"
            },
            {
                "angebot": "medizinprodukt_verkauf_werbung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt Medizinprodukterecht",
    "fix_text_vorlage": "Produktseite ergänzen mit CE-Kennzeichnung, Risikoklasse (I/IIa/IIb/III),\nHersteller-UDI, Verlinkung auf EU-Konformitätserklärung. Bei Zweifeln\nFachanwalt Medizinprodukterecht kontaktieren.\n"
}

ohne_section / messeg

Ladesäulen-Eichrecht (MessEG §33)

c-17-e-mobility-ladesäule-eichrecht

executablepublic_aistructured_page
Was macht diese Regel?

Öffentliche Ladesäulen müssen eichrechtskonform abrechnen (MessEG + MessEV). Anzeige der tatsächlich entnommenen kWh (nicht nur Sitzungsdauer!) und ordnungsgemäße Rechnungsstellung pflicht. Verstöße sind bußgeldbewehrt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_17, rolle:ladesaeulen_betreiber

  • branche_c_17 - greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt ist
  • rolle:ladesaeulen_betreiber - greift nur für diese fachliche Rolle: ladesaeulen betreiber
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

MessEG §33 Verwendung von Messgeräten im geschäftlichen Verkehr

Risiko: 1.000,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_17greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:ladesaeulen_betreibergreift nur für diese fachliche Rolle: ladesaeulen betreiberFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"ladesaeulen_betreiber"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_17"
        },
        {
            "rolle": "ladesaeulen_betreiber"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-17-e-mobility-ladesäule-eichrecht",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Rechnungen zeigen kWh-basierte Abrechnung? Eichschein dokumentiert?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_17"
            },
            {
                "rolle": "ladesaeulen_betreiber"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Eich-Hersteller (ABB, Mennekes, Compleo) + Landeseichamt.",
    "fix_text_vorlage": "\"Eichrechtskonforme Ladesäulen: kWh-Abrechnung nach MessEG §33, Eichfrist\n[...].\"\n"
}

ohne_section / milog

Lieferdienste: Auftraggeberhaftung §16 MiLoG

c-12-lieferdienst-mindestlohn-hinweis

executablepublic_aistructured_page
Was macht diese Regel?

Auftraggeber (z. B. Plattformen, Hauptspeditionen) haften nach §16 MiLoG für Mindestlohnverstöße ihrer Subunternehmer. Aus Transparenz- und UWG-Gründen sind die Regeln intern zu dokumentieren und auf Websites, die Subunternehmer suchen/werben, klar auszuweisen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_12, rolle:auftraggeber_subunternehmer

  • branche_c_12 - greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt ist
  • rolle:auftraggeber_subunternehmer - greift nur für diese fachliche Rolle: auftraggeber subunternehmer
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

MiLoG §16 Haftung des Auftraggebers

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_12greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:auftraggeber_subunternehmergreift nur für diese fachliche Rolle: auftraggeber subunternehmerFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"auftraggeber_subunternehmer"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_12"
        },
        {
            "rolle": "auftraggeber_subunternehmer"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-12-lieferdienst-mindestlohn-hinweis",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Werden Subunternehmer-Prüfpflichten (Mindestlohn-Erklärung) dokumentiert?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_12"
            },
            {
                "rolle": "auftraggeber_subunternehmer"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Subunternehmer-Kodex: §16 MiLoG — Nachweis Mindestlohn-Compliance.\"\n"
}

ohne_section / mstv

Journalistisch-redaktionelle Telemedien: Erweiterte Anbieterkennzeichnung (§18 MStV) — Verweis Cluster 15

a-ddg-mstv18-erweiterte-anbieterkennzeichnung

executablepublic_aiai_classification
Was macht diese Regel?

§18 MStV (Medienstaatsvertrag, in Kraft seit 07.11.2020) verpflichtet Anbieter journalistisch-redaktioneller Telemedien zu ERWEITERTEN Kennzeichnungspflichten, die über §5 DDG hinausgehen — insbesondere: - Einhaltung anerkannter journalistischer Grundsätze (§19 MStV) - Verantwortlicher-Benennung mit spezifischen Anforderungen (Wohnsitz/Geschäftssitz Inland, unbeschränkt geschäftsfähig, freie Verfügung über bürgerliche Ehrenrechte) - Kennzeichnung werblicher Inhalte - Auskunftsrecht nach §22 MStV für betroffene Dritte Die konkreten Pflichten werden im Ebene-C-Cluster 15 (Medien/Marketing) vollständig ausgearbeitet. Diese Ebene-A-Rule dient nur als TRIGGER: Wenn Scanner ein redaktionelles Angebot erkennt, wird die Rule-Engine den Cluster-15-Check auslösen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, diensteanbieter_geschaeftsmaessig
Mindestens eine muss passen: ist_journalistisch_redaktionelles_telemedium, ist_news_portal, ist_blog_mit_aktuellen_nachrichten

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • diensteanbieter_geschaeftsmaessig - greift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv ist
  • ist_journalistisch_redaktionelles_telemedium - greift, wenn KarlKI die Website so einordnet: journalistisch redaktionelles telemedium
  • ist_news_portal - greift, wenn KarlKI die Website so einordnet: news portal
  • ist_blog_mit_aktuellen_nachrichten - greift, wenn KarlKI die Website so einordnet: blog mit aktuellen nachrichten
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

MStV § 18 i. V. m. § 19 Informationspflichten / Anerkannte journalistische Grundsätze

Risiko: 887,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
diensteanbieter_geschaeftsmaessiggreift, wenn der Trigger "diensteanbieter_geschaeftsmaessig" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
ist_journalistisch_redaktionelles_telemediumgreift, wenn KarlKI die Website so einordnet: journalistisch redaktionelles telemediumSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
ist_news_portalgreift, wenn KarlKI die Website so einordnet: news portalSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
ist_blog_mit_aktuellen_nachrichtengreift, wenn KarlKI die Website so einordnet: blog mit aktuellen nachrichtenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "diensteanbieter_geschaeftsmaessig"
        }
    ],
    "oder": [
        {
            "scope": "ist_journalistisch_redaktionelles_telemedium"
        },
        {
            "scope": "ist_news_portal"
        },
        {
            "scope": "ist_blog_mit_aktuellen_nachrichten"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ddg-mstv18-erweiterte-anbieterkennzeichnung",
    "fix_type": "diy_text",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "- Wenn `ist_journalistisch_redaktionelles_telemedium` aus Classification-Schritt → Cluster-15-Trigger setzen.\n- Rule selbst in Ebene A liefert nur Hinweis: \"Ihre Seite unterliegt zusätzlich §18 MStV — Detail-Prüfung in Cluster 15\".\n- Bei unklarem Charakter (Blog mit sowohl Produkt-Infos als auch Meinung): Soft-Trigger + Nutzerabfrage.\n- Kein harter Fail in Ebene A — nur Pfadweiche.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "diensteanbieter_geschaeftsmaessig"
            }
        ],
        "oder": [
            {
                "scope": "ist_journalistisch_redaktionelles_telemedium"
            },
            {
                "scope": "ist_news_portal"
            },
            {
                "scope": "ist_blog_mit_aktuellen_nachrichten"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Bei reinen News-Portalen / journalistischen Angeboten: Medienanwalt-Upsell.\nTypische Aufgaben: §18-MStV-Konformitäts-Check, Kennzeichnung werblicher\nInhalte (Sponsored Content, Native Ads), Umgang mit\nGegendarstellungsansprüchen nach §20 MStV, Haftungsprivileg §7 DDG.\nCluster 15 führt die konkreten Prüfpunkte.\n",
    "fix_text_vorlage": "\"Hinweis für die rechtssichere Umsetzung:\n\nDa Ihre Website journalistisch-redaktionelle Inhalte anbietet (Blog,\nNews, Podcast), gelten zusätzlich zu § 5 DDG die Pflichten des\nMedienstaatsvertrags (MStV), insbesondere:\n  - § 18 MStV — erweiterte Anbieterkennzeichnung\n  - § 19 MStV — anerkannte journalistische Grundsätze\n  - § 22 MStV — Auskunftsrecht betroffener Personen\n\nDie vollständige Umsetzung wird im Cluster 15 (Medien/Marketing)\ngeprüft. Dieser Abschnitt kann nicht rechtsverbindlich im Alleingang\nkonfiguriert werden — siehe dortige Rules oder Partner-Weiterleitung.\"\n"
}

ohne_section / mstv

V.i.S.d.P. nach §18 Abs. 2 MStV

c-15-mstv-18-journalistisch-redaktionell

executablepublic_aistructured_page
Was macht diese Regel?

Journalistisch-redaktionelle Telemedien (auch private Blogs mit regel- mäßigen Beiträgen zur Meinungsbildung) müssen nach §18 Abs. 2 MStV Name und Anschrift eines Verantwortlichen im Sinne des Presserechts (V.i.S.d.P.) angeben.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_15, ist_journalistisch_redaktionell:true

  • branche_c_15 - greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt ist
  • ist_journalistisch_redaktionell:true - greift, wenn "ist journalistisch redaktionell" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

MStV §18 Abs. 2 Informationspflichten Telemedien

Risiko: 300,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_15greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
ist_journalistisch_redaktionell:truegreift, wenn "ist journalistisch redaktionell" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"ist_journalistisch_redaktionell":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_15"
        },
        {
            "ist_journalistisch_redaktionell": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-15-mstv-18-journalistisch-redaktionell",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum: \"V.i.S.d.P.: [Name, Anschrift]\" — getrennt von §5 DDG Block.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_und_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_15"
            },
            {
                "ist_journalistisch_redaktionell": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Verantwortlich für redaktionelle Inhalte nach §18 Abs. 2 MStV:\n[Name, Straße, PLZ, Ort]\"\n"
}

ohne_section / mstv

Werbekennzeichnung in Podcasts (§22 MStV)

c-15-podcast-episoden-kennzeichnung-werbung

executablepublic_aistructured_page
Was macht diese Regel?

Podcasts und rundfunkähnliche Telemedien müssen Werbung, Sponsoring und Product Placement klar kennzeichnen (§22 MStV). Audio-Disclaimer vor/nach Sponsor-Blöcken + Kennzeichnung in der Episoden-Beschreibung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_15, rolle:podcaster

  • branche_c_15 - greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt ist
  • rolle:podcaster - greift nur für diese fachliche Rolle: podcaster
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

MStV §22 Werbung, Sponsoring, Teleshopping

Risiko: 300,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_15greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:podcastergreift nur für diese fachliche Rolle: podcasterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"podcaster"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_15"
        },
        {
            "rolle": "podcaster"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-15-podcast-episoden-kennzeichnung-werbung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Wird Sponsoring/Werbung in Audio + Shownotes kenntlich gemacht?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_und_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_15"
            },
            {
                "rolle": "podcaster"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Shownotes: \"[WERBUNG] Diese Episode wird präsentiert von [...]\";\nAudio-Disclaimer: \"Dieser Podcast wird unterstützt von [...].\"\n"
}

ohne_section / neu ab 01.07.2023

Stiftungsaufsichtsbehörde (Landesrecht)

c-19-stiftung-aufsicht-land

executablepublic_aistructured_page
Was macht diese Regel?

Stiftungen bürgerlichen Rechts unterliegen der Stiftungsaufsicht des jeweiligen Bundeslandes (z. B. Bezirksregierung). Die zuständige Behörde ist im Impressum/Trust-Seite auszuweisen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_19, rolle:stiftung

  • branche_c_19 - greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt ist
  • rolle:stiftung - greift nur für diese fachliche Rolle: stiftung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

neu ab 01.07.2023 §§80 ff. BGB Stiftungsrecht

Risiko: 100,00 EUR bis 1.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_19greift, wenn Branche/Cluster branche_c_19 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:stiftunggreift nur für diese fachliche Rolle: stiftungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"stiftung"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_19"
        },
        {
            "rolle": "stiftung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-19-stiftung-aufsicht-land",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum: Stiftungsaufsicht + Anschrift + Stiftungsregisternummer?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_19"
            },
            {
                "rolle": "stiftung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Stiftungsaufsicht: Bezirksregierung [Ort]; Stiftungsregister-Nr.\n[Nummer].\"\n"
}

ohne_section / newsletter

Newsletter-Consent-Text unklar

newsletter.consent_text_weak

executablepublic_autoohne check_type
Was macht diese Regel?

Ob der Consent-Text für den Newsletter klar, getrennt und nicht mit AGB oder anderen Erklärungen vermischt ist.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG / DSGVO § 7 Abs. 2 Nr. 2 UWG; Art. 7 DSGVO Einwilligung und Nachweis für Werbung per elektronischer Post

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "newsletter_consent_text_quality",
    "what_it_checks": "Ob der Consent-Text fuer den Newsletter klar, getrennt und nicht mit AGB oder anderen Erklaerungen vermischt ist.",
    "evidence_sources": [
        "Formulartext",
        "Textauszug",
        "HTML-Ausschnitt"
    ],
    "legal_basis_refs": [
        "DSGVO Art. 6",
        "DSGVO Art. 7",
        "UWG § 7"
    ],
    "correction_template": {
        "type": "legal_fix",
        "instruction": "Einwilligungstext als eigenstaendige, klare Zustimmung mit Hinweis auf Inhalt und Widerruf formulieren."
    },
    "exposure_profile_key": "newsletter.consent_text_weak",
    "plain_language_label": "Newsletter-Einwilligung klar und getrennt",
    "requires_newsletter_form": true
}

ohne_section / newsletter

Double-Opt-In-Hinweis fehlt

newsletter.double_opt_in_hint_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft erkannte Newsletter-Formulare auf Double-Opt-In- und Widerrufshinweise.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG / DSGVO § 7 Abs. 2 Nr. 2 UWG; Art. 7 DSGVO Einwilligung und Nachweis für Werbung per elektronischer Post

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "newsletter_double_opt_in_hint",
    "requires_newsletter_form": true
}

ohne_section / newsletter

Newsletter-Formular erkannt

newsletter.form_detected

executablepublic_autoohne check_type
Was macht diese Regel?

Erkennt Newsletter-Anmeldeformulare auf Seitenebene.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Niedriges Risiko, Hinweis oder Feinschliff.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG / DSGVO § 7 Abs. 2 Nr. 2 UWG; Art. 7 DSGVO Einwilligung und Nachweis für Werbung per elektronischer Post

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: low

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "newsletter_form_detection"
}

ohne_section / newsletter

Abmeldehinweis fehlt

newsletter.unsubscribe_hint_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft erkannte Newsletter-Formulare auf sichtbaren Abmeldehinweis.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 7 Abs. 3 Abbestellmöglichkeit bei Werbung per elektronischer Post

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "newsletter_unsubscribe_hint",
    "requires_newsletter_form": true
}

ohne_section / nisv

NiSV §5 — Fachkundenachweis (Laser, IPL, Tattoo-Entfernung)

c-10-tattoo-niSV-fachkundenachweis

executablepublic_aistructured_page
Was macht diese Regel?

Seit 31.12.2020 dürfen Laser, hochenergetische intensive Lichtquellen (IPL), Hochfrequenzgeräte u.a. nach NiSV nur mit Fachkundenachweis (§5 NiSV) angewendet werden. Bestimmte Eingriffe (Tattoo-Entfernung, Fett­ reduktion) nur durch Ärzte (§4 NiSV). Website: Qualifikation + Geräte-Nennung + Hinweis auf Aufklärungspflicht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_10, angebot:laser_ipl_tattoo_entfernung

  • branche_c_10 - greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt ist
  • angebot:laser_ipl_tattoo_entfernung - greift nur, wenn dieses Angebot/Produkt erkannt wurde: laser ipl tattoo entfernung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

NiSV §§4, 5 Fachkunde / Arztvorbehalt

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_10greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:laser_ipl_tattoo_entfernunggreift nur, wenn dieses Angebot/Produkt erkannt wurde: laser ipl tattoo entfernungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"laser_ipl_tattoo_entfernung"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_10"
        },
        {
            "angebot": "laser_ipl_tattoo_entfernung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-10-tattoo-niSV-fachkundenachweis",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Website: Wird Laser/IPL/Tattoo-Entfernung beworben? Fachkundenachweis\nerwähnt? Arztvorbehalt beachtet?\n",
    "normalization": {
        "fix_type": [
            "partner",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld_betriebsverbot",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_10"
            },
            {
                "angebot": "laser_ipl_tattoo_entfernung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt Medizin-/Gewerberecht",
    "fix_text_vorlage": "Seitenabschnitt \"Fachkunde\" / \"Qualifikation\":\n\"Unsere Anwendungen mit [Lasergerät/IPL] erfolgen durch Personal mit\nFachkundenachweis nach §5 NiSV (erworben bei [Akademie], [Datum]).\nEingriffe nach §4 NiSV (Tattoo-Entfernung, Fett­reduktion) werden\ndurch unseren kooperierenden Arzt [Name] durchgeführt.\"\n"
}

ohne_section / omnibus

Greenwashing: Öko-Claims mit Nachweis (BGH Katjes)

c-17-greenwashing-nachweis-umweltclaim

executablepublic_aistructured_page
Was macht diese Regel?

"Klimaneutral", "CO2-frei", "grün" etc. müssen konkret erläutert und nachweisbar sein (§5 UWG + UGP-RL-Update Omnibus). BGH I ZR 98/23 (27.06.2024) verlangt Erläuterung direkt beim Claim (Kompensation vs. Vermeidung).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_17, wirbt_mit_nachhaltigkeit:true

  • branche_c_17 - greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt ist
  • wirbt_mit_nachhaltigkeit:true - greift, wenn "wirbt mit nachhaltigkeit" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Omnibus §5 UWG Irreführende Werbung

Risiko: 1.000,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_17greift, wenn Branche/Cluster branche_c_17 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
wirbt_mit_nachhaltigkeit:truegreift, wenn "wirbt mit nachhaltigkeit" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"wirbt_mit_nachhaltigkeit":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_17"
        },
        {
            "wirbt_mit_nachhaltigkeit": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-17-greenwashing-nachweis-umweltclaim",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Neben jedem Öko-Claim: Erklärung (Kompensation/Vermeidung), Nachweis,\nZertifikats-Link?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_und_unterlassung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_17"
            },
            {
                "wirbt_mit_nachhaltigkeit": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Klimaneutral (durch Kompensation über [Zertifikat XY]). Weitere Infos:\n[Link Methoden-Dokument].\"\n"
}

ohne_section / owner_batterien

BattDG-Registrierungsnachweis per Owner-Kontext

owner.battdg_registration_evidence_required

requires_owner_permissionowner_deepself_assessment
Was macht diese Regel?

Ob der Owner Batteriekategorien, Herstellerrolle und Registrierungsnummer für den deutschen Markt bestaetigen kann.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: 0:ist_shop

  • 0:ist_shop - greift, wenn das Zusatzmerkmal "0" den Wert "ist shop" hat
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Batterierecht-Durchfuehrungsgesetz / Regulation (EU) 2023/1542 § 5 BattDG Registrierung der Hersteller

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: high

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
0:ist_shopgreift, wenn das Zusatzmerkmal "0" den Wert "ist shop" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        "ist_shop"
    ]
}
definition
{
    "strategy": "owner_evidence_required",
    "what_it_checks": "Ob der Owner Batteriekategorien, Herstellerrolle und Registrierungsnummer fuer den deutschen Markt bestaetigen kann.",
    "evidence_prompt": "Bitte Batteriekategorie, Hersteller-/Importeurrolle, Marke und Registrierungsnummer oder Begruendung fuer Nichtanwendbarkeit bereitstellen.",
    "legal_basis_refs": [
        "BattDG § 5"
    ],
    "plain_language_label": "Batterieregistrierung klaeren",
    "requires_owner_permission": true
}

ohne_section / owner_verpackung

VerpackG-Registrierungsnachweis per Owner-Kontext

owner.verpackg_registration_evidence_required

requires_owner_permissionowner_deepself_assessment
Was macht diese Regel?

Ob der Owner Registrierungsnummer, Verpackungsrolle und Systembeteiligung für in Deutschland in Verkehr gebrachte Verpackungen bestaetigen kann.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: 0:ist_shop

  • 0:ist_shop - greift, wenn das Zusatzmerkmal "0" den Wert "ist shop" hat
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Verpackungsgesetz § 9 Registrierung

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: high

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
0:ist_shopgreift, wenn das Zusatzmerkmal "0" den Wert "ist shop" hatFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        "ist_shop"
    ]
}
definition
{
    "strategy": "owner_evidence_required",
    "what_it_checks": "Ob der Owner Registrierungsnummer, Verpackungsrolle und Systembeteiligung fuer in Deutschland in Verkehr gebrachte Verpackungen bestaetigen kann.",
    "evidence_prompt": "Bitte VerpackG-Registrierungsnummer, Marken/Verpackungsarten und Systembeteiligung oder Begruendung fuer Nichtanwendbarkeit bereitstellen.",
    "legal_basis_refs": [
        "VerpackG § 9"
    ],
    "plain_language_label": "Verpackungsregistrierung klaeren",
    "requires_owner_permission": true
}

ohne_section / pangv

§11 PAngV — 30-Tage-Tiefstpreis bei Rabatten

c-07-pangv-streichpreise-30-tage

executablepublic_aistructured_page
Was macht diese Regel?

Bei jeder Preisermäßigung (Streichpreis, "Rabatt", "Sale") muss der niedrigste Gesamtpreis der letzten 30 Tage als Bezugspreis angegeben werden. Praxis: durchgestrichener Preis ist der 30-Tage-Tiefstpreis, nicht UVP/Normalpreis (EuGH C-146/22).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_07, angebot:streichpreis_rabatt_sale

  • branche_c_07 - greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt ist
  • angebot:streichpreis_rabatt_sale - greift nur, wenn dieses Angebot/Produkt erkannt wurde: streichpreis rabatt sale
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PAngV §11 Preisermäßigung

Risiko: 1.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_07greift, wenn Branche/Cluster branche_c_07 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:streichpreis_rabatt_salegreift nur, wenn dieses Angebot/Produkt erkannt wurde: streichpreis rabatt saleFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"streichpreis_rabatt_sale"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_07"
        },
        {
            "angebot": "streichpreis_rabatt_sale"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-07-pangv-streichpreise-30-tage",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Streichpreise prüfen: Ist der durchgestrichene Preis der 30-Tage-\nTiefstpreis? Nicht UVP, nicht Wunschpreis!\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_07"
            },
            {
                "angebot": "streichpreis_rabatt_sale"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Beispiel-Darstellung:\n\"€ 29,99  ~~(€ 39,99 niedrigster Preis der letzten 30 Tage)~~\"\noder ausgeschrieben:\n\"Statt € 39,99 (niedrigster Preis der letzten 30 Tage) — jetzt € 29,99\"\n"
}

ohne_section / pangv

PAngV greift nicht bei reinem B2B

c-08-pangv-nur-wenn-auch-b2c

executablepublic_aistructured_page
Was macht diese Regel?

§1 Abs. 1 PAngV erfasst nur Angebote gegenüber Verbrauchern. Im reinen B2B müssen Preise nicht als Gesamtpreis inkl. USt dargestellt werden — Netto-Preise sind zulässig, wenn deutlich "zzgl. USt" gekennzeichnet.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_08

  • branche_c_08 - greift, wenn Branche/Cluster branche_c_08 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PAngV §1 Abs. 1 Anwendungsbereich

Risiko: 200,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_08greift, wenn Branche/Cluster branche_c_08 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_08"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-08-pangv-nur-wenn-auch-b2c",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Wenn reiner B2B: Netto-Preise zulässig + \"zzgl. USt\" klar.\nVorsicht bei Google-Shopping / offenen SEO-Seiten → faktischer B2C-Bezug\nmöglich!\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bei_mixfall",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_08"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Preise darstellen:\n\"€ 850,00 netto (zzgl. 19 % USt = € 1.011,50 brutto)\"\nAuf allen Produktseiten + Kategorieseiten konsistent.\n"
}

ohne_section / pangv

Grundpreis pro kg/l bei Fertigpackungen (PAngV §4)

c-09-grundpreis-pro-kg-l

executablepublic_aistructured_page
Was macht diese Regel?

Querverweis zu Cluster 07 Rule 7.3: Lebensmittel in Fertigpackungen benötigen Grundpreis (€/kg, €/l) in unmittelbarer Nähe des Gesamtpreises.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_09, angebot:lebensmittel_fertigpackung

  • branche_c_09 - greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt ist
  • angebot:lebensmittel_fertigpackung - greift nur, wenn dieses Angebot/Produkt erkannt wurde: lebensmittel fertigpackung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PAngV §4 Grundpreis

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_09greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:lebensmittel_fertigpackunggreift nur, wenn dieses Angebot/Produkt erkannt wurde: lebensmittel fertigpackungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"lebensmittel_fertigpackung"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_09"
        },
        {
            "angebot": "lebensmittel_fertigpackung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-09-grundpreis-pro-kg-l",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Lebensmittel-Produktseiten: €/kg oder €/l neben Endpreis?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_09"
            },
            {
                "angebot": "lebensmittel_fertigpackung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"€ 5,99 (€ 11,98 / kg)\"\n"
}

ohne_section / pangv

Endpreis Übernachtung inkl. USt + Kurtaxe-Hinweis

c-11-preisangabe-ubernachtung

executablepublic_aistructured_page
Was macht diese Regel?

Nach PreisAngV §3 ist der Gesamtpreis inkl. Steuern anzugeben. Kurtaxe/ Bettensteuer, die zwingend vom Gast zu zahlen sind, gehören in den End- preis ODER müssen klar und blickfangmäßig neben dem Preis ausgewiesen werden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_11

  • branche_c_11 - greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PAngV §3 Gesamtpreis

Risiko: 300,00 EUR bis 2.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_11greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_11"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-11-preisangabe-ubernachtung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Wird Kurtaxe/Bettensteuer sichtbar (nicht nur in AGB) genannt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_11"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Preisanzeige \"ab 120 € / Nacht inkl. USt, zzgl. Kurtaxe 3,50 € / Person / Tag\".\n"
}

ohne_section / pbefg

PBefG-Genehmigung Personenbeförderung sichtbar

c-12-pbefg-genehmigung-personenbefoerderung

executablepublic_aistructured_page
Was macht diese Regel?

Wer gewerbsmäßig Personen mit Kraftfahrzeugen befördert, benötigt eine Genehmigung nach §2 PBefG (Taxi, Mietwagen, Gelegenheitsverkehr, Linien- verkehr). Die Genehmigungsbehörde und -nummer sind im Impressum/in den AGB auszuweisen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_12, rolle:personenbefoerderung

  • branche_c_12 - greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt ist
  • rolle:personenbefoerderung - greift nur für diese fachliche Rolle: personenbefoerderung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PBefG §2 Genehmigungspflicht

Risiko: 500,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_12greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:personenbefoerderunggreift nur für diese fachliche Rolle: personenbefoerderungFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"personenbefoerderung"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_12"
        },
        {
            "rolle": "personenbefoerderung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-12-pbefg-genehmigung-personenbefoerderung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum: \"Genehmigung nach §2 PBefG erteilt durch ...\", Nummer + Behörde.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_und_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_12"
            },
            {
                "rolle": "personenbefoerderung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Personenbeförderungsrechtliche Genehmigung nach §2 PBefG, erteilt durch\n[Behörde], Aktenzeichen [...], gültig bis [Datum].\"\n"
}

ohne_section / pbefg

Taxi-Tarife amtlich & öffentlich

c-12-taxi-tarife-öffentlich

executablepublic_aistructured_page
Was macht diese Regel?

Taxitarife werden von den Kommunen/Ländern per Rechtsverordnung fest- gesetzt (§51 PBefG). Der aktuelle Tarif muss im Fahrzeug UND auf der Website des Unternehmens jederzeit einsehbar sein.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_12, rolle:taxi

  • branche_c_12 - greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt ist
  • rolle:taxi - greift nur für diese fachliche Rolle: taxi
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PBefG §51 Beförderungsentgelte und -bedingungen im Taxenverkehr

Risiko: 200,00 EUR bis 1.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_12greift, wenn Branche/Cluster branche_c_12 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:taxigreift nur für diese fachliche Rolle: taxiFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"taxi"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_12"
        },
        {
            "rolle": "taxi"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-12-taxi-tarife-oeffentlich",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Tarif-Seite: Grundgebühr, km-Preis, Wartezeit, Zuschläge aktuell gelistet?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_12"
            },
            {
                "rolle": "taxi"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Unser Tarif folgt der Taxen-Verordnung [Kommune] vom [Datum]: Grundpreis\nX €, je km Y €, Wartezeit Z €/h.\"\n"
}

ohne_section / pci-dss v4.0

Kartendaten niemals direkt auf eigener Domain entgegennehmen

b-zahlung-pci-scope-iframe-redirect

executableowner_deepai_semantic
Was macht diese Regel?

Wer selbst Kartendaten in HTML-Formularen auf der eigenen Domain entgegennimmt, fällt in höhere PCI-DSS-Scopes (SAQ-A-EP, SAQ-D) mit erheblichen Audit- und Sicherheitspflichten. Standard-Lösung: iframe/Redirect zum PSP (Stripe Elements/Hosted, PayPal Checkout). Dadurch SAQ-A-Scope, minimale Pflichten. Verstoß = Haftungsrisiko bei Datenpanne, Vertragsstrafen der Kartenschemes (Mastercard/Visa).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: akzeptiert_kartenzahlung

  • akzeptiert_kartenzahlung - greift, wenn der Trigger "akzeptiert_kartenzahlung" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PCI-DSS v4.0 Req. 3 und 4 Schutz gespeicherter und übertragener Karteninhaberdaten

Risiko: 5.000,00 EUR bis 100.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: critical

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
akzeptiert_kartenzahlunggreift, wenn der Trigger "akzeptiert_kartenzahlung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "akzeptiert_kartenzahlung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-zahlung-pci-scope-iframe-redirect",
    "fix_type": "diy_template",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Checkout-Seite aufrufen: Werden Kartenfelder (Nummer, CVV) im\neigenen HTML abgefragt, oder erscheinen sie in einem iframe des\nPSP (z. B. js.stripe.com)? Eigene Formularfelder = Scope-Problem.\n",
    "normalization": {
        "fix_type": [
            "code_template",
            "diy_template"
        ],
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "akzeptiert_kartenzahlung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "technik_web",
    "fix_text_vorlage": "Payment-Integration auf Stripe Elements, Stripe Checkout, Adyen\nHosted Payment Pages, PayPal Hosted Fields oder vergleichbare\niframe-Lösung umstellen. Keine Kartendaten im eigenen Frontend-\nState. Alternativ: Vollständige Redirect-Lösung.\n"
}

ohne_section / plattform

AGB-DSA-Signale fehlen

platform.agb_dsa_signals_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft AGB-Seiten in Plattformkontexten auf DSA-relevante Basissignale.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 14 VO (EU) 2022/2065 Informationen in Allgemeinen Geschaeftsbedingungen für Vermittlungsdienste

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "platform_agb_dsa_signals",
    "platform_gate": true
}

ohne_section / plattform

DSA-Kontaktstelle fehlt

platform.dsa_contact_point_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Plattformkontexte auf eine Kontaktstelle für Behoerden und Nutzeranliegen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 11 VO (EU) 2022/2065 Zentrale Kontaktstelle für Behoerden und Nutzer

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "platform_dsa_contact_point",
    "platform_gate": true
}

ohne_section / plattform

Marktplatz-Impressumssignale fehlen

platform.marketplace_impressum_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Marktplatzkontexte auf Haendler-Impressumssignale.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 30 VO (EU) 2022/2065 Rueckverfolgbarkeit von Unternehmern auf Online-Plattformen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "platform_marketplace_impressum",
    "platform_gate": true,
    "marketplace_gate": true
}

ohne_section / plattform

Notice-and-Action-Flow fehlt

platform.notice_action_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Plattformkontexte auf einen Melde-/Beschwerdeprozess für illegale Inhalte.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 16 VO (EU) 2022/2065 Melde- und Abhilfeverfahren für rechtswidrige Inhalte

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "platform_notice_action",
    "platform_gate": true
}

ohne_section / plattform

Transparenzbericht-Hinweis fehlt

platform.transparency_report_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Plattformkontexte auf Hinweise zu Transparenzberichten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSA Art. 15 VO (EU) 2022/2065 Transparenzberichtspflichten für Vermittlungsdienste

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "platform_transparency_report",
    "platform_gate": true
}

ohne_section / plattform_transparenz

P2B-Rankingtransparenz fehlt

platform.p2b_ranking_transparency_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Plattform-, Such- und Vergleichskontexte auf Hinweise zu wesentlichen Rankingparametern.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:plattform_transparenz - greift, wenn das Zusatzmerkmal "scope signal" den Wert "plattform transparenz" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Regulation (EU) 2019/1150 - Platform-to-Business Regulation Art. 5 Ranking

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "plattform_transparenz"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.73,
    "fail_summary": "Ranking-/Such-Scope erkannt, aber keine Rankingparameter-Transparenz gefunden.",
    "pass_summary": "Ranking-/Such-Scope und Rankingparameter-Transparenz wurden erkannt.",
    "gate_keywords": [
        "ranking",
        "sortierung",
        "suchergebnis",
        "relevanz",
        "platzierung",
        "vergleich",
        "marketplace",
        "marktplatz"
    ],
    "legal_basis_refs": [
        "P2B Art. 5"
    ],
    "correction_instruction": "Die wesentlichen Rankingparameter klar und verstaendlich in Plattformbedingungen oder Hilfetexten erklaeren.",
    "not_applicable_summary": "Keine Ranking- oder Such-Signale erkannt.",
    "required_signal_groups": [
        {
            "key": "ranking_parameters",
            "label": "Rankingparameter",
            "keywords": [
                "hauptparameter",
                "ranking-parameter",
                "ranking parameter",
                "sortierkriterien",
                "wesentliche parameter",
                "main parameters"
            ]
        }
    ]
}

ohne_section / plattform_transparenz

P2B-Plattformbedingungen unvollständig

platform.p2b_terms_transparency_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Plattform-/Marketplace-Kontexte auf auffindbare Business-User-Bedingungen und Restriktions-/Änderungssignale.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:plattform_transparenz - greift, wenn das Zusatzmerkmal "scope signal" den Wert "plattform transparenz" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Regulation (EU) 2019/1150 - Platform-to-Business Regulation Art. 3 Terms and conditions

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "plattform_transparenz"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.74,
    "fail_summary": "P2B-Plattform-Scope erkannt, aber Business-User-Transparenzsignale fehlen.",
    "pass_summary": "P2B-Plattform-Scope und Business-User-Transparenzsignale wurden erkannt.",
    "gate_keywords": [
        "marketplace",
        "marktplatz",
        "plattform",
        "haendler",
        "händler",
        "seller",
        "business user",
        "anbieter"
    ],
    "legal_basis_refs": [
        "P2B Art. 3"
    ],
    "correction_instruction": "Business-User-Bedingungen mit klaren Angaben zu Restriktion, Sperrung, Kuendigung und Aenderungen sichtbar bereitstellen.",
    "not_applicable_summary": "Keine P2B-Plattformsignale erkannt.",
    "required_signal_groups": [
        {
            "key": "business_terms",
            "label": "Business-User-Bedingungen",
            "keywords": [
                "agb",
                "nutzungsbedingungen",
                "terms",
                "terms and conditions",
                "plattformbedingungen"
            ]
        },
        {
            "key": "restriction_change_rules",
            "label": "Sperrung, Kuendigung oder Aenderung",
            "keywords": [
                "sperrung",
                "kuendigung",
                "kündigung",
                "einschraenkung",
                "beschraenkung",
                "restriction",
                "termination",
                "aenderung",
                "änderung"
            ]
        }
    ]
}

ohne_section / podg

Medizinische Fußpflege = Podologe (PodG geschützt)

c-10-medizinische-fusspflege-abgrenzung

executablepublic_aistructured_page
Was macht diese Regel?

Die Berufsbezeichnung "Podologe/Podologin" bzw. "Medizinische/r Fußpfleger/in" ist nach §1 PodG geschützt. Ohne staatliche Erlaubnis (nach 2-jähriger Ausbildung) darf der Titel nicht geführt werden. Werbung mit "medizinisch" / "therapeutisch" nur mit Podologen-Urkunde. Nicht-medizinische Fußpflege darf nicht als "medizinisch" bezeichnet werden (UWG §5 Irreführung).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_10, angebot:fusspflege

  • branche_c_10 - greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt ist
  • angebot:fusspflege - greift nur, wenn dieses Angebot/Produkt erkannt wurde: fusspflege
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PodG §1 Berufsbezeichnung

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_10greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:fusspflegegreift nur, wenn dieses Angebot/Produkt erkannt wurde: fusspflegeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"fusspflege"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_10"
        },
        {
            "angebot": "fusspflege"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-10-medizinische-fusspflege-abgrenzung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Website: \"medizinische Fußpflege\"/\"Podologie\" genannt? Urkundennachweis?\nSonst: in \"kosmetische Fußpflege\" umbenennen.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_10"
            },
            {
                "angebot": "fusspflege"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Falls KEIN Podologe: \"Medizinisch\"/\"Podologie\" streichen. Ersatz:\n\"Kosmetische Fußpflege\", \"Wellness-Fußpflege\".\nFalls Podologe: \"Podologin nach staatlicher Anerkennung gem. §1 PodG\"\n+ Erlaubnisurkunde bereit halten.\n"
}

ohne_section / produktsicherheit

GPSR-Produktsicherheitsinformationen fehlen

product.gpsr_distance_sale_info_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft Produktdetailseiten im Fernabsatz auf Hersteller-/Verantwortlichen-, Produktidentifikations- und Warnhinweise.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:produktsicherheit - greift, wenn das Zusatzmerkmal "scope signal" den Wert "produktsicherheit" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Regulation (EU) 2023/988 - General Product Safety Regulation Art. 19 Obligations of economic operators in the case of distance sales

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "produktsicherheit"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.76,
    "fail_summary": "Produkt-Fernabsatz-Scope erkannt, aber GPSR-Pflichtsignale fehlen.",
    "pass_summary": "Produkt-Fernabsatz-Scope und GPSR-Pflichtsignale wurden erkannt.",
    "gate_keywords": [
        "produkt",
        "product",
        "warenkorb",
        "kaufen",
        "sku",
        "artikelnummer",
        "modell",
        "bestellen"
    ],
    "legal_basis_refs": [
        "GPSR Art. 19"
    ],
    "correction_instruction": "Hersteller/verantwortliche Person, Produktidentifikation sowie Warn- oder Sicherheitshinweise im Produktangebot sichtbar ergaenzen.",
    "not_applicable_summary": "Keine Produkt-Fernabsatz-Signale erkannt.",
    "required_signal_groups": [
        {
            "key": "responsible_person",
            "label": "Hersteller oder verantwortliche Person",
            "keywords": [
                "hersteller",
                "manufacturer",
                "verantwortliche person",
                "name und anschrift",
                "postal address",
                "anschrift",
                "email",
                "e-mail"
            ]
        },
        {
            "key": "product_identifier",
            "label": "Produktidentifikation",
            "keywords": [
                "sku",
                "artikelnummer",
                "modell",
                "typ",
                "type",
                "product identifier",
                "produktkennung"
            ]
        },
        {
            "key": "safety_information",
            "label": "Warn- oder Sicherheitshinweise",
            "keywords": [
                "sicherheitshinweis",
                "sicherheitshinweise",
                "warnhinweis",
                "warning",
                "safety information",
                "produktsicherheit",
                "risiko"
            ]
        }
    ]
}

ohne_section / psd2, rl 2015/2366

3D-Secure 2.0 bei Kartenzahlungen aktiviert

b-zahlung-sca-3ds2-aktiv

executableowner_deepai_semantic
Was macht diese Regel?

PSD2 Art. 97 i. V. m. RTS (Regulatory Technical Standards) verlangt für Online-Zahlungen Starke Kundenauthentifizierung (SCA): zwei unabhängige Faktoren aus Wissen, Besitz, Inhärenz. Technische Umsetzung im Kartengeschäft: 3D-Secure 2.0 (3DS2). Ausnahmen z. B. bei Geringfügigkeit (< 30 €, max. 5 Transaktionen oder 100 €), Trusted Beneficiary, Low-Risk-Transaktionen (TRA). Ohne SCA geht der Haftungs-Shift auf den Händler — Zahlungsausfall bei Chargeback.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: akzeptiert_kartenzahlung

  • akzeptiert_kartenzahlung - greift, wenn der Trigger "akzeptiert_kartenzahlung" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

PSD2, RL 2015/2366 Art. 97 i. V. m. RTS (VO 2018/389) Starke Kundenauthentifizierung

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: high

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
akzeptiert_kartenzahlunggreift, wenn der Trigger "akzeptiert_kartenzahlung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "akzeptiert_kartenzahlung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-zahlung-sca-3ds2-aktiv",
    "fix_type": "diy_template",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Testzahlung mit Kreditkarte durchführen: Wird ein 3DS2-Challenge\n(SMS, App-Push, biometrische Bestätigung) ausgelöst? Oder geht\ndie Zahlung ohne zweiten Faktor durch? PSP-Dashboard prüfen,\nob 3DS2 aktiv konfiguriert ist.\n",
    "normalization": {
        "fix_type": [
            "code_template",
            "diy_template"
        ],
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "zivilrechtlich",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "akzeptiert_kartenzahlung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "technik_web",
    "fix_text_vorlage": "Im PSP-Dashboard (Stripe/Adyen) 3DS2-Enforcement aktivieren.\nTRA-Ausnahmen (Risk-Engine) nur bewusst einsetzen. Rate-Exemption\nbei kleinen Beträgen konfigurieren, Haftungs-Shift beachten.\n"
}

ohne_section / rsg

Sicherungsschein & Insolvenzversicherung

c-11-insolvenzsicherung-DRV

executablepublic_aistructured_page
Was macht diese Regel?

Reiseveranstalter müssen vor Zahlungserhalt einen Sicherungsschein ausstellen, der im Insolvenzfall Vorauszahlungen und Rückreise abdeckt (§651r BGB). Seit 01.11.2021 ergänzend Pflichtbeitrag zum Deutschen Reisesicherungsfonds (DRSF) für Veranstalter > 10 Mio. € Umsatz.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_11, rolle:reiseveranstalter

  • branche_c_11 - greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt ist
  • rolle:reiseveranstalter - greift nur für diese fachliche Rolle: reiseveranstalter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

RSG §651r BGB; §§6, 7 RSG Absicherung des Reisenden

Risiko: 1.000,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_11greift, wenn Branche/Cluster branche_c_11 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:reiseveranstaltergreift nur für diese fachliche Rolle: reiseveranstalterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"reiseveranstalter"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_11"
        },
        {
            "rolle": "reiseveranstalter"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-11-insolvenzsicherung-DRV",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Ist Versicherer/DRSF-Mitgliedsnummer auf Website sichtbar? Wird\nSicherungsschein bei Buchungsabschluss übermittelt?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "abmahnung_und_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_11"
            },
            {
                "rolle": "reiseveranstalter"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Versicherungspartner z. B. R+V, tourVERS oder DRSF-Anbindung",
    "fix_text_vorlage": "Footer/AGB: \"Kundengeldabsicherung: [Versicherer/DRSF], Nr. ...\"\n"
}

ohne_section / security

Darknet-Leak-Signal für Domain erkannt

domain.darknet_leak_detected

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Domain-Leak-Signale (z. B. HIBP-Domainabfrage) und markiert betroffene Konten als Risikohinweis.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "source": "domain_risk.darknet_leak",
    "strategy": "domain_darknet_leak_signal",
    "status_match": "leaked"
}

ohne_section / security

Offene Netzwerk-Ports ausserhalb Standardprofil

security.open_ports_exposed

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Port-Scan-Signale auf offen erreichbare, nicht standardmaessige Ports.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "source": "network_ports",
    "strategy": "network_ports_non_standard",
    "safe_ports": [
        80,
        443
    ]
}

ohne_section / security

CMS-/Tech-Stack erkannt

tech_stack.cms_detected

executablepublic_autoohne check_type
Was macht diese Regel?

Erkennt CMS-Signale und liefert technische Wartungs- und Hardening-Hinweise.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Niedriges Risiko, Hinweis oder Feinschliff.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: low

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "source": "domain_risk.tech_stack",
    "strategy": "tech_stack_cms_detection",
    "include_repair_guides": true
}

ohne_section / steuerberatungsgesetz (stberg) / bostb

Steuerberater: BOStB Impressum + StBerG

c-04-stb-bostb-impressum

executablepublic_aistructured_page
Was macht diese Regel?

Steuerberater / Steuerbevollmächtigte müssen analog BORA im Impressum nennen: Berufsbezeichnung + verleihendes Bundesland, Steuerberaterkammer, StBerG + BOStB + StBVV als berufsrechtliche Regelungen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_04, beruf:steuerberater

  • branche_c_04 - greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt ist
  • beruf:steuerberater - greift nur für diesen reglementierten Beruf: steuerberater
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Steuerberatungsgesetz (StBerG) / BOStB §57a StBerG; §9 BOStB Werbung / Auftritt

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_04greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
beruf:steuerberatergreift nur für diesen reglementierten Beruf: steuerberaterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"beruf":"steuerberater"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_04"
        },
        {
            "beruf": "steuerberater"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-04-stb-bostb-impressum",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum prüfen: Bezeichnung + Bundesland + StBK + StBerG/BOStB/StBVV?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_kammerruege",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_04"
            },
            {
                "beruf": "steuerberater"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Berufsbezeichnung: Steuerberater/in (verliehen im Bundesland [X])\nZuständige Kammer: Steuerberaterkammer [Bundesland], [Adresse], [Web]\nAnwendbare berufsrechtliche Regelungen:\n- Steuerberatungsgesetz (StBerG)\n- Berufsordnung der Steuerberater (BOStB)\n- Steuerberatervergütungsverordnung (StBVV)\nEinsehbar unter: https://www.bstbk.de/berufsrecht\"\n"
}

ohne_section / stgb

§203 StGB Schweigepflicht — Hinweis in DSE

c-04-schweigepflicht-§203-stgb

executablepublic_aistructured_page
Was macht diese Regel?

Die Berufsgeheimnisträger (Anwalt, StB, WP, Arzt, Notar, Psychotherapeut) unterliegen der strafbewehrten Schweigepflicht nach §203 StGB. Bei der Einbindung externer IT-Dienstleister (Cloud, Hosting, Soft­ware-Wartung) ist §203 Abs. 3 StGB zu beachten (Verschwiegenheitsverpflichtung). In der Datenschutzerklärung Transparenz: Welche Dienstleister sind eingebunden, Verschwiegenheitspflicht nach §203 StGB.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_04

  • branche_c_04 - greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

StGB §203 Verletzung von Privatgeheimnissen

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_04greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_04"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-04-schweigepflicht-§203-stgb",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Datenschutzerklärung auf §203-Hinweis + Auftragsverarbeiter mit\nVerschwiegenheitsverpflichtung prüfen.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "straftat_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_04"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Datenschutzbeauftragter / Fachanwalt IT-Recht",
    "fix_text_vorlage": "\"Als Berufsgeheimnisträger nach §203 StGB unterliegen wir einer\nbesonderen Schweigepflicht. Alle eingebundenen Dienstleister\n(Hosting, Cloud, Kanzleisoftware) sind gem. §203 Abs. 4 StGB zur\nVerschwiegenheit verpflichtet. Ein Auftragsverarbeitungsvertrag\nnach Art. 28 DSGVO liegt für jeden Dienstleister vor.\"\n"
}

ohne_section / stgb

§203 StGB Schweigepflicht — Hinweis in DSE

c-05-schweigepflicht-§203-stgb

executablepublic_aistructured_page
Was macht diese Regel?

Heilberufe (Arzt, Zahnarzt, Psychotherapeut, Apotheker, Heilpraktiker mit abgeleiteter Verschwiegenheit) unterliegen §203 StGB. DSE muss Verarbeitung Gesundheitsdaten (Art. 9 DSGVO) + §203-Hinweis + AV- Verträge mit Praxisverwaltung/Cloud/Abrechnungsdienstleister nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_05

  • branche_c_05 - greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

StGB §203 Verletzung von Privatgeheimnissen

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_05greift, wenn Branche/Cluster branche_c_05 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_05"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-05-schweigepflicht-§203-stgb",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DSE auf §203-Hinweis + Auftragsverarbeiter-Liste + Verschwiegenheits-\nverpflichtung nach §203 Abs. 4 StGB prüfen.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "straftat_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_05"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "DSB Gesundheitswesen",
    "fix_text_vorlage": "\"Schweigepflicht: Als Angehörige eines Heilberufs unterliegen wir der\nVerschwiegenheitspflicht nach §203 StGB. Eingebundene Dienstleister\n(Praxisverwaltung, Labor-EDV, Abrechnungsstelle) sind nach §203 Abs. 4\nStGB zur Verschwiegenheit verpflichtet; AV-Vertrag nach Art. 28 DSGVO\nliegt vor.\"\n"
}

ohne_section / tabakerzg

Tabak-/Vape-Werbeverbot TabakErzG §§19–21

c-18-vape-tabakerzg-werbung-verbot

executablepublic_aistructured_page
Was macht diese Regel?

Werbung für Tabakerzeugnisse, E-Zigaretten, Nachfüllbehälter und verwandte Produkte in Online-Medien, Social Media, Sponsoring ist weitgehend verboten (§§19–21 TabakErzG, RL 2003/33/EG). Nur B2B-/ Fachmedien sind eingeschränkt zulässig.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_18, rolle:tabak_vape

  • branche_c_18 - greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt ist
  • rolle:tabak_vape - greift nur für diese fachliche Rolle: tabak vape
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TabakErzG §§19–21 Werbeverbote

Risiko: 2.000,00 EUR bis 30.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_18greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:tabak_vapegreift nur für diese fachliche Rolle: tabak vapeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"tabak_vape"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_18"
        },
        {
            "rolle": "tabak_vape"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-18-vape-tabakerzg-werbung-verbot",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Werbung auf Social Media / Display / Newsletter = unzulässig. Altersprüfung\nfür Shops.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_18"
            },
            {
                "rolle": "tabak_vape"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Verkauf ausschließlich an Volljährige; keine Werbung außerhalb Fach-\nhandel. Altersprüfung nach §10 JuSchG.\"\n"
}

ohne_section / technik

Content-Security-Policy gesetzt

security_headers.csp_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft, ob Content-Security-Policy in den Response-Headern vorhanden ist.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "security_header_presence",
    "required_header": "Content-Security-Policy"
}

ohne_section / technik

Strict-Transport-Security gesetzt

security_headers.hsts_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft, ob Strict-Transport-Security in den Response-Headern vorhanden ist.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "security_header_presence",
    "required_header": "Strict-Transport-Security"
}

ohne_section / technik

Permissions-Policy gesetzt

security_headers.permissions_policy_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft, ob Permissions-Policy in den Response-Headern vorhanden ist.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "security_header_presence",
    "required_header": "Permissions-Policy"
}

ohne_section / technik

Referrer-Policy gesetzt

security_headers.referrer_policy_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft, ob Referrer-Policy in den Response-Headern vorhanden ist.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "security_header_presence",
    "required_header": "Referrer-Policy"
}

ohne_section / technik

X-Content-Type-Options gesetzt

security_headers.x_content_type_options_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft, ob X-Content-Type-Options in den Response-Headern vorhanden ist.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "security_header_presence",
    "required_header": "X-Content-Type-Options"
}

ohne_section / technik

X-Frame-Options gesetzt

security_headers.x_frame_options_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft, ob X-Frame-Options in den Response-Headern vorhanden ist.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "security_header_presence",
    "required_header": "X-Frame-Options"
}

ohne_section / technik

Technische Erreichbarkeit der gescannten Seiten

tech.page_reachable

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen Risikohinweis, wenn Seiten im Scan mit Fehlerstatus verarbeitet wurden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DDG / DSGVO § 5 DDG; Art. 12, 13 DSGVO Unmittelbare Erreichbarkeit und leichte Zugaenglichkeit von Pflichtinformationen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "scan_page_status_aggregation",
    "error_statuses": [
        "timeout",
        "error",
        "skipped"
    ]
}

ohne_section / technik

Seitentitel vorhanden

tech.title_present

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen Risikohinweis, wenn auf einer Seite kein Titel erkannt wird.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Niedriges Risiko, Hinweis oder Feinschliff.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 12 Transparente, verstaendliche und leicht zugängliche Informationen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: low

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "field": "scan_pages.title",
    "strategy": "title_presence_check"
}

ohne_section / technik

HTTP leitet technisch auf HTTPS um

trust.http_to_https_redirect

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft, ob HTTP-Aufrufe der Domain per 301/308 auf HTTPS umgeleitet werden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "http_to_https_redirect_probe",
    "accept_status_codes": [
        301,
        308
    ]
}

ohne_section / technik

HTTPS durchgaengig genutzt

trust.https_missing

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen Risikohinweis, wenn Seiten ohne HTTPS erkannt werden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "signal": "scan_pages.url_scheme",
    "strategy": "scan_https_enforcement"
}

ohne_section / technik

Problematische Seitenstatus

trust.problematic_status_codes

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen Risikohinweis bei Fehlerstatus oder HTTP-Codes >= 400.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "scan_problematic_status_detection",
    "problem_statuses": [
        "error",
        "timeout",
        "skipped"
    ],
    "http_error_threshold": 400
}

ohne_section / technik

Langsame Seitenantworten

trust.slow_response_times

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen Risikohinweis bei langsamen Antwortzeiten oberhalb des Schwellwerts.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "scan_slow_response_detection",
    "threshold_ms": 1500
}

ohne_section / technik

TLS-Zertifikatsdetails technisch plausibel

trust.ssl_certificate_details

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Erreichbarkeit, Laufzeit und Domain-Match des TLS-Zertifikats.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "strategy": "ssl_certificate_details_probe",
    "expiring_soon_days": 30
}

ohne_section / textilkennzeichnung

Textil-Faserzusammensetzung fehlt

product.textile_fibre_composition_missing

executablepublic_autoregex_pattern
Was macht diese Regel?

Prüft textile Produktangebote auf sichtbare Material- oder Faserzusammensetzungsangaben.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Bedingungen vorhanden, aber für die Anzeige nicht eindeutig lesbar.

  • scope_signal:textilkennzeichnung - greift, wenn das Zusatzmerkmal "scope signal" den Wert "textilkennzeichnung" hat
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Regulation (EU) No 1007/2011 - Textile fibre names and labelling Art. 16 The use of textile fibre names and fibre composition descriptions

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, text_or_html_excerpt, matched_pattern, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht schnelle Textmuster. Gut für klar erkennbare Begriffe, Nummern, fehlende Standardformulierungen oder technische Signale.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, text_or_html_excerpt, matched_pattern, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "scope_signal": "textilkennzeichnung"
}
definition
{
    "strategy": "legal_signal_presence",
    "confidence": 0.77,
    "fail_summary": "Textilprodukt-Scope erkannt, aber keine Faserzusammensetzung gefunden.",
    "pass_summary": "Textilprodukt-Scope und Faserzusammensetzung wurden erkannt.",
    "gate_keywords": [
        "textil",
        "t-shirt",
        "shirt",
        "kleid",
        "hose",
        "jacke",
        "bekleidung",
        "baumwolle",
        "polyester",
        "wolle"
    ],
    "legal_basis_refs": [
        "Textile Regulation Art. 16"
    ],
    "correction_instruction": "Die Faserzusammensetzung des Textilprodukts vor Kaufabschluss sichtbar und klar angeben.",
    "not_applicable_summary": "Keine Textilprodukt-Signale erkannt.",
    "required_signal_groups": [
        {
            "key": "fibre_composition",
            "label": "Faserzusammensetzung",
            "keywords": [
                "material",
                "faser",
                "baumwolle",
                "polyester",
                "wolle",
                "elasthan",
                "viskose",
                "%"
            ]
        }
    ]
}

ohne_section / tkg

TKG-Meldung Sicherheitsvorfälle §168 ff.

c-20-telko-tkg-meldung-bnetza

executablepublic_aistructured_page
Was macht diese Regel?

Telekommunikationsanbieter müssen Sicherheitsvorfälle, die die Verfügbarkeit, Integrität oder Vertraulichkeit von Netzen und Diensten beeinträchtigen, an die BNetzA melden (§§168 ff. TKG).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_20, rolle:telko_anbieter

  • branche_c_20 - greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt ist
  • rolle:telko_anbieter - greift nur für diese fachliche Rolle: telko anbieter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TKG §§168 ff. Meldung Sicherheitsvorfälle

Risiko: 5.000,00 EUR bis 100.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_20greift, wenn Branche/Cluster branche_c_20 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:telko_anbietergreift nur für diese fachliche Rolle: telko anbieterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"telko_anbieter"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_20"
        },
        {
            "rolle": "telko_anbieter"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-20-telko-tkg-meldung-bnetza",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "BNetzA-Meldeprozess + Katalog-Risikomanagement nach §167 TKG?\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_20"
            },
            {
                "rolle": "telko_anbieter"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Incident-Prozess mit BNetzA-Zugang + Dokumentation nach §167-Katalog.\n"
}

ohne_section / trust

Domain in geprüfter Blacklist gelistet

domain.blacklist_listed

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Domain/IP gegen DNSBL-Zonen und markiert gefundene Listungen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "source": "domain_risk.blacklist",
    "strategy": "domain_blacklist_dnsbl",
    "status_match": "listed"
}

ohne_section / trust

Domain-Laufzeit technisch kritisch

domain.expiry_at_risk

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft Domain-Expiry-Signale aus RDAP und markiert knappe oder abgelaufene Laufzeiten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

DSGVO Art. 32 Sicherheit der Verarbeitung und technische Schutzmassnahmen

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "source": "domain_risk.expiry",
    "strategy": "domain_expiry_risk",
    "statuses_match": [
        "expired",
        "expiring_soon",
        "unavailable",
        "error"
    ]
}

ohne_section / ttdsg

Cookie-Banner: 'Alle ablehnen' muss gleichwertig zu 'Alle akzeptieren' sein

a-ttdsg-25-ablehnen-button-gleichwertig

requires_owner_permissionbrowser_interactivebrowser_interactive
Was macht diese Regel?

Im Cookie-Banner MUSS ein "Alle ablehnen"-Button auf der ERSTEN Ebene des Banners vorhanden sein — NICHT erst nach Klick auf "Einstellungen". Der Ablehnen-Button muss visuell gleichwertig sein: gleiche Größe, gleiche Farbe oder zumindest nicht visuell zurückgedrängt (nicht als grauer Text-Link, nicht kleiner, nicht außerhalb des Sichtfeldes). Das Fehlen eines gleichwertigen Ablehnen-Buttons macht die Einwilligung unwirksam, weil die Entscheidung nicht "freiwillig" im Sinne von Art. 4 Nr. 11 DSGVO erfolgt (Nudging).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, hat_cookie_banner

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig. Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TTDSG § 25 Abs. 1 Einwilligungspflicht — Freiwilligkeit

Risiko: 500,00 EUR bis 300.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig.

scan_mode: Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "hat_cookie_banner"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ttdsg-25-ablehnen-button-gleichwertig",
    "fix_type": "diy_config",
    "check_type": "browser_interactive",
    "section_name": null,
    "check_hinweis": "- Playwright: Banner rendern lassen, Screenshot der ersten Ebene.\n- DOM-Check: Ist auf der ersten Banner-Ebene ein Button/Link mit Text\n  \"Ablehnen\", \"Alle ablehnen\", \"Nur notwendige\", \"Reject all\", \"Decline all\"?\n- ai_visual-Prompt: \"Auf diesem Screenshot: Gibt es einen 'Ablehnen'-Button,\n  der visuell gleichwertig zum 'Akzeptieren'-Button ist (Größe, Farbkontrast,\n  Positionierung)? Oder ist er als Text-Link / klein / versteckt dargestellt?\"\n- Negativ-Signale: Ablehnen-Button ist grau/invertiert ohne Farbe (vs. grüner\n  Accept-Button). Ablehnen-Link ist kleinerer Text unterhalb des Akzeptieren-\n  Buttons. Ablehnen erst über Sekundär-Menü \"Einstellungen\" erreichbar.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "hat_cookie_banner"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "BANNER-LAYOUT (diy_config):\n\nErste Ebene — MUSS 3 gleichwertige Aktionen zeigen:\n[ Alle akzeptieren ]   [ Alle ablehnen ]   [ Einstellungen ]\n\nRegeln:\n- Gleiche Button-Größe (mind. Ablehnen nicht kleiner).\n- Gleicher Kontrast (nicht Ablehnen = grauer Text auf weiß).\n- Gleiche Klick-Tiefe: Beide Buttons mit 1 Klick erreichbar, NICHT Ablehnen\n  erst über \"Einstellungen > Alle ausschalten > Speichern\".\n- Gleiche Positionsprominenz (nebeneinander auf derselben Zeile, nicht einer\n  hauptprominent und der andere in der Ecke).\n\nCMP-Einstellung (Beispiel Cookiebot):\n→ Einstellungen → Banner-Layout → \"Ablehnen-Button auf Erster Ebene\" AN.\n"
}

ohne_section / ttdsg

Reichweitenmessung / Analytics benötigt IMMER Einwilligung

a-ttdsg-25-analytics-einwilligungspflicht

requires_owner_permissionbrowser_interactivebrowser_interactive
Was macht diese Regel?

Reichweitenmessung, Website-Analytics und jede Form von Tracking (Google Analytics, Matomo, Plausible mit Cookies, Hotjar, Clarity, Fathom mit IDs, Mixpanel, Amplitude, Piwik Pro etc.) fällt NICHT unter die Ausnahmen des §25 Abs. 2 TTDSG. Auch "anonymisierte" Analytics-Tools brauchen Einwilligung, sobald Cookies/LocalStorage zum Wiedererkennen genutzt werden. Nur rein serverseitige Logfile-Auswertung ohne Client-seitige Speicherung ist von §25 TTDSG ausgenommen (fällt dann nur unter DSGVO Art. 6).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: hat_google_analytics, hat_matomo, hat_hotjar, hat_analytics_tool, hat_heatmap_tool

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_google_analytics - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: google analytics
  • hat_matomo - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: matomo
  • hat_hotjar - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: hotjar
  • hat_analytics_tool - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: analytics tool
  • hat_heatmap_tool - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: heatmap tool
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig. Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TTDSG § 25 Abs. 1 (i.V.m. Abs. 2 — keine Ausnahme) Einwilligungspflicht — auch für Analytics

Risiko: 500,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig.

scan_mode: Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_google_analyticsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: google analyticsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_matomogreift, wenn KarlKI dieses Website-Merkmal gefunden hat: matomoSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_hotjargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: hotjarSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_analytics_toolgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: analytics toolSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_heatmap_toolgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: heatmap toolSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "hat_google_analytics"
        },
        {
            "scope": "hat_matomo"
        },
        {
            "scope": "hat_hotjar"
        },
        {
            "scope": "hat_analytics_tool"
        },
        {
            "scope": "hat_heatmap_tool"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ttdsg-25-analytics-einwilligungspflicht",
    "fix_type": "diy_config",
    "check_type": "browser_interactive",
    "section_name": null,
    "check_hinweis": "- Network-Scan: Request an google-analytics.com, googletagmanager.com,\n  matomo-Domain, static.hotjar.com, clarity.ms, fathom.com, plausible.io\n  VOR Consent-Klick? → Verstoß.\n- Cookie-Jar nach Page-Load (ohne Consent):\n  * _ga, _gid, _gat (GA3/GA4)\n  * _pk_id, _pk_ses (Matomo mit Cookies)\n  * _hjSession, _hjSessionUser (Hotjar)\n  * _clck, _clsk (Microsoft Clarity)\n- Wenn Tool erkannt UND VOR Consent ausführt → Rule fehlschlagen lassen.\n- KI-Prompt: \"Wird in der DSE dieses Analytics-Tool als 'technisch notwendig'\n  deklariert? Falls ja — das ist rechtlich unzulässig, da Analytics nach\n  §25 Abs. 1 TTDSG einwilligungspflichtig ist.\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "hat_google_analytics"
            },
            {
                "scope": "hat_matomo"
            },
            {
                "scope": "hat_hotjar"
            },
            {
                "scope": "hat_analytics_tool"
            },
            {
                "scope": "hat_heatmap_tool"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "TECHNISCHER FIX (diy_config):\n\n1. Alle Analytics-Scripts (GA4, Matomo-cloud, Hotjar, Clarity, Plausible mit\n   Cookies) AUSSCHLIESSLICH nach aktivem Consent laden.\n2. In Google Tag Manager: \"Consent Mode V2\" aktivieren + alle\n   Analytics-/Marketing-Tags auf Consent-Trigger konfigurieren.\n3. In CMP: Kategorie \"Statistik / Analytics\" einrichten, alle Analytics-Tools\n   dort zuordnen — NICHT in \"Notwendig\".\n4. Server-seitige Alternative prüfen: Plausible ohne Cookies (via Fingerprint-\n   basiertem Hashing) gilt nach Plausible-Auffassung als consent-frei —\n   umstritten, daher Consent-Lösung sicherer.\n5. DSE: Analytics-Abschnitt mit Rechtsgrundlage Art. 6 Abs. 1 lit. a DSGVO\n   + §25 Abs. 1 TTDSG (Einwilligung).\n"
}

ohne_section / ttdsg

Nur 'unbedingt erforderliche' Cookies dürfen ohne Einwilligung gesetzt werden

a-ttdsg-25-ausnahme-notwendig

requires_owner_permissionbrowser_interactivebrowser_interactive
Was macht diese Regel?

Ohne Einwilligung dürfen NUR Cookies/Zugriffe gesetzt werden, die entweder (a) für die Übertragung einer Nachricht technisch notwendig sind (§25 Abs. 2 Nr. 1 TTDSG — z. B. Load-Balancer-Cookies, Session-IDs zur Verbindungszuordnung), ODER (b) unbedingt erforderlich sind, damit ein vom Nutzer ausdrücklich gewünschter Dienst geliefert werden kann (§25 Abs. 2 Nr. 2 TTDSG — Warenkorb, Login-Session, Sprachwahl-Cookie, CSRF-Token, Cookie-Consent-Entscheidung selbst). Diese Ausnahmen sind eng auszulegen — im Zweifel Einwilligung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, hat_cookies

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookies - greift bei Cookie-Banner oder Cookie-/Tracking-Signalen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig. Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TTDSG § 25 Abs. 2 Ausnahmen von der Einwilligungspflicht

Risiko: 500,00 EUR bis 300.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig.

scan_mode: Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
hat_cookiesgreift bei Cookie-Banner oder Cookie-/Tracking-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "hat_cookies"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ttdsg-25-ausnahme-notwendig",
    "fix_type": "diy_config",
    "check_type": "browser_interactive",
    "section_name": null,
    "check_hinweis": "- Cookie-Inventar: Welche Cookies werden VOR Consent gesetzt?\n- Klassifikation jedes Cookies nach:\n  a) Technisch notwendig (Session, CSRF, Load-Balancer, Cookie-Consent selbst,\n     Warenkorb bei aktiver Nutzung, Login-Session, Sprachwahl) = OK.\n  b) Komfort/Analytics/Marketing = NICHT OK ohne Consent.\n- KI-Prompt: \"Für diesen Cookie (Name, Anbieter, Zweck): Fällt dieser unter\n  §25 Abs. 2 TTDSG-Ausnahmen (strictly necessary) oder benötigt er\n  Einwilligung?\"\n- Positive Ausnahmen (OK ohne Consent):\n  * PHPSESSID, JSESSIONID (Server-Session)\n  * Cookie-Consent-Entscheidung selbst (z. B. cookieconsent_status)\n  * CSRF-Token\n  * Warenkorb-Cookie bei aktiver E-Commerce-Nutzung\n  * Login-Session nach aktivem Einloggen\n  * Sprachwahl-Cookie (wenn Nutzer aktiv Sprache gewählt hat)\n  * Load-Balancer-Cookie (z. B. AWSALB, __cfduid/cf_bm nur wenn sicherheits-\n    relevant — Cloudflare hat 2021 __cfduid entfernt)\n- Negative Ausnahmen (BRAUCHT Consent):\n  * _ga, _gid (Google Analytics)\n  * _fbp, fr (Facebook)\n  * _hjSession (Hotjar)\n  * IDE, NID (DoubleClick)\n  * YouTube-Cookies (VISITOR_INFO1_LIVE, YSC)\n  * A/B-Testing-Cookies (sofern nicht rein serverseitig)\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "hat_cookies"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "COOKIE-KLASSIFIKATION (diy_config):\n\nIn CMP jedes Cookie eintragen mit Kategorie:\n- [X] Unbedingt erforderlich (keine Einwilligung nötig)\n- [ ] Präferenzen (Komfort, z. B. Theme) → BRAUCHT Einwilligung\n- [ ] Statistik / Analytics → BRAUCHT Einwilligung\n- [ ] Marketing → BRAUCHT Einwilligung\n\nFAUSTREGEL: Wenn der Cookie nicht direkt der Ausführung einer vom Nutzer\nAKTIV angeforderten Funktion dient (Login-Klick → Login-Session-Cookie),\nbraucht er Einwilligung.\n\nDokumentation: Cookie-Inventar im Datenschutz-Verzeichnis (DSE) mit\nBegründung pro Cookie: \"PHPSESSID — technisch notwendig für Login-Session,\n§25 Abs. 2 Nr. 2 TTDSG\".\n"
}

ohne_section / ttdsg

Cookie-Banner: klare und umfassende Aufklärung über Cookies, Zwecke, Drittanbieter, Speicherdauer

a-ttdsg-25-banner-aufklaerung

executablepublic_aiai_semantic
Was macht diese Regel?

Das Banner muss auf erster oder unmittelbar zweiter Ebene klare und vollständige Informationen liefern über: - Welche Cookies / Technologien konkret eingesetzt werden (Name, Anbieter). - Welche Zwecke damit verfolgt werden (Analyse, Marketing, Personalisierung). - An welche Drittanbieter Daten gehen (mit Sitz-Land, Drittlandhinweis falls außerhalb EU/EWR). - Wie lange die Cookies gespeichert werden (Laufzeit). Ein pauschaler Hinweis "Wir nutzen Cookies, um Ihr Erlebnis zu verbessern" reicht NICHT — §25 Abs. 1 TTDSG verlangt "klare und umfassende Informationen".

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, hat_cookie_banner

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TTDSG § 25 Abs. 1 Einwilligungspflicht — klare und umfassende Information

Risiko: 500,00 EUR bis 300.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "hat_cookie_banner"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ttdsg-25-banner-aufklaerung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- Banner-Text extrahieren (erste + zweite Ebene, inkl. \"Einstellungen\"-Menü).\n- KI-Prompt (ai_semantic): \"Enthält dieser Banner-Text die folgenden 4 Infos:\n  a) Konkrete Cookie-/Tool-Namen oder zumindest Kategorien mit Anbieter-Namen?\n  b) Zwecke jedes Cookies/Tools?\n  c) Drittanbieter mit Sitz-Hinweis (insbesondere USA/Drittland)?\n  d) Speicherdauer?\n  Antworte pro Punkt Ja/Nein mit Beleg-Zitat aus dem Banner.\"\n- Link zu detaillierter Cookie-Liste oder DSE-Cookie-Sektion muss sichtbar\n  sein (nicht erst nach 3 Klicks versteckt).\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "hat_cookie_banner"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "BANNER-STRUKTUR (diy_text + diy_config):\n\nErste Ebene:\n\"Wir nutzen Cookies und ähnliche Technologien, um diese Website bereitzustellen,\n die Nutzung zu analysieren und personalisierte Inhalte anzuzeigen. Einige\n Cookies stammen von Drittanbietern mit Sitz in den USA (z. B. Google LLC,\n Meta Platforms Ireland Ltd.). Bei Übermittlung in die USA können Behörden\n Zugriff auf Ihre Daten haben. Details finden Sie in unseren\n [Cookie-Einstellungen] und der [Datenschutzerklärung].\n\n [ Alle akzeptieren ]   [ Alle ablehnen ]   [ Einstellungen ]\"\n\nEinstellungs-Ebene (pro Kategorie):\n▸ Notwendig (immer aktiv)\n  PHPSESSID — Sitzung — 1 Session — Server-seitig\n  cookieconsent_status — Consent-Speicherung — 12 Monate — eigener Server\n\n▸ Statistik [ Schalter aus/an ]\n  _ga — Google Analytics (Google LLC, USA) — 24 Monate — Nutzungsanalyse\n  _gid — Google Analytics — 24 Stunden — Session-Unterscheidung\n\n▸ Marketing [ Schalter aus/an ]\n  _fbp — Meta Pixel (Meta Ireland/USA) — 90 Tage — Conversion-Tracking\n"
}

ohne_section / ttdsg

Keine Cookie-Wall: Dienst nicht von Einwilligung abhängig machen

a-ttdsg-25-cookie-wall

requires_owner_permissionbrowser_interactivebrowser_interactive
Was macht diese Regel?

Die Nutzung der Website darf nicht davon abhängig gemacht werden, dass der Nutzer in nicht-notwendige Cookies einwilligt. Reine "Akzeptieren oder Seite verlassen"-Banner (Cookie-Walls) sind nach EDSA-Leitlinien 05/2020 und 03/2022 grundsätzlich unzulässig — sie verletzen das Kopplungsverbot aus Art. 7 Abs. 4 DSGVO. Ausnahme: Sogenannte "Pur-Modelle" (redaktionelle Seiten bieten als Alternative ein entgeltliches Abo ohne Tracking) können in engen Grenzen zulässig sein, werden aber aktuell behördlich und gerichtlich neu bewertet (BGH-Vorlage 2024/2025 offen).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, hat_cookie_banner

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig. Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TTDSG § 25 Abs. 1 (i.V.m. DSGVO Art. 7 Abs. 4) Freiwilligkeit — Kopplungsverbot

Risiko: 500,00 EUR bis 300.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig.

scan_mode: Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "hat_cookie_banner"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ttdsg-25-cookie-wall",
    "fix_type": "diy_config",
    "check_type": "browser_interactive",
    "section_name": null,
    "check_hinweis": "- Playwright: Banner rendern, \"Ablehnen\" klicken.\n- Ergebnis-Check: Kann der Nutzer die Seite trotz Ablehnung normal nutzen?\n  Oder erscheint eine Pay-Wall / wird die Seite blockiert / wiederholtes\n  Nachfragen?\n- Positiv-Signale (Verstoß):\n  * Banner bleibt nach Ablehnen sichtbar und blockiert Inhalt (\"Pay or OK\").\n  * Redirect auf Abo-Seite.\n  * Service-Einschränkungen nach Ablehnen (z. B. Login nicht mehr möglich).\n- Pur-Modell-Erkennung: \"Für 4,99 € / Monat ohne Werbung\" als Alternative\n  zum Tracking-Consent → needs_legal_review: true.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "hat_cookie_banner"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Bei Pur-Modellen oder komplexen Kopplungsfragen: Fachanwalt für IT-/\nDatenschutzrecht einbeziehen. Die Rechtslage zu \"Pay-or-OK\" ist 2024/2025\nin Bewegung (BGH- und EuGH-Verfahren offen, vgl. C-446/21 Meta-EU-Verfahren).\n",
    "fix_text_vorlage": "GRUNDSATZ (diy_config):\n\n1. Nach Klick auf \"Ablehnen\" MUSS die Website voll nutzbar sein\n   — mit Ausnahme der tatsächlich einwilligungsabhängigen Features\n   (z. B. personalisierte Empfehlungen).\n2. Kein erneutes Nachfragen innerhalb kurzer Zeit (mind. 6 Monate Pause\n   nach expliziter Ablehnung, außer bei echtem Einwilligungs-Ablauf).\n3. Kein \"Pop-up-Erpressung\" nach Ablehnen.\n\nPUR-MODELL (Sonderfall, juristisch heikel):\nFalls ein Pur-Modell eingesetzt werden soll (\"Abo gegen Tracking\"),\nMUSS:\n- Die Alternative echt gleichwertig sein (nicht 99 € / Monat).\n- Klar kommuniziert werden (keine versteckten Bedingungen).\n- Fachanwaltliche Prüfung erfolgen (siehe needs_legal_review).\n"
}

ohne_section / ttdsg

Einwilligung muss DSGVO-Qualität haben (freiwillig, informiert, granular, widerrufbar, nachweisbar)

a-ttdsg-25-einwilligung-dsgvo-qualitaet

executablepublic_aistructured_page
Was macht diese Regel?

§25 Abs. 1 Satz 2 TTDSG verweist ausdrücklich auf die DSGVO für die Anforderungen an die Einwilligung. Das heißt: Die fünf Qualitätsmerkmale aus Art. 4 Nr. 11 + Art. 7 DSGVO (freiwillig, für bestimmten Fall, informiert, unmissverständlich abgegeben, nachweisbar) gelten 1:1 für jede Cookie-/Tracking- Einwilligung. Diese Rule ist ein Meta-Verweis auf die bereits in dsgvo.md dokumentierten Art.-7-Rules — damit der Scanner im Kontext einer Website mit Cookie-Banner automatisch mitprüft, ob die DSGVO-Einwilligungsqualität erreicht wird.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: hat_cookies, hat_cookie_banner, hat_tracking_scripts

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookies - greift bei Cookie-Banner oder Cookie-/Tracking-Signalen
  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
  • hat_tracking_scripts - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scripts
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TTDSG § 25 Abs. 1 Satz 2 Verweis auf DSGVO-Einwilligungsanforderungen

Risiko: 500,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_cookiesgreift bei Cookie-Banner oder Cookie-/Tracking-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_tracking_scriptsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scriptsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "hat_cookies"
        },
        {
            "scope": "hat_cookie_banner"
        },
        {
            "scope": "hat_tracking_scripts"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ttdsg-25-einwilligung-dsgvo-qualitaet",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Diese Rule ist ein Cross-Reference-Anker. Der Scanner prüft hier NICHT neu,\nsondern verweist auf folgende Art.-7-Rules aus dsgvo.md:\n- a-dsgvo-art7-freiwilligkeit (Kopplungsverbot)\n- a-dsgvo-art7-informiertheit (verständliche Sprache, klarer Zweck)\n- a-dsgvo-art7-nachweisbarkeit (Consent-Log)\n- a-dsgvo-art7-granularitaet (pro Zweck separate Wahl)\n- a-dsgvo-art7-widerruf-einfach (siehe auch 3.2 in dieser Datei)\nBei negativem Befund in einer dieser dsgvo.md-Rules ist §25 TTDSG ebenfalls\nverletzt, weil Satz 2 direkt darauf verweist.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "hat_cookies"
            },
            {
                "scope": "hat_cookie_banner"
            },
            {
                "scope": "hat_tracking_scripts"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "VERBUND-FIX: Arbeite die Art.-7-Rules in dsgvo.md ab — alle 5 Qualitätsmerkmale\nMÜSSEN erfüllt sein, damit der §25-TTDSG-Check grün wird:\n1. Freiwilligkeit: Kein Cookie-Wall, kein \"Akzeptieren oder Seite verlassen\"\n   (Ausnahme: echtes Pur-Modell mit entgeltlicher Alternative —\n   siehe Rule a-ttdsg-25-cookie-wall).\n2. Informiertheit: Klartext, was gesetzt wird, von wem, wozu, wie lange.\n3. Granularität: pro Zweck/Anbieter separate Wahl (nicht nur \"Alle akzeptieren\").\n4. Nachweisbarkeit: Consent-Log mit Zeitstempel, Banner-Version, gewählten\n   Kategorien (CMP-Standard-Feature).\n5. Widerruf: permanent sichtbarer \"Cookie-Einstellungen\"-Link im Footer.\n"
}

ohne_section / ttdsg

Einwilligung VOR dem Setzen/Auslesen von Cookies und Tracking-Technologien

a-ttdsg-25-einwilligung-vor-zugriff

requires_owner_permissionbrowser_interactivebrowser_interactive
Was macht diese Regel?

Bevor die Website Cookies setzt, Daten in LocalStorage/IndexedDB/SessionStorage schreibt, Browser-Fingerprinting betreibt oder auf bereits gespeicherte Daten zugreift (auch Drittanbieter-Pixel, Fonts, CDN-Ressourcen mit Tracking-Potenzial), MUSS eine aktive Einwilligung des Nutzers vorliegen. Das Banner darf keine vorangekreuzten Checkboxen enthalten und muss aktives Klicken auf einen Zustimmungs-Button verlangen. Ausnahme: die Bedingungen von §25 Abs. 2 TTDSG greifen (siehe Rule a-ttdsg-25-ausnahme-notwendig).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: hat_cookies, hat_tracking_scripts, hat_drittanbieter_einbindung, hat_localstorage_tracking
Darf nicht zutreffen: nur_technisch_notwendige_cookies

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookies - greift bei Cookie-Banner oder Cookie-/Tracking-Signalen
  • hat_tracking_scripts - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scripts
  • hat_drittanbieter_einbindung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: drittanbieter einbindung
  • hat_localstorage_tracking - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: localstorage tracking
  • nur_technisch_notwendige_cookies - greift, wenn der Trigger "nur_technisch_notwendige_cookies" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig. Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TTDSG § 25 Abs. 1 Schutz der Privatsphäre bei Endeinrichtungen — Einwilligungspflicht

Risiko: 500,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI braucht einen echten Browserzustand: Seite rendern, Banner sehen, ggf. Interaktion prüfen. Das ist für dynamische Inhalte noetig.

scan_mode: Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_cookiesgreift bei Cookie-Banner oder Cookie-/Tracking-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_tracking_scriptsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scriptsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_drittanbieter_einbindunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: drittanbieter einbindungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_localstorage_trackinggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: localstorage trackingSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

NICHT Wenn eine dieser Bedingungen zutrifft, darf die Regel nicht laufen.

BegriffWas er bedeutetWofür er da ist
nur_technisch_notwendige_cookiesgreift, wenn der Trigger "nur_technisch_notwendige_cookies" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "hat_cookies"
        },
        {
            "scope": "hat_tracking_scripts"
        },
        {
            "scope": "hat_drittanbieter_einbindung"
        },
        {
            "scope": "hat_localstorage_tracking"
        }
    ],
    "nicht": [
        {
            "scope": "nur_technisch_notwendige_cookies"
        }
    ]
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ttdsg-25-einwilligung-vor-zugriff",
    "fix_type": "diy_config",
    "check_type": "browser_interactive",
    "section_name": null,
    "check_hinweis": "- Playwright-Szenario: Seite laden mit leerem Cookie-Jar.\n- PRÜFEN: Werden VOR Banner-Interaktion Cookies gesetzt oder Drittanbieter\n  geladen (Google Analytics, Meta Pixel, Google Fonts, YouTube, Hotjar etc.)?\n- Network-Log: Welche Drittanbieter-Requests feuern vor dem Klick auf\n  \"Akzeptieren\"? Jede Nicht-Essential-Request vor Consent = Verstoß.\n- DOM: Banner-Checkboxen — sind welche vorausgewählt (\"pre-ticked\")?\n- KI-Prompt (Visual, ai_visual fallback): \"Sind auf diesem Banner-Screenshot\n  Kategorien wie 'Marketing', 'Analytics' bereits standardmäßig aktiviert?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "hat_cookies"
            },
            {
                "scope": "hat_tracking_scripts"
            },
            {
                "scope": "hat_drittanbieter_einbindung"
            },
            {
                "scope": "hat_localstorage_tracking"
            }
        ],
        "nicht": [
            {
                "scope": "nur_technisch_notwendige_cookies"
            }
        ]
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "TECHNISCHE KONFIGURATION (diy_config):\n1. CMP (Consent Management Platform) einsetzen — z. B. Cookiebot, Usercentrics,\n   Borlabs Cookie, Complianz.\n2. Alle Tracking-Tags, Pixel, Third-Party-Fonts und Drittanbieter-Einbindungen\n   in den \"Nicht-technisch-notwendig\"-Block verschieben und per Tag Manager\n   oder Conditional Load an den Consent-State koppeln.\n3. Banner-Default: ALLE Checkboxen (außer \"notwendig\") UNGEFÄHR gleichgestellt\n   und unausgewählt.\n4. Keine Ausführung von Tracking-Scripts vor aktiver Zustimmung.\n5. Erst NACH Klick auf \"Akzeptieren\" / \"Auswahl speichern\" werden die\n   entsprechenden Scripts geladen.\n"
}

ohne_section / ttdsg

Cookie-Banner: Nudging / Deceptive Design verboten

a-ttdsg-25-nudging-verboten

requires_owner_permissionbrowser_interactiveai_visual
Was macht diese Regel?

Das Cookie-Banner darf keine psychologischen Druckmittel einsetzen, um den Nutzer zur Einwilligung zu drängen. Verboten sind u. a.: - Farb-Asymmetrie (grüner XL-Accept vs. grauer Mini-Reject). - Confirm-shaming ("Nein, ich möchte unpersonalisierte Werbung sehen"). - Sticky-Banner, das andere Inhalte vollständig überdeckt, bis akzeptiert wird. - Pseudo-Pflichtkategorien (Marketing-Cookies als "unverzichtbar" deklariert). - Wiederholtes Nachfragen ("Consent Fatigue" bei jedem Seitenwechsel). Grundlage: EDSA-Leitlinien 03/2022 zu Deceptive Design Patterns.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, hat_cookie_banner

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI bewertet sichtbare Merkmale aus Screenshot/Rendering, z. B. Banner, sichtbare Hinweise, Buttons oder optische Dark Patterns. Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TTDSG § 25 Abs. 1 Einwilligungspflicht — Freiwilligkeit und Informiertheit

Risiko: 500,00 EUR bis 300.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI bewertet sichtbare Merkmale aus Screenshot/Rendering, z. B. Banner, sichtbare Hinweise, Buttons oder optische Dark Patterns.

scan_mode: Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "hat_cookie_banner"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ttdsg-25-nudging-verboten",
    "fix_type": "diy_config",
    "check_type": "ai_visual",
    "section_name": null,
    "check_hinweis": "- Screenshot der ersten + ggf. zweiten Banner-Ebene.\n- ai_visual-Prompt (multimodal): \"Analysiere das folgende Cookie-Banner-\n  Screenshot. Bewerte:\n  1. Visuelle Symmetrie Accept vs. Reject (Farbe, Größe).\n  2. Klick-Tiefe für Ablehnen (1 Klick / 2 Klicks / mehr).\n  3. Sprachliche Manipulation ('Ja, ich akzeptiere' vs. 'Nein, ich verzichte\n     auf bessere Nutzererfahrung').\n  4. Überlagerung anderer Inhalte (modaler Overlay, der Seite blockiert).\n  5. Pre-Checks bei Nicht-Notwendig-Kategorien.\n  Gib eine 1–5-Bewertung pro Punkt und einen Gesamt-Verdict\n  (clean / grenzwertig / deceptive).\"\n- Playwright-Secondary: Nach Banner-Ablehnung Page-Navigation — erscheint\n  Banner sofort wieder? → Consent Fatigue = Nudging.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "hat_cookie_banner"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "DESIGN-GUIDELINES (diy_config):\n\n1. SYMMETRIE: Accept- und Reject-Button gleich groß, gleich prominent gefärbt\n   (z. B. beide Primary-Color oder beide neutral).\n2. NEUTRALE SPRACHE: \"Alle akzeptieren\" / \"Alle ablehnen\" — keine emotional\n   geladenen Alternativen wie \"Ja, ich will personalisierte Angebote!\"\n3. KEINE OVERLAYS: Banner unten oder seitlich als Einblendung, NICHT modaler\n   Vollbild-Overlay. Ausnahme: Wenn Banner nur einen kleinen Teil der\n   Bildschirmfläche einnimmt, ist das akzeptabel.\n4. KEINE PRE-CHECKS bei Nicht-Essential-Kategorien.\n5. CONSENT-ABLEHNUNG RESPEKTIEREN: Nach einem \"Ablehnen\" mindestens für\n   6 Monate nicht wieder nachfragen (keine Consent Fatigue).\n6. KEIN CONFIRM-SHAMING in Texten.\n"
}

ohne_section / ttdsg

Cookie-Einwilligung jederzeit so einfach widerrufbar wie sie erteilt wurde

a-ttdsg-25-widerruf-einfach

executablepublic_autodom_element
Was macht diese Regel?

Der Nutzer muss jederzeit mit Wirkung für die Zukunft seine Cookie-/Tracking- Einwilligung widerrufen können — und zwar so einfach wie die Erteilung. Praktisch: permanent sichtbarer Footer-Link "Cookie-Einstellungen" oder schwebendes Icon, das das Banner erneut öffnet mit aktuellem State. Diese Rule ist ein spezifischer Verweis auf DSGVO Art. 7 Abs. 3 — siehe a-dsgvo-art7-widerruf-einfach in dsgvo.md. Im TTDSG-Kontext ist der Check jedoch eigenständig, weil der Widerruf der Cookie-Einwilligung ein separater technischer Flow ist.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, hat_cookie_banner

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_cookie_banner - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie banner
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TTDSG § 25 Abs. 1 (i.V.m. DSGVO Art. 7 Abs. 3) Widerruflichkeit der Einwilligung

Risiko: 500,00 EUR bis 300.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, dom_snapshot, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI sucht konkrete HTML-Elemente, Attribute oder DOM-Strukturen. Gut für technisch sichtbare Dinge wie Formulare, Links, Buttons oder eingebundene Ressourcen.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, dom_snapshot, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
hat_cookie_bannergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: cookie bannerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "hat_cookie_banner"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ttdsg-25-widerruf-einfach",
    "fix_type": "diy_config",
    "check_type": "dom_element",
    "section_name": null,
    "check_hinweis": "- DOM-Scan: Suche nach permanent sichtbarem Element mit Text/Aria-Label\n  \"Cookie-Einstellungen\", \"Cookie-Consent\", \"Privacy Settings\",\n  \"Consent ändern\", \"Datenschutzeinstellungen\".\n- Footer-Link-Check + Floating-Icon-Check (meist unten links/rechts).\n- Playwright: Nach Banner-Akzeptanz — ist der Cookie-Einstellungs-Link noch\n  auf jeder Seite sichtbar und klickbar?\n- Negativ-Signal: Banner verschwindet nach Akzeptanz spurlos, keine\n  Wiederaufruf-Möglichkeit auffindbar.\n- KI-Prompt (ai_visual als Fallback): \"Ist auf diesem Footer-Screenshot ein\n  Link/Icon erkennbar, über den der Nutzer die Cookie-Einstellungen erneut\n  aufrufen kann?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "hat_cookie_banner"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "IMPLEMENTIERUNG (diy_config):\n\n1. Footer-Link einbauen (permanent sichtbar auf allen Seiten):\n   <a href=\"#\" onclick=\"window.openCookieSettings(); return false;\">\n     Cookie-Einstellungen\n   </a>\n\n2. Oder schwebendes Icon unten links (Cookiebot/Borlabs/Usercentrics bieten\n   das Feature standardmäßig — \"Cookie-Widget\" aktivieren).\n\n3. Klick öffnet das ursprüngliche Banner mit AKTUELLEM State (bereits\n   gewählte Kategorien sind vorausgewählt — der Nutzer kann entweder\n   deaktivieren oder neu bestätigen).\n\n4. DSE-Abschnitt ergänzen:\n   \"Sie können Ihre Einwilligung in das Setzen von Cookies jederzeit mit\n    Wirkung für die Zukunft widerrufen. Klicken Sie dazu auf den Link\n    'Cookie-Einstellungen' im Footer jeder Seite.\"\n"
}

ohne_section / ttdsg

TTDSG regelt den Zugriff, DSGVO die Verarbeitung — beide gelten parallel

a-ttdsg-dsgvo-verhaeltnis

executablepublic_aiai_semantic
Was macht diese Regel?

§25 TTDSG regelt AUSSCHLIESSLICH den technischen Akt des Speicherns/Auslesens auf dem Endgerät (z. B. Cookie setzen, LocalStorage schreiben, Pixel feuern). Sobald dabei personenbezogene Daten verarbeitet werden — und das ist bei Cookies mit IDs, IP-Adressen, Device-Fingerprints praktisch immer der Fall — greift ZUSÄTZLICH die DSGVO. Das bedeutet in der DSE: - §25 Abs. 1 TTDSG als Rechtsgrundlage FÜR DEN ZUGRIFF. - Art. 6 Abs. 1 lit. a DSGVO (Einwilligung) als Rechtsgrundlage FÜR DIE VERARBEITUNG nach dem Zugriff. Beide müssen in der DSE genannt und im Banner abgebildet sein. Eine reine TTDSG-Nennung ohne DSGVO-Rechtsgrundlage ist unvollständig und umgekehrt.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, hat_datenschutzerklaerung
Mindestens eine muss passen: hat_cookies, hat_tracking_scripts

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • hat_datenschutzerklaerung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerung
  • hat_cookies - greift bei Cookie-Banner oder Cookie-/Tracking-Signalen
  • hat_tracking_scripts - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scripts
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

TTDSG § 25 (gesamt) + DSGVO Art. 6 + Art. 13 Parallele Anwendung TTDSG und DSGVO

Risiko: 500,00 EUR bis 20.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
hat_datenschutzerklaerunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: datenschutzerklaerungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_cookiesgreift bei Cookie-Banner oder Cookie-/Tracking-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_tracking_scriptsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: tracking scriptsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "hat_datenschutzerklaerung"
        }
    ],
    "oder": [
        {
            "scope": "hat_cookies"
        },
        {
            "scope": "hat_tracking_scripts"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-ttdsg-dsgvo-verhaeltnis",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- DSE-Cookie-Abschnitt extrahieren.\n- KI-Prompt (ai_semantic): \"Wird in diesem DSE-Cookie-Abschnitt SOWOHL\n  §25 Abs. 1 TTDSG (für den Zugriff) ALS AUCH Art. 6 Abs. 1 lit. a DSGVO\n  (Einwilligung für die Verarbeitung) bzw. lit. f (bei notwendigen Cookies)\n  als Rechtsgrundlage genannt?\n  Positiv: Beide Normen werden erwähnt.\n  Negativ: Nur eine oder keine.\"\n- Banner-Text-Check: Wird im Banner (erste Ebene) beide Rechtsgrundlagen\n  zumindest skizziert (\"mit Ihrer Einwilligung nach §25 TTDSG und\n  Art. 6 Abs. 1 lit. a DSGVO\")?\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "hat_datenschutzerklaerung"
            }
        ],
        "oder": [
            {
                "scope": "hat_cookies"
            },
            {
                "scope": "hat_tracking_scripts"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "DSE-ABSCHNITT \"COOKIES & TRACKING\" (diy_text):\n\n\"Auf unserer Website setzen wir Cookies und ähnliche Technologien ein.\n Ein Teil dieser Technologien ist technisch notwendig (§ 25 Abs. 2 Nr. 2\n TTDSG), andere erfordern Ihre Einwilligung.\n\n Rechtsgrundlage für das Speichern/Auslesen auf Ihrem Endgerät ist\n § 25 Abs. 1 TTDSG (bei einwilligungspflichtigen Cookies) bzw.\n § 25 Abs. 2 TTDSG (bei technisch notwendigen Cookies).\n\n Die anschließende Verarbeitung der dabei erhobenen personenbezogenen\n Daten stützen wir auf:\n - Art. 6 Abs. 1 lit. a DSGVO (Einwilligung) — für alle einwilligungs-\n   pflichtigen Cookies (Analytics, Marketing, Personalisierung).\n - Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung) — für Session-/Warenkorb-/\n   Login-Cookies.\n - Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse) — für Security-Cookies\n   wie CSRF-Token.\n\n Ihre Einwilligung können Sie jederzeit über den Link 'Cookie-Einstellungen'\n im Footer mit Wirkung für die Zukunft widerrufen.\"\n"
}

ohne_section / urheberrecht

Quellen- und Lizenzhinweise bei externen Assets

copyright.notice_missing_for_external_assets

executablepublic_autoohne check_type
Was macht diese Regel?

Markiert einen technischen Risikohinweis, wenn externe Medienquellen ohne erkennbare Quellen-/Lizenzhinweise auftauchen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird auf jeder passenden gecrawlten Seite ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Seitenregel. Sie wird pro passender gecrawlter Seite bewertet, z. B. Datenschutzseite, Impressum, Produktseite oder Formularseite.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UrhG §§ 13, 19a Anerkennung der Urheberschaft und öffentliche Zugaenglichmachung externer Werke

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: page; Severity: high

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "module": {
        "key": "deep.media_rights"
    },
    "strategy": "attribution_hint_for_external_assets",
    "attribution_keywords": [
        "bildnachweis",
        "lizenz",
        "quelle",
        "copyright",
        "attribution"
    ],
    "requires_external_assets": true
}

ohne_section / urhg

Lizenz für öffentliche Zugänglichmachung jedes fremden Werks

a-urhg-15-19a-öffentliche-zugänglichmachung

executablepublic_aistructured_page
Was macht diese Regel?

Jedes urheberrechtlich geschützte fremde Werk (Bilder, Texte, Videos, Musik, Grafiken, Code-Snippets ab Schöpfungshöhe) auf der Website nutzt das ausschließliche Recht des Urhebers zur öffentlichen Zugänglichmachung (§19a UrhG). Dafür ist eine Lizenz erforderlich — Stockfoto, eigenes Werk, Creative Commons, Public Domain, übertragenes Recht. Mündliche Zusagen reichen nicht (§31 Abs. 5 UrhG Zweckübertragungs- grundsatz).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, fremde_medien_verwendet

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • fremde_medien_verwendet - greift, wenn der Trigger "fremde_medien_verwendet" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UrhG §15 Abs. 2 Nr. 2 i. V. m. §19a Verwertungsrechte / Recht der öffentlichen Zugänglichmachung

Risiko: 100,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
fremde_medien_verwendetgreift, wenn der Trigger "fremde_medien_verwendet" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "fremde_medien_verwendet"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-urhg-15-19a-oeffentliche-zugaenglichmachung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DOM-Scan aller <img>, <video>, <audio>, iframe (YouTube/Vimeo).\nKI-Prompt identifiziert potenzielle Stock-/CC-/Eigenproduktionen.\nSelbstauskunft über Lizenz-Status je Bild im Scanner-UI.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "schadensersatz_lizenzanalogie",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "fremde_medien_verwendet"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Pro fremdem Werk:\n1. Lizenztyp bestimmen (Stockfoto / CC / Eigen / Public Domain)\n2. Lizenzbeleg sammeln (Rechnung, Download-Confirmation, Screenshot\n   der CC-Seite)\n3. In interner Lizenz-Tabelle dokumentieren (Bild-URL,\n   Urheber, Lizenz, Quelle, Beleg-Pfad, Einsatzort)\n4. Benennung auf Website nach Lizenzvorgaben\n"
}

ohne_section / urhg

Zitate nur zum Zweck der inhaltlichen Auseinandersetzung

a-urhg-51-zitatrecht

executablepublic_aistructured_page
Was macht diese Regel?

Das Zitatrecht nach §51 UrhG erlaubt die Wiedergabe fremder Werke nur, wenn (1) das Zitat einem belegenden Zweck dient (eigene inhaltliche Auseinandersetzung), (2) der Umfang gerechtfertigt ist (Kleinzitat §51 Nr. 2 — nur Auszüge; Großzitat §51 Nr. 1 — nur in wissenschaftlichen Werken), (3) die Quelle deutlich angegeben wird (§63). Bloße Dekorationszitate oder Bebilderungen sind KEIN Zitat.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, zitat_oder_screenshot_vorhanden

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • zitat_oder_screenshot_vorhanden - greift, wenn der Trigger "zitat_oder_screenshot_vorhanden" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UrhG §51 Zitate

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
zitat_oder_screenshot_vorhandengreift, wenn der Trigger "zitat_oder_screenshot_vorhanden" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "zitat_oder_screenshot_vorhanden"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-urhg-51-zitatrecht",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "KI-Prompt: Gibt es Text-/Bildzitate ohne eigene Auseinandersetzung?\nScreenshots von Konkurrenz-Seiten? Studienauszüge?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "schadensersatz_lizenzanalogie",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "zitat_oder_screenshot_vorhanden"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Vor jedem Zitat:\n- Eigener analytischer oder kritischer Text, der sich mit dem Zitat\n  auseinandersetzt (nicht nur \"wie XY sagt: ...\").\n- Umfang minimal halten (Kleinzitat).\n- Quellenangabe direkt am Zitat (s. Rule 2.2).\n"
}

ohne_section / urhg

Quellenangabe: Urheber + Fundstelle bei jedem fremden Werk

a-urhg-63-quellenangabe

executablepublic_aistructured_page
Was macht diese Regel?

Bei Zitaten und anderen zulässigen freien Nutzungen ist die Quelle deutlich anzugeben — in der Regel Urhebername + Werktitel + Fundstelle. Die Angabe muss in unmittelbarer Nähe zum zitierten Werk erscheinen. Für CC-lizenzierte Inhalte zusätzlich Lizenztyp + Link zur Lizenz.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, fremde_medien_verwendet

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • fremde_medien_verwendet - greift, wenn der Trigger "fremde_medien_verwendet" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UrhG §63 Quellenangabe

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
fremde_medien_verwendetgreift, wenn der Trigger "fremde_medien_verwendet" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "fremde_medien_verwendet"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-urhg-63-quellenangabe",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DOM-Scan auf Bildunterschriften/figcaption bei <img>. KI-Prompt\nbewertet, ob Quellenangabe inhaltlich korrekt (Urheber + Titel).\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "schadensersatz_lizenzanalogie",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "fremde_medien_verwendet"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Pro Bild:\n<figure>\n  <img src=\"...\" alt=\"...\">\n  <figcaption>Foto: [Urhebername] — [ggf. Plattform] — Lizenz:\n  [CC BY 4.0 / Stockfoto / Eigen]</figcaption>\n</figure>\nFür Text-Zitate: \"(Autor 2024, S. 12)\" oder Fußnote mit Link.\n"
}

ohne_section / urhg

Copyright-Vermerk bei eigenen Werken (empfohlen)

a-urhg-eigenes-werk-copyright-vermerk

executablepublic_aistructured_page
Was macht diese Regel?

Eigene Werke sollten mit ©-Vermerk + Jahr + Urheber versehen werden. Kein zwingendes Erfordernis für Urheberrechtsschutz in DE (Schutz entsteht automatisch mit Werkschöpfung), aber wichtig als Abschreckung und Beweisindiz. Im Footer: "© 2026 Firma XY. Alle Rechte vorbehalten."

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Niedriges Risiko, Hinweis oder Feinschliff.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UrhG §7 i. V. m. §13 Urheber / Anerkennung der Urheberschaft

Risiko: 0,00 EUR bis 500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: low

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-urhg-eigenes-werk-copyright-vermerk",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Footer-Scan: \"©\", \"Copyright\", Jahr aktuell? Scanner warnt nur, kein\nBußgeld.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "empfehlung_abschreckung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Footer-Zeile: \"© 2026 [Firmenname / Urheber]. Alle Rechte vorbehalten.\"\nBei Bildern im Content: Wasserzeichen oder Bildunterschrift\n\"Foto: [Urhebername]\".\n"
}

ohne_section / urhg

Kein Hotlinking fremder Medien ohne Genehmigung

a-urhg-hotlinking-verbot

executablepublic_aistructured_page
Was macht diese Regel?

Direktes Einbetten fremder Bilder per <img src="https://fremde-seite/ bild.jpg"> (Hotlinking) stellt eine öffentliche Zugänglichmachung dar, sofern der Urheber dem nicht zugestimmt hat. Framing/Einbettung via iframe kann zulässig sein (BGH "Die Realität" — Embedding frei zugänglicher Inhalte), erfordert aber Einzelfallprüfung. Sicher: nur eigene Dateien hosten oder offiziell angebotene Embeds (YouTube Share- Embed).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar

  • seite_erreichbar - greift, wenn die Website erreichbar ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UrhG §15 Abs. 2 Nr. 2 i. V. m. §19a Recht der öffentlichen Zugänglichmachung

Risiko: 100,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-urhg-hotlinking-verbot",
    "fix_type": "diy_config",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DOM-Scan: <img src=\"...\">-URLs, die nicht auf die eigene Domain\nzeigen (externe Hosts). Flag bei fremden Domains ohne erkennbare\nCDN-/offizielle Embed-Plattform.\n",
    "normalization": {
        "fix_type": [
            "diy_code",
            "diy_config"
        ],
        "rechtsrisiko_typ": [
            "schadensersatz_lizenzanalogie",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Fremde Bilder herunterladen (mit Lizenz!) und selbst hosten, statt\nper Hotlink einzubinden. Bei offiziellen Embeds (YouTube, Vimeo,\nTwitter) die Plattform-Einbettungscodes nutzen, nicht manuelle\nDirektlinks auf Media-URLs.\n"
}

ohne_section / urhg

Lizenzbeleg dokumentiert und archiviert

a-urhg-lizenz-nachweis

executablepublic_aiai_classification
Was macht diese Regel?

Der Betreiber muss im Streitfall (Abmahnung) nachweisen können, dass er berechtigter Nutzer ist. Dazu gehören: Rechnung vom Stockfoto- Anbieter, Download-Bestätigung, E-Mail-Zusage des Urhebers, Screenshot der CC-Lizenz-Angabe. Beweislast liegt beim Nutzer (nicht beim Urheber).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, fremde_medien_verwendet

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • fremde_medien_verwendet - greift, wenn der Trigger "fremde_medien_verwendet" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UrhG §31 Abs. 5 i. V. m. §97 Abs. 2 Einräumung von Nutzungsrechten / Schadensersatz

Risiko: 100,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
fremde_medien_verwendetgreift, wenn der Trigger "fremde_medien_verwendet" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "fremde_medien_verwendet"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-urhg-lizenz-nachweis",
    "fix_type": "diy_text",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "Onboarding-Frage: \"Haben Sie für jedes fremde Bild einen Lizenzbeleg?\"\nBei \"Nein\" → rote Flagge in Scanner-Report.\n",
    "normalization": {
        "check_type": [
            "self_assessment",
            "ai_classification"
        ],
        "rechtsrisiko_typ": [
            "schadensersatz_lizenzanalogie",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "fremde_medien_verwendet"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Lizenz-Tabelle (Excel oder Tool) mit pro Bild:\n| Datei | URL | Urheber | Lizenz | Gültig bis | Beleg-Datei |\nAblage an zentralem, mind. 3 Jahre sicheren Ort (Verjährungsfrist\n10 Jahre bei Urheberrechten, §102 UrhG i. V. m. §§194 ff. BGB —\nsicherheitshalber lebensdauerlang).\n"
}

ohne_section / urhg + jeweilige oss-lizenz

Open-Source-Lizenz-Compliance

c-16-open-source-lizenz-compliance

executablepublic_aistructured_page
Was macht diese Regel?

Verwendete OSS-Bibliotheken unterliegen Lizenzbedingungen (MIT, Apache 2.0, GPL, AGPL). Pflichten variieren: Copyright-Notiz beilegen, Source-Code offenlegen (GPL), Änderungen dokumentieren. Fehlerhafte Compliance → Unterlassung + Schadensersatz (UrhG §§97 ff.).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_16, nutzt_oss:true

  • branche_c_16 - greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt ist
  • nutzt_oss:true - greift, wenn "nutzt oss" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UrhG + jeweilige OSS-Lizenz §§97, 99 UrhG Urheberrechtliche Ansprüche

Risiko: 1.000,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_16greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
nutzt_oss:truegreift, wenn "nutzt oss" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"nutzt_oss":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_16"
        },
        {
            "nutzt_oss": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-16-open-source-lizenz-compliance",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Website/Produkt: \"Notices\"-/\"Acknowledgements\"-Seite mit OSS-Liste?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "unterlassung_und_schadensersatz",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_16"
            },
            {
                "nutzt_oss": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"/licenses\" oder \"/open-source-software\" mit SBOM-Export, Lizenztexten.\n"
}

ohne_section / urhg i. v. m. cc-lizenzvertrag

Bearbeitungen CC-lizenzierter Werke gekennzeichnet

a-urhg-cc-bearbeitung-kennzeichnen

executablepublic_aiai_classification
Was macht diese Regel?

Wird ein CC-BY-, CC-BY-SA- oder CC-BY-ND-lizenziertes Werk bearbeitet (Zuschnitt, Farbänderung, Text-Einfügung), muss dies bei CC-BY/BY-SA gekennzeichnet werden ("bearbeitet von …"). CC-BY-ND (NoDerivatives) erlaubt KEINE Bearbeitung — nur unveränderte Nutzung. CC-BY-SA verlangt zusätzlich, dass die Bearbeitung unter gleicher Lizenz weitergegeben wird.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, cc_werke_verwendet

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • cc_werke_verwendet - greift, wenn der Trigger "cc_werke_verwendet" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UrhG i. V. m. CC-Lizenzvertrag Ziff. 3 CC-Lizenz + §23 UrhG Bearbeitungen

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
cc_werke_verwendetgreift, wenn der Trigger "cc_werke_verwendet" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "cc_werke_verwendet"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-urhg-cc-bearbeitung-kennzeichnen",
    "fix_type": "diy_text",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "Selbstauskunft: Wurden CC-Bilder zugeschnitten, eingefärbt, mit Text\nversehen? Bei ja: Bearbeitungshinweis vorhanden?\n",
    "normalization": {
        "check_type": [
            "self_assessment",
            "ai_classification"
        ],
        "rechtsrisiko_typ": [
            "schadensersatz_lizenzanalogie",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "cc_werke_verwendet"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "<figcaption>\n  \"Originaltitel\" von [Autor], Lizenz CC BY 4.0 —\n  bearbeitet (Zuschnitt und Farbänderung) von [eigener Name]\n</figcaption>\nCC-BY-ND-Werke: nicht bearbeiten — im Zweifel anderes Werk nutzen.\n"
}

ohne_section / urhg i. v. m. cc-lizenzvertrag

CC-Bilder mit TASL-Angabe (Title, Author, Source, License)

a-urhg-cc-tasl-benennung

executablepublic_aistructured_page
Was macht diese Regel?

Bei Nutzung von Creative-Commons-lizenzierten Werken (außer CC0) ist die TASL-Angabe Pflicht: Titel des Werks, Name des Urhebers, Quelle (URL des Originals), Lizenztyp mit Link zur Lizenz (z. B. "CC BY 4.0, https://creativecommons.org/licenses/by/4.0/"). Die Angabe muss sichtbar direkt beim Werk stehen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, cc_werke_verwendet

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • cc_werke_verwendet - greift, wenn der Trigger "cc_werke_verwendet" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UrhG i. V. m. CC-Lizenzvertrag §31 Abs. 5 UrhG + Ziff. 3 CC-Lizenz Nutzungsrechte nach CC-Lizenz

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
cc_werke_verwendetgreift, wenn der Trigger "cc_werke_verwendet" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "cc_werke_verwendet"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-urhg-cc-tasl-benennung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "DOM-Scan: Bildunterschriften/figcaption mit \"CC BY\" o. Ä.? Vollständig\n(alle 4 TASL-Elemente)?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "schadensersatz_lizenzanalogie",
            "klage_betroffener"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "cc_werke_verwendet"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Pro CC-Bild:\n<figcaption>\n  \"Titel des Werks\" von [Autorname] —\n  Quelle: [URL] —\n  Lizenz: <a href=\"https://creativecommons.org/licenses/by/4.0/\">CC BY 4.0</a>\n</figcaption>\nAlternative (z. B. bei Foto-Galerie): zentrale Bildnachweisseite\nmit allen TASL-Angaben, verlinkt von jeder Bildseite.\n"
}

ohne_section / ustg

Rechnung mit allen Pflichtangaben nach §14 UStG

b-zahlung-rechnung-pflichtangaben

executableowner_deepai_semantic
Was macht diese Regel?

Bei Umsätzen an Unternehmer oder bei Verbraucherbuchungen auf Wunsch muss eine Rechnung nach §14 UStG ausgestellt werden: vollständiger Name und Anschrift von Leistender und Leistungsempfänger, Steuernummer oder USt-IdNr, Ausstellungsdatum, fortlaufende Rechnungsnummer, Menge/Art der Lieferung, Leistungszeitpunkt, Entgelt nach Steuersätzen getrennt, anzuwendender Steuersatz + Steuerbetrag, bei Steuerbefreiung Hinweis darauf.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: akzeptiert_online_zahlung

  • akzeptiert_online_zahlung - greift, wenn der Trigger "akzeptiert_online_zahlung" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UStG §14 i. V. m. §14a Ausstellung von Rechnungen

Risiko: 200,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
akzeptiert_online_zahlunggreift, wenn der Trigger "akzeptiert_online_zahlung" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "akzeptiert_online_zahlung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-zahlung-rechnung-pflichtangaben",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Testbuchung und Rechnungserhalt: Sind alle Pflichtangaben nach\n§14 UStG vorhanden? Rechnungsnummer fortlaufend? USt getrennt\nausgewiesen? Bei B2B: USt-IdNr des Empfängers?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "akzeptiert_online_zahlung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Rechnungstemplate mit: Firmenname + Anschrift, USt-IdNr/\nSteuernummer, Kundenname + Adresse, Rechnungsnummer, Datum,\nLeistungszeitraum, Positionsliste mit Menge, Netto-Einzelpreis,\nSteuersatz, Steuerbetrag, Summen. Bei Kleinunternehmer §19 UStG:\nHinweis \"Gemäß §19 UStG wird keine Umsatzsteuer ausgewiesen.\"\n"
}

ohne_section / uvsv

UVSV §4 — Verbot der Nutzung durch Minderjährige

c-10-sonnenstudio-uvsv-18-jahre

executablepublic_aistructured_page
Was macht diese Regel?

§4 UVSV (Verordnung zum Schutz vor schädlichen Wirkungen künstlicher ultravioletter Strahlung) verbietet die Nutzung von UV-Bestrahlungs- geräten durch Personen unter 18 Jahren. Betreiber müssen Alter kontrollieren und Fachpersonal stellen. Auf Website ist Alters­beschränkung + Einweisungspflicht zu kommunizieren.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_10, angebot:sonnenstudio

  • branche_c_10 - greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt ist
  • angebot:sonnenstudio - greift nur, wenn dieses Angebot/Produkt erkannt wurde: sonnenstudio
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UVSV §4 Altersbeschränkung

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_10greift, wenn Branche/Cluster branche_c_10 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:sonnenstudiogreift nur, wenn dieses Angebot/Produkt erkannt wurde: sonnenstudioFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"sonnenstudio"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_10"
        },
        {
            "angebot": "sonnenstudio"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-10-sonnenstudio-uvsv-18-jahre",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Website: Altershinweis + Ausweiskontrolle angekündigt? Fachpersonal\n+ Einweisung genannt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_10"
            },
            {
                "angebot": "sonnenstudio"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Altersnachweis:\nGemäß §4 UVSV ist die Nutzung unserer UV-Bestrahlungsgeräte Personen\nunter 18 Jahren nicht gestattet. Beim ersten Besuch erfolgt eine\nAusweiskontrolle. Die Einweisung nach §3 UVSV durch unser\nqualifiziertes Personal ist Voraussetzung der ersten Nutzung.\"\n"
}

ohne_section / uwg

Generalverbot unlauterer geschäftlicher Handlungen (§3 Abs. 1 UWG)

a-uwg-3-generalklausel

executablepublic_aiai_semantic
Was macht diese Regel?

Jede geschäftliche Handlung auf der Website (Werbung, Produktdarstellung, Bestellprozess, Pop-ups, E-Mail-Kampagnen, Social-Proof-Elemente) muss die Anforderungen unternehmerischer Sorgfalt wahren und darf Verbraucher, Mitbewerber oder sonstige Marktteilnehmer nicht spürbar in ihrer Entscheidungs- freiheit beeinträchtigen. Diese Rule ist eine Dach-Rule — sie prüft Website- übergreifend auf offensichtlich unlautere Gesamtauftritte (z. B. systematisch irreführender Tone, Scam-Indizien, gefälschte Trust-Elemente) und dient als Auffang, wenn keine speziellere UWG-Rule greift.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, geschaeftliche_handlung_auf_seite

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 3 Abs. 1 Verbot unlauterer geschäftlicher Handlungen

Risiko: 800,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-3-generalklausel",
    "fix_type": "partner_anwalt",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- KI-Prompt (ai_semantic): \"Enthält die Website Elemente, die den Eindruck\n  unlauterer geschäftlicher Praxis erwecken? Kriterien: systematische\n  Irreführung, aggressive Scarcity-/Urgency-Taktiken ohne Wahrheitsgehalt,\n  Fake-Trust-Elemente, Scam-Indizien (nicht erreichbarer Anbieter,\n  unplausible Versprechen, Pressure-Selling).\"\n- Dies ist eine **Auffang-Rule**. Wenn eine spezifischere Rule greift (§5, §5a,\n  §7), hat sie Vorrang. §3 Abs. 1 meldet nur, wenn keine speziellere\n  Einordnung möglich ist, aber Gesamteindruck unlauter wirkt.\n- `fix_type: partner_anwalt` weil die Generalklausel im Einzelfall\n  juristische Bewertung erfordert.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt für gewerblichen Rechtsschutz / Wettbewerbsrecht. Typische\nErstberatungs-Kosten 150–350 €. Bei akuter Abmahnung: Eilvertretung\n1.500–3.000 € je nach Streitwert.\n",
    "fix_text_vorlage": "Bei Verdacht auf §3-Abs.-1-Verstoß:\n→ Einzelfallprüfung durch Fachanwalt für Gewerblichen Rechtsschutz /\n  IT-Recht / Wettbewerbsrecht empfohlen.\n→ Keine pauschale DIY-Vorlage möglich — §3 Abs. 1 ist offene Generalklausel.\n→ Kunde sollte die beanstandeten Elemente (Screenshot + URL) gezielt prüfen\n  lassen.\n"
}

ohne_section / uwg

Schwarze Liste (Anhang zu §3 Abs. 3 UWG) — 32 Per-se-Verbote ohne Interessenabwägung

a-uwg-3-schwarze-liste-verweis

executablepublic_aiai_semantic
Was macht diese Regel?

Der Anhang zu §3 Abs. 3 UWG listet 32 Praktiken, die **ausnahmslos** unzulässig sind — ohne Einzelfallabwägung, ohne Spürbarkeits-Prüfung. Für Websites besonders relevant sind: • Nr. 1 — Unwahre Behauptung, Verhaltens­kodex unterzeichnet zu haben • Nr. 2 — Verwendung eines Gütezeichens ohne Genehmigung • Nr. 4 — Unwahre Behauptung, Behörde habe Waren/Dienstleistungen gebilligt • Nr. 5 — "Lockvogel"-Angebote (ohne vernünftige Lagerhaltung) • Nr. 9 — Unwahre Behauptung, Produkt werde nur in begrenzter Stückzahl/Zeit angeboten (Fake-Urgency/Scarcity) • Nr. 11 — Bezahlte redaktionelle Beiträge ohne Kennzeichnung als Werbung • Nr. 13 — Unwahre Behauptung, Bewertungen stammten von echten Verbrauchern, ohne Authentizitätsprüfung (**NEU seit 28.05.2022** — verschoben nach §5b) • Nr. 23a — Gefälschte Verbraucherbewertungen / Einreichung (**NEU 28.05.2022**) • Nr. 28 — Direkter Kaufappell an Kinder • Nr. 30 — Unwahres "Sie haben gewonnen"-Design Diese Rule ist eine **Verweis-Rule** — sie triggert in spezifischeren Rules (§5, §5a, §5b) oder als eigenständiger Befund, wenn der Scanner eindeutig eines der Per-se-Verbote identifiziert.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 3 Abs. 3 i. V. m. Anhang Schwarze Liste — stets unzulässige geschäftliche Handlungen

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-3-schwarze-liste-verweis",
    "fix_type": "partner_anwalt",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- Verweis-Rule: wird als \"Meta-Befund\" angewendet, wenn spezifischere Rules\n  zu §5, §5a oder §5b greifen. Sie fügt die Information hinzu, dass es sich\n  um ein Per-se-Verbot ohne Interessenabwägung handelt (= keine \"Spürbarkeit\"\n  zu prüfen).\n- Standalone: wenn Fake-Gütesiegel/Fake-Urgency/Fake-Gewinn-Banner/Fake-\n  Celebrity-Endorsement entdeckt wird, aber keine tiefere §5-Prüfung\n  möglich ist.\n- KI-Prompt: \"Zeigt die Seite eines der folgenden Elemente: erfundenes\n  Gewinn-Versprechen, 'nur noch 2 Stück verfügbar'-Countdown (nicht\n  verifizierbar), falsches TÜV-/Stiftung-Warentest-Logo, behördliche\n  Billigung ohne Nachweis?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt für Wettbewerbsrecht. Bei behaupteter Billigung durch Behörde:\nnachprüfen, ob der Nachweis beschafft werden kann (dann Pflicht zur\nQuellenangabe).\n",
    "fix_text_vorlage": "Einzelfall-Korrektur nötig:\n- Bei Fake-Scarcity: echten Lagerbestand anzeigen oder Countdown entfernen.\n- Bei Fake-Gütesiegel: Siegel löschen oder mit Verleiher/Fundstelle belegen.\n- Bei bezahltem redaktionellem Inhalt ohne Label: deutlich als \"Anzeige\",\n  \"Werbung\" oder \"Sponsored\" kennzeichnen.\nRechtsberatung empfohlen.\n"
}

ohne_section / uwg

Besonderer Schutz schutzbedürftiger Verbrauchergruppen (§3 Abs. 2 UWG)

a-uwg-3-verbraucherschutz-besondere-gruppen

executablepublic_aiai_classification
Was macht diese Regel?

Richtet sich die Werbung oder geschäftliche Handlung erkennbar an eine besonders schutzbedürftige Gruppe (Kinder, Jugendliche, Ältere, Menschen mit Behinderung, Menschen in akuter Notlage / Krankheit / finanzieller Schieflage), ist der Maßstab der Unlauterkeit aus Sicht eines **durchschnittlichen Mitglieds dieser Gruppe** zu bestimmen. Werbung, die für einen durchschnittlichen Erwachsenen noch harmlos wäre, kann für Kinder oder Ältere schon unzulässig sein. Relevant insbesondere für: Spielzeug-Seiten, In-Game-Käufe, Senioren-Angebote, Schnell-Kredit-/Schufa-Kredit-Werbung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: zielgruppe_minderjaehrige, zielgruppe_senioren, zielgruppe_finanziell_angeschlagen, zielgruppe_medizinische_notlage

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • zielgruppe_minderjaehrige - greift, wenn der Trigger "zielgruppe_minderjaehrige" im ScanScope aktiv ist
  • zielgruppe_senioren - greift, wenn der Trigger "zielgruppe_senioren" im ScanScope aktiv ist
  • zielgruppe_finanziell_angeschlagen - greift, wenn der Trigger "zielgruppe_finanziell_angeschlagen" im ScanScope aktiv ist
  • zielgruppe_medizinische_notlage - greift, wenn der Trigger "zielgruppe_medizinische_notlage" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 3 Abs. 2 Beurteilungsmaßstab besonders schutzbedürftiger Gruppen

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI laesst KI eine Einordnung treffen, z. B. Branche, Funktion, Angebotsart oder ob eine Aussage rechtlich relevant wirkt.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
zielgruppe_minderjaehrigegreift, wenn der Trigger "zielgruppe_minderjaehrige" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
zielgruppe_seniorengreift, wenn der Trigger "zielgruppe_senioren" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
zielgruppe_finanziell_angeschlagengreift, wenn der Trigger "zielgruppe_finanziell_angeschlagen" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
zielgruppe_medizinische_notlagegreift, wenn der Trigger "zielgruppe_medizinische_notlage" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "zielgruppe_minderjaehrige"
        },
        {
            "scope": "zielgruppe_senioren"
        },
        {
            "scope": "zielgruppe_finanziell_angeschlagen"
        },
        {
            "scope": "zielgruppe_medizinische_notlage"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-3-verbraucherschutz-besondere-gruppen",
    "fix_type": "partner_anwalt",
    "check_type": "ai_classification",
    "section_name": null,
    "check_hinweis": "- AI-Classification: Erkenne Zielgruppe aus Content-Signalen (Bildsprache,\n  Ansprache \"Du\", \"Kids\", \"Senior\", \"Schufa-frei\", medizinische Keywords).\n- Wenn Zielgruppe = minderjährig: Prüfe imperative Kaufappelle\n  (\"Kauf jetzt!\", \"Sag deinen Eltern, sie sollen …\") — Anhang zu §3 Abs. 3\n  UWG Nr. 28 ist hier zusätzlich einschlägig.\n- Bei finanziell-angeschlagener Zielgruppe: Prüfe Effektivzins-Irreführung\n  (§5 + PAngV) + übertriebene Verfügbarkeitsversprechen.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "zielgruppe_minderjaehrige"
            },
            {
                "scope": "zielgruppe_senioren"
            },
            {
                "scope": "zielgruppe_finanziell_angeschlagen"
            },
            {
                "scope": "zielgruppe_medizinische_notlage"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt für gewerblichen Rechtsschutz, bei Minderjährigen-Zielgruppe\nzusätzlich Jugendschutz-Beauftragter (JMStV §7). Bei Finanzprodukten VVG/\nBaFin-Experte. Bei Medizin HWG-Experte.\n",
    "fix_text_vorlage": "Einzelfallprüfung durch Fachanwalt + ggf. Branchenexperte (Kinder → JMStV;\nFinanz → BaFin/VVG; Medizin → HWG). Keine DIY-Vorlage.\n"
}

ohne_section / uwg

Testergebnisse & Gütesiegel mit Fundstelle/Quelle (§5 Abs. 1, Abs. 2 Nr. 1 UWG + BGH)

a-uwg-5-guetesiegel-quelle

requires_owner_permissionbrowser_interactiveai_visual
Was macht diese Regel?

Wer auf der Website mit Testergebnissen (Stiftung Warentest, ÖKO-TEST, etc.) oder Gütesiegeln (TÜV, IFS, DEKRA, Trusted Shops, etc.) wirbt, muss die Quelle eindeutig angeben: • Bei Testergebnissen: Testheft-Name, Ausgabe (Monat/Jahr), ggf. Testurteil ("sehr gut", Note), damit der Verbraucher das Testurteil nachprüfen kann (BGH I ZR 173/14, 14.01.2016). • Bei Gütesiegeln: Verleiher, Geltungsbereich, Gültigkeitsdauer — der Nutzer muss das Siegel auf Echtheit prüfen können (BGH I ZR 209/18, 22.01.2020). Bei Online-Trust-Siegeln muss zudem die Verlinkung auf das Prüfprofil funktionieren.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: wirbt_mit_testergebnis, wirbt_mit_guetesiegel, zeigt_trust_siegel

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • wirbt_mit_testergebnis - greift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit testergebnis
  • wirbt_mit_guetesiegel - greift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit guetesiegel
  • zeigt_trust_siegel - greift, wenn diese sichtbare Aussage/Anzeige gefunden wird: trust siegel
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI bewertet sichtbare Merkmale aus Screenshot/Rendering, z. B. Banner, sichtbare Hinweise, Buttons oder optische Dark Patterns. Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5 Abs. 1 / § 5 Abs. 2 Nr. 1 Irreführung durch Werbung mit Testergebnissen und Gütesiegeln

Risiko: 800,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI bewertet sichtbare Merkmale aus Screenshot/Rendering, z. B. Banner, sichtbare Hinweise, Buttons oder optische Dark Patterns.

scan_mode: Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
wirbt_mit_testergebnisgreift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit testergebnisSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
wirbt_mit_guetesiegelgreift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit guetesiegelSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
zeigt_trust_siegelgreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: trust siegelSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "wirbt_mit_testergebnis"
        },
        {
            "scope": "wirbt_mit_guetesiegel"
        },
        {
            "scope": "zeigt_trust_siegel"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5-guetesiegel-quelle",
    "fix_type": "diy_text",
    "check_type": "ai_visual",
    "section_name": null,
    "check_hinweis": "- Visual/DOM-Scan: Bilder mit Siegel-Logos (Stiftung Warentest, ÖKO-TEST,\n  TÜV, IFS, DEKRA, Trusted Shops, Trustpilot-Siegel, ProvenExpert-Siegel).\n- Regex/KI: Text-Aussagen \"Testsieger\", \"Note 1,3\", \"Sehr gut\", \"TÜV-zertifiziert\",\n  \"ÖKO-TEST ausgezeichnet\".\n- Fundstellen-Check: Bei Testergebnis — ist Testheft + Ausgabe genannt und\n  gut lesbar (BGH: ≥ 6-Punkt-Schrift)?\n- Gütesiegel-Link-Check: Bei interaktiven Siegeln (Trusted Shops) — führt\n  der Link zum Prüfprofil und zeigt dort einen gültigen Eintrag?\n- KI-Prompt (ai_visual): \"Zeigt die Seite ein Gütesiegel oder\n  Testergebnis? Ist die Fundstelle (Testheft + Ausgabe / Verleiher +\n  Kriterien) unmittelbar beim Siegel sichtbar?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "wirbt_mit_testergebnis"
            },
            {
                "scope": "wirbt_mit_guetesiegel"
            },
            {
                "scope": "zeigt_trust_siegel"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "1. Testergebnis-Werbung (Stiftung Warentest, ÖKO-TEST, Haus & Garten Test):\n   Formulierung muss enthalten:\n     \"{{produkt}} ist {{testurteil}} (z. B. 'GUT (1,6)') —\n      Stiftung Warentest, Ausgabe {{monat_jahr}}.\"\n   Textgröße: lesbar, nicht versteckt (BGH verlangt ≥ 6-Punkt-Schrift neben\n   dem Hauptclaim).\n\n2. Gütesiegel-Werbung (TÜV, DEKRA, IFS):\n   Neben dem Logo muss eine Nennung des Siegel-Verleihers + der Prüfungs-\n   Grundlage + Gültigkeitsdauer stehen, z. B.:\n     \"TÜV SÜD — zertifiziert nach ISO 9001:2015,\n      gültig bis {{datum}}, Zertifikat-Nr. {{nummer}}\"\n\n3. Online-Trust-Siegel (Trusted Shops, ProvenExpert):\n   Nicht nur Bild einbinden — Siegel muss anklickbar und führt zum Prüfprofil.\n   Prüfprofil muss existieren und der beworbene Shop dort eingetragen sein.\n   Sonst: Anhang §3 Abs. 3 Nr. 2 UWG greift (Gütezeichen ohne Genehmigung =\n   per-se-Verbot).\n"
}

ohne_section / uwg

Grundverbot irreführender geschäftlicher Handlungen (§5 Abs. 1 UWG)

a-uwg-5-irrefuehrung-grundsatz

executablepublic_aiai_semantic
Was macht diese Regel?

Jede geschäftliche Handlung auf der Website, die unwahre oder zur Täuschung geeignete Angaben enthält und geeignet ist, den Verbraucher oder sonstige Marktteilnehmer zu einer geschäftlichen Entscheidung zu veranlassen, die er sonst nicht getroffen hätte, ist unzulässig. Das betrifft alle Textaussagen, Überschriften, Bildbotschaften, Produktbeschreibungen, Werbeaussagen ("Marktführer", "Nummer 1", "exklusiv", "geprüft") und Claims.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, aus_de_zugänglich, geschaeftliche_handlung_auf_seite

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • aus_de_zugaenglich - greift bei deutsch/deutschem Zielkontext
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5 Abs. 1 Irreführende geschäftliche Handlungen — Grundverbot

Risiko: 800,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
aus_de_zugaenglichgreift bei deutsch/deutschem ZielkontextBegrenzt deutsche Rechtsprüfungen auf Websites mit deutschem Zielkontext.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "aus_de_zugaenglich"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5-irrefuehrung-grundsatz",
    "fix_type": "partner_anwalt",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- KI-Prompt (ai_semantic): \"Enthält der Seiteninhalt objektiv überprüfbare\n  Werbeaussagen ('Marktführer', 'Testsieger', 'Nummer 1', 'ausgezeichnet',\n  'seit 100 Jahren', 'Bestseller', 'führend'), die ohne jeden Beleg oder\n  Quellenhinweis auftreten? Sind Alleinstellungsmerkmale behauptet, die\n  plausibel nachweisbar wären, aber nicht belegt sind?\"\n- Dies ist eine Dach-Rule — spezifische Kategorien (§5 Abs. 2 Nr. 1–7) werden\n  durch Rules 2.2–2.6 konkretisiert.\n- Auch Bildbotschaften und Claim-Slogans auf Hero-Bannern prüfen.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "aus_de_zugaenglich"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt für Wettbewerbsrecht — Einzelfallprüfung der konkreten Aussage\ngegen §5 Abs. 1, §5 Abs. 2 Nr. 1 UWG.\n",
    "fix_text_vorlage": "Bei Verdacht auf irreführende Angabe:\n→ Entweder Beleg beschaffen + auf der Seite zitieren (Testheft-Fundstelle,\n  Zertifikat-Aussteller, Marktforschungsstudie mit Jahr + Institut).\n→ Oder die Aussage entschärfen / streichen.\n→ Einzelfallprüfung durch Fachanwalt bei Unklarheit.\n"
}

ohne_section / uwg

Irreführende Preisangaben (§5 Abs. 2 Nr. 2 UWG iVm PAngV)

a-uwg-5-preisangaben-irrefuehrend

executablepublic_aiai_semantic
Was macht diese Regel?

Preisangaben auf der Website müssen korrekt, eindeutig und konform zur Preisangabenverordnung (PAngV) sein. Irreführend sind insbesondere: durchgestrichene "Streichpreise", die nie oder nur sehr kurz der tatsächliche Preis waren (§11 PAngV seit 28.05.2022: 30-Tage-Referenzpreis); falsche "Ab-Preise" (der beworbene Preis ist im Bestellprozess nicht erreichbar); versteckte Zusatzkosten, die erst im Checkout erscheinen; falsche Rabatt-/UVP-Angaben. Diese Rule ist der UWG-Aspekt — die konkreten PAngV- Pflichten (Grundpreis, Gesamtpreis, USt-Hinweis, Versand-Angaben) werden in Ebene C `07-ecommerce-b2c.md` dokumentiert.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: hat_preisangaben, hat_shop, hat_ab-preise

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • hat_preisangaben - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: preisangaben
  • hat_shop - greift bei Shop/Warenkorb/Checkout-Signalen
  • hat_ab-preise - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: ab preise
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5 Abs. 2 Nr. 2 Irreführung über Preis, Preisberechnung oder besondere Vorteile

Risiko: 800,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_preisangabengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: preisangabenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_shopgreift bei Shop/Warenkorb/Checkout-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_ab-preisegreift, wenn KarlKI dieses Website-Merkmal gefunden hat: ab preiseSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "hat_preisangaben"
        },
        {
            "scope": "hat_shop"
        },
        {
            "scope": "hat_ab-preise"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5-preisangaben-irrefuehrend",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- Regex/DOM: Preisangaben (`€`, `EUR`, `ab `) extrahieren.\n- Streichpreise (z. B. `<s>129 €</s> 99 €`) → prüfen, ob \"30-Tage-Niedrigstpreis-Regel\"\n  eingehalten (seit 28.05.2022 PAngV §11). Nur mit Referenzpreis der letzten\n  30 Tage.\n- \"Ab\"-Preise → gibt es im Bestellprozess tatsächlich eine Variante zu\n  diesem Preis?\n- KI-Prompt: \"Wirbt die Seite mit Rabatten (durchgestrichene Preise, '-30%'),\n  ohne den günstigsten Preis der letzten 30 Tage als Referenz anzugeben?\n  Sind UVP/Streichpreise plausibel (nicht 'Fantasie-UVP')?\"\n- Cross-Check mit PAngV: Grundpreis-Pflicht, USt-Hinweis.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "hat_preisangaben"
            },
            {
                "scope": "hat_shop"
            },
            {
                "scope": "hat_ab-preise"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Bei komplexen Rabattstrukturen (Staffelrabatte, zeitlich überlappende\nAktionen): Fachanwalt für Wettbewerbsrecht / E-Commerce-Recht einbeziehen.\n",
    "fix_text_vorlage": "1. Streichpreise / Rabattwerbung (PAngV §11 seit 28.05.2022):\n   Bei jeder Rabatt-Angabe muss der niedrigste Preis der letzten 30 Tage\n   als Referenzpreis genannt werden:\n     \"99 € statt 129 € (niedrigster Preis der letzten 30 Tage: 119 €)\"\n   → einfacher Streichpreis allein ist seit 28.05.2022 unzulässig.\n\n2. Keine \"Fantasie-UVP\":\n   UVP nur angeben, wenn Hersteller sie aktuell tatsächlich empfiehlt.\n   Nie historische UVP vom Markt-Eintritt.\n\n3. \"Ab\"-Preise:\n   Nur wenn im Bestellprozess mind. eine Variante zu diesem Preis verfügbar\n   ist. Bei \"Ab 49 €\" muss die 49-€-Variante existieren und erreichbar sein.\n\n4. Keine versteckten Zusatzkosten:\n   Versand, Zahlungsgebühren, Service-Pauschalen müssen beim Preis genannt\n   oder im Preis enthalten sein (PAngV §3).\n"
}

ohne_section / uwg

Vergleichende Werbung nur unter engen Voraussetzungen zulässig (§5 Abs. 3, §6 UWG)

a-uwg-5-vergleichende-werbung

executablepublic_aiai_semantic
Was macht diese Regel?

Wer auf der Website mit konkreten Vergleichen zu Mitbewerbern arbeitet ("günstiger als Anbieter X", "schneller als Wettbewerber Y", direkte Produktvergleichstabellen), unterliegt den strengen Anforderungen des §6 UWG: der Vergleich muss objektiv, nachprüfbar und auf wesentliche, typische Eigenschaften bezogen sein. Mitbewerber darf nicht herabgewürdigt werden, keine Rufausnutzung, keine Verwechslungsgefahr.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: nennt_mitbewerber_namentlich, zeigt_vergleichstabelle, wirbt_mit_anders-als-x

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • nennt_mitbewerber_namentlich - greift, wenn der Trigger "nennt_mitbewerber_namentlich" im ScanScope aktiv ist
  • zeigt_vergleichstabelle - greift, wenn diese sichtbare Aussage/Anzeige gefunden wird: vergleichstabelle
  • wirbt_mit_anders-als-x - greift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit anders als x
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5 Abs. 3 i. V. m. § 6 Vergleichende Werbung

Risiko: 1.500,00 EUR bis 10.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
nennt_mitbewerber_namentlichgreift, wenn der Trigger "nennt_mitbewerber_namentlich" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
zeigt_vergleichstabellegreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: vergleichstabelleSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
wirbt_mit_anders-als-xgreift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit anders als xSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "nennt_mitbewerber_namentlich"
        },
        {
            "scope": "zeigt_vergleichstabelle"
        },
        {
            "scope": "wirbt_mit_anders-als-x"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5-vergleichende-werbung",
    "fix_type": "partner_anwalt",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- KI-Prompt: \"Nennt die Seite Mitbewerber namentlich (oder klar\n  identifizierbar über Logo, Produktname, Slogan) in einem vergleichenden\n  Kontext? Wenn ja: werden die Vergleichskriterien genannt, ist der\n  Vergleich objektiv (auf wesentliche, typische, nachprüfbare Merkmale\n  bezogen)?\"\n- Bei Vergleichstabellen: prüfe ob alle Spalten-Kriterien auf der\n  Mitbewerber-Seite auch aktuell gelten (Preisvergleiche veralten schnell!).\n- `fix_type: partner_anwalt` weil §6 UWG voller Fallstricke ist.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "nennt_mitbewerber_namentlich"
            },
            {
                "scope": "zeigt_vergleichstabelle"
            },
            {
                "scope": "wirbt_mit_anders-als-x"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt für Wettbewerbsrecht/Markenrecht zwingend bei:\n- Direkter namentlicher Nennung von Mitbewerbern\n- Preisvergleichen auf Dauerbasis\n- Vergleich mit bekannten Marken\n",
    "fix_text_vorlage": "Vergleichende Werbung juristisch heikel — Erstberatung durch Fachanwalt\nempfohlen. Faustregeln:\n1. Vergleich muss OBJEKTIV sein (zählbare, messbare Kriterien — nicht\n   \"wir sind schöner\").\n2. Vergleich muss NACHPRÜFBAR sein (Datenquellen + Stand genannt).\n3. Mitbewerber wird NICHT HERABGEWÜRDIGT (\"unser Wettbewerber X ist Mist\"\n   → unzulässig).\n4. KEINE VERWECHSLUNGSGEFAHR mit Produkten/Marken des Wettbewerbers.\n5. KEINE RUFAUSBEUTUNG des fremden Markennamens.\n6. Bei Preisvergleichen: Preis des Mitbewerbers am gleichen Tag\n   dokumentieren; bei Online-Vergleichsseite Preis-Stand angeben\n   (\"Preise Stand: {{datum}}\").\n"
}

ohne_section / uwg

Wesentliche Merkmale belegbar: Produktversprechen & Garantien (§5 Abs. 2 Nr. 1 UWG)

a-uwg-5-werbeaussagen-belegbar

executablepublic_aiai_semantic
Was macht diese Regel?

Jede werbende Aussage über wesentliche Merkmale eines Produkts oder einer Dienstleistung (Art, Ausführung, Vorteile, Beschaffenheit, Herkunft, Zusammensetzung, Verwendungsmöglichkeiten, Tauglichkeit, Risiken, Ergebnisse der Verwendung) muss wahr und belegbar sein. Betrifft insbesondere unechte Garantien ("5 Jahre Garantie" ohne entsprechende Verpflichtung), Fantasie- Zertifikate, unwahre Herkunftsbehauptungen ("Made in Germany" ohne ausreichende Fertigungstiefe), Öko-/Nachhaltigkeits-Claims (Greenwashing) und gesundheitsbezogene Versprechen außerhalb des HWG.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: hat_produktseiten, hat_dienstleistungsbeschreibung, wirbt_mit_garantien, wirbt_mit_herkunft, wirbt_mit_oeko_bio

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • hat_produktseiten - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: produktseiten
  • hat_dienstleistungsbeschreibung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: dienstleistungsbeschreibung
  • wirbt_mit_garantien - greift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit garantien
  • wirbt_mit_herkunft - greift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit herkunft
  • wirbt_mit_oeko_bio - greift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit oeko bio
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5 Abs. 2 Nr. 1 Irreführung über wesentliche Merkmale der Ware/Dienstleistung

Risiko: 800,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_produktseitengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: produktseitenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_dienstleistungsbeschreibunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: dienstleistungsbeschreibungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
wirbt_mit_garantiengreift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit garantienSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
wirbt_mit_herkunftgreift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit herkunftSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
wirbt_mit_oeko_biogreift, wenn Werbung/Aussage mit diesem Inhalt erkannt wird: mit oeko bioSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "hat_produktseiten"
        },
        {
            "scope": "hat_dienstleistungsbeschreibung"
        },
        {
            "scope": "wirbt_mit_garantien"
        },
        {
            "scope": "wirbt_mit_herkunft"
        },
        {
            "scope": "wirbt_mit_oeko_bio"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5-werbeaussagen-belegbar",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- KI-Prompt: \"Enthält die Seite Aussagen über Produkt-/Dienstleistungs-\n  Eigenschaften, die plausibel prüfbar sind, aber unbelegt bleiben? Prüfe\n  speziell:\n  a) 'Garantie' — ist Garantie-Umfang, -Bedingungen, -Dauer genannt? (§479 BGB)\n  b) 'Made in Germany' / 'in Deutschland hergestellt' — ohne Fertigungstiefe-Hinweis\n  c) 'Bio' / 'Öko' / 'nachhaltig' / 'klimaneutral' — ohne Zertifikat / Beleg\n  d) gesundheitsbezogene Aussagen ('beugt vor', 'hilft gegen') — ggf. HWG-\n     relevant\n  e) 'handmade', 'Manufaktur', 'traditionell' ohne Belege\"\n- Regex nach Keyword-Mustern: `\\b(Garantie|garantiert|Made\\s+in\\s+Germany|bio|klima(neutral|positiv)|Premium)\\b`\n- Wenn Garantie-Keyword: prüfe Vorhandensein von Garantie-Bedingungen auf\n  Seite (BGB §479 verlangt transparente Garantie-Erklärung).\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "hat_produktseiten"
            },
            {
                "scope": "hat_dienstleistungsbeschreibung"
            },
            {
                "scope": "wirbt_mit_garantien"
            },
            {
                "scope": "wirbt_mit_herkunft"
            },
            {
                "scope": "wirbt_mit_oeko_bio"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "REGEL \"Werbeaussagen belegen\":\nFür jede Werbeaussage auf der Website, die eine konkrete Tatsache behauptet,\nmuss der Beleg verlinkt oder zitiert werden. Beispiele:\n\n1. Garantie:\n   \"3 Jahre Herstellergarantie auf {{produkt}} gemäß unseren\n    Garantiebedingungen (Link: /garantie). Ihre gesetzlichen\n    Gewährleistungsrechte bleiben unberührt.\"\n   → Garantie-Bedingungen nach §479 BGB müssen die Dauer, den räumlichen\n     Geltungsbereich, Namen/Anschrift des Garantiegebers, das Verfahren zur\n     Geltendmachung und den Hinweis auf die gesetzlichen\n     Gewährleistungsrechte enthalten.\n\n2. Herkunft \"Made in Germany\":\n   Voraussetzung: wesentliche Herstellungsschritte und Qualitätsmerkmale\n   werden in Deutschland erbracht (BGH I ZR 135/18). Einfaches Verpacken in\n   DE reicht nicht. → Prüfen, ob das Produkt den BGH-Kriterien entspricht;\n   andernfalls Claim streichen oder \"Designed in Germany\" nutzen.\n\n3. Bio/Öko:\n   \"{{produkt}} ist nach EG-Öko-Verordnung (VO (EU) 2018/848) zertifiziert.\n    Kontrollstelle: {{oekokontrollstelle}}, Kontrollnummer DE-ÖKO-000.\"\n   → Ohne Zertifizierung Claim streichen.\n\n4. Klimaneutral:\n   Nach BGH I ZR 98/23 (27.06.2024, \"Klimaneutral\") darf \"klimaneutral\" nur\n   mit Aufklärung über das zugrundeliegende Konzept (Vermeidung vs.\n   Kompensation, Zertifikat-Aussteller, Kompensationsprojekt) beworben\n   werden.\n"
}

ohne_section / uwg

Affiliate-Links als Werbung kennzeichnen (§5a Abs. 4 UWG)

a-uwg-5a-affiliate-kennzeichnung

executablepublic_aiai_semantic
Was macht diese Regel?

Affiliate-Links (Werbelinks mit Provisionsvergütung an den Verlinkenden — Amazon-Partner-Programm, Digistore24, AWIN, etc.) sind geschäftliche Handlungen mit kommerziellem Zweck. Nach BGH-Rechtsprechung und OLG- Entscheidungen (OLG Celle 13 U 18/21 v. 08.06.2021) müssen sie unmissverständlich als Werbung/Affiliate-Link erkennbar sein. Ein versteckter Sternchen-Hinweis am Ende des Beitrags reicht nicht — Affiliate-Links müssen beim Lesen offensichtlich sein, z. B. durch Hinweis "*" direkt am Link mit Erläuterung am Linkabschnitt oder durch eine pauschale, auffällige Kennzeichnung am Beitragsbeginn.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: hat_affiliate_links, nutzt_amazon_partner, nutzt_digistore24, nutzt_awin_daisycon

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • hat_affiliate_links - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: affiliate links
  • nutzt_amazon_partner - greift, wenn die Website diese Nutzung erkennen laesst: amazon partner
  • nutzt_digistore24 - greift, wenn die Website diese Nutzung erkennen laesst: digistore24
  • nutzt_awin_daisycon - greift, wenn die Website diese Nutzung erkennen laesst: awin daisycon
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5a Abs. 4 Kennzeichnung von Affiliate-Links als kommerzielle Handlung

Risiko: 800,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_affiliate_linksgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: affiliate linksSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
nutzt_amazon_partnergreift, wenn die Website diese Nutzung erkennen laesst: amazon partnerSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
nutzt_digistore24greift, wenn die Website diese Nutzung erkennen laesst: digistore24Sorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
nutzt_awin_daisycongreift, wenn die Website diese Nutzung erkennen laesst: awin daisyconSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "hat_affiliate_links"
        },
        {
            "scope": "nutzt_amazon_partner"
        },
        {
            "scope": "nutzt_digistore24"
        },
        {
            "scope": "nutzt_awin_daisycon"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5a-affiliate-kennzeichnung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- DOM-Scan: ausgehende Links mit typischen Affiliate-Parametern:\n  `amzn.to/`, `?tag=`, `awin.com`, `digistore24`, `?ref=`, `?affid=`.\n- KI-Prompt: \"Enthält der Beitrag Links zu Shops/Produkten, die vermutlich\n  Affiliate-Tracking enthalten (Parameter wie tag=, ref=, affid=)?\n  Wenn ja: ist die Werbe-Eigenschaft dieser Links deutlich gekennzeichnet,\n  z. B. durch Sternchen + erklärenden Hinweis, durch ausführliche\n  Einleitung 'Anzeige:' oder durch farblich hervorgehobene Markierung?\"\n- Negativ-Signal: Viele Product-Placement-Links ohne jede sichtbare\n  Kennzeichnung; nur genereller Disclaimer im Footer.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "hat_affiliate_links"
            },
            {
                "scope": "nutzt_amazon_partner"
            },
            {
                "scope": "nutzt_digistore24"
            },
            {
                "scope": "nutzt_awin_daisycon"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Zwei anerkannte Kennzeichnungs-Varianten:\n\nVARIANTE A — \"Anzeige\"-Einleitung (sichtbar am Beitragsanfang):\n\"Anzeige: Dieser Beitrag enthält Affiliate-Links. Wenn du über einen\ndieser Links etwas kaufst, erhalten wir eine kleine Provision. Für dich\nbleibt der Preis gleich.\"\n\nVARIANTE B — Sternchen-Kennzeichnung pro Link:\n\"Das Produkt XYZ bekommst du hier*.\"\nAm Ende des Absatzes (nicht weit weg, nicht nur im Footer):\n\"* Affiliate-Link: Wenn du über diesen Link kaufst, erhalten wir eine\nProvision. Der Preis ändert sich für dich nicht.\"\n\nNICHT ausreichend:\n- Nur ein Disclaimer im Footer \"Unsere Seite kann Affiliate-Links enthalten\"\n- Kennzeichnung erst nach 2000 Wörtern Artikeltext\n- \"*\" ohne Erläuterung am Absatz-Ende\n\nZusätzliche Empfehlung: Amazon-Partner-Programme verlangen zusätzlich\neine Pflicht-Disclosure-Formulierung — siehe Amazon-PartnerNet-\nBedingungen.\n"
}

ohne_section / uwg

Kommerzieller Zweck muss erkennbar sein — Werbung als Werbung kennzeichnen (§5a Abs. 4 UWG)

a-uwg-5a-kommerzieller-zweck-erkennbar

executablepublic_aiai_semantic
Was macht diese Regel?

Der kommerzielle Zweck einer geschäftlichen Handlung muss für den Verbraucher klar und unmissverständlich erkennbar sein. Diese Rule ist der **zentrale Paragraph der Influencer-Kennzeichnungspflicht**: Bezahlte Kooperationen, Produktplatzierungen (gegen Gegenleistung), gesponserte Posts und bezahlte Erwähnungen MÜSSEN deutlich als **Werbung** / **Anzeige** / **bezahlte Kooperation** gekennzeichnet sein — und zwar so, dass der durchschnittliche Verbraucher auf den ersten Blick erkennt, dass es sich um Werbung handelt. Auch für Website-Betreiber relevant: bezahlte Blogbeiträge, Advertorials, Affiliate-Strecken, gesponserte Test-Reviews.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: hat_sponsored_content, hat_bezahlte_produkttests, hat_influencer_posts_eingebunden, hat_gekaufte_links

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • hat_sponsored_content - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: sponsored content
  • hat_bezahlte_produkttests - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte produkttests
  • hat_influencer_posts_eingebunden - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: influencer posts eingebunden
  • hat_gekaufte_links - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: gekaufte links
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5a Abs. 4 Kenntlichmachung des kommerziellen Zwecks

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_sponsored_contentgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: sponsored contentSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_bezahlte_produkttestsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte produkttestsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_influencer_posts_eingebundengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: influencer posts eingebundenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_gekaufte_linksgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: gekaufte linksSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "hat_sponsored_content"
        },
        {
            "scope": "hat_bezahlte_produkttests"
        },
        {
            "scope": "hat_influencer_posts_eingebunden"
        },
        {
            "scope": "hat_gekaufte_links"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5a-kommerzieller-zweck-erkennbar",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- KI-Prompt: \"Enthält die Seite Inhalte, die den Eindruck redaktioneller\n  oder persönlicher Empfehlung erwecken, aber gegen Gegenleistung\n  entstanden sind (Testberichte, Lieblings-Tools, 'Unsere Empfehlung')?\n  Ist die Kennzeichnung als 'Werbung', 'Anzeige', 'Sponsored' klar sichtbar\n  am Anfang des Beitrags oder wird sie erst unten, klein, in einem\n  Hashtag-Cluster versteckt?\"\n- DOM-Scan: auf Blog-/News-Seiten nach Keywords \"Anzeige\", \"Werbung\",\n  \"Sponsored Post\", \"Bezahlte Kooperation\", \"unterstützt von\".\n- Bei eingebetteten Social-Posts (Instagram, TikTok-Embeds):\n  Kennzeichnung der Plattform-native anerkannten Labels (\"Bezahlte\n  Partnerschaft mit …\") prüfen.\n- Negativ-Signal: Blogpost über ein Produkt, der mit Affiliate-Link zum\n  Shop führt, ohne jede Werbe-Kennzeichnung im Beitrag.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "hat_sponsored_content"
            },
            {
                "scope": "hat_bezahlte_produkttests"
            },
            {
                "scope": "hat_influencer_posts_eingebunden"
            },
            {
                "scope": "hat_gekaufte_links"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Faustregeln zur Kennzeichnung (Medienanstalten-Leitfaden 2018 + BGH-\nRechtsprechung):\n\n1. KENNZEICHNUNG DEUTLICH SICHTBAR, oben im Beitrag, in normaler\n   Schriftgröße, nicht versteckt:\n     \"Anzeige\" — sicherste Formulierung\n     \"Werbung\" — gleichwertig anerkannt\n     \"bezahlte Kooperation mit {{marke}}\" — bei Kooperationen\n     \"Sponsored Post\" — nur bei englischsprachigen Seiten anerkannt\n\n2. NICHT ausreichend:\n     \"#Werbung\" versteckt zwischen 20 anderen Hashtags\n     Nur \"Affiliate-Link\" oder nur \"*\" als Sternchen-Hinweis\n     Nur unten, unter \"weitere Infos\"\n     Nur in der Impressum/Disclaimer-Seite\n\n3. BEZAHLTE BLOGBEITRÄGE / ADVERTORIALS:\n   Am Beitragsanfang deutlicher Hinweis:\n   \"Anzeige: Dieser Beitrag entstand in Zusammenarbeit mit {{marke}}.\"\n\n4. PRODUKT-TESTS mit kostenlosen Produktproben:\n   Hinweis am Anfang:\n   \"Werbung: Das getestete Produkt wurde mir vom Hersteller kostenlos zur\n    Verfügung gestellt. Meine Meinung ist davon unabhängig.\"\n\n5. AFFILIATE-LINKS — siehe separate Rule `a-uwg-5a-affiliate-kennzeichnung`.\n"
}

ohne_section / uwg

Wesentliche Informationen bei Aufforderung zum Kauf (§5b Abs. 1 UWG — alt §5a Abs. 3)

a-uwg-5a-verbraucher-informationen-bei-aufforderung

executablepublic_aiai_semantic
Was macht diese Regel?

Wenn auf der Website Waren oder Dienstleistungen unter Angabe ihrer Merkmale und des Preises so angeboten werden, dass der Verbraucher den Kauf abschließen kann ("Aufforderung zum Kauf" = Angebot mit genügend Infos für Kaufentscheidung), müssen bestimmte Pflichtinfos VORHER klar angegeben sein: 1. wesentliche Merkmale der Ware/Dienstleistung in angemessenem Umfang 2. Identität + Anschrift des Unternehmers 3. Gesamtpreis (inkl. USt, Versand, Zusatzkosten) 4. Zahlungs-, Liefer- und Leistungsbedingungen 5. Bestehen eines Widerrufsrechts (bei B2C-Fernabsatz) Diese Pflichten sind im E-Commerce-Kontext durch BGB §312d + Art. 246a EGBGB zusätzlich konkretisiert. Hier ist der UWG-Aspekt: Fehlen einer dieser Angaben macht die Werbung wettbewerbsrechtlich angreifbar. ACHTUNG: Durch Omnibus-Umsetzung 28.05.2022 wurde die entsprechende Norm in §5b UWG verschoben (NICHT zu verwechseln mit §5b zu Bewertungen — §5b UWG enthält mehrere Tatbestände).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: hat_shop, hat_preisliste, hat_direkt-bestell-button

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • hat_shop - greift bei Shop/Warenkorb/Checkout-Signalen
  • hat_preisliste - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: preisliste
  • hat_direkt-bestell-button - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: direkt bestell button
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5b Abs. 1 (früher § 5a Abs. 3) Wesentliche Informationen bei Aufforderung zum Kauf

Risiko: 800,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_shopgreift bei Shop/Warenkorb/Checkout-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_preislistegreift, wenn KarlKI dieses Website-Merkmal gefunden hat: preislisteSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_direkt-bestell-buttongreift, wenn KarlKI dieses Website-Merkmal gefunden hat: direkt bestell buttonSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "hat_shop"
        },
        {
            "scope": "hat_preisliste"
        },
        {
            "scope": "hat_direkt-bestell-button"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5a-verbraucher-informationen-bei-aufforderung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- Prüfe bei jedem erkennbaren Produktangebot (Produktseite, Preisliste,\n  Bestellformular), ob die 5 Pflichtinfos vollständig vorhanden sind.\n- Cross-Check mit Ebene C `07-ecommerce-b2c.md` für BGB §312d Info-Tiefe.\n- KI-Prompt: \"Bietet die Seite Produkte/Dienstleistungen so an, dass ein\n  Verbraucher direkt bestellen/kaufen kann? Wenn ja: sind Identität,\n  Anschrift, Gesamtpreis (inkl. USt + Versand), Zahlungsarten, Liefer-\n  bedingungen und Widerrufsrecht-Hinweis vorhanden?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "hat_shop"
            },
            {
                "scope": "hat_preisliste"
            },
            {
                "scope": "hat_direkt-bestell-button"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Auf jeder Produkt-/Leistungsseite mit Bestellmöglichkeit müssen vorhanden\nsein:\n\n1. WESENTLICHE MERKMALE der Ware/Dienstleistung\n   (Beschreibung, Maße, Material, Funktionen — angemessen zum Produkt)\n\n2. IDENTITÄT + ANSCHRIFT des Anbieters\n   (mindestens Link zum Impressum)\n\n3. GESAMTPREIS inkl. USt + alle Nebenkosten\n   (z. B. \"99,00 € inkl. 19 % USt, zzgl. 4,95 € Versand\")\n\n4. ZAHLUNGS- und LIEFERBEDINGUNGEN\n   (Rechnung, Vorkasse, Kreditkarte, PayPal … / Lieferzeit 3–5 Werktage …)\n\n5. WIDERRUFSRECHT-HINWEIS (B2C)\n   (\"Sie haben 14 Tage Widerrufsrecht — Details siehe Widerrufsbelehrung.\")\n"
}

ohne_section / uwg

Vorenthalten wesentlicher Informationen (§5a Abs. 1 UWG)

a-uwg-5a-wesentliche-infos

executablepublic_aiai_semantic
Was macht diese Regel?

Eine geschäftliche Handlung ist unlauter, wenn dem Verbraucher eine wesentliche Information vorenthalten wird, die er nach den Umständen für eine informierte geschäftliche Entscheidung benötigt. Auf Websites besonders relevant: fehlende Angaben zu wesentlichen Produkteigenschaften, zu Vertragsbedingungen, zu Lieferzeiten, zu Zahlungsarten, zu Widerrufsmöglichkeiten, zu Liefereinschränkungen. Die Rule greift als generelle Auffangnorm — spezifischere Infopflichten (§5b, §312d BGB vorvertragliche Infos, §312i/j BGB Button-Lösung) haben Vorrang.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5a Abs. 1 Irreführung durch Unterlassen — Grundtatbestand

Risiko: 800,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5a-wesentliche-infos",
    "fix_type": "partner_anwalt",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- KI-Prompt (ai_semantic): \"Fehlen auf der Website wesentliche Informationen,\n  die ein durchschnittlicher Verbraucher für seine Kaufentscheidung\n  braucht? Prüfe:\n  a) Angaben zu wesentlichen Produkteigenschaften\n  b) Preis inkl. aller Zusatzkosten (siehe auch PAngV)\n  c) Lieferbedingungen (Zeiten, Einschränkungen, Regionen)\n  d) Zahlungsarten\n  e) Widerrufsmöglichkeit bei B2C\n  f) Identität und Anschrift des Anbieters (siehe auch DDG)\n  g) Beschwerdeverfahren\"\n- Bei E-Commerce-Seiten spezifisch: `fix_type: partner_anwalt`, weil\n  konkurrierende Vorschriften (BGB §312d, §312i, §312j, PAngV, MaBV)\n  greifen können.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "Fachanwalt für IT-Recht/Wettbewerbsrecht — Abgleich mit spezifischen\nBranchen-Informationspflichten (B2C-Shop, Finanzdienste, Gesundheits-\nprodukte).\n",
    "fix_text_vorlage": "Einzelfall-Abgleich mit spezifischeren Inventur-Rules:\n- Ebene C `07-ecommerce-b2c.md` — vorvertragliche Informationspflichten (§312d BGB)\n- Ebene B `kontaktformular.md` — DSGVO Art. 13 Info\n- Ebene A `ddg.md` — Impressum\n- Ebene C `07-ecommerce-b2c.md` — Widerrufsbelehrung (§356 BGB)\n→ Wenn dort bereits ein spezifischeres Fail vorliegt, dominiert diese Rule.\n→ Wenn kein spezifisches Fail, aber dennoch der Eindruck fehlender Info\n  besteht: Fachanwalt konsultieren.\n"
}

ohne_section / uwg

Bewertungen: Echtheitsprüfung offenlegen (§5b Abs. 3 UWG + Anhang Nr. 23b)

a-uwg-5b-bewertungen-authentizitaet

executablepublic_aiai_semantic
Was macht diese Regel?

Wer auf der Website Verbraucherbewertungen anzeigt (Produktreviews, Sternebewertungen, Testimonials, Google-Reviews-Einbettung, Trustpilot- Widget, eigene Review-Funktion), MUSS darüber informieren, ob und wie sichergestellt wird, dass die Bewertungen von echten Verbrauchern stammen, die das Produkt/die Dienstleistung tatsächlich gekauft oder genutzt haben. Seit 28.05.2022 Pflicht.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: zeigt_kundenbewertungen, zeigt_sternebewertung, bindet_trustpilot_ein, bindet_google_reviews_ein, zeigt_testimonials

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • zeigt_kundenbewertungen - greift, wenn diese sichtbare Aussage/Anzeige gefunden wird: kundenbewertungen
  • zeigt_sternebewertung - greift, wenn diese sichtbare Aussage/Anzeige gefunden wird: sternebewertung
  • bindet_trustpilot_ein - greift, wenn der Trigger "bindet_trustpilot_ein" im ScanScope aktiv ist
  • bindet_google_reviews_ein - greift, wenn der Trigger "bindet_google_reviews_ein" im ScanScope aktiv ist
  • zeigt_testimonials - greift, wenn diese sichtbare Aussage/Anzeige gefunden wird: testimonials
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5b Abs. 3 (i. V. m. Anhang § 3 Abs. 3 Nr. 23b) Informationspflicht bei Verbraucherbewertungen

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
zeigt_kundenbewertungengreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: kundenbewertungenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
zeigt_sternebewertunggreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: sternebewertungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
bindet_trustpilot_eingreift, wenn der Trigger "bindet_trustpilot_ein" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
bindet_google_reviews_eingreift, wenn der Trigger "bindet_google_reviews_ein" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
zeigt_testimonialsgreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: testimonialsSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "zeigt_kundenbewertungen"
        },
        {
            "scope": "zeigt_sternebewertung"
        },
        {
            "scope": "bindet_trustpilot_ein"
        },
        {
            "scope": "bindet_google_reviews_ein"
        },
        {
            "scope": "zeigt_testimonials"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5b-bewertungen-authentizitaet",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- DOM-Scan: Erkennungs-Muster für Bewertungen: Stern-Icons, Zahlen \"★★★★☆\",\n  Textbausteine \"X von Y Kunden empfehlen\", Trustpilot-Widget,\n  ProvenExpert-Widget, Google-Reviews-Embed.\n- Textsuche nach Schlagwörtern: \"Bewertungen\", \"Kundenstimmen\",\n  \"Testimonials\", \"Reviews\", \"Erfahrungen\".\n- KI-Prompt: \"Zeigt die Seite Verbraucherbewertungen? Wenn ja: ist an\n  sichtbarer Stelle (direkt bei den Bewertungen oder in prominenter\n  Verlinkung) erklärt, WIE die Authentizität sichergestellt wird —\n  z. B. 'nur verifizierte Käufer', 'E-Mail-Verifizierung', 'kein\n  Verifikations-Prozess', 'manuelle Prüfung'?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "zeigt_kundenbewertungen"
            },
            {
                "scope": "zeigt_sternebewertung"
            },
            {
                "scope": "bindet_trustpilot_ein"
            },
            {
                "scope": "bindet_google_reviews_ein"
            },
            {
                "scope": "zeigt_testimonials"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Direkt bei der Bewertungs-Anzeige (nicht nur im Impressum/Footer):\n\nVARIANTE 1 — Verifizierte Käufer:\n\"Bewertungen stammen ausschließlich von verifizierten Käufern.\nBevor ein Kunde eine Bewertung abgeben kann, prüfen wir automatisiert\nanhand seiner Bestellhistorie, dass er das Produkt tatsächlich gekauft hat.\nManipulation (z. B. Mehrfach-Bewertungen) wird durch {{system}} unterbunden.\"\n\nVARIANTE 2 — Offene Plattform mit Basis-Prüfung:\n\"Jeder Website-Besucher kann eine Bewertung abgeben. Wir prüfen manuell\nauf offenkundig missbräuchliche oder beleidigende Inhalte, können aber\nnicht in jedem Einzelfall verifizieren, dass der Bewertende das Produkt\ntatsächlich genutzt hat.\"\n\nVARIANTE 3 — Drittanbieter (Trustpilot, ProvenExpert):\n\"Bewertungen werden von {{trustpilot|provenexpert|etc.}} eingesammelt und\nnach deren Authentizitätsprüfung angezeigt. Details zur Methode:\nhttps://{{drittanbieter-policy}}\"\n\nNICHT ausreichend:\n- Keine Aussage zur Bewertungsherkunft\n- Nur \"Die Bewertungen sind echt\" ohne Erläuterung des Prüf-Prozesses\n"
}

ohne_section / uwg

Bezahlte Platzierungen in Rankings/Suchergebnissen als 'Anzeige' kennzeichnen (Anhang §3 Abs. 3 Nr. 11a UWG)

a-uwg-5b-bezahlte-platzierung-kennzeichnung

requires_owner_permissionbrowser_interactiveai_visual
Was macht diese Regel?

Wenn ein Produkt oder Anbieter innerhalb eines Rankings oder einer Suchergebnisliste aufgrund einer Bezahlung höher platziert wird (z. B. Shopping-Ads, gesponserte Einträge in Vergleichsportalen, Preisvergleichs- Shops mit Provisionsvereinbarung), MUSS diese Platzierung für den Verbraucher klar als "Anzeige", "gesponsert", "bezahlte Platzierung" oder gleichwertig erkennbar gekennzeichnet sein. Seit 28.05.2022 als **Per-se-Verbot** im Anhang zu §3 Abs. 3 UWG geregelt (Nr. 11a).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: hat_produktranking, hat_bezahlte_platzierung, hat_vergleichsportal

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • hat_produktranking - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: produktranking
  • hat_bezahlte_platzierung - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte platzierung
  • hat_vergleichsportal - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: vergleichsportal
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI bewertet sichtbare Merkmale aus Screenshot/Rendering, z. B. Banner, sichtbare Hinweise, Buttons oder optische Dark Patterns. Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Runtime: Die Regel ist vorhanden, läuft aber nur mit Owner-Kontext oder expliziter Freigabe.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG Anhang § 3 Abs. 3 Nr. 11a (i. V. m. § 5b Abs. 2) Verbot unklarer bezahlter Ranking-Platzierungen (Per-se)

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI bewertet sichtbare Merkmale aus Screenshot/Rendering, z. B. Banner, sichtbare Hinweise, Buttons oder optische Dark Patterns.

scan_mode: Check braucht gerenderten Browserzustand. Bei sensiblen Aktionen oder tiefen Interaktionen kann Owner-Kontext noetig sein.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, browser_trace, screenshot, dom_snapshot, interaction_state, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_produktrankinggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: produktrankingSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_bezahlte_platzierunggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte platzierungSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_vergleichsportalgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: vergleichsportalSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "hat_produktranking"
        },
        {
            "scope": "hat_bezahlte_platzierung"
        },
        {
            "scope": "hat_vergleichsportal"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5b-bezahlte-platzierung-kennzeichnung",
    "fix_type": "diy_text",
    "check_type": "ai_visual",
    "section_name": null,
    "check_hinweis": "- Auf Vergleichsportalen: prüfe, ob Einträge, die offenbar aus\n  Provisions-Vereinbarungen resultieren (häufig als erste Einträge oder\n  in einer \"Empfehlung\"-Box), als Anzeige gekennzeichnet sind.\n- Auf Shop-Suchergebnissen: prüfe Sponsored-Placements (häufig in\n  größerer Box, farblich hervorgehoben), ob Label \"Anzeige\" sichtbar.\n- KI-Prompt (ai_visual): \"Sind in der Rangliste einzelne Einträge durch\n  Layout oder Position hervorgehoben? Gibt es bei diesen Einträgen ein\n  Label 'Anzeige', 'Gesponsert', 'bezahlte Platzierung' — sichtbar und\n  nicht nur im Tooltip versteckt?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "hat_produktranking"
            },
            {
                "scope": "hat_bezahlte_platzierung"
            },
            {
                "scope": "hat_vergleichsportal"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "REGELN zur Kennzeichnung bezahlter Platzierungen:\n\n1. DIREKT AM EINTRAG: Label \"Anzeige\" oder \"Gesponsert\" sichtbar, in\n   lesbarer Schriftgröße (nicht unter 10px), kontraststark.\n\n2. BEI HERVORGEHOBENEN POSITIONEN (Top-Platzierung, eigene Box):\n   Zusätzlich Hintergrundfarbe oder Rahmen, um Abgrenzung vom\n   organischen Ranking zu signalisieren.\n\n3. GLOBAL-ERKLÄRUNG auf der Ranking-Seite (zusätzlich):\n   \"Einige Platzierungen sind bezahlt und als 'Anzeige' gekennzeichnet.\n    Sie beeinflussen die Anzeige-Reihenfolge. Details siehe\n    /ranking-transparenz.\"\n\n4. NICHT ausreichend:\n   - Nur Asterisk \"*\" ohne Erläuterung\n   - Kennzeichnung nur im Mouseover-Tooltip\n   - Kennzeichnung nur in Fußnote am Seitenende\n   - Kennzeichnung als \"Top Angebot\" oder \"Empfehlung\" (nicht als\n     Werbung erkennbar)\n"
}

ohne_section / uwg

Gefälschte/gekaufte Verbraucherbewertungen verboten (Anhang §3 Abs. 3 Nr. 23a UWG)

a-uwg-5b-fake-bewertungen-verbot

executablepublic_aiai_semantic
Was macht diese Regel?

Die Einstellung oder Beauftragung gefälschter Verbraucherbewertungen ist seit 28.05.2022 ein **Per-se-Verbot** (Anhang zu §3 Abs. 3 UWG Nr. 23a). Betrifft: eigene Bewertungen unter falschen Namen; Bewertungen durch Mitarbeitende/Angehörige ohne Offenlegung; gekaufte Reviews (Review- Farms, Amazon-Reviewer-Netzwerke); Incentivierte Reviews, die nicht als solche kenntlich gemacht sind ("Bewerte und bekomme 10 % Rabatt"). Zusätzlich: unwahre Darstellung, Bewertungen seien unabhängig oder verifiziert, wenn dies nicht der Fall ist (Nr. 23b).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: zeigt_kundenbewertungen, sammelt_reviews_via_incentive

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • zeigt_kundenbewertungen - greift, wenn diese sichtbare Aussage/Anzeige gefunden wird: kundenbewertungen
  • sammelt_reviews_via_incentive - greift, wenn der Trigger "sammelt_reviews_via_incentive" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG Anhang zu § 3 Abs. 3 Nr. 23a (i. V. m. § 5b) Verbot gefälschter Verbraucherbewertungen (Per-se)

Risiko: 1.500,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
zeigt_kundenbewertungengreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: kundenbewertungenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
sammelt_reviews_via_incentivegreift, wenn der Trigger "sammelt_reviews_via_incentive" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "zeigt_kundenbewertungen"
        },
        {
            "scope": "sammelt_reviews_via_incentive"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5b-fake-bewertungen-verbot",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- Direkte automatisierte Erkennung von \"Fake-Bewertungen\" ist technisch\n  schwer — Scanner kann vor allem Indizien prüfen:\n  a) Auffällig homogene Formulierungen (\"Bestes Produkt aller Zeiten!\")\n  b) Auffällig viele 5-Sterne-Bewertungen in kurzer Zeitspanne\n  c) Bewertungen mit gleicher Quelle/IP (nur für eigenen Shop ermittelbar)\n  d) Incentive-Programme ohne Offenlegung (\"Bewerte und bekomme X\")\n- KI-Prompt: \"Gibt es Hinweise auf Incentive-Programme für Bewertungen\n  (z. B. Rabatt, Gutschein, Tombola für Bewertung)? Wenn ja: ist bei den\n  Bewertungen deutlich vermerkt, dass es sich um incentivierte Bewertungen\n  handelt?\"\n- Typische Anwendung: als Warn-Rule, wenn Scanner Incentive-Hinweise\n  findet → Kunde sensibilisieren + rechtlicher Hinweis.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "zeigt_kundenbewertungen"
            },
            {
                "scope": "sammelt_reviews_via_incentive"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Bei Verdacht auf eigene Fake-Bewertungen: sofortige rechtsanwaltliche\nBeratung, denn §20 Abs. 1 UWG ermöglicht Bußgelder bis 50.000 €.\n",
    "fix_text_vorlage": "REGELN für rechtskonformes Bewertungs-Management:\n\n1. KEINE EIGENEN BEWERTUNGEN unter falschen Namen (auch keine\n   \"harmlosen Lob-Bewertungen\" durch Mitarbeiter/Familie).\n\n2. KEINE GEKAUFTEN BEWERTUNGEN aus Review-Farms, Reviewer-Netzwerken,\n   Freelance-Plattformen.\n\n3. INCENTIVIERTE BEWERTUNGEN:\n   - Grundsätzlich zulässig (Rabatt für eine Bewertung abgeben).\n   - ABER: Zweifache Offenlegung nötig —\n     (a) bei der Einladung zur Bewertung (\"Bewerte und erhalte 10 % Rabatt\")\n     (b) bei der angezeigten Bewertung selbst (\"Diese Bewertung wurde mit\n         einem Rabatt incentiviert.\")\n   - Die Anreizung darf NICHT an ein bestimmtes positives Urteil geknüpft\n     sein (\"Bewerte mit 5 Sternen und bekomme 10 % Rabatt\" = unzulässig).\n\n4. BEWERTUNGEN VON FAMILIE/MITARBEITERN (ohne Incentive):\n   Als Bewertungsprozess ausschließen (keine Mitarbeiterfreundlichkeits-\n   Bewertungen).\n\n5. NEGATIVE BEWERTUNGEN nicht selektiv entfernen — §5b Abs. 3 UWG erfordert\n   Transparenz über den Bewertungsprozess; wer nur 5-Sterne-Bewertungen\n   anzeigt, muss diese Auswahl offenlegen.\n"
}

ohne_section / uwg

Ranking-Transparenz: Hauptparameter offenlegen (§5b Abs. 2 UWG)

a-uwg-5b-ranking-transparenz

executablepublic_aiai_semantic
Was macht diese Regel?

Wer auf der Website Produkte oder Anbieter in einer bestimmten Rangfolge darstellt (Suchergebnisse, "Top 10"-Listen, Kategorie-Sortierungen, Vergleichsportale, Filterergebnisse), MUSS die **Hauptparameter**, die das Ranking bestimmen, und deren **relative Gewichtung** transparent machen. Pflicht seit 28.05.2022 (Omnibus-Umsetzung).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: hat_produktranking, hat_suchergebnisse_mit_ranking, hat_vergleichsportal, zeigt_top_listen

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • hat_produktranking - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: produktranking
  • hat_suchergebnisse_mit_ranking - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: suchergebnisse mit ranking
  • hat_vergleichsportal - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: vergleichsportal
  • zeigt_top_listen - greift, wenn diese sichtbare Aussage/Anzeige gefunden wird: top listen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5b Abs. 2 Transparenz bei Rangfolgen von Produkten/Anbietern

Risiko: 800,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_produktrankinggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: produktrankingSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_suchergebnisse_mit_rankinggreift, wenn KarlKI dieses Website-Merkmal gefunden hat: suchergebnisse mit rankingSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_vergleichsportalgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: vergleichsportalSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
zeigt_top_listengreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: top listenSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "hat_produktranking"
        },
        {
            "scope": "hat_suchergebnisse_mit_ranking"
        },
        {
            "scope": "hat_vergleichsportal"
        },
        {
            "scope": "zeigt_top_listen"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5b-ranking-transparenz",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- Erkenne Ranking-Kontexte: Suche-Ergebnisseiten, \"Top 10 Widgets\",\n  \"Unsere Empfehlungen\", Kategorie-Sortierungen (Sortierungs-Dropdowns).\n- KI-Prompt: \"Zeigt die Seite eine Rangordnung von Produkten oder\n  Anbietern? Wenn ja: wird erklärt, nach welchen Parametern sortiert wird\n  (z. B. Preis, Bewertung, Relevanz, Popularität, bezahlte Platzierung)?\n  Ist diese Erklärung leicht zugänglich (Direktlink 'Wie wird sortiert?'\n  oder Tooltip)?\"\n- Negativ-Signal: Vergleichsportal ohne jede Erklärung der Sortier-Logik.\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "hat_produktranking"
            },
            {
                "scope": "hat_suchergebnisse_mit_ranking"
            },
            {
                "scope": "hat_vergleichsportal"
            },
            {
                "scope": "zeigt_top_listen"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Direkt bei der Ranking-Darstellung (Tooltip, kleines Info-Symbol, Direkt-\nLink \"So funktioniert unser Ranking\"):\n\nBEISPIEL für einen einfachen Shop:\n\"Unsere Produkte werden standardmäßig nach Beliebtheit sortiert\n(basierend auf Verkaufshäufigkeit der letzten 30 Tage). Sie können\nüber das Sortier-Dropdown nach Preis, Bewertung oder Neuheit wechseln.\nKeine bezahlten Platzierungen innerhalb der Ergebnisse.\"\n\nBEISPIEL für Vergleichsportal:\n\"Die Rangfolge auf dieser Seite basiert auf:\n • Preis (Gewichtung: 40 %)\n • Nutzer-Bewertungen (Gewichtung: 30 %)\n • Anbieter-Reputation (Gewichtung: 20 %)\n • Provision/Kooperation mit uns (Gewichtung: 10 %)\n → bezahlte Platzierungen sind entsprechend §5b Abs. 2 UWG offengelegt\n und als 'Gesponsert' gekennzeichnet.\"\n\nSiehe zusätzlich `a-uwg-5b-bezahlte-platzierung-kennzeichnung` für\nbezahlte Ranking-Positionen.\n"
}

ohne_section / uwg

Keine unwahren Angaben zu Unternehmensidentität und -eigenschaften (§5 Abs. 2 Nr. 3 UWG)

a-uwg-5c-unternehmenskennzeichnung-wesentlich

executablepublic_aiai_semantic
Was macht diese Regel?

Die Selbstdarstellung des Unternehmens auf der Website (Identität, Größe, Gründungsjahr, Vermögensverhältnisse, geistiges Eigentum, Auszeichnungen, Mitgliedschaften, Kundendienst) darf nicht irreführen. Betrifft besonders: "seit 1952"-Angaben ohne historische Grundlage; Mitarbeiterzahlen weit über Realität; fiktive Niederlassungen ("Büro Berlin"); Urheberrecht/Patente- Behauptungen ohne Anspruch; "Partner von …"-Claims ohne reale Geschäftsbeziehung; Hinweise auf nicht bestehenden Kundendienst.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar, geschaeftliche_handlung_auf_seite
Mindestens eine muss passen: hat_über-uns-seite, zeigt_gruendungsjahr, zeigt_standorte, nennt_partner_referenzen

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • geschaeftliche_handlung_auf_seite - greift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv ist
  • hat_ueber-uns-seite - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: über uns seite
  • zeigt_gruendungsjahr - greift, wenn diese sichtbare Aussage/Anzeige gefunden wird: gruendungsjahr
  • zeigt_standorte - greift, wenn diese sichtbare Aussage/Anzeige gefunden wird: standorte
  • nennt_partner_referenzen - greift, wenn der Trigger "nennt_partner_referenzen" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 5 Abs. 2 Nr. 3 Irreführung über die Person, Eigenschaften oder Rechte des Unternehmers

Risiko: 800,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.
geschaeftliche_handlung_auf_seitegreift, wenn der Trigger "geschaeftliche_handlung_auf_seite" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_ueber-uns-seitegreift, wenn KarlKI dieses Website-Merkmal gefunden hat: über uns seiteSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
zeigt_gruendungsjahrgreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: gruendungsjahrSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
zeigt_standortegreift, wenn diese sichtbare Aussage/Anzeige gefunden wird: standorteSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
nennt_partner_referenzengreift, wenn der Trigger "nennt_partner_referenzen" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        },
        {
            "scope": "geschaeftliche_handlung_auf_seite"
        }
    ],
    "oder": [
        {
            "scope": "hat_ueber-uns-seite"
        },
        {
            "scope": "zeigt_gruendungsjahr"
        },
        {
            "scope": "zeigt_standorte"
        },
        {
            "scope": "nennt_partner_referenzen"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-5c-unternehmenskennzeichnung-wesentlich",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- KI-Prompt: \"Enthält die Über-uns-Seite prüfbare Aussagen über das Unternehmen\n  (Gründungsjahr, Mitarbeiter-Anzahl, Standorte, Partner, Zertifizierungen,\n  Auszeichnungen), die plausibel aber unbelegt sind? Wirken Zahlen oder\n  Behauptungen unrealistisch im Kontext einer Kleinunternehmens-/Freiberufler-\n  Seite?\"\n- Check auf fiktive Standorte: wenn mehrere \"Büros Berlin / München / Hamburg\"\n  genannt werden, aber Impressum nur eine Adresse hat → Indiz für Irreführung.\n- Check \"Partner von\" / \"Kunden\" — bei prominenten Marken ggf. Nachweis\n  verlangen.\n- Check \"seit 19xx\" — plausibel im Kontext?\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            },
            {
                "scope": "geschaeftliche_handlung_auf_seite"
            }
        ],
        "oder": [
            {
                "scope": "hat_ueber-uns-seite"
            },
            {
                "scope": "zeigt_gruendungsjahr"
            },
            {
                "scope": "zeigt_standorte"
            },
            {
                "scope": "nennt_partner_referenzen"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Selbstdarstellung nur mit Faktengrundlage:\n\n1. Gründungsjahr: nur nennen, wenn tatsächlich (Handelsregister/Gewerbe-\n   anmeldung-Datum). Rechtsnachfolge aus Vorgängerunternehmen separat\n   kennzeichnen (\"Die Wurzeln des Unternehmens gehen auf 1952 zurück;\n   die heutige {{firma}} GmbH wurde 2015 gegründet.\").\n\n2. Mitarbeiter-Angaben: realistische Größenordnung. \"Team von 5–10\" besser\n   als \"über 50 Mitarbeiter\", wenn tatsächlich 6 Personen.\n\n3. Standorte / Niederlassungen: nur, wenn dort tatsächlich Geschäftstätigkeit\n   stattfindet (Adresse, Personal, Steuer-Anmeldung). Keine fiktiven\n   Repräsentanzen.\n\n4. Partner/Kunden-Referenzen: nur mit Einverständnis der genannten Unternehmen\n   (→ schriftliche Freigabe einholen, bei Marken besonders: Markenrecht).\n\n5. Zertifizierungen/Mitgliedschaften: mit Nachweis (Mitgliedsnummer,\n   Zertifikat-Laufzeit).\n"
}

ohne_section / uwg

Telefonwerbung nur mit ausdrücklicher Einwilligung (B2C) bzw. mutmaßlicher Einwilligung (B2B) (§7 Abs. 2 Nr. 2 UWG)

a-uwg-7-telefonwerbung-einwilligung

executablepublic_aiai_semantic
Was macht diese Regel?

Werbeanrufe sind unzulässig: • gegenüber Verbrauchern (B2C) ohne deren **vorherige ausdrückliche Einwilligung**. Die Einwilligung muss ausdrücklich, informiert, freiwillig und konkret auf Telefonwerbung bezogen sein. Seit 01.10.2021 gilt zusätzlich eine **Dokumentationspflicht** (§7a UWG): Die Einwilligung muss in geeigneter Weise dokumentiert und für 5 Jahre aufbewahrt werden. • gegenüber sonstigen Marktteilnehmern (B2B) ohne **mutmaßliche Einwilligung** (eng auszulegen: eine konkrete sachliche Nähe zur Geschäftstätigkeit des Angerufenen ist erforderlich). Im Website-Kontext ist die Rule relevant, wenn auf der Website Telefon- Kontakte gesammelt werden, um später anzurufen — dann muss das Formular auf die Telefonwerbung-Einwilligung separat hinweisen und sie separat einholen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: seite_erreichbar
Mindestens eine muss passen: sammelt_telefonnummern_via_formular, hat_call-me-back_feature, hat_telefon_akquise_hinweis

  • seite_erreichbar - greift, wenn die Website erreichbar ist
  • sammelt_telefonnummern_via_formular - greift, wenn der Trigger "sammelt_telefonnummern_via_formular" im ScanScope aktiv ist
  • hat_call-me-back_feature - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: call me back feature
  • hat_telefon_akquise_hinweis - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: telefon akquise hinweis
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG § 7 Abs. 2 Nr. 2 (i. V. m. §7a UWG Dokumentationspflicht) Telefonwerbung mit oder ohne Einwilligung

Risiko: 1.000,00 EUR bis 300.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
seite_erreichbargreift, wenn die Website erreichbar istVerhindert Folgefehler: Wenn die Seite nicht erreichbar ist, wären Inhaltsprüfungen unfair oder technisch falsch.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
sammelt_telefonnummern_via_formulargreift, wenn der Trigger "sammelt_telefonnummern_via_formular" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
hat_call-me-back_featuregreift, wenn KarlKI dieses Website-Merkmal gefunden hat: call me back featureSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
hat_telefon_akquise_hinweisgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: telefon akquise hinweisSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "seite_erreichbar"
        }
    ],
    "oder": [
        {
            "scope": "sammelt_telefonnummern_via_formular"
        },
        {
            "scope": "hat_call-me-back_feature"
        },
        {
            "scope": "hat_telefon_akquise_hinweis"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "a-uwg-7-telefonwerbung-einwilligung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "- Wenn Formular Telefonnummer-Feld enthält: prüfe, ob eine separate\n  Checkbox für \"Einwilligung in telefonische Kontaktaufnahme\" existiert.\n- Prüfe, ob die Einwilligung klar auf Werbung/Verkaufsgespräche bezogen\n  ist (reine \"Rückrufbitte bei Kontaktanfrage\" ist KEINE Werbe-Einwilligung).\n- KI-Prompt: \"Sammelt die Seite Telefonnummern in einem Kontext, in dem\n  später Telefon-Werbung/Vertriebsanrufe erfolgen könnten? Ist dafür eine\n  separate, ausdrückliche Einwilligung eingeholt, und wird diese\n  dokumentiert?\"\n",
    "normalization": [],
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "seite_erreichbar"
            }
        ],
        "oder": [
            {
                "scope": "sammelt_telefonnummern_via_formular"
            },
            {
                "scope": "hat_call-me-back_feature"
            },
            {
                "scope": "hat_telefon_akquise_hinweis"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "Bei systematischer Telefonakquise (Call-Center, Vertriebs-Outbound):\nFachanwalt für Wettbewerbsrecht einbeziehen. Auch §7a UWG (Dokumentations-\npflicht) erfordert saubere Prozesse.\n",
    "fix_text_vorlage": "Beispiel-Einwilligungstext bei Telefon-Erfassung:\n\n\"[ ] Ich willige ausdrücklich ein, dass {{firma}} mich unter der\nangegebenen Rufnummer telefonisch kontaktiert, um mir Produkte und\nDienstleistungen aus dem Bereich {{bereich}} vorzustellen. Diese\nEinwilligung kann ich jederzeit per E-Mail an {{widerruf_email}} oder\ntelefonisch widerrufen.\"\n\nHINWEISE:\n1. Die Checkbox MUSS vom Nutzer aktiv gesetzt werden (kein\n   Vorauskreuzen).\n2. Die Einwilligung muss dokumentiert werden (Formular-Inhalt, Zeitstempel,\n   IP) und 5 Jahre aufbewahrt (§7a UWG).\n3. Bei B2B-Kontakten: sachliche Nähe zum Geschäftsgegenstand nötig —\n   generelle Werbung an alle Firmen im Handelsregister ist unzulässig.\n"
}

ohne_section / uwg

Faire Gesamtansicht — keine Filterung negativer Bewertungen

b-bewertungen-anzeige-fair-keine-filterung

executablepublic_aiai_semantic
Was macht diese Regel?

Wer Kundenbewertungen darstellt, darf nicht nur positive anzeigen und negative verschweigen (§5a Abs. 1 UWG — Irreführung durch Unterlassen). Gesamt-Score muss aus vollständigem Pool berechnet sein; selektive Löschung/Verbergen schlechter Bewertungen ohne sachlichen Grund (z. B. Beleidigung, Persönlichkeitsrechts- verletzung, offensichtlicher Fake) ist unzulässig.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_kundenbewertungen

  • hat_kundenbewertungen - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenbewertungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §5a Abs. 1 Irreführung durch Unterlassen

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_kundenbewertungengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenbewertungenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_kundenbewertungen"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-bewertungen-anzeige-fair-keine-filterung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Durchschnittsscore mit Anzahl der Bewertungen prüfen. Alle\nSterne-Kategorien (1-5) sichtbar? Gibt es auch kritische\nBewertungen? Ab 50+ Bewertungen sollten realistisch 5-15 %\nniedrige Sterne zu sehen sein.\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_kundenbewertungen"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Moderationsprozess dokumentieren: Bewertungen werden nur\ngelöscht bei (a) Beleidigung/Drohung, (b) offensichtlich\nfalscher Tatsachenbehauptung, (c) Persönlichkeitsrechts-\nverletzung Dritter. Prozess transparent im FAQ. Negative\nsachliche Bewertungen nicht entfernen, sondern ggf. öffentlich\nsachlich beantworten.\n"
}

ohne_section / uwg

Angabe, ob und wie Bewertungs-Authentizität sichergestellt wird

b-bewertungen-authentizitaet-5b-abs-1

executablepublic_aistructured_page
Was macht diese Regel?

§5b Abs. 1 UWG: Wer Kundenbewertungen als solche darstellt, muss angeben, ob und ggf. wie sichergestellt wird, dass die Bewertungen von tatsächlichen Kunden stammen. Bloße Anzeige "Kundenbewertungen" reicht nicht. Erwartet wird ein klarer Hinweis: "Bewertungen werden nur von verifizierten Käufern akzeptiert" oder "Bewertungen werden nicht verifiziert" (ehrliche Offenlegung).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_kundenbewertungen

  • hat_kundenbewertungen - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenbewertungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §5b Abs. 1 Wesentliche Informationen / Kundenbewertungen

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_kundenbewertungengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenbewertungenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_kundenbewertungen"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-bewertungen-authentizitaet-5b-abs-1",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Seite mit Bewertungen prüfen: Gibt es irgendwo einen Hinweis,\nwie die Authentizität geprüft wird? Formulierung wie \"Alle\nBewertungen sind von verifizierten Käufern\" oder \"Die Bewertungen\nwerden nicht weiter geprüft\"?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_kundenbewertungen"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Direkt bei der Bewertungsanzeige Hinweis einblenden — z. B.:\n(a) \"Bewertungen stammen ausschließlich von Kunden mit nachweislich\nabgeschlossener Bestellung. Die Verifizierung erfolgt über\n[Bestell-ID / Einladungs-Mail / Trusted Shops].\"\n(b) Oder: \"Wir prüfen die Authentizität der Bewertungen nicht.\nJeder Besucher kann bewerten.\"\nZusätzlich in der Bewertungs-FAQ oder AGB einen eigenen Abschnitt.\n"
}

ohne_section / uwg

Keine gekauften, beauftragten oder falschen Bewertungen

b-bewertungen-fake-verbot-nr-23b-anhang

executablepublic_aiai_semantic
Was macht diese Regel?

Nr. 23b Anhang zu §3 Abs. 3 UWG verbietet pauschal: "die Übermittlung oder Beauftragung der Übermittlung falscher Bewertungen oder Empfehlungen von Verbrauchern oder die falsche Darstellung von Bewertungen". Jede gekaufte Bewertung, jedes "Bewerte-gegen- Rabatt"-Programm ohne Offenlegung, jede erfundene Bewertung ist unlauter und abmahnfähig. §17 UWG (Strafrecht) bei gewerbsmäßiger Begehung möglich.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_kundenbewertungen

  • hat_kundenbewertungen - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenbewertungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §3 Abs. 3 i. V. m. Anhang Nr. 23b Pauschal unlautere geschäftliche Handlungen

Risiko: 2.000,00 EUR bis 20.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_kundenbewertungengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenbewertungenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_kundenbewertungen"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-bewertungen-fake-verbot-nr-23b-anhang",
    "fix_type": "partner_anwalt",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Frage an Betreiber: Werden Bewertungen von Mitarbeitern, Agentur,\nIncentive-Kampagnen oder Fake-Accounts generiert? Werden Rabatte\nfür positive Bewertungen versprochen ohne Offenlegung der\nIncentivierung?\n",
    "normalization": {
        "fix_type": [
            "partner_only",
            "partner_anwalt"
        ],
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_kundenbewertungen"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "anwalt",
    "fix_text_vorlage": "Prozess dokumentieren: Keine Incentivierung für \"positive\"\nBewertungen. Bewertungs-Einladungen neutral formulieren (\"Wie\nwar Ihre Erfahrung?\"). Falls Rabatt/Gutschein gegen Bewertung\nangeboten wird, muss dies offengelegt werden — Bewertung\nmarkieren als \"inseriert\" oder \"nach Incentive\". Fake-Reviews\nder Vergangenheit entfernen.\n"
}

ohne_section / uwg

Ranking-Hauptparameter bei sortierten Bewertungen offenlegen

b-bewertungen-ranking-hauptparameter-offenlegen

executablepublic_aistructured_page
Was macht diese Regel?

§5b Abs. 2 UWG: Wer Suchergebnisse oder Bewertungen sortiert anzeigt, muss die Hauptparameter des Rankings und deren relative Gewichtung offenlegen. "Sortiert nach Relevanz" ohne weitere Information ist unzureichend. Typische Hauptparameter: Aktualität, Bewertungshöhe, verifizierter Kauf, Hilfreichkeit durch andere Nutzer, Sprach-Matching.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_kundenbewertungen
Mindestens eine muss passen: hat_sortierte_bewertungsliste

  • hat_kundenbewertungen - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenbewertungen
  • hat_sortierte_bewertungsliste - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: sortierte bewertungsliste
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §5b Abs. 2 Ranking-Transparenz

Risiko: 500,00 EUR bis 3.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_kundenbewertungengreift, wenn KarlKI dieses Website-Merkmal gefunden hat: kundenbewertungenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_sortierte_bewertungslistegreift, wenn KarlKI dieses Website-Merkmal gefunden hat: sortierte bewertungslisteSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_kundenbewertungen"
        }
    ],
    "oder": [
        {
            "scope": "hat_sortierte_bewertungsliste"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-bewertungen-ranking-hauptparameter-offenlegen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Bewertungsliste prüfen: Gibt es eine Default-Sortierung? Wenn ja,\nist die Sortierlogik erklärt? Hinweis sichtbar oder in FAQ?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_kundenbewertungen"
            }
        ],
        "oder": [
            {
                "scope": "hat_sortierte_bewertungsliste"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Neben der Sortier-Auswahl (Dropdown) einen Info-Button mit\nErklärung: \"Die Standardsortierung 'Relevanz' berücksichtigt\n(in absteigender Reihenfolge): Aktualität (30 %), verifizierter\nKauf (30 %), Bewertung durch andere Nutzer als hilfreich (20 %),\nStern-Bewertung (20 %). Sie können alternativ nach Datum oder\nSternen sortieren.\"\n"
}

ohne_section / uwg

Affiliate-Links mit '*' oder '[Affiliate]'-Hinweis + Erklärung

b-influencer-affiliate-link-offenlegung

executablepublic_aistructured_page
Was macht diese Regel?

OLG Braunschweig 2 U 78/19: Affiliate-Links stellen eine Form der kommerziellen Kommunikation dar, weil der Betreiber eine Provision erhält. Nutzer müssen das erkennen können. Standard: jeder Affiliate-Link mit "*" oder "[Affiliate-Link]" gekennzeichnet + Erklärung an prominenter Stelle: "Mit * markierte Links sind Provisions-/Affiliate-Links."

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_affiliate_links

  • hat_affiliate_links - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: affiliate links
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §5a Abs. 4 Irreführung durch Unterlassen

Risiko: 1.000,00 EUR bis 4.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_affiliate_linksgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: affiliate linksSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_affiliate_links"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-influencer-affiliate-link-offenlegung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Seiten mit Produkt-Empfehlungen prüfen: Sind Links mit * oder\nHinweis markiert? Gibt es einen Erklärungstext (Footer, vor dem\nContent, in Link-Liste)?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_affiliate_links"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Jeder Affiliate-Link mit \"*\" oder \"(Affiliate)\" markieren. Am\nAnfang des Artikels oder in der Seitenleiste:\n\"Hinweis: Mit * markierte Links sind Affiliate-Links. Wenn Sie\ndarüber einkaufen, erhalten wir eine kleine Provision. Für Sie\nentstehen keine zusätzlichen Kosten. Diese Provisionen helfen\nuns, diese Website zu betreiben.\"\n"
}

ohne_section / uwg

Influencer/Content-Ersteller haftet eigenständig für Kennzeichnung

b-influencer-haftung-eigenpflicht-bgh

executablepublic_aiai_semantic
Was macht diese Regel?

BGH I ZR 125/20 und I ZR 126/20: Der Influencer haftet selbst — unabhängig vom Auftraggeber — für die korrekte Kennzeichnung. Auch wenn Werbepartner die Kennzeichnung vertraglich übernimmt, bleibt der Influencer/Blog-Autor primär verantwortlich und abmahnbar. Plattformen müssen zusätzlich zu eigenen Pflichten stehen (DSA Art. 26).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: veröffentlicht_werbecontent
Mindestens eine muss passen: ist_influencer_oder_blog_autor

  • veroeffentlicht_werbecontent - greift, wenn der Trigger "veröffentlicht_werbecontent" im ScanScope aktiv ist
  • ist_influencer_oder_blog_autor - greift, wenn KarlKI die Website so einordnet: influencer oder blog autor
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §8 Abs. 2 i. V. m. §5a Abs. 4 Haftung des Handelnden

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
veroeffentlicht_werbecontentgreift, wenn der Trigger "veröffentlicht_werbecontent" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
ist_influencer_oder_blog_autorgreift, wenn KarlKI die Website so einordnet: influencer oder blog autorSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "veroeffentlicht_werbecontent"
        }
    ],
    "oder": [
        {
            "scope": "ist_influencer_oder_blog_autor"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-influencer-haftung-eigenpflicht-bgh",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Frage an Betreiber: Werden Gastbeiträge/Influencer-Cooperations\nveröffentlicht? Werden Redakteure/Autoren auf die eigene\nKennzeichnungs-Pflicht hingewiesen? Gibt es interne\nRichtlinien?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "veroeffentlicht_werbecontent"
            }
        ],
        "oder": [
            {
                "scope": "ist_influencer_oder_blog_autor"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": "anwalt",
    "fix_text_vorlage": "Interne Werbe-Richtlinie erstellen und pro Autor/Redakteur\nunterzeichnen lassen. Inhalt: Definition kommerzielle\nKommunikation, Pflicht-Kennzeichnungen, Platzierung,\nBeispiele. Freigabe-Workflow: jeder Werbe-Beitrag mind. eine\nzweite Augenprüfung. Haftungs-Klausel in Autoren-Verträgen.\n"
}

ohne_section / uwg

Kennzeichnung am Anfang, deutlich sichtbar, nicht in Hashtag-Wust

b-influencer-platzierung-am-anfang

executablepublic_aiai_semantic
Was macht diese Regel?

Die Werbe-Kennzeichnung muss vor oder am Anfang des Contents stehen, gut sichtbar und eindeutig. Eine Kennzeichnung inmitten von 20 Hashtags oder nach "Mehr anzeigen" versteckt ist unzureichend (OLG Frankfurt 6 U 56/19). Bei Videos: in den ersten Sekunden oder als Dauer-Overlay.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_bezahlte_kooperation

  • hat_bezahlte_kooperation - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte kooperation
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §5a Abs. 4 Erkennbarkeit kommerzieller Kommunikation

Risiko: 1.000,00 EUR bis 4.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_bezahlte_kooperationgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte kooperationSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_bezahlte_kooperation"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-influencer-platzierung-am-anfang",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Posts/Videos ansehen: Ist \"Werbung\" vor den ersten 2-3 Zeilen\nbzw. in den ersten 3 Sekunden sichtbar? Oder erst nach \"mehr\nanzeigen\" / inmitten von Hashtags?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_bezahlte_kooperation"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Post-Struktur:\nZeile 1: \"[Werbung] [Caption]\"\n...\nHashtags am Ende (NICHT die einzige Kennzeichnung).\nVideo: Overlay-Banner \"Werbung\" in den ersten 3 Sekunden +\nDauer-Einblendung oben links.\n"
}

ohne_section / uwg

Auch Sachzuwendungen/Testprodukte sind kennzeichnungspflichtig

b-influencer-produkttest-geschenk-kennzeichnung

executablepublic_aiai_semantic
Was macht diese Regel?

Selbst wenn kein Geld fließt: erhält ein Influencer/Autor kostenlose Produkte zum Behalten, ist der darauf bezogene Content werbliche Kommunikation (BGH I ZR 90/20 "Luisa-Maria Jacobs"). Die BGH-Linie: sobald eine Gegenleistung vorliegt (Geld, Ware, Reise, kostenloses Event-Ticket), ist Kennzeichnung Pflicht. Rein private Darstellungen selbst gekaufter Produkte ohne geschäftlichen Zusammenhang sind ausgenommen (Cathy Hummels).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_produkttests
Mindestens eine muss passen: erhaelt_pr_samples

  • hat_produkttests - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: produkttests
  • erhaelt_pr_samples - greift, wenn der Trigger "erhaelt_pr_samples" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §5a Abs. 4 Kommerzielle Kommunikation — Begriff

Risiko: 1.500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_produkttestsgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: produkttestsSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
erhaelt_pr_samplesgreift, wenn der Trigger "erhaelt_pr_samples" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_produkttests"
        }
    ],
    "oder": [
        {
            "scope": "erhaelt_pr_samples"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-influencer-produkttest-geschenk-kennzeichnung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Frage an Betreiber: Werden kostenlose Testprodukte beworben?\nGibt es Reisen/Events als Gegenleistung? Reviews von selbst\ngekauften Produkten eher unkritisch — nur Kennzeichnung bei\nIncentive.\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_produkttests"
            }
        ],
        "oder": [
            {
                "scope": "erhaelt_pr_samples"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Bei Testprodukten standardisierter Hinweis: \"Werbung / Das\nProdukt wurde uns kostenlos zum Test zur Verfügung gestellt.\nDie Meinung ist unsere eigene.\" Bei Reisen/Events: \"Werbung /\nUnsere Reise wurde von [XY] eingeladen.\" Beitragstyp im CMS\nvorhalten, damit Redakteure die Kennzeichnung aktiv auswählen.\n"
}

ohne_section / uwg

Kennzeichnung auf Deutsch für deutschsprachige Zielgruppe

b-influencer-werbung-deutsche-sprache

executablepublic_aiai_semantic
Was macht diese Regel?

Richtet sich das Angebot an deutschsprachige Verbraucher, muss die Werbe-Kennzeichnung in deutscher Sprache erfolgen (OLG Frankfurt 6 U 56/19). "Advertisement", "Sponsored", "Paid Partnership" ohne deutsche Entsprechung reicht für deutsche Zielgruppe nicht aus. Bei internationalen Accounts mit explizitem deutschsprachigem Content gilt dasselbe.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_bezahlte_kooperation
Darf nicht zutreffen: ausschliesslich_englischsprachiges_angebot

  • hat_bezahlte_kooperation - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte kooperation
  • ausschliesslich_englischsprachiges_angebot - greift, wenn der Trigger "ausschliesslich_englischsprachiges_angebot" im ScanScope aktiv ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §5a Abs. 4 i. V. m. §5 Abs. 1 Irreführende geschäftliche Handlungen

Risiko: 1.000,00 EUR bis 4.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_bezahlte_kooperationgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte kooperationSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

NICHT Wenn eine dieser Bedingungen zutrifft, darf die Regel nicht laufen.

BegriffWas er bedeutetWofür er da ist
ausschliesslich_englischsprachiges_angebotgreift, wenn der Trigger "ausschliesslich_englischsprachiges_angebot" im ScanScope aktiv istSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_bezahlte_kooperation"
        }
    ],
    "oder": [],
    "nicht": [
        {
            "scope": "ausschliesslich_englischsprachiges_angebot"
        }
    ]
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-influencer-werbung-deutsche-sprache",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Kennzeichnung auf Sprache prüfen: Ist sie deutsch? Bei zweisprachigen\nPosts: ist zumindest ein deutsches Kennzeichnungswort sichtbar?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_bezahlte_kooperation"
            }
        ],
        "oder": [],
        "nicht": [
            {
                "scope": "ausschliesslich_englischsprachiges_angebot"
            }
        ]
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Deutschsprachige Entsprechung der Werbe-Kennzeichnung verwenden:\n\"Werbung\" / \"Anzeige\" / \"Werbe-Kooperation\". Bei englischen\nPlattform-Tags zusätzlich deutschen Hinweis: \"[Werbung] Paid\nPartnership with ...\"\n"
}

ohne_section / uwg

Kennzeichnung als 'Werbung' oder 'Anzeige' — nicht 'ad', 'sponsored'

b-influencer-werbung-eindeutige-bezeichnung

executablepublic_aiai_semantic
Was macht diese Regel?

§5a Abs. 4 UWG: Bezahlte Inhalte und kommerzielle Kommunikation müssen deutlich erkennbar gekennzeichnet werden. Die deutsche Rechtsprechung (KG Berlin 5 U 146/15, OLG Frankfurt 6 U 56/19) akzeptiert "Werbung", "Anzeige" sowie "Advertorial". NICHT ausreichend: "#ad", "#sponsored", "#supportedby", "PR-Sample", "Werbefilm" (zu missverständlich).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_bezahlte_kooperation
Mindestens eine muss passen: hat_sponsored_content

  • hat_bezahlte_kooperation - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte kooperation
  • hat_sponsored_content - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: sponsored content
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §5a Abs. 4 Irreführung durch Unterlassen — kommerzielle Zwecke

Risiko: 1.500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_bezahlte_kooperationgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: bezahlte kooperationSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_sponsored_contentgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: sponsored contentSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_bezahlte_kooperation"
        }
    ],
    "oder": [
        {
            "scope": "hat_sponsored_content"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-influencer-werbung-eindeutige-bezeichnung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Werbliche Beiträge durchsuchen: Wie ist die Kennzeichnung? Reicht\ndas Wort \"Werbung\" oder \"Anzeige\" vor/über dem Content? Oder nur\n\"#ad\" tief im Hashtag-Block?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_bezahlte_kooperation"
            }
        ],
        "oder": [
            {
                "scope": "hat_sponsored_content"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Bei bezahlten Kooperationen: \"Werbung | [Firma XY]\" oder \"Anzeige\"\nals erstes Wort sichtbar. Bei Instagram: Kennzeichnung als\n\"Bezahlte Partnerschaft mit [Marke]\" über das Instagram-Tool.\nAuf Blog/Website: gelb-markierter Balken \"Dieser Beitrag enthält\nWerbung. Kooperationspartner: [Firma].\"\n"
}

ohne_section / uwg

Double-Opt-in: Bestätigungs-Mail vor erstem Werbeversand

b-newsletter-doi-bestaetigungsmail

executableowner_deepai_semantic
Was macht diese Regel?

Nach Eingabe der E-Mail-Adresse darf NOCH KEIN Werbe-Newsletter versandt werden. Stattdessen muss zunächst eine Bestätigungs-Mail mit einem eindeutigen Aktivierungslink versandt werden. Erst nach Klick auf diesen Link ist die Einwilligung wirksam und die Adresse darf für Werbeversand verwendet werden. Ohne DOI gilt die Einwilligung als nicht nachgewiesen (BGH I ZR 164/03).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_newsletter_formular
Mindestens eine muss passen: versendet_e_mail_werbung

  • hat_newsletter_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formular
  • versendet_e_mail_werbung - greift, wenn Kommunikation/Versand dieses Typs erkannt wird: e mail werbung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §7 Abs. 2 Nr. 3 Unzumutbare Belästigungen — E-Mail-Werbung

Risiko: 2.000,00 EUR bis 6.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
versendet_e_mail_werbunggreift, wenn Kommunikation/Versand dieses Typs erkannt wird: e mail werbungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_newsletter_formular"
        }
    ],
    "oder": [
        {
            "scope": "versendet_e_mail_werbung"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-newsletter-doi-bestaetigungsmail",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Testanmeldung mit frischer E-Mail durchführen. Kommt sofort ein\nNewsletter? = Verstoß. Kommt zuerst eine Bestätigungs-Mail mit Link? = OK.\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_newsletter_formular"
            }
        ],
        "oder": [
            {
                "scope": "versendet_e_mail_werbung"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Newsletter-Tool (z. B. CleverReach, Brevo, Mailchimp) auf DOI-Modus\numstellen. In Formular-Text: \"Nach Absenden erhalten Sie eine E-Mail\nmit Bestätigungslink. Erst nach Klick auf diesen Link sind Sie\nangemeldet.\"\n"
}

ohne_section / uwg

Bestätigungs-Mail enthält keine Werbung

b-newsletter-doi-keine-werbung-in-bestaetigung

executableowner_deepai_semantic
Was macht diese Regel?

Die DOI-Bestätigungs-Mail darf ausschließlich den Bestätigungs-Zweck erfüllen. Werbliche Zusätze ("Übrigens: jetzt 10 % sparen!") machen die Bestätigungs-Mail selbst zur unerlaubten Werbemail, weil in diesem Zeitpunkt noch keine Einwilligung vorliegt (OLG München 29 U 1582/17).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_newsletter_formular

  • hat_newsletter_formular - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formular
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §7 Abs. 2 Nr. 3 Unzumutbare Belästigungen — E-Mail-Werbung

Risiko: 2.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: owner_permission, scenario_config, browser_trace, screenshot, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Check darf erst mit Owner-Freigabe laufen, weil er tiefer in Prozesse, Formulare, Checkout oder geschuetzte Bereiche gehen kann.

Rohwerte

Scope: scan; Severity: medium

Evidenz: owner_permission, scenario_config, browser_trace, screenshot, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_newsletter_formulargreift, wenn KarlKI dieses Website-Merkmal gefunden hat: newsletter formularSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_newsletter_formular"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-newsletter-doi-keine-werbung-in-bestaetigung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Bestätigungs-Mail öffnen und inhaltlich prüfen: Enthält sie außer dem\nLink Angebote, Gutscheine, Produkt-Teaser? = Verstoß.\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_newsletter_formular"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Bestätigungs-Mail-Template auf das Minimum reduzieren: Anrede, kurze\nErklärung, Bestätigungs-Button, Hinweis \"Wenn Sie sich nicht\nangemeldet haben, ignorieren Sie diese Mail\", Impressum. KEINE\nProduktwerbung, KEINE Rabattcodes, KEIN \"Folge uns auf Social Media\".\n"
}

ohne_section / uwg

Abmelde-Link in jeder Mail (Ein-Klick, ohne Login)

b-newsletter-versand-abmelde-ein-klick

executablepublic_aiai_semantic
Was macht diese Regel?

Jede Werbe-Mail muss einen funktionsfähigen Abmelde-Link enthalten, der ohne erneutes Login, ohne Passwort-Eingabe und ohne Drittkontakt funktioniert. Die Abmeldung muss mindestens so einfach sein wie die Anmeldung (Art. 7 Abs. 3 DSGVO). Zusätzlich: RFC 8058 / List-Unsubscribe- Header erleichtern dem Nutzer das Abmelden über den Mail-Client.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: versendet_e_mail_werbung

  • versendet_e_mail_werbung - greift, wenn Kommunikation/Versand dieses Typs erkannt wird: e mail werbung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §7 Abs. 3 Nr. 4 Werbung an Bestandskunden — Widerspruchsmöglichkeit

Risiko: 1.000,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
versendet_e_mail_werbunggreift, wenn Kommunikation/Versand dieses Typs erkannt wird: e mail werbungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "versendet_e_mail_werbung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-newsletter-versand-abmelde-ein-klick",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Testabmeldung in einer Muster-Mail durchführen. Benötigt sie Login? =\nVerstoß. Funktioniert sie mit einem Klick? = OK. List-Unsubscribe-\nHeader vorhanden (im Mail-Quelltext)?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "versendet_e_mail_werbung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Newsletter-Tool so konfigurieren, dass {{unsubscribe_url}} in jeder\nMail (idealerweise Header und Footer) steht und die Ziel-Seite\nsofort die Abmeldung bestätigt (keine Rückfrage \"Sind Sie sicher?\").\nList-Unsubscribe- und List-Unsubscribe-Post-Header RFC 8058\naktivieren.\n"
}

ohne_section / uwg

Absender klar identifizierbar und rückverfolgbar

b-newsletter-versand-absender-identitaet

executablepublic_aiai_semantic
Was macht diese Regel?

Werbe-E-Mails müssen den Absender nicht verschleiern oder verheimlichen (§7 Abs. 2 Nr. 4 UWG). Das heißt konkret: echte Absenderadresse (kein "noreply@fremd.tld"-Spoofing), korrekter Firmenname in der From-Zeile, Impressum im Footer jeder Mail (§5 DDG analog für elektronische Handelskommunikation).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: versendet_e_mail_werbung

  • versendet_e_mail_werbung - greift, wenn Kommunikation/Versand dieses Typs erkannt wird: e mail werbung
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §7 Abs. 2 Nr. 4 Unzumutbare Belästigungen — Verschleierung

Risiko: 1.000,00 EUR bis 4.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
versendet_e_mail_werbunggreift, wenn Kommunikation/Versand dieses Typs erkannt wird: e mail werbungSteuert, ob die Regel für diesen Scan sinnvoll ist. Ohne passenden Trigger wuerde KarlKI zu viele irrelevante Prüfungen anzeigen.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "versendet_e_mail_werbung"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-newsletter-versand-absender-identitaet",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Eine Test-Mail des Newsletters durchgehen: Ist der From-Header\nnachvollziehbar? Gibt es ein Impressum im Footer der Mail? Ist die\nAntwort-Adresse erreichbar oder ein Fake?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "versendet_e_mail_werbung"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Newsletter-Footer: Firmenname, Anschrift, Vertretungsberechtigter,\nHandelsregister, USt-ID, Kontakt-E-Mail. From-Header: \"Firmenname\n<newsletter@domain.tld>\" — Antwortadresse erreichbar.\n"
}

ohne_section / uwg

UWG §5 — Qualitätswerbung muss wahr sein

c-02-werbeaussagen-qualitaet

executablepublic_aistructured_page
Was macht diese Regel?

Aussagen wie "Meisterbetrieb", "TÜV-zertifiziert", "Innungsfachbetrieb", "30 Jahre Erfahrung" sind nach UWG §5 nur zulässig, wenn sie belegbar sind. Jede Irreführung kann abgemahnt werden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_02

  • branche_c_02 - greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG §5 Irreführende geschäftliche Handlungen

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_02greift, wenn Branche/Cluster branche_c_02 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_02"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-02-werbeaussagen-qualitaet",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe Startseite + Leistungsseiten auf Qualitätsclaims: \"Meister\",\n\"zertifiziert\", \"Innung\", \"ausgezeichnet\". Nachweise prüfbar?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_02"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Alle Qualitätsclaims mit Nachweis belegen (Zertifikat-PDF, Innungs-\nmitgliedschaftsbescheinigung, Meisterbrief-Scan). Unbelegbare Claims\nstreichen oder relativieren (\"langjährig tätig\" statt \"seit 30 Jahren\").\n"
}

ohne_section / uwg + bgb agb-recht

SLA + Verfügbarkeit transparent (UWG §5)

c-16-sla-verfügbarkeit-transparent

executablepublic_aistructured_page
Was macht diese Regel?

Werbung mit "99,99 % Uptime" verpflichtet rechtlich (UWG §5 – Irreführung). SLA-Klauseln müssen AGB-fest sein (klar, transparent, keine Pauschalausschlüsse).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_16, wirbt_mit_uptime:true

  • branche_c_16 - greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt ist
  • wirbt_mit_uptime:true - greift, wenn "wirbt mit uptime" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG + BGB AGB-Recht §5 UWG; §307 BGB Irreführung + AGB-Kontrolle

Risiko: 300,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_16greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
wirbt_mit_uptime:truegreift, wenn "wirbt mit uptime" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"wirbt_mit_uptime":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_16"
        },
        {
            "wirbt_mit_uptime": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-16-sla-verfügbarkeit-transparent",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Wird Uptime-Berechnung (Mess-Methode, Ausnahmen) transparent dargestellt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_16"
            },
            {
                "wirbt_mit_uptime": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"SLA: 99,9 % Monatsverfügbarkeit, gemessen an externer Uptime-Probe,\nausgenommen angekündigte Wartung.\"\n"
}

ohne_section / uwg + hwo

Keine unbelegte Meister-Behauptung (UWG §5 + HwO §51)

c-03-keine-meisterwerbung

executablepublic_aistructured_page
Was macht diese Regel?

B1/B2-Betriebe dürfen sich NICHT als "Meisterbetrieb" bewerben, wenn kein Meisterbrief vorhanden. Ansonsten UWG §5 Irreführung + HwO §51 Titelschutz-Verstoß.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_03

  • branche_c_03 - greift, wenn Branche/Cluster branche_c_03 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG + HwO §5 UWG; §51 HwO Irreführung / Meisterbezeichnung

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_03greift, wenn Branche/Cluster branche_c_03 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_03"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-03-keine-meisterwerbung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Prüfe Website auf \"Meister\"-Claims; ggf. entfernen.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_03"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Meister\"-Begriffe streichen. Ersatz: \"Fachbetrieb\", \"Spezialist für ...\",\nQualifikation konkret benennen (Geselle, Ausbildungsjahre, Fortbildungen).\n"
}

ohne_section / uwg + mstv

Gewinnspiel-Teilnahmebedingungen §6 UWG / §8 MStV

c-15-gewinnspiel-teilnahmebedingungen

executablepublic_aistructured_page
Was macht diese Regel?

Gewinnspiele brauchen klare, vorab einsehbare Teilnahmebedingungen (Identität des Veranstalters, Teilnahmevoraussetzungen, Fristen, Preise, Gewinnermittlung). Fehlende Angaben = §6 UWG + §8 MStV Verstoß.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_15, hat_gewinnspiel:true

  • branche_c_15 - greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt ist
  • hat_gewinnspiel:true - greift, wenn "hat gewinnspiel" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG + MStV §6 UWG; §8 MStV Vergleichende Werbung / Gewinnspiele

Risiko: 300,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_15greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
hat_gewinnspiel:truegreift, wenn "hat gewinnspiel" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"hat_gewinnspiel":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_15"
        },
        {
            "hat_gewinnspiel": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-15-gewinnspiel-teilnahmebedingungen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Sind Teilnahmebedingungen mit Veranstalter, Frist, Preis, Ziehung\neinsehbar?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_und_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_15"
            },
            {
                "hat_gewinnspiel": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Teilnahmebedingungen: Veranstalter [...], Teilnahmezeitraum [...], Preis\n[...], Auslosung [...], Rechtsweg ausgeschlossen.\"\n"
}

ohne_section / uwg + mstv + pressekodex

Trennung Werbung/Redaktion (Pressekodex Ziffer 7)

c-15-pressekodex-trennung-werbung-redaktion

executablepublic_aistructured_page
Was macht diese Regel?

Redaktionelle und werbliche Inhalte sind klar zu trennen (Ziffer 7 Pressekodex, §5a UWG, §22 MStV). Schleichwerbung verstößt gegen UWG + Pressekodex. "Werbung", "Anzeige", "bezahlter Beitrag" sind akzeptierte Kennzeichnungen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_15

  • branche_c_15 - greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

UWG + MStV + Pressekodex §5a UWG; §22 MStV Irreführung durch Unterlassen / Werbekennzeichnung

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_15greift, wenn Branche/Cluster branche_c_15 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_15"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-15-pressekodex-trennung-werbung-redaktion",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Werden Sponsored Posts, Affiliate-Links, Kooperationen klar gekenn-\nzeichnet? Platzierung oberhalb Fold?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_15"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"[Werbung]\" oder \"[Anzeige]\" am Anfang des Beitrags; bei Videos im\nersten Einblender.\n"
}

ohne_section / verordnung (eu) 2024/1689 — ai act

KI-System als Hochrisiko oder begrenztes Risiko eingeordnet

b-ki-klassifizierung-hochrisiko-oder-transparenz

executablepublic_aiai_semantic
Was macht diese Regel?

Anhang III AI Act definiert Hochrisiko-Systeme: u. a. KI für Bewerbungsauswahl, Kreditwürdigkeitsprüfung, Zulassungsprüfungen, Bildungsbewertung. Solche Systeme unterliegen strengen Pflichten: Konformitätsbewertung (Art. 43), Risikomanagement (Art. 9), Technische Dokumentation (Art. 11), Logging (Art. 12). Für Website-Betreiber bedeutet das: Einsatz von Hochrisiko-KI als "Deployer" (Art. 26) erfordert vor Go-Live eine dokumentierte Einordnung und ggf. Folgenabschätzung.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_ki_einsatz

  • hat_ki_einsatz - greift bei KI-/Chatbot-Signalen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Verordnung (EU) 2024/1689 — AI Act Art. 6 i. V. m. Anhang III Einstufung als Hochrisiko-KI-System

Risiko: 15.000,00 EUR bis 15.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_ki_einsatzgreift bei KI-/Chatbot-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_ki_einsatz"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-ki-klassifizierung-hochrisiko-oder-transparenz",
    "fix_type": "partner_anwalt",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Zweck des KI-Systems prüfen: Bewerbungsauswahl? Kreditscoring?\nVersicherungstarifierung? Prüfung von Zulassungen zu Bildung oder\nDienstleistung? Wenn ja: Hochrisiko-System — umfassende Compliance\nnötig.\n",
    "normalization": {
        "fix_type": [
            "partner_only",
            "partner_anwalt"
        ],
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_ki_einsatz"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "anwalt",
    "fix_text_vorlage": "Anwaltliche/KI-rechtliche Prüfung einholen: Konformitätsbewertung,\nDPIA, Deployer-Pflichten nach Art. 26 AI Act, ggf. Registrierung\nin EU-Datenbank (Art. 71). Für begrenztes Risiko nur Art. 50 —\nsiehe Abschnitt II.\n"
}

ohne_section / verordnung (eu) 2024/1689 — ai act

Kein Einsatz nach Art. 5 AI Act verbotener Praktiken

b-ki-klassifizierung-verbotene-praktiken-check

executablepublic_aiai_semantic
Was macht diese Regel?

Seit 02.02.2025 verboten: Social Scoring durch Unternehmen, Emotionserkennung am Arbeitsplatz, Manipulationssysteme, die gezielt Schwächen ausnutzen (Alter, Behinderung, soziale Lage), biometrische Echtzeit-Identifikation in öffentlichen Räumen durch Private. Wer solche Systeme einsetzt, riskiert bis zu 35 Mio. € / 7 % Jahresumsatz Bußgeld (Art. 99 Abs. 3 AI Act).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_ki_einsatz

  • hat_ki_einsatz - greift bei KI-/Chatbot-Signalen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Verordnung (EU) 2024/1689 — AI Act Art. 5 Verbotene KI-Praktiken

Risiko: 35.000,00 EUR bis 35.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_ki_einsatzgreift bei KI-/Chatbot-SignalenSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_ki_einsatz"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-ki-klassifizierung-verbotene-praktiken-check",
    "fix_type": "partner_anwalt",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Kritische Anwendungsfälle durchfragen: Werden Emotionen oder\nbiometrische Daten zu Manipulationszwecken verwendet? Wird\nKundenverhalten in Social Scoring überführt? Werden Minderjährige\noder vulnerable Gruppen gezielt beeinflusst?\n",
    "normalization": {
        "fix_type": [
            "partner_only",
            "partner_anwalt"
        ],
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_ki_einsatz"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "anwalt",
    "fix_text_vorlage": "Bei positiver Antwort: SOFORT anwaltliche Prüfung einholen,\nSystem vor 02.02.2025 abschalten. Dokumentation der Prüfung\nals Compliance-Nachweis aufbewahren.\n"
}

ohne_section / verordnung (eu) 2024/1689 — ai act

Chatbot klar als KI gekennzeichnet

b-ki-transparenz-chatbot-kennzeichnung

executablepublic_aistructured_page
Was macht diese Regel?

Wer einen Chatbot auf der Website einsetzt, muss nach Art. 50 Abs. 1 AI Act Nutzer darüber informieren, dass sie mit einem KI-System interagieren — außer dies ist aus den Umständen offensichtlich. Die Information muss spätestens bei Beginn der Interaktion gegeben werden und in klarer, einfacher Sprache erfolgen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_chatbot

  • hat_chatbot - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: chatbot
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Verordnung (EU) 2024/1689 — AI Act Art. 50 Abs. 1 Transparenzpflicht bei KI-Systemen mit Interaktion

Risiko: 7.500,00 EUR bis 15.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_chatbotgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: chatbotSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_chatbot"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-ki-transparenz-chatbot-kennzeichnung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Chatbot öffnen: Wird beim Start oder im Header erkennbar, dass\nes ein KI-System ist? Bezeichnung wie \"Ihr KI-Assistent\", \"Chatbot\"\noder \"automatisierter Assistent\" sichtbar?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_chatbot"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Chatbot-Einstiegsnachricht: \"Hallo! Ich bin [Name], der KI-basierte\nAssistent von [Firma]. Ich beantworte Ihre Fragen automatisiert.\nFür komplexe Anliegen leite ich Sie gerne an einen Menschen\nweiter.\" Zusätzlich im Bot-Header Badge/Icon mit \"KI\" oder\n\"automatisiert\".\n"
}

ohne_section / verordnung (eu) 2024/1689 — ai act

Deepfakes klar und deutlich als solche offenlegen

b-ki-transparenz-deepfake-kennzeichnung

executablepublic_aiai_semantic
Was macht diese Regel?

Wer Deepfakes (KI-generierte Bilder, Audio oder Videos, die echte Personen täuschend echt darstellen) veröffentlicht, muss deren KI-Ursprung nach Art. 50 Abs. 4 UnterAbs. 1 AI Act offenlegen. Die Kennzeichnung muss deutlich und dauerhaft sein, nicht nur im Impressum oder Kleingedruckten.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_deepfake_content

  • hat_deepfake_content - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: deepfake content
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Verordnung (EU) 2024/1689 — AI Act Art. 50 Abs. 4 UnterAbs. 1 Deepfake-Offenlegungspflicht

Risiko: 10.000,00 EUR bis 15.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_deepfake_contentgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: deepfake contentSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_deepfake_content"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-ki-transparenz-deepfake-kennzeichnung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Werbung/Video-Material prüfen: Werden echte Personen (Testimonials,\nInfluencer, Schauspieler) KI-synthetisch dargestellt? Gibt es\neinen sichtbaren Hinweis \"KI-generiert\" oder \"Deepfake\"?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_deepfake_content"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Im Video/Bild Overlay \"KI-generierter Inhalt\" + im Bildtitel\n\"[Deepfake] ...\" + Metadaten-Kennzeichnung. Beispiel-Hinweis:\n\"Dieser Clip wurde mit KI erstellt, die gezeigte Person wurde\nnicht real gefilmt.\"\n"
}

ohne_section / verordnung (eu) 2024/1689 — ai act

KI-generierte Texte/Bilder maschinenlesbar kennzeichnen

b-ki-transparenz-ki-content-kennzeichnung

executablepublic_aiai_semantic
Was macht diese Regel?

Anbieter von generativen KI-Systemen müssen KI-erzeugte Ausgaben so kennzeichnen, dass sie maschinenlesbar als KI-generiert erkennbar sind (Art. 50 Abs. 2 AI Act). Für Website-Betreiber (als Deployer) gilt zusätzlich: werden KI-Texte oder KI-Bilder veröffentlicht, die über Angelegenheiten von öffentlichem Interesse informieren, ist sichtbare Kennzeichnung Pflicht (Art. 50 Abs. 4 UnterAbs. 2).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: hat_ki_content_generator
Mindestens eine muss passen: hat_ki_bilder

  • hat_ki_content_generator - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: ki content generator
  • hat_ki_bilder - greift, wenn KarlKI dieses Website-Merkmal gefunden hat: ki bilder
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Verordnung (EU) 2024/1689 — AI Act Art. 50 Abs. 2 und Abs. 4 Kennzeichnung KI-generierter Inhalte

Risiko: 7.500,00 EUR bis 15.000.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI gibt Textausschnitte und Kontext an die KI, wenn die Bedeutung wichtiger ist als ein exakter Wortlaut. Gut für unklare Klauseln, Einwilligungstexte oder semantische Luecken.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
hat_ki_content_generatorgreift, wenn KarlKI dieses Website-Merkmal gefunden hat: ki content generatorSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.

ODER Mindestens eine dieser Bedingungen reicht. Ist die Gruppe leer, blockiert sie nichts.

BegriffWas er bedeutetWofür er da ist
hat_ki_bildergreift, wenn KarlKI dieses Website-Merkmal gefunden hat: ki bilderSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "hat_ki_content_generator"
        }
    ],
    "oder": [
        {
            "scope": "hat_ki_bilder"
        }
    ],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "b-ki-transparenz-ki-content-kennzeichnung",
    "fix_type": "diy_text",
    "check_type": "ai_semantic",
    "section_name": null,
    "check_hinweis": "Blog-Beiträge, Produktbeschreibungen, Bilder auf Kennzeichnung\nprüfen: Steht irgendwo \"Dieser Text wurde mit Unterstützung\nvon KI erstellt\" oder ein ähnlicher Vermerk? Maschinenlesbare\nMetadaten (C2PA-Signatur) vorhanden?\n",
    "normalization": {
        "check_type": [
            "manual_or_api",
            "ai_semantic"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "hat_ki_content_generator"
            }
        ],
        "oder": [
            {
                "scope": "hat_ki_bilder"
            }
        ],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Am Ende des Artikels oder neben dem Bild: \"Hinweis: Dieser\nInhalt wurde ganz oder teilweise mit KI generiert.\" Für Bilder\nzusätzlich Wasserzeichen oder C2PA-Metadaten. Bei Blogs mit\nKI-Redaktion: CMS-Plugin für automatische Kennzeichnung.\n"
}

ohne_section / verordnung 2024/1689

AI Act Rollen: Anbieter vs. Betreiber

c-16-ai-act-anbieter-vs-betreiber

executablepublic_aistructured_page
Was macht diese Regel?

Der EU AI Act (VO 2024/1689) unterscheidet Anbieter (Art. 3 Nr. 3) und Betreiber (Art. 3 Nr. 4) mit unterschiedlichen Pflichten. Stufen: 02.02.2025 (verbotene Praktiken), 02.08.2025 (GPAI + Governance), 02.08.2026 (vollständige Anwendung, inkl. Hochrisiko).

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_16, nutzt_ki_system:true

  • branche_c_16 - greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt ist
  • nutzt_ki_system:true - greift, wenn "nutzt ki system" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurde
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

Verordnung 2024/1689 Art. 3, 16 ff., 26 ff. Rollen und Pflichten im KI-Ökosystem

Risiko: 15.000,00 EUR bis 350.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_16greift, wenn Branche/Cluster branche_c_16 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
nutzt_ki_system:truegreift, wenn "nutzt ki system" im ScanScope als wahr erkannt oder vom Nutzer bestaetigt wurdeSorgt dafür, dass die Regel nur läuft, wenn das konkrete Website-Merkmal vorher gefunden wurde.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"nutzt_ki_system":true}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_16"
        },
        {
            "nutzt_ki_system": true
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-16-ai-act-anbieter-vs-betreiber",
    "fix_type": "partner_anwalt",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Dokumentation: Rollen-Matrix (je Feature Anbieter/Betreiber), Risiko-\nKlassifizierung (unzulässig/Hochrisiko/begrenzt/minimal).\n",
    "normalization": {
        "fix_type": [
            "partner_lead",
            "partner_anwalt"
        ],
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_16"
            },
            {
                "nutzt_ki_system": true
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "AI-Act-Consulting (Bitkom-Leitfaden, spezialisierte Anwälte).",
    "fix_text_vorlage": "AI-Governance-Policy: Rollen, Risiko-Stufen, Transparenzhinweise,\nHuman-Oversight-Prozess.\n"
}

ohne_section / vo (eu) 1169/2011 (lmiv) + lmidv

Zusatzstoffe: Klassenname + E-Nummer oder Stoffname (LMIV)

c-09-zusatzstoffe-kennzeichnung

executablepublic_aistructured_page
Was macht diese Regel?

Zusatzstoffe (Farbstoffe, Konservierungsstoffe, Antioxidationsmittel, Geschmacksverstärker, Süßungsmittel, Phosphate, Schwefel) sind nach LMIV Art. 18 + Anhang VII Teil C mit Klassenname (z.B. "Konservierungs- stoff") und E-Nummer oder Stoffname zu benennen. Zusätzlich Warn- hinweise nach LMIDV §9 (z.B. "mit Phosphat", "koffeinhaltig").

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_09

  • branche_c_09 - greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

VO (EU) 1169/2011 (LMIV) + LMIDV Art. 18 LMIV + Anhang VII Teil C; §9 LMIDV Zusatzstoffe

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_09greift, wenn Branche/Cluster branche_c_09 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_09"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-09-zusatzstoffe-kennzeichnung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Zutatenliste: Klassenname + E-Nr. oder Stoffname? Warnhinweise\n\"koffeinhaltig\", \"mit Farbstoff\" etc.?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_09"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "Beispiel: \"... Konservierungsstoff Kaliumsorbat (E 202), Farbstoff\nCarmin (E 120), Süßungsmittel Aspartam (E 951; enthält eine Phenyl-\nalaninquelle) ...\"\n"
}

ohne_section / vsbg / brao §191f

Schlichtungsstelle der Kammer im Impressum

c-04-streitbeilegung-schlichtung

executablepublic_aistructured_page
Was macht diese Regel?

Freie Berufe können branchenspezifische Schlichtungsstellen haben, etwa die Schlichtungsstelle der Rechtsanwaltschaft nach §191f BRAO. Im Impressum ist nach §36 VSBG klar mitzuteilen, ob Bereitschaft oder Verpflichtung zur Teilnahme an Verbraucherstreitbeilegung besteht; bei Teilnahme ist die zustaendige Verbraucherschlichtungsstelle zu nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_04

  • branche_c_04 - greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

VSBG / BRAO §191f §36 VSBG; §191f BRAO Verbraucherstreitbeilegung

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_04greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_04"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-04-streitbeilegung-schlichtung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum: VSBG-Hinweis und ggf. branchenspezifische Schlichtungsstelle genannt?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_04"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Streitbeilegung:\nZur Teilnahme an einem Streitbeilegungsverfahren vor einer\nVerbraucherschlichtungsstelle sind wir [nicht bereit und nicht verpflichtet /\nbereit / verpflichtet].\n[falls bereit/verpflichtet:] Zustaendig ist:\nSchlichtungsstelle der Rechtsanwaltschaft, Neue Gruenstrasse 17,\n10179 Berlin, www.schlichtungsstelle-der-rechtsanwaltschaft.de\"\n"
}

ohne_section / vvg

VVG §8 — 14-Tage-Widerruf (Lebensversicherung 30 Tage)

c-06-widerrufsfrist-vvg-14-tage

executablepublic_aistructured_page
Was macht diese Regel?

Der Versicherungsnehmer (Verbraucher) hat 14 Tage Widerrufsrecht nach §8 VVG; bei Lebensversicherung 30 Tage (§152 VVG). Widerrufsbelehrung muss Frist, Form, Folge (Rückzahlungen) konkret nennen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_06, angebot:versicherungsvertrag_abschluss

  • branche_c_06 - greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt ist
  • angebot:versicherungsvertrag_abschluss - greift nur, wenn dieses Angebot/Produkt erkannt wurde: versicherungsvertrag abschluss
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

VVG §§8, 152 Widerrufsrecht

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_06greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
angebot:versicherungsvertrag_abschlussgreift nur, wenn dieses Angebot/Produkt erkannt wurde: versicherungsvertrag abschlussFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"angebot":"versicherungsvertrag_abschluss"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_06"
        },
        {
            "angebot": "versicherungsvertrag_abschluss"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-06-widerrufsfrist-vvg-14-tage",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Widerrufsbelehrung auf Angebotsseite/Antragstrecke vorhanden?\nFrist korrekt (14 / 30 Tage)?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_vertragsverlaengerung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_06"
            },
            {
                "angebot": "versicherungsvertrag_abschluss"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Widerrufsrecht (§8 VVG):\nSie können Ihre Vertragserklärung innerhalb von 14 Tagen (bei\nLebensversicherung 30 Tage) ohne Angabe von Gründen in Textform\n(z.B. Brief, E-Mail) widerrufen. Die Frist beginnt nach Erhalt\n[...Muster-Belehrung vollständig...]\"\n"
}

ohne_section / vvg / vsbg

Versicherungs-Ombudsmann / Finanzmarkt-Schlichtung

c-06-schlichtungsstelle-verbraucher

executablepublic_aistructured_page
Was macht diese Regel?

Bei Versicherungs- und Finanzdienstleistungen können branchenspezifische Schlichtungsstellen zustaendig sein, etwa Versicherungsombudsmann e.V., Ombudsmann Private Kranken- und Pflegeversicherung oder die Schlichtungsstelle der Deutschen Bundesbank. Die Information ist mit der VSBG-Erklärung zur Teilnahmebereitschaft oder -pflicht zu verbinden.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_06

  • branche_c_06 - greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

VVG / VSBG §214 VVG; §36 VSBG Schlichtung

Risiko: 500,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_06greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_06"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-06-schlichtungsstelle-verbraucher",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "VSBG-Hinweis und branchenspezifische Ombudsmann-/Schlichtungsstelle im Impressum?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_06"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Streitschlichtung:\nZur Teilnahme an einem Streitbeilegungsverfahren vor einer\nVerbraucherschlichtungsstelle sind wir [bereit / verpflichtet].\nZustaendig ist je nach Produktbereich:\nVersicherungsombudsmann e.V., Postfach 080632, 10006 Berlin,\nwww.versicherungsombudsmann.de\n(oder: Ombudsmann Private Kranken- und Pflegeversicherung /\nSchlichtungsstelle bei der Deutschen Bundesbank).\"\n"
}

ohne_section / waffg

Waffen-Online-Handel (WaffG §21)

c-18-waffg-online-handel-verbot-grenzen

executablepublic_aistructured_page
Was macht diese Regel?

Der Versandhandel mit erlaubnispflichtigen Waffen an Verbraucher ist grundsätzlich verboten; Versand nur an Waffenhändler mit Erlaubnis oder in engem Umfang nach §21 WaffG. Jegliche Online-Werbung muss diese Einschränkung klar kommunizieren.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_18, rolle:waffenhandel

  • branche_c_18 - greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt ist
  • rolle:waffenhandel - greift nur für diese fachliche Rolle: waffenhandel
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

WaffG §21 Waffenhandel

Risiko: 5.000,00 EUR bis 100.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_18greift, wenn Branche/Cluster branche_c_18 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:waffenhandelgreift nur für diese fachliche Rolle: waffenhandelFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"waffenhandel"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_18"
        },
        {
            "rolle": "waffenhandel"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-18-waffg-online-handel-verbot-grenzen",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Hinweise \"Nur an Waffenhändler mit Erlaubnis\", WBK-Upload, Altersverif.\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "strafbarkeit_und_bussgeld",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_18"
            },
            {
                "rolle": "waffenhandel"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Verkauf ausschließlich an Inhaber einer Waffenhandelserlaubnis nach §21\nWaffG. WBK-Nachweis vor Versand erforderlich.\"\n"
}

ohne_section / weg

Verwalterzertifikat §26a WEG

c-13-weg-verwalterzertifikat

executablepublic_aistructured_page
Was macht diese Regel?

Seit 01.12.2022 haben Wohnungseigentümer Anspruch auf einen zertifizierten Verwalter (§26a WEG, i. V. m. ZertVerwV). Der Sachkundenachweis ist vor IHK zu erbringen; Website-Transparenz erhöht die Auftragschance.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_13, rolle:weg_verwalter

  • branche_c_13 - greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt ist
  • rolle:weg_verwalter - greift nur für diese fachliche Rolle: weg verwalter
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

WEG §26a + ZertVerwV Zertifizierter Verwalter

Risiko: 200,00 EUR bis 2.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_13greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:weg_verwaltergreift nur für diese fachliche Rolle: weg verwalterFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"weg_verwalter"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_13"
        },
        {
            "rolle": "weg_verwalter"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-13-weg-verwalterzertifikat",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Ist Zertifikat-Nachweis (IHK-Nummer) auf Website?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "auftragsverlust_und_abmahnung",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_13"
            },
            {
                "rolle": "weg_verwalter"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": "IHK-Prüfung vorbereiten",
    "fix_text_vorlage": "\"Zertifizierter Verwalter nach §26a WEG, IHK [...], Nr. [...].\"\n"
}

ohne_section / widerruf

Widerrufsbelehrung technisch vorhanden

legal.withdrawal.notice

executablepublic_autoohne check_type
Was macht diese Regel?

Prüft bei Shop-Indikatoren das Vorhandensein von Widerrufsbelehrung, 14-Tage-Hinweis und Formularbezug.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Immer anwendbar, sofern Runtime, ScanScope und Evidenz passen.

keine expliziten Bedingungen
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt. Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Sehr hohes Risiko oder zentrale Pflicht. Sollte zuerst sichtbar und priorisiert werden.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

BGB / EGBGB § 312d BGB; Art. 246a § 1 Abs. 2 EGBGB Information über Bedingungen, Fristen und Verfahren des Widerrufsrechts

Risiko: -

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, stored_artifact, rule_payload, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: Kein sauberer Check-Type gepflegt. Dann entscheidet aktuell der generische Evaluator oder die Regel ist noch nicht praezise genug gemappt.

scan_mode: Öffentlicher, automatischer Check ohne Owner-Zugriff. Darf auf frei erreichbaren Seiten laufen.

Rohwerte

Scope: scan; Severity: critical

Evidenz: url, stored_artifact, rule_payload, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

Keine Sonderbedingung: Die Regel darf nach Runtime- und Scope-Filter grundsaetzlich laufen.

Rohdaten / Definition anzeigen
anwendbar_wennleer
definition
{
    "checks": [
        "notice_present",
        "period_14_days",
        "withdrawal_form_link"
    ],
    "strategy": "withdrawal_notice_heuristics",
    "shop_gate": true
}

ohne_section / wovermg

Bestellerprinzip Wohnraummiete (WoVermG §2)

c-13-provision-bestellerprinzip-mietobjekt

executablepublic_aistructured_page
Was macht diese Regel?

Bei der Vermittlung von Wohnraum zahlt ausschließlich der Auftraggeber die Provision (Bestellerprinzip, §2 Abs. 1a WoVermG). Anzeigen, AGB, Provisionsvereinbarungen müssen dies klar regeln.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_13, rolle:wohnungsvermittler

  • branche_c_13 - greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt ist
  • rolle:wohnungsvermittler - greift nur für diese fachliche Rolle: wohnungsvermittler
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

WoVermG §2 Entgelt

Risiko: 200,00 EUR bis 2.500,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_13greift, wenn Branche/Cluster branche_c_13 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
rolle:wohnungsvermittlergreift nur für diese fachliche Rolle: wohnungsvermittlerFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"rolle":"wohnungsvermittler"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_13"
        },
        {
            "rolle": "wohnungsvermittler"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-13-provision-bestellerprinzip-mietobjekt",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Wird bei Mietanzeigen klargestellt, wer Auftraggeber ist?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld",
            "bussgeld_behoerde"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_13"
            },
            {
                "rolle": "wohnungsvermittler"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Gemäß Bestellerprinzip zahlt die Provision ausschließlich der Vermieter\n(Auftraggeber).\"\n"
}

ohne_section / wphg / zag / mifid ii art. 24

MiFID II / PSD2 Werbegrundsätze — keine einseitigen Renditen

c-06-werbe-mifid2-psd2

executablepublic_aistructured_page
Was macht diese Regel?

Werbung für Finanzanlagen unterliegt dem Grundsatz "fair, klar, nicht irreführend" (Art. 24 Abs. 3 MiFID II / §63 Abs. 6 WpHG; §11 PSD2-ZAG). Renditeangaben müssen Risiken mitführen; vergangene Wertentwicklungen sind mit Warnhinweis zu versehen.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_06

  • branche_c_06 - greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt ist
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Erhebliches Risiko. Wichtig für Detailreport und konkrete Handlungsempfehlung.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

WpHG / ZAG / MiFID II Art. 24 §63 Abs. 6 WpHG Werbeanforderungen

Risiko: 1.000,00 EUR bis 50.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: high

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_06greift, wenn Branche/Cluster branche_c_06 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_06"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-06-werbe-mifid2-psd2",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Rendite-Claims auf Website mit Risikohinweis? \"Vergangene Wertentwicklung\"\n-Warnung vorhanden?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "bussgeld_abmahnung",
            "kombiniert"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_06"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Risikohinweis: Frühere Wertentwicklungen sind kein verlässlicher\nIndikator für zukünftige Ergebnisse. Kapitalanlagen sind mit Risiken\nverbunden, bis hin zum Totalverlust. Vor jeder Anlageentscheidung\ninformieren wir Sie umfassend.\"\n"
}

ohne_section / z.b. baukag bayern, archg nrw

Architekt: Architektenliste-Eintrag + Länder-Kammer

c-04-arch-kammer-eintragung

executablepublic_aistructured_page
Was macht diese Regel?

Die Berufsbezeichnung "Architekt/in" ist nach Architektengesetzen der Länder geschützt (z.B. ArchG NRW §2). Nur mit Eintrag in die Architektenliste der Länder-Architektenkammer darf der Titel geführt werden. Impressum: Kammer + Eintragung + Länder-ArchG.

Praktisch bedeutet das: KarlKI sucht genau nach diesem Risiko oder Pflichtpunkt und bewertet nur den dazu passenden Scaninhalt.

Wann greift sie kurz gesagt?

Alle müssen passen: branche_c_04, beruf:architekt

  • branche_c_04 - greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt ist
  • beruf:architekt - greift nur für diesen reglementierten Beruf: architekt
Was passiert technisch?

Diese Regel wird einmal für den ganzen Scan ausgeführt. KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten. Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Runtime: Die Regel ist für automatische Auswertung freigegeben.

Scope: Scanweite Regel. Sie wird einmal für die gesamte Website bewertet, z. B. HTTPS, Gesamtscope oder Report-Fakten.

Was kommt am Ende raus?

Wenn die Regel pass liefert, gibt es kein Finding. Wenn sie fail liefert und matched wahr ist, kann daraus ein Finding entstehen.

Severity: Relevantes Risiko oder Qualitaetsmangel, aber meist nicht oberste Prioritaet.

Reportzugriff: Kein Produktfilter auf Regeln: Free, Einmalkauf und Abo nutzen dieselbe Regel-Auswahl. Der Unterschied liegt erst im Reportzugriff: Free sieht Status/Gate, bezahlte Pakete sehen Detailfindings, Evidenz und Empfehlungen.

Rechtsgrundlage / Risiko

z.B. BauKaG Bayern, ArchG NRW je Länder-Gesetz (z.B. §3 ArchG NRW) Berufsbezeichnung / Eintragung

Risiko: 500,00 EUR bis 5.000,00 EUR

Evidenz / Belege

Diese Belege braucht KarlKI, damit aus einem Treffer ein nachvollziehbares Finding werden kann: url, ai_prompt_context, ai_response, text_excerpt, rule_version.

Ohne Belege darf der Befund nicht so behandelt werden, als wäre er sauber nachgewiesen.

Technische Werte übersetzt

check_type: KarlKI nutzt den bereits extrahierten Seiteninhalt einer passenden Section, z. B. Impressum oder Datenschutzerklärung, und prüft dort Pflichtbestandteile. Gut für klare Textpflichten.

scan_mode: Öffentlicher Check mit KI-Auswertung von frei erreichbaren Inhalten. Darf ohne Login/Owner-Kontext laufen.

Rohwerte

Scope: scan; Severity: medium

Evidenz: url, ai_prompt_context, ai_response, text_excerpt, rule_version

Bedingungen wirklich gelesen

Hier siehst du jede Bedingung nicht als Codewort, sondern als Zweck. Diese Logik entscheidet, ob die Regel überhaupt laufen darf.

MUSS Jede dieser Bedingungen muss zutreffen. Fehlt eine, wird die Regel für diesen Scan übersprungen.

BegriffWas er bedeutetWofür er da ist
branche_c_04greift, wenn Branche/Cluster branche_c_04 erkannt oder ausgewählt istSorgt dafür, dass Spezialregeln nur für passende Branchen laufen, z. B. Medizin, Shop, Immobilien oder Coaching.
beruf:architektgreift nur für diesen reglementierten Beruf: architektFachliches Zusatzmerkmal. Wichtig, weil manche Pflichten nicht allein aus einer URL oder Seite entstehen, sondern aus Rolle, Angebot oder Nutzerangabe.
Zusatzbedingung: Diese Regel nutzt fachliche Bedingungen ausserhalb von scope, z. B. Rolle, Angebot oder boolesches Merkmal. Der Filter kann diese Bedingungen als Trigger lesen; der Scan muss sie aber im ScanScope liefern: alle: {"beruf":"architekt"}
Rohdaten / Definition anzeigen
anwendbar_wenn
{
    "alle": [
        {
            "scope": "branche_c_04"
        },
        {
            "beruf": "architekt"
        }
    ],
    "oder": [],
    "nicht": []
}
definition
{
    "source": "tp-003-inventur-v2",
    "rule_id": "c-04-arch-kammer-eintragung",
    "fix_type": "diy_text",
    "check_type": "structured_page",
    "section_name": null,
    "check_hinweis": "Impressum prüfen: Berufsbezeichnung + Eintragungsland + AK + ArchG-Verweis?\n",
    "normalization": {
        "rechtsrisiko_typ": [
            "abmahnung_kammerruege",
            "abmahnung_wettbewerber"
        ]
    },
    "anwendbar_wenn": {
        "alle": [
            {
                "scope": "branche_c_04"
            },
            {
                "beruf": "architekt"
            }
        ],
        "oder": [],
        "nicht": []
    },
    "partner_hinweis": null,
    "fix_text_vorlage": "\"Berufsbezeichnung: Architekt/in (verliehen im Bundesland [X])\nZuständige Kammer: Architektenkammer [Bundesland]\nEingetragen in die Architektenliste unter [Nr.]\nAnwendbare berufsrechtliche Regelungen: [Länder-ArchG + BOA + HOAI]\"\n"
}