@aegis-scan/skills 0.4.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @aegis-scan/skills might be problematic. Click here for more details.
- package/ATTRIBUTION.md +204 -0
- package/CHANGELOG.md +48 -3
- package/package.json +1 -1
- package/sbom.cdx.json +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/.claude-plugin/plugin.json +108 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/CHANGELOG.md +1080 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/HANDOVER-LO-LIVE-VERIFICATION-2026-05-15.md +187 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/LICENSE +43 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/README.md +242 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +427 -14
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/audit.md +193 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/avv-redline.md +246 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/az-verify.md +155 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/cold-start.md +157 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/dsar-respond.md +180 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/health.md +50 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/simulate.md +158 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/post_write.py +315 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/prompt_submit.py +144 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/session_start.py +57 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/triggers.json +191 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/INDEX.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +63 -9
- package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +1581 -10
- package/skills/compliance/aegis-native/brutaler-anwalt/references/az-auffuellung-batch1.md +468 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +323 -31
- package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +610 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +107 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-aufsichtsbehoerden-taetigkeitsberichte-2024.md +310 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-bussgeld-argumentations-layer.md +598 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-dsk-beschluesse.md +346 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/audit-relevance.md +76 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/paragraphs.md +115 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/audit-relevance.md +58 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/paragraphs.md +95 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/audit-relevance.md +60 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/paragraphs.md +90 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/audit-relevance.md +73 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/paragraphs.md +114 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/audit-relevance.md +72 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/paragraphs.md +103 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/audit-relevance.md +65 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/paragraphs.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/audit-relevance.md +66 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/paragraphs.md +108 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/audit-relevance.md +80 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/paragraphs.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/audit-relevance.md +89 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/paragraphs.md +107 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/audit-relevance.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/paragraphs.md +119 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/audit-relevance.md +70 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/paragraphs.md +125 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/audit-relevance.md +70 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/paragraphs.md +116 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/INDEX.md +152 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/audit-relevance.md +64 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/paragraphs.md +110 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/audit-relevance.md +63 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/paragraphs.md +90 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/audit-relevance.md +61 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/paragraphs.md +96 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/audit-relevance.md +54 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/paragraphs.md +82 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/audit-relevance.md +76 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/paragraphs.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/audit-relevance.md +84 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/paragraphs.md +114 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/audit-relevance.md +92 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/paragraphs.md +91 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/audit-relevance.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/paragraphs.md +166 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/audit-relevance.md +71 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/paragraphs.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VERIFICATION-NOTES.md +111 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/audit-relevance.md +65 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/paragraphs.md +101 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/audit-relevance.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/paragraphs.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/audit-relevance.md +64 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/paragraphs.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/audit-relevance.md +68 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/paragraphs.md +110 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +81 -8
- package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-edpb-guidelines.md +505 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-eugh-dsgvo-schadensersatz.md +223 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/audit-relevance.md +31 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/paragraphs.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/audit-relevance.md +39 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/paragraphs.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/audit-relevance.md +42 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/paragraphs.md +112 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/audit-relevance.md +28 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/paragraphs.md +71 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/articles.md +182 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/audit-relevance.md +35 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/articles.md +111 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/audit-relevance.md +139 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/gpai-pflichten.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/hochrisiko-annex-iii.md +134 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/sanktionen-art-99.md +97 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/transparenz-art-50.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/uebergangsfristen.md +109 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CER-2022-2557/articles.md +42 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CRA-2024-2847/articles.md +87 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSDDD-2024-1760/articles.md +43 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSRD-2022-2464/articles.md +42 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DGA-2022-868/articles.md +53 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DMA-2022-1925/articles.md +55 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/articles.md +164 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/audit-relevance.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/articles.md +134 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/audit-relevance.md +110 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/notice-and-action.md +138 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/small-platform-pflichten.md +109 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/trusted-flaggers.md +77 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/vlop-vlose.md +130 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/articles.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/audit-relevance.md +77 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/articles.md +124 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/audit-relevance.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/NIS2-2022-2555/articles.md +101 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/ProdHaftRL-2024-2853/articles.md +68 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/eIDAS-2024-1183/articles.md +43 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/KWG.md +52 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/PSD2.md +67 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/ZAG.md +50 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/GlueStV/articles.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/audit-relevance.md +27 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/paragraphs.md +61 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/INDEX.md +93 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/JuSchG-JMStV/articles.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/KritisDachG/articles.md +39 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/LkSG/articles.md +90 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/DiGAV.md +60 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/IVDR-2017-746.md +51 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/MDR-2017-745.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/NIS2UmsuCG-BSIG/articles.md +53 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/StGB/relevante-paragraphen.md +157 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/audit-relevance.md +33 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/paragraphs.md +68 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TKG/articles.md +73 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/audit-relevance.md +39 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/paragraphs.md +185 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VERIFICATION-STATUS.md +266 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/audit-relevance.md +37 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/paragraphs.md +57 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/articles.md +92 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/audit-relevance.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +137 -9
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +122 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/anthropic-dpa.md +87 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/mistral-eu.md +123 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/openai-dpa.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/cookie-banner-pattern.md +202 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/dse-section-pattern.md +198 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/tracking-server-endpoint.md +193 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/auth0-tom.md +92 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/clerk-tom.md +84 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/nextauth-tom.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/supabase-auth-tom.md +104 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/auth-cookies-pattern.md +295 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/cookie-banner-pattern.md +318 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/gdpr-cleanup-celery.md +339 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/cookie-banner-pattern.md +237 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/gdpr-routes-pattern.md +256 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/helmet-csp-pattern.md +207 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/agb-versioning-pattern.md +305 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/cookie-banner-pattern.md +287 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/gdpr-models-pattern.md +290 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/tracking-config-pattern.md +263 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/auth-pattern.md +265 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/cookie-banner-pattern.md +255 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/gdpr-cleanup-cron.md +244 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/tracking-interceptor.md +239 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/api-route-bearer-auth.md +103 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/dynamic-rendering-headers.md +83 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/env-driven-tracking.md +135 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/proxy-csp-pattern.md +93 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/payment/stripe-pci-tom.md +121 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/cookie-banner-pattern.md +294 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/devise-dsgvo-pattern.md +262 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/gdpr-anonymization-pattern.md +283 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/consent-gate-pattern.md +99 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/cookie-banner-pattern.md +204 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/cms-pii-pattern.md +301 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/notice-and-action-plugin.md +371 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/cookie-banner-pattern.md +234 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/dse-section-pattern.md +231 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/sveltekit-server-hooks-pattern.md +217 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/google-analytics-consent.md +129 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/plausible-pattern.md +107 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/posthog-consent.md +79 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/cookie-banner-pattern.md +208 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/dse-i18n-pattern.md +204 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/nuxt-vs-vue-only-pattern.md +197 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/tracking-pinia-pattern.md +211 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/streitwerte.json +176 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/AffiliateDisclaimer.tsx.example +54 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/COMPLIANCE-AUDIT-TRAIL-template.md +95 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSE-Section-UGC.md.example +77 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +156 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/LostFoundReportForm-consent.tsx.example +126 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/README.md +33 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/UmamiScript.tsx.example +64 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template-file-upload.md +98 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template.md +60 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/data-retention-cron.ts.example +52 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/data-retention-workflow.yml.example +47 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/proxy-strict-dynamic.ts.example +80 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/security.txt.example +26 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-EN-international.md +267 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Audit-Klausel-Varianten.md +148 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-CH-revDSG.md +127 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module2-controller-processor.md +180 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module3-processor-subprocessor.md +144 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Sub-Processor-List.md +114 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-TOMs.md +197 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-UK-IDTA.md +131 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-standard-DE.md +288 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/Joint-Controller-Vertrag-Art-26.md +265 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/scripts/health-check.sh +262 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/scripts/test-triggers.sh +145 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/settings.json +90 -0
- package/skills/defensive/aegis-native/rls-defense/SKILL.md +85 -0
- package/skills/defensive/permoon-fork/README.md +40 -0
- package/skills/defensive/permoon-fork/multi-model-consolidation/SKILL.md +47 -0
- package/skills/defensive/permoon-fork/multi-model-severity/SKILL.md +34 -0
- package/skills/defensive/permoon-fork/multi-model-system-prompt/SKILL.md +40 -0
- package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +1 -1
- package/skills/foundation/aegis-native/aegis-module-builder/SKILL.md +5 -1
- package/skills/foundation/aegis-native/aegis-orchestrator/SKILL.md +87 -4
- package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +69 -9
- package/skills/offensive/airecon-fork/ctf-crypto/SKILL.md +260 -0
- package/skills/offensive/airecon-fork/ctf-crypto-modern-ciphers/SKILL.md +688 -0
- package/skills/offensive/airecon-fork/ctf-forensics/SKILL.md +253 -0
- package/skills/offensive/airecon-fork/ctf-forensics-network/SKILL.md +480 -0
- package/skills/offensive/airecon-fork/ctf-heap-advanced/SKILL.md +336 -0
- package/skills/offensive/airecon-fork/ctf-pwn/SKILL.md +294 -0
- package/skills/offensive/airecon-fork/ctf-pwn-rop-and-shellcode/SKILL.md +392 -0
- package/skills/offensive/airecon-fork/ctf-reversing/SKILL.md +284 -0
- package/skills/offensive/airecon-fork/frameworks-django/SKILL.md +268 -0
- package/skills/offensive/airecon-fork/frameworks-dotnet/SKILL.md +280 -0
- package/skills/offensive/airecon-fork/frameworks-express/SKILL.md +266 -0
- package/skills/offensive/airecon-fork/frameworks-fastapi/SKILL.md +193 -0
- package/skills/offensive/airecon-fork/frameworks-flask/SKILL.md +297 -0
- package/skills/offensive/airecon-fork/frameworks-laravel/SKILL.md +260 -0
- package/skills/offensive/airecon-fork/frameworks-nextjs/SKILL.md +230 -0
- package/skills/offensive/airecon-fork/frameworks-php/SKILL.md +271 -0
- package/skills/offensive/airecon-fork/frameworks-rails/SKILL.md +269 -0
- package/skills/offensive/airecon-fork/frameworks-spring/SKILL.md +245 -0
- package/skills/offensive/airecon-fork/frameworks-wordpress/SKILL.md +348 -0
- package/skills/offensive/airecon-fork/payloads-command-injection/SKILL.md +459 -0
- package/skills/offensive/airecon-fork/payloads-http-parameter-pollution/SKILL.md +129 -0
- package/skills/offensive/airecon-fork/payloads-ldap-injection/SKILL.md +100 -0
- package/skills/offensive/airecon-fork/payloads-lfi/SKILL.md +485 -0
- package/skills/offensive/airecon-fork/payloads-sqli/SKILL.md +419 -0
- package/skills/offensive/airecon-fork/payloads-ssrf/SKILL.md +125 -0
- package/skills/offensive/airecon-fork/payloads-ssti/SKILL.md +443 -0
- package/skills/offensive/airecon-fork/payloads-xss/SKILL.md +447 -0
- package/skills/offensive/airecon-fork/payloads-xxe/SKILL.md +172 -0
- package/skills/offensive/airecon-fork/postexploit-ad-credential-attacks/SKILL.md +306 -0
- package/skills/offensive/airecon-fork/postexploit-container-escape/SKILL.md +299 -0
- package/skills/offensive/airecon-fork/postexploit-credential-dumping/SKILL.md +249 -0
- package/skills/offensive/airecon-fork/postexploit-lateral-movement/SKILL.md +194 -0
- package/skills/offensive/airecon-fork/postexploit-linux-privesc/SKILL.md +252 -0
- package/skills/offensive/airecon-fork/postexploit-netexec-workflow/SKILL.md +302 -0
- package/skills/offensive/airecon-fork/postexploit-pivoting/SKILL.md +205 -0
- package/skills/offensive/airecon-fork/postexploit-windows-privesc/SKILL.md +210 -0
- package/skills/offensive/airecon-fork/protocols-active-directory/SKILL.md +314 -0
- package/skills/offensive/airecon-fork/protocols-dns/SKILL.md +203 -0
- package/skills/offensive/airecon-fork/protocols-ftp/SKILL.md +159 -0
- package/skills/offensive/airecon-fork/protocols-graphql/SKILL.md +648 -0
- package/skills/offensive/airecon-fork/protocols-kerberos/SKILL.md +168 -0
- package/skills/offensive/airecon-fork/protocols-ldap/SKILL.md +245 -0
- package/skills/offensive/airecon-fork/protocols-rdp/SKILL.md +186 -0
- package/skills/offensive/airecon-fork/protocols-smb/SKILL.md +191 -0
- package/skills/offensive/airecon-fork/protocols-smtp-imap/SKILL.md +263 -0
- package/skills/offensive/airecon-fork/protocols-snmp/SKILL.md +147 -0
- package/skills/offensive/airecon-fork/protocols-ssh/SKILL.md +287 -0
- package/skills/offensive/airecon-fork/reconnaissance-asn-whois-osint/SKILL.md +236 -0
- package/skills/offensive/airecon-fork/reconnaissance-ctf-methodology/SKILL.md +435 -0
- package/skills/offensive/airecon-fork/reconnaissance-dorking/SKILL.md +182 -0
- package/skills/offensive/airecon-fork/reconnaissance-exposed-devtools-detection/SKILL.md +513 -0
- package/skills/offensive/airecon-fork/reconnaissance-full-recon/SKILL.md +305 -0
- package/skills/offensive/airecon-fork/reconnaissance-internal-pentest/SKILL.md +202 -0
- package/skills/offensive/airecon-fork/reconnaissance-javascript-analysis/SKILL.md +167 -0
- package/skills/offensive/airecon-fork/reconnaissance-js-internal-hostname-intelligence/SKILL.md +391 -0
- package/skills/offensive/airecon-fork/reconnaissance-monitoring-secrets-exposure/SKILL.md +394 -0
- package/skills/offensive/airecon-fork/reconnaissance-shodan-censys/SKILL.md +279 -0
- package/skills/offensive/airecon-fork/reconnaissance-subdomain-enum/SKILL.md +952 -0
- package/skills/offensive/airecon-fork/technologies-cicd-attacks/SKILL.md +283 -0
- package/skills/offensive/airecon-fork/technologies-cloud-security/SKILL.md +299 -0
- package/skills/offensive/airecon-fork/technologies-docker-container/SKILL.md +266 -0
- package/skills/offensive/airecon-fork/technologies-elasticsearch/SKILL.md +226 -0
- package/skills/offensive/airecon-fork/technologies-firebase-firestore/SKILL.md +213 -0
- package/skills/offensive/airecon-fork/technologies-frida-hooking/SKILL.md +387 -0
- package/skills/offensive/airecon-fork/technologies-gitlab-github/SKILL.md +259 -0
- package/skills/offensive/airecon-fork/technologies-jenkins/SKILL.md +256 -0
- package/skills/offensive/airecon-fork/technologies-kubernetes-pentest/SKILL.md +281 -0
- package/skills/offensive/airecon-fork/technologies-memcached/SKILL.md +230 -0
- package/skills/offensive/airecon-fork/technologies-mobile-app-pentesting/SKILL.md +105 -0
- package/skills/offensive/airecon-fork/technologies-mongodb/SKILL.md +257 -0
- package/skills/offensive/airecon-fork/technologies-nginx-apache/SKILL.md +280 -0
- package/skills/offensive/airecon-fork/technologies-observability-stack-attacks/SKILL.md +501 -0
- package/skills/offensive/airecon-fork/technologies-redis/SKILL.md +236 -0
- package/skills/offensive/airecon-fork/technologies-supabase/SKILL.md +270 -0
- package/skills/offensive/airecon-fork/technologies-tomcat/SKILL.md +232 -0
- package/skills/offensive/airecon-fork/tools-advanced-fuzzing/SKILL.md +351 -0
- package/skills/offensive/airecon-fork/tools-browser-automation/SKILL.md +300 -0
- package/skills/offensive/airecon-fork/tools-caido/SKILL.md +776 -0
- package/skills/offensive/airecon-fork/tools-code-review/SKILL.md +71 -0
- package/skills/offensive/airecon-fork/tools-dalfox/SKILL.md +189 -0
- package/skills/offensive/airecon-fork/tools-hashcat-john/SKILL.md +258 -0
- package/skills/offensive/airecon-fork/tools-impacket/SKILL.md +227 -0
- package/skills/offensive/airecon-fork/tools-install/SKILL.md +202 -0
- package/skills/offensive/airecon-fork/tools-metasploit/SKILL.md +270 -0
- package/skills/offensive/airecon-fork/tools-nmap/SKILL.md +211 -0
- package/skills/offensive/airecon-fork/tools-nuclei/SKILL.md +175 -0
- package/skills/offensive/airecon-fork/tools-reporting/SKILL.md +47 -0
- package/skills/offensive/airecon-fork/tools-scripting/SKILL.md +1939 -0
- package/skills/offensive/airecon-fork/tools-semgrep/SKILL.md +202 -0
- package/skills/offensive/airecon-fork/tools-source-audit/SKILL.md +308 -0
- package/skills/offensive/airecon-fork/tools-sqlmap/SKILL.md +137 -0
- package/skills/offensive/airecon-fork/tools-tool-catalog/SKILL.md +320 -0
- package/skills/offensive/airecon-fork/tools-wapiti/SKILL.md +293 -0
- package/skills/offensive/airecon-fork/vulnerabilities-2fa-bypass/SKILL.md +219 -0
- package/skills/offensive/airecon-fork/vulnerabilities-account-takeover/SKILL.md +223 -0
- package/skills/offensive/airecon-fork/vulnerabilities-api-schema-exposure/SKILL.md +849 -0
- package/skills/offensive/airecon-fork/vulnerabilities-api-testing/SKILL.md +278 -0
- package/skills/offensive/airecon-fork/vulnerabilities-auth-workflow/SKILL.md +252 -0
- package/skills/offensive/airecon-fork/vulnerabilities-authentication-jwt/SKILL.md +158 -0
- package/skills/offensive/airecon-fork/vulnerabilities-bfla/SKILL.md +156 -0
- package/skills/offensive/airecon-fork/vulnerabilities-blind-xss/SKILL.md +111 -0
- package/skills/offensive/airecon-fork/vulnerabilities-business-logic/SKILL.md +313 -0
- package/skills/offensive/airecon-fork/vulnerabilities-cors/SKILL.md +242 -0
- package/skills/offensive/airecon-fork/vulnerabilities-crlf-injection/SKILL.md +146 -0
- package/skills/offensive/airecon-fork/vulnerabilities-csrf/SKILL.md +200 -0
- package/skills/offensive/airecon-fork/vulnerabilities-csrf-advanced-bypass/SKILL.md +536 -0
- package/skills/offensive/airecon-fork/vulnerabilities-deserialization/SKILL.md +363 -0
- package/skills/offensive/airecon-fork/vulnerabilities-dom-based-vulnerabilities/SKILL.md +105 -0
- package/skills/offensive/airecon-fork/vulnerabilities-exploitation/SKILL.md +286 -0
- package/skills/offensive/airecon-fork/vulnerabilities-grpc/SKILL.md +123 -0
- package/skills/offensive/airecon-fork/vulnerabilities-host-header-injection/SKILL.md +169 -0
- package/skills/offensive/airecon-fork/vulnerabilities-http-smuggling/SKILL.md +411 -0
- package/skills/offensive/airecon-fork/vulnerabilities-idor/SKILL.md +705 -0
- package/skills/offensive/airecon-fork/vulnerabilities-information-disclosure/SKILL.md +867 -0
- package/skills/offensive/airecon-fork/vulnerabilities-insecure-file-uploads/SKILL.md +190 -0
- package/skills/offensive/airecon-fork/vulnerabilities-jwt-attacks/SKILL.md +270 -0
- package/skills/offensive/airecon-fork/vulnerabilities-kubernetes/SKILL.md +252 -0
- package/skills/offensive/airecon-fork/vulnerabilities-mass-assignment/SKILL.md +788 -0
- package/skills/offensive/airecon-fork/vulnerabilities-nosql-injection/SKILL.md +204 -0
- package/skills/offensive/airecon-fork/vulnerabilities-oauth-misconfig/SKILL.md +220 -0
- package/skills/offensive/airecon-fork/vulnerabilities-oauth-saml/SKILL.md +163 -0
- package/skills/offensive/airecon-fork/vulnerabilities-open-redirect/SKILL.md +167 -0
- package/skills/offensive/airecon-fork/vulnerabilities-password-reset-poisoning/SKILL.md +66 -0
- package/skills/offensive/airecon-fork/vulnerabilities-path-traversal/SKILL.md +192 -0
- package/skills/offensive/airecon-fork/vulnerabilities-privilege-escalation/SKILL.md +320 -0
- package/skills/offensive/airecon-fork/vulnerabilities-prototype-pollution/SKILL.md +242 -0
- package/skills/offensive/airecon-fork/vulnerabilities-race-conditions/SKILL.md +192 -0
- package/skills/offensive/airecon-fork/vulnerabilities-rce/SKILL.md +240 -0
- package/skills/offensive/airecon-fork/vulnerabilities-sensitive-file-pii-exposure/SKILL.md +589 -0
- package/skills/offensive/airecon-fork/vulnerabilities-spring4shell/SKILL.md +86 -0
- package/skills/offensive/airecon-fork/vulnerabilities-sql-injection/SKILL.md +313 -0
- package/skills/offensive/airecon-fork/vulnerabilities-ssrf/SKILL.md +183 -0
- package/skills/offensive/airecon-fork/vulnerabilities-ssti/SKILL.md +344 -0
- package/skills/offensive/airecon-fork/vulnerabilities-subdomain-takeover/SKILL.md +160 -0
- package/skills/offensive/airecon-fork/vulnerabilities-supply-chain/SKILL.md +125 -0
- package/skills/offensive/airecon-fork/vulnerabilities-unhandled-exception-differential/SKILL.md +742 -0
- package/skills/offensive/airecon-fork/vulnerabilities-waf-detection/SKILL.md +90 -0
- package/skills/offensive/airecon-fork/vulnerabilities-web-cache-poisoning/SKILL.md +233 -0
- package/skills/offensive/airecon-fork/vulnerabilities-websocket/SKILL.md +180 -0
- package/skills/offensive/airecon-fork/vulnerabilities-xss/SKILL.md +316 -0
- package/skills/offensive/airecon-fork/vulnerabilities-xxe/SKILL.md +222 -0
- package/skills/offensive/matty-fork/cicd-redteam/SKILL.md +531 -0
- package/skills/offensive/matty-fork/cloud-security/SKILL.md +106 -0
- package/skills/offensive/matty-fork/container-escape/SKILL.md +174 -0
- package/skills/offensive/matty-fork/mobile-pentester/SKILL.md +357 -0
- package/skills/offensive/matty-fork/subdomain-takeover/SKILL.md +154 -0
- package/skills/osint/elementalsouls-fork/offensive-osint/README.md +92 -0
- package/skills/osint/elementalsouls-fork/offensive-osint/SKILL.md +4177 -0
- package/skills/osint/elementalsouls-fork/osint-methodology/README.md +66 -0
- package/skills/osint/elementalsouls-fork/osint-methodology/SKILL.md +1695 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
---
|
|
2
|
+
license: MIT (snippet)
|
|
3
|
+
provider: Vue 3 + Pinia (Open-Source)
|
|
4
|
+
last-checked: 2026-05-05
|
|
5
|
+
purpose: Pinia-Store fuer Consent-State + Tracker-Gate Pattern mit Subscriber-Watch.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Vue/Pinia — Tracking-Store (Pattern)
|
|
9
|
+
|
|
10
|
+
## Trigger / Detection
|
|
11
|
+
|
|
12
|
+
Repo enthaelt:
|
|
13
|
+
- `pinia` in `package.json`
|
|
14
|
+
- `src/stores/*.ts` Pinia-Stores
|
|
15
|
+
- `defineStore('consent', ...)` oder vergleichbar
|
|
16
|
+
- Optional: `pinia-plugin-persistedstate` fuer localStorage-Sync
|
|
17
|
+
|
|
18
|
+
Pattern: zentraler Store fuer Consent + Tracker-Aktivierung. Komponenten subscriben statt direktem `useConsent`-Composable.
|
|
19
|
+
|
|
20
|
+
## Default-Verhalten (was passiert ohne Konfiguration)
|
|
21
|
+
|
|
22
|
+
- Pinia-State liegt im Memory → kein Persist ohne Plugin
|
|
23
|
+
- Tracker-SDKs in Components separat initialisiert → mehrfach-Init bei Re-Mount
|
|
24
|
+
- Persist-Plugin schreibt Consent-State, aber auch UI-State unkontrolliert in localStorage
|
|
25
|
+
- `$subscribe` lauscht auf alle Mutations → Tracker triggert bei UI-Klicks (FP)
|
|
26
|
+
|
|
27
|
+
## Compliance-Risiken
|
|
28
|
+
|
|
29
|
+
| Risiko | Norm | Severity | Fix |
|
|
30
|
+
|---|---|---|---|
|
|
31
|
+
| Tracker mehrfach initialisiert | Performance / DSGVO Daten-Min | MITTEL | Singleton-Init im Plugin |
|
|
32
|
+
| Persist-Plugin speichert PII unverschluesselt | Art. 32 DSGVO | HOCH | Whitelist `paths: ['consent']` |
|
|
33
|
+
| Subscriber feuert Tracker bei UI-State-Change | DSGVO Art. 5 lit. b Zweckbindung | HOCH | Watcher auf `consent.analytics` only |
|
|
34
|
+
| Missing Tracker-Teardown bei Widerruf | Art. 7 Abs. 3 DSGVO | HOCH | `$reset` + `unloadAnalytics()` |
|
|
35
|
+
| Drittland-Provider unverhandelt | Art. 44 DSGVO | KRITISCH | EU-Provider + AVV |
|
|
36
|
+
|
|
37
|
+
## Code-Pattern (sanitized)
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
// File: src/stores/consent.ts
|
|
41
|
+
import { defineStore } from 'pinia';
|
|
42
|
+
|
|
43
|
+
export type Consent = {
|
|
44
|
+
necessary: true;
|
|
45
|
+
analytics: boolean;
|
|
46
|
+
marketing: boolean;
|
|
47
|
+
timestamp: string | null;
|
|
48
|
+
version: '1.0';
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const defaultConsent: Consent = {
|
|
52
|
+
necessary: true,
|
|
53
|
+
analytics: false,
|
|
54
|
+
marketing: false,
|
|
55
|
+
timestamp: null,
|
|
56
|
+
version: '1.0',
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export const useConsentStore = defineStore('consent', {
|
|
60
|
+
state: (): Consent => ({ ...defaultConsent }),
|
|
61
|
+
|
|
62
|
+
getters: {
|
|
63
|
+
hasDecided: (s) => s.timestamp !== null,
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
actions: {
|
|
67
|
+
grant(partial: Partial<Pick<Consent, 'analytics' | 'marketing'>>) {
|
|
68
|
+
this.$patch({
|
|
69
|
+
...partial,
|
|
70
|
+
timestamp: new Date().toISOString(),
|
|
71
|
+
});
|
|
72
|
+
// Server-side log fuer Nachweispflicht
|
|
73
|
+
fetch('/api/consent-log', {
|
|
74
|
+
method: 'POST',
|
|
75
|
+
headers: { 'Content-Type': 'application/json' },
|
|
76
|
+
body: JSON.stringify(this.$state),
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
revoke() {
|
|
80
|
+
this.$reset();
|
|
81
|
+
this.timestamp = new Date().toISOString();
|
|
82
|
+
// Tracker-Teardown
|
|
83
|
+
window.dispatchEvent(new CustomEvent('consent:revoked'));
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
persist: {
|
|
88
|
+
key: 'cookie-consent',
|
|
89
|
+
paths: ['necessary', 'analytics', 'marketing', 'timestamp', 'version'], // Whitelist!
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
```typescript
|
|
95
|
+
// File: src/plugins/tracking.ts
|
|
96
|
+
import { useConsentStore } from '@/stores/consent';
|
|
97
|
+
import { watch } from 'vue';
|
|
98
|
+
|
|
99
|
+
let analyticsLoaded = false;
|
|
100
|
+
|
|
101
|
+
export function setupTrackingWatchers() {
|
|
102
|
+
const store = useConsentStore();
|
|
103
|
+
|
|
104
|
+
// Watcher feuert NUR bei aenderung von analytics-Flag
|
|
105
|
+
watch(
|
|
106
|
+
() => store.analytics,
|
|
107
|
+
(next) => {
|
|
108
|
+
if (next && !analyticsLoaded) {
|
|
109
|
+
loadAnalytics();
|
|
110
|
+
analyticsLoaded = true;
|
|
111
|
+
}
|
|
112
|
+
if (!next && analyticsLoaded) {
|
|
113
|
+
unloadAnalytics();
|
|
114
|
+
analyticsLoaded = false;
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{ immediate: true }
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function loadAnalytics() {
|
|
122
|
+
const s = document.createElement('script');
|
|
123
|
+
s.src = 'https://<placeholder-eu-analytics-host>/script.js';
|
|
124
|
+
s.async = true;
|
|
125
|
+
s.dataset.domain = '<placeholder-domain>';
|
|
126
|
+
document.head.appendChild(s);
|
|
127
|
+
console.log('[tracking] analytics loaded');
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function unloadAnalytics() {
|
|
131
|
+
document.querySelectorAll('script[data-domain]').forEach(s => s.remove());
|
|
132
|
+
// Cookies invalidieren
|
|
133
|
+
document.cookie.split(';').forEach(c => {
|
|
134
|
+
const name = c.split('=')[0]?.trim();
|
|
135
|
+
if (name?.startsWith('_pa_') || name?.startsWith('_ga')) {
|
|
136
|
+
document.cookie = `${name}=; max-age=0; path=/`;
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
```typescript
|
|
143
|
+
// File: src/main.ts
|
|
144
|
+
import { createApp } from 'vue';
|
|
145
|
+
import { createPinia } from 'pinia';
|
|
146
|
+
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';
|
|
147
|
+
import App from './App.vue';
|
|
148
|
+
import { setupTrackingWatchers } from './plugins/tracking';
|
|
149
|
+
|
|
150
|
+
const pinia = createPinia();
|
|
151
|
+
pinia.use(piniaPluginPersistedstate);
|
|
152
|
+
|
|
153
|
+
const app = createApp(App);
|
|
154
|
+
app.use(pinia);
|
|
155
|
+
app.mount('#app');
|
|
156
|
+
|
|
157
|
+
// Tracking-Watchers nach Mount aufsetzen
|
|
158
|
+
setupTrackingWatchers();
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## AVV / DPA
|
|
162
|
+
|
|
163
|
+
- Hosting-Provider — Art. 28 DSGVO
|
|
164
|
+
- Analytics-Provider (EU-Region) — AVV Pflicht
|
|
165
|
+
- pinia-plugin-persistedstate: schreibt nur in localStorage = kein AVV (Browser-Storage = First-Party)
|
|
166
|
+
|
|
167
|
+
## DSE-Wording-Vorlage
|
|
168
|
+
|
|
169
|
+
```markdown
|
|
170
|
+
### Speicherung Ihrer Consent-Entscheidung
|
|
171
|
+
|
|
172
|
+
Wir speichern Ihre Cookie-Einwilligung in Ihrem Browser-Speicher
|
|
173
|
+
(`localStorage`) unter dem Schluessel `cookie-consent`. Die Speicherung dient
|
|
174
|
+
ausschliesslich der Nachweispflicht (Art. 7 Abs. 1 DSGVO).
|
|
175
|
+
|
|
176
|
+
**Gespeicherte Daten:**
|
|
177
|
+
- Zeitstempel Ihrer Entscheidung
|
|
178
|
+
- Welche Cookie-Kategorien Sie aktiviert haben
|
|
179
|
+
- Version der Einwilligungs-Vereinbarung
|
|
180
|
+
|
|
181
|
+
Es findet keine Uebertragung an Dritte statt. Die Daten verbleiben in Ihrem
|
|
182
|
+
Browser. Sie koennen die Speicherung jederzeit ueber die Browser-Einstellungen
|
|
183
|
+
loeschen oder ueber den [Cookie-Einstellungen](#cookie-settings)-Link im Footer.
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Verify-Commands (Live-Probe)
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
# 1. localStorage-Key korrekt
|
|
190
|
+
echo "JS in DevTools:"
|
|
191
|
+
echo " JSON.parse(localStorage.getItem('cookie-consent'))"
|
|
192
|
+
# Erwartung: { necessary: true, analytics: bool, marketing: bool, timestamp: ..., version: "1.0" }
|
|
193
|
+
|
|
194
|
+
# 2. Tracker-Script erst nach Accept
|
|
195
|
+
# DevTools-Network-Tab vor + nach Accept-Button-Click pruefen
|
|
196
|
+
|
|
197
|
+
# 3. Revoke-Action entfernt Tracker-Cookies
|
|
198
|
+
# DevTools: localStorage.removeItem('cookie-consent') + reload
|
|
199
|
+
# document.cookie sollte keine _pa_/_ga-Eintraege mehr enthalten
|
|
200
|
+
|
|
201
|
+
# 4. Pinia Persist nur whitelisted paths
|
|
202
|
+
# DevTools: localStorage.getItem('cookie-consent')
|
|
203
|
+
# Erwartung: nur consent-Felder, keine UI-State-Reste
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Cross-References
|
|
207
|
+
|
|
208
|
+
- AEGIS-Scanner: `state-leak-checker.ts`, `tracking-scan.ts`, `consent-flow-checker.ts`
|
|
209
|
+
- Skill-Reference: `references/dsgvo.md` § 25 TDDDG, Art. 7 (Nachweispflicht)
|
|
210
|
+
- BGH-Rechtsprechung: `references/bgh-urteile.md` BGH I ZR 7/16
|
|
211
|
+
- Audit-Pattern: `references/audit-patterns.md` Phase 2 (Cookie-Audit), Phase 4 (Widerrufs-Test)
|
|
@@ -178,7 +178,7 @@ Wenn die Site Mitarbeiter-Login enthaelt + keine separate Beschaeftigten-Datensc
|
|
|
178
178
|
```
|
|
179
179
|
Finding: Datenpanne nicht innerhalb 72 h gemeldet
|
|
180
180
|
- §: Art. 33 DSGVO + § 130 OWiG (Aufsichtspflicht)
|
|
181
|
-
- Az.: OLG Hamm
|
|
181
|
+
- Az.: OLG Hamm 11 U 88/22 (20.01.2023) — auch versehentliche Mails sind Datenpannen, 100 EUR Schadensersatz pro Betroffenem
|
|
182
182
|
- Strafrechtlich: § 263 StGB falls vorsaetzliche Verschleierung erkennbar
|
|
183
183
|
- Bussgeld DSGVO: Stufe 1 (Art. 83 Abs. 4)
|
|
184
184
|
- Risiko-Vektor:
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "Strukturierte Streitwert-DB fuer brutaler-anwalt v4.4.0+ Abmahn-Simulation. Jede Verstoss-Klasse hat (a) Base-Range, (b) Az.-Anker mit Source-URL, (c) Aktor-Multiplikatoren, (d) Branchen-Multiplikatoren. Werte basieren auf publizierten BGH/OLG/LG-Urteilen, BfDI/LDI-Bussgeldbescheiden 2020-2025. Disclaimer: indikativ, KEINE Rechtsberatung i.S.d. RDG §2.",
|
|
3
|
+
"_schema": {
|
|
4
|
+
"verstoss_klassen": "Objekt mit Verstoss-Slug als Key",
|
|
5
|
+
"fields_pro_klasse": {
|
|
6
|
+
"name": "Lesbarer Verstoss-Name (de)",
|
|
7
|
+
"rechtsgrundlage": "§ / Art. Pflicht-Norm",
|
|
8
|
+
"streitwert_eur_min": "Untere Schadens-Range-Grenze EUR",
|
|
9
|
+
"streitwert_eur_max": "Obere Schadens-Range-Grenze EUR",
|
|
10
|
+
"az_anker": "BGH/EuGH/OLG/LG-Az. als Source-Anker",
|
|
11
|
+
"az_source_url": "Volltext-Link zur Quelle",
|
|
12
|
+
"aktor_multiplikatoren": "Faktor je nach Anwalts-Akteur (Standard 1.0, VZB 1.5, WBZ 2.0, Bekannt-Abmahn-RAK 2.5)",
|
|
13
|
+
"branchen_multiplikatoren": "Faktor je nach Branche (Standard 1.0, Heilberuf/MedTech 1.5)",
|
|
14
|
+
"schwere_faktoren": "Faktor je nach Severity (LOW 0.5, MED 1.0, HIGH 2.0, CRIT 4.0)",
|
|
15
|
+
"anwalts_kosten_geschaeftsgebuehr": "1.3 Geschaeftsgebuehr nach RVG bei Standard-Streitwert",
|
|
16
|
+
"notes": "Kontext / Anwendungsgrenzen / Vorsicht"
|
|
17
|
+
},
|
|
18
|
+
"version": "0.1.0 — initial, Stand 2026-05-15"
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
"verstoss_klassen": {
|
|
22
|
+
"google_fonts_ohne_consent": {
|
|
23
|
+
"name": "Google Fonts via Google-CDN ohne Consent",
|
|
24
|
+
"rechtsgrundlage": "Art. 6(1) DSGVO + § 25 TDDDG + Art. 13 DSGVO",
|
|
25
|
+
"streitwert_eur_min": 100,
|
|
26
|
+
"streitwert_eur_max": 500,
|
|
27
|
+
"az_anker": "LG Muenchen 3 O 17493/20",
|
|
28
|
+
"az_source_url": "https://medien-internet-und-recht.de/volltext.php?mir_dok_id=3119",
|
|
29
|
+
"aktor_multiplikatoren": {"standard": 1.0, "verbraucherzentrale": 1.5, "wettbewerbszentrale": 2.0, "abmahn_anwalt_bekannt": 2.5},
|
|
30
|
+
"branchen_multiplikatoren": {"standard": 1.0, "heilberuf": 1.5, "spa_med": 1.3, "finance": 1.4},
|
|
31
|
+
"schwere_faktoren": {"low": 0.5, "med": 1.0, "high": 2.0, "crit": 4.0},
|
|
32
|
+
"anwalts_kosten_geschaeftsgebuehr": 215,
|
|
33
|
+
"notes": "LG Muenchen 2022. Schadensersatz pro betroffener Person 100 EUR. Abmahn-Welle 2022-2023, Pop-In gegen Wallow/RAK Lenard."
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
"cookie_banner_fehlt": {
|
|
37
|
+
"name": "Cookie-Banner fehlt / pre-Consent-Tracking",
|
|
38
|
+
"rechtsgrundlage": "§ 25 TDDDG + EuGH C-673/17 Planet49",
|
|
39
|
+
"streitwert_eur_min": 1000,
|
|
40
|
+
"streitwert_eur_max": 15000,
|
|
41
|
+
"az_anker": "EuGH C-673/17 Planet49",
|
|
42
|
+
"az_source_url": "https://curia.europa.eu/juris/liste.jsf?num=C-673/17",
|
|
43
|
+
"aktor_multiplikatoren": {"standard": 1.0, "verbraucherzentrale": 1.5, "wettbewerbszentrale": 2.0, "abmahn_anwalt_bekannt": 2.5},
|
|
44
|
+
"branchen_multiplikatoren": {"standard": 1.0, "heilberuf": 1.5, "spa_med": 1.3, "finance": 1.4, "ecommerce": 1.2},
|
|
45
|
+
"schwere_faktoren": {"low": 0.5, "med": 1.0, "high": 2.0, "crit": 4.0},
|
|
46
|
+
"anwalts_kosten_geschaeftsgebuehr": 887,
|
|
47
|
+
"notes": "Aktive Welle 2023-2025. BfDI-Konsultations-Bescheide variieren stark."
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
"impressum_unvollstaendig": {
|
|
51
|
+
"name": "Impressum unvollstaendig oder verdeckt platziert",
|
|
52
|
+
"rechtsgrundlage": "§ 5 DDG (ehemals § 5 TMG)",
|
|
53
|
+
"streitwert_eur_min": 1500,
|
|
54
|
+
"streitwert_eur_max": 5000,
|
|
55
|
+
"az_anker": "BGH I ZR 218/07 Fehlendes Impressum",
|
|
56
|
+
"az_source_url": "https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/document.py?Gericht=bgh&Art=en&sid=&nr=46651",
|
|
57
|
+
"aktor_multiplikatoren": {"standard": 1.0, "verbraucherzentrale": 1.5, "wettbewerbszentrale": 2.0, "abmahn_anwalt_bekannt": 2.5},
|
|
58
|
+
"branchen_multiplikatoren": {"standard": 1.0, "heilberuf": 1.5},
|
|
59
|
+
"schwere_faktoren": {"low": 0.5, "med": 1.0, "high": 2.0, "crit": 4.0},
|
|
60
|
+
"anwalts_kosten_geschaeftsgebuehr": 627,
|
|
61
|
+
"notes": "Klassischer Wettbewerbszentrale-Abmahn-Vektor. 2-Klick-Regel BGH 2007."
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
"newsletter_ohne_doi": {
|
|
65
|
+
"name": "Newsletter ohne Double-Opt-In",
|
|
66
|
+
"rechtsgrundlage": "§ 7 Abs. 2 Nr. 2 UWG + Art. 6 DSGVO",
|
|
67
|
+
"streitwert_eur_min": 3000,
|
|
68
|
+
"streitwert_eur_max": 10000,
|
|
69
|
+
"az_anker": "BGH I ZR 218/07 (Single-Opt-In unzureichend)",
|
|
70
|
+
"az_source_url": "https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/document.py?Gericht=bgh&Art=en&sid=&nr=46651",
|
|
71
|
+
"aktor_multiplikatoren": {"standard": 1.0, "verbraucherzentrale": 1.5, "wettbewerbszentrale": 2.0, "abmahn_anwalt_bekannt": 2.5},
|
|
72
|
+
"branchen_multiplikatoren": {"standard": 1.0, "ecommerce": 1.2, "saas": 1.1},
|
|
73
|
+
"schwere_faktoren": {"low": 0.5, "med": 1.0, "high": 2.0, "crit": 4.0},
|
|
74
|
+
"anwalts_kosten_geschaeftsgebuehr": 745,
|
|
75
|
+
"notes": "BGH 11.03.2004. DOI ist Pflicht (selbst bei Bestandskunden teils unklar). Aktive Welle 2024-2025 (Gravenreuth)."
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
"agb_b2c_unwirksame_klausel": {
|
|
79
|
+
"name": "AGB B2C mit unwirksamer Klausel (§§ 305-310 BGB)",
|
|
80
|
+
"rechtsgrundlage": "§§ 305 ff. BGB + UWG § 3a iVm § 1 UKlaG",
|
|
81
|
+
"streitwert_eur_min": 2500,
|
|
82
|
+
"streitwert_eur_max": 15000,
|
|
83
|
+
"az_anker": "BGH XI ZR 26/20 (Genehmigungsfiktion AGB-Aenderung) + BGH VIII ZR 70/08 (Widerrufsbelehrung)",
|
|
84
|
+
"az_source_url": "https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/document.py?Gericht=bgh&Art=en&nr=59258",
|
|
85
|
+
"aktor_multiplikatoren": {"standard": 1.0, "verbraucherzentrale": 1.8, "wettbewerbszentrale": 2.2, "abmahn_anwalt_bekannt": 2.5},
|
|
86
|
+
"branchen_multiplikatoren": {"standard": 1.0, "ecommerce": 1.3, "saas": 1.2, "finance": 1.5},
|
|
87
|
+
"schwere_faktoren": {"low": 0.5, "med": 1.0, "high": 2.0, "crit": 4.0},
|
|
88
|
+
"anwalts_kosten_geschaeftsgebuehr": 887,
|
|
89
|
+
"notes": "Verbraucherzentralen-Hauptvektor. Mehrere unwirksame Klauseln = additive Streitwerte."
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
"drittland_us_ohne_scc": {
|
|
93
|
+
"name": "Drittland-Transfer USA ohne SCC / TIA",
|
|
94
|
+
"rechtsgrundlage": "Art. 44 ff. DSGVO + EuGH Schrems II",
|
|
95
|
+
"streitwert_eur_min": 10000,
|
|
96
|
+
"streitwert_eur_max": 100000,
|
|
97
|
+
"az_anker": "EuGH C-311/18 Schrems II",
|
|
98
|
+
"az_source_url": "https://curia.europa.eu/juris/liste.jsf?num=C-311/18",
|
|
99
|
+
"aktor_multiplikatoren": {"standard": 1.0, "verbraucherzentrale": 1.5, "wettbewerbszentrale": 2.0, "datenschutzbehoerde": 3.0, "abmahn_anwalt_bekannt": 2.5},
|
|
100
|
+
"branchen_multiplikatoren": {"standard": 1.0, "heilberuf": 2.0, "finance": 2.0, "medtech": 2.5},
|
|
101
|
+
"schwere_faktoren": {"low": 0.5, "med": 1.0, "high": 2.0, "crit": 4.0},
|
|
102
|
+
"anwalts_kosten_geschaeftsgebuehr": 1953,
|
|
103
|
+
"notes": "BfDI-Bescheide bis 35M EUR (H&M 2020). Schrems-II-Risiko bei jedem US-Provider ohne DPF + zusaetzliche TIA."
|
|
104
|
+
},
|
|
105
|
+
|
|
106
|
+
"art13_datenschutzerklaerung_unvollstaendig": {
|
|
107
|
+
"name": "Datenschutzerklaerung unvollstaendig (Art. 13/14 DSGVO)",
|
|
108
|
+
"rechtsgrundlage": "Art. 13/14 DSGVO + Art. 83 Abs. 5(b)",
|
|
109
|
+
"streitwert_eur_min": 2000,
|
|
110
|
+
"streitwert_eur_max": 25000,
|
|
111
|
+
"az_anker": "BfDI/LDI-Bescheide 2021-2025 (§-Norm-Anker — Art. 83(5)(b) DSGVO; einzelne Bescheide siehe references/bgh-urteile.md fuer EuGH C-300/21 + C-340/21 + C-687/21)",
|
|
112
|
+
"az_source_url": "https://www.bfdi.bund.de/DE/Service/Taetigkeitsberichte/Taetigkeitsberichte_node.html",
|
|
113
|
+
"aktor_multiplikatoren": {"standard": 1.0, "datenschutzbehoerde": 3.0, "verbraucherzentrale": 1.5, "wettbewerbszentrale": 1.8},
|
|
114
|
+
"branchen_multiplikatoren": {"standard": 1.0, "heilberuf": 2.0, "finance": 1.5, "ecommerce": 1.2},
|
|
115
|
+
"schwere_faktoren": {"low": 0.5, "med": 1.0, "high": 2.0, "crit": 4.0},
|
|
116
|
+
"anwalts_kosten_geschaeftsgebuehr": 887,
|
|
117
|
+
"notes": "Art. 83(5)(b) DSGVO erlaubt bis 20M EUR / 4%. Realistic 5-25k bei mittelstaendischen Verstoessen."
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
"datenpanne_keine_meldung_72h": {
|
|
121
|
+
"name": "Datenpanne keine Meldung an Behoerde binnen 72h",
|
|
122
|
+
"rechtsgrundlage": "Art. 33 DSGVO + EuGH C-340/21",
|
|
123
|
+
"streitwert_eur_min": 25000,
|
|
124
|
+
"streitwert_eur_max": 500000,
|
|
125
|
+
"az_anker": "EuGH C-340/21 Bulgarische Steuerbehoerde",
|
|
126
|
+
"az_source_url": "https://curia.europa.eu/juris/liste.jsf?num=C-340/21",
|
|
127
|
+
"aktor_multiplikatoren": {"standard": 1.0, "datenschutzbehoerde": 3.0, "betroffener_individuell": 1.5},
|
|
128
|
+
"branchen_multiplikatoren": {"standard": 1.0, "heilberuf": 2.5, "finance": 2.5, "medtech": 2.5},
|
|
129
|
+
"schwere_faktoren": {"low": 0.5, "med": 1.0, "high": 2.0, "crit": 4.0},
|
|
130
|
+
"anwalts_kosten_geschaeftsgebuehr": 4127,
|
|
131
|
+
"notes": "Art. 83(4) DSGVO bis 10M EUR / 2%. Skalliert mit Anzahl betroffener Personen + Datenkategorie (Art-9 4x)."
|
|
132
|
+
},
|
|
133
|
+
|
|
134
|
+
"eudr_geolocation_fehlt": {
|
|
135
|
+
"name": "EUDR Geolocation pro Plot fehlt",
|
|
136
|
+
"rechtsgrundlage": "Art. 9 EUDR (VO 2023/1115)",
|
|
137
|
+
"streitwert_eur_min": 50000,
|
|
138
|
+
"streitwert_eur_max": 2000000,
|
|
139
|
+
"az_anker": "EUDR Art. 25 (§-Norm-Anker, keine Case-Law — Erstanwendung 30.12.2025 erwartet)",
|
|
140
|
+
"az_source_url": "https://eur-lex.europa.eu/eli/reg/2023/1115/oj",
|
|
141
|
+
"aktor_multiplikatoren": {"standard": 1.0, "nationale_behoerde": 3.0},
|
|
142
|
+
"branchen_multiplikatoren": {"standard": 1.0, "kaffee_importer": 1.5, "kakao_importer": 1.5, "soja_importer": 1.5, "palmoel_importer": 2.0},
|
|
143
|
+
"schwere_faktoren": {"low": 0.5, "med": 1.0, "high": 2.0, "crit": 4.0},
|
|
144
|
+
"anwalts_kosten_geschaeftsgebuehr": 12000,
|
|
145
|
+
"notes": "Art. 25(2) EUDR: bis 4% des Unionsweiten Jahresumsatzes. Konfiskation der Ware (Art. 25(3)). Marktausschluss bis 12 Monate (Art. 25(4))."
|
|
146
|
+
},
|
|
147
|
+
|
|
148
|
+
"ai_act_verbotene_praktik": {
|
|
149
|
+
"name": "AI-Act verbotene Praktik (Art. 5)",
|
|
150
|
+
"rechtsgrundlage": "Art. 5 AI Act (VO 2024/1689) — seit 02.02.2025",
|
|
151
|
+
"streitwert_eur_min": 1000000,
|
|
152
|
+
"streitwert_eur_max": 35000000,
|
|
153
|
+
"az_anker": "Art. 99 Abs. 3 AI Act (§-Norm-Anker, keine Case-Law — Erstanwendung Q2/2025 erwartet)",
|
|
154
|
+
"az_source_url": "https://eur-lex.europa.eu/eli/reg/2024/1689/oj",
|
|
155
|
+
"aktor_multiplikatoren": {"standard": 1.0, "nationale_behoerde": 3.0, "eu_ai_office": 3.5},
|
|
156
|
+
"branchen_multiplikatoren": {"standard": 1.0, "hr": 2.0, "finance": 2.0, "edtech": 1.8, "behoerde": 2.5},
|
|
157
|
+
"schwere_faktoren": {"low": 0.5, "med": 1.0, "high": 2.0, "crit": 4.0},
|
|
158
|
+
"anwalts_kosten_geschaeftsgebuehr": 36000,
|
|
159
|
+
"notes": "Art. 99(3): bis 35M EUR oder 7% weltweiter Jahresumsatz. Inkraft seit 02.02.2025."
|
|
160
|
+
},
|
|
161
|
+
|
|
162
|
+
"bfsg_barrierefreiheit_fehlt": {
|
|
163
|
+
"name": "BFSG Barrierefreiheit fehlt (B2C E-Commerce)",
|
|
164
|
+
"rechtsgrundlage": "BFSG + EN 301 549 / WCAG 2.1 AA",
|
|
165
|
+
"streitwert_eur_min": 5000,
|
|
166
|
+
"streitwert_eur_max": 100000,
|
|
167
|
+
"az_anker": "§ 22 BFSG iVm § 16 BFSGV (§-Norm-Anker, keine Case-Law — Stichtag 28.06.2025)",
|
|
168
|
+
"az_source_url": "https://www.gesetze-im-internet.de/bfsg/",
|
|
169
|
+
"aktor_multiplikatoren": {"standard": 1.0, "verbraucherzentrale": 1.5, "behoerde": 2.5, "verband_blindeb_behind": 2.0},
|
|
170
|
+
"branchen_multiplikatoren": {"standard": 1.0, "ecommerce": 1.3, "banking": 1.5},
|
|
171
|
+
"schwere_faktoren": {"low": 0.5, "med": 1.0, "high": 2.0, "crit": 4.0},
|
|
172
|
+
"anwalts_kosten_geschaeftsgebuehr": 1100,
|
|
173
|
+
"notes": "Stichtag 28.06.2025 fuer alle B2C-E-Commerce ab Schwellenwerten. § 22 BFSG: bis 100k EUR Bussgeld."
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// MIT-License — anonymized teaching snippet for brutaler-anwalt
|
|
2
|
+
// References: checklisten.md Checkliste 3c (UWG § 5a Abs. 4)
|
|
3
|
+
// Az.-Anker: LG Muenchen I 4 HK O 14302/15 (Influencer-Werbung als "Werbung"/"Anzeige")
|
|
4
|
+
|
|
5
|
+
// File: src/components/shared/AffiliateDisclaimer.tsx
|
|
6
|
+
// Use: import + render at top of any /empfehlungen, /partnerprogramm, /tipp,
|
|
7
|
+
// /best-of route. Pflicht: visible above-the-fold + before product listing.
|
|
8
|
+
|
|
9
|
+
import React from 'react';
|
|
10
|
+
|
|
11
|
+
interface AffiliateDisclaimerProps {
|
|
12
|
+
/** optional override of default copy */
|
|
13
|
+
text?: string;
|
|
14
|
+
/** className override for layout-specific styling */
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const DEFAULT_TEXT =
|
|
19
|
+
'Werbehinweis: Diese Seite enthält Affiliate-Links (mit * markiert). ' +
|
|
20
|
+
'Wenn Sie über einen solchen Link einkaufen, erhalten wir eine kleine ' +
|
|
21
|
+
'Provision. Für Sie entstehen dadurch keine Mehrkosten. Diese Provision ' +
|
|
22
|
+
'finanziert unsere Arbeit und beeinflusst nicht unsere Empfehlung.';
|
|
23
|
+
|
|
24
|
+
export function AffiliateDisclaimer({
|
|
25
|
+
text = DEFAULT_TEXT,
|
|
26
|
+
className = '',
|
|
27
|
+
}: AffiliateDisclaimerProps) {
|
|
28
|
+
return (
|
|
29
|
+
<aside
|
|
30
|
+
role="note"
|
|
31
|
+
aria-label="Werbehinweis"
|
|
32
|
+
className={`affiliate-disclaimer ${className}`.trim()}
|
|
33
|
+
data-testid="affiliate-disclaimer"
|
|
34
|
+
>
|
|
35
|
+
<p>{text}</p>
|
|
36
|
+
</aside>
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// USAGE (example layout, e.g., src/app/(dashboard)/empfehlungen/layout.tsx):
|
|
41
|
+
//
|
|
42
|
+
// import { AffiliateDisclaimer } from '@/components/shared/AffiliateDisclaimer';
|
|
43
|
+
// export default function EmpfehlungenLayout({ children }) {
|
|
44
|
+
// return (
|
|
45
|
+
// <>
|
|
46
|
+
// <AffiliateDisclaimer />
|
|
47
|
+
// {children}
|
|
48
|
+
// </>
|
|
49
|
+
// );
|
|
50
|
+
// }
|
|
51
|
+
//
|
|
52
|
+
// VERIFY:
|
|
53
|
+
// curl https://<your-domain>/empfehlungen | grep -ic 'Werbehinweis'
|
|
54
|
+
// # erwarte: >= 1 Treffer
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
license: MIT
|
|
3
|
+
purpose: Audit-Trail-Doku-Vorlage. Wird von brutaler-anwalt-Audit als geshippter Bericht erstellt.
|
|
4
|
+
references: SKILL.md Output-Format
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Compliance-Audit-Trail — `<projekt-name>`
|
|
8
|
+
|
|
9
|
+
**Stand:** `<YYYY-MM-DD>`
|
|
10
|
+
**Auditor:** brutaler-anwalt v`<version>` + `<operator>`
|
|
11
|
+
**Scope:** `<Live-URL / Repo / Doku>`
|
|
12
|
+
**Status:** `<DRAFT / FREIGEGEBEN / IN REMEDIATION>`
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 0. Disclaimer
|
|
17
|
+
|
|
18
|
+
Diese Analyse ist keine Rechtsberatung i.S.d. § 2 RDG (BGH I ZR 113/20 Smartlaw)
|
|
19
|
+
und ersetzt keinen zugelassenen Rechtsanwalt. Output ist technisch-indikativ
|
|
20
|
+
fuer interne Vorpruefung — nicht Beratung Dritter.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 1. Konsolidierte Risiko-Bewertung
|
|
25
|
+
|
|
26
|
+
`<2-4 Saetze: Wahrscheinlichkeit Abmahnung/Bussgeld binnen 90 Tagen, €-Range,
|
|
27
|
+
kritischste 1-3 Findings, primaerer Hebel.>`
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 2. Findings (verified)
|
|
32
|
+
|
|
33
|
+
| # | Wahrsch. | Kritikalitaet | Bereich | Rechtsgrundlage | €-Range | Status | Fix |
|
|
34
|
+
|---|----------|---------------|---------|-----------------|---------|--------|-----|
|
|
35
|
+
| 1 | `<%>` | `<🔴/🟡/🟢>` | `<Bereich>` | `<§/Art.>` | `<X-Y €>` | verified | `<konkret>` |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 3. Anwalts-Anhang (pro Finding)
|
|
40
|
+
|
|
41
|
+
### Finding #`<n>`: `<Bereich + Kurzbeschreibung>`
|
|
42
|
+
|
|
43
|
+
**HUNTER-Befund:**
|
|
44
|
+
`<Was wurde gefunden, wo, wie. Code/Text-Zitat wenn moeglich.>`
|
|
45
|
+
|
|
46
|
+
**Rechtsgrundlage:**
|
|
47
|
+
- §/Art.: `<konkret>`
|
|
48
|
+
- Az. relevantes Urteil: `<LG/OLG/BGH/EuGH + Datum>` (Source: `<URL>`)
|
|
49
|
+
- Tenor: `<1 Satz>`
|
|
50
|
+
|
|
51
|
+
**CHALLENGER-Test:**
|
|
52
|
+
- Bedingung A: `<erfuellt/nicht erfuellt>`
|
|
53
|
+
- Bedingung B: `<...>`
|
|
54
|
+
- Verdict: `<verified/disputed/false-positive>`
|
|
55
|
+
|
|
56
|
+
**Risiko-Vektor:**
|
|
57
|
+
- Abmahnung Wettbewerber: `<%>`
|
|
58
|
+
- Behoerden-Bussgeld: `<€-Range, Stufe Art. 83 DSGVO>`
|
|
59
|
+
- Schadensersatz Betroffene: `<Art. 82 DSGVO>`
|
|
60
|
+
- Worst-Case-Frist: `<Tage>`
|
|
61
|
+
|
|
62
|
+
**Fix:**
|
|
63
|
+
`<Konkrete technische ODER textuelle Massnahme.>`
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 4. Verifikations-Status (Skill-Self-Test)
|
|
68
|
+
|
|
69
|
+
| Verification-Check | Status |
|
|
70
|
+
|--------------------|--------|
|
|
71
|
+
| References geladen (audit-patterns.md + topic-spezifische) | `<✓/✗>` |
|
|
72
|
+
| Jedes Finding hat §/Art. + Az. + Reference-File-Pfad | `<✓/✗>` |
|
|
73
|
+
| Az.-Provenance verifiziert (Source-URL pro Az.) | `<✓/✗>` |
|
|
74
|
+
| HUNTER-Phase fuer alle Inputs durchlaufen | `<✓/✗>` |
|
|
75
|
+
| CHALLENGER-Phase pro Finding | `<✓/✗>` |
|
|
76
|
+
| SYNTHESIZER-Konsolidierung gemacht | `<✓/✗>` |
|
|
77
|
+
| Risk-Klassifikation pro Fix | `<✓/✗>` |
|
|
78
|
+
| Disclaimer am Output-Ende | `<✓/✗>` |
|
|
79
|
+
| Sanitization-Check (keine internen Brand-Refs im Output) | `<✓/✗>` |
|
|
80
|
+
| DEVIL'S ADVOCATE durchgelaufen | `<✓/✗>` |
|
|
81
|
+
| LIVE-PROBE durchgelaufen (falls verfuegbar) | `<✓/✗>` |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 5. Naechste Schritte
|
|
86
|
+
|
|
87
|
+
| Prio | Aktion | Owner | Frist |
|
|
88
|
+
|------|--------|-------|-------|
|
|
89
|
+
| 🔴 | `<...>` | `<...>` | `<...>` |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
*Diese Analyse ersetzt keine anwaltliche Beratung. Fuer verbindliche
|
|
94
|
+
Rechtsauskunft empfehle ich die Konsultation eines Fachanwalts fuer
|
|
95
|
+
IT-Recht / Datenschutzrecht.*
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
license: MIT
|
|
3
|
+
purpose: DSE-Block-Vorlage fuer UGC-Plattformen (Vermisst, Marketplace, Forum, Profile).
|
|
4
|
+
references: audit-patterns.md Phase 5c UGC-PUBLIC-PII-AUDIT
|
|
5
|
+
sources: Art. 6 Abs. 1 lit. a + lit. f DSGVO + EuGH C-131/12 Google Spain + DSA Art. 16
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# DSE-Section: User-Generated-Content (UGC) — Vorlage
|
|
9
|
+
|
|
10
|
+
> Dieser Block gehoert in deine Datenschutzerklaerung wenn deine Plattform
|
|
11
|
+
> oeffentlich abrufbare User-Posts hat (Vermisst-Inserate, Marketplace-Listings,
|
|
12
|
+
> Forum-Threads, oeffentliche Profile, oeffentliche Kommentare).
|
|
13
|
+
|
|
14
|
+
## `<N>`. Nutzer-veroeffentlichte Inhalte (UGC)
|
|
15
|
+
|
|
16
|
+
### `<N>.1` Welche Daten werden veroeffentlicht?
|
|
17
|
+
|
|
18
|
+
Wenn Sie als Nutzer einen Beitrag in `<unsere-Plattform>` (z.B. ein
|
|
19
|
+
Vermisst-Inserat, eine Marketplace-Anzeige, einen Forum-Beitrag, ein
|
|
20
|
+
oeffentliches Profil) veroeffentlichen, sind folgende Daten oeffentlich
|
|
21
|
+
abrufbar:
|
|
22
|
+
|
|
23
|
+
- `<Auflistung der Felder>`, z.B.: Vorname, Stadt, Telefonnummer, E-Mail,
|
|
24
|
+
Foto, Tier-Daten, freier Text
|
|
25
|
+
|
|
26
|
+
Diese Daten sind nach Veroeffentlichung **fuer alle Internetnutzer
|
|
27
|
+
einsehbar**, koennen von Suchmaschinen indexiert werden und ggf. von
|
|
28
|
+
Drittanbietern (Wayback Machine, Google Cache) gespeichert werden.
|
|
29
|
+
|
|
30
|
+
### `<N>.2` Rechtsgrundlage
|
|
31
|
+
|
|
32
|
+
Art. 6 Abs. 1 lit. a DSGVO — Einwilligung. Die Einwilligung wird beim
|
|
33
|
+
Abschicken des Posting-Formulars durch eine Pflicht-Checkbox eingeholt
|
|
34
|
+
(siehe Posting-Form in der App / auf der Website). Die Checkbox ist nicht
|
|
35
|
+
vorausgewaehlt; ohne aktive Bestaetigung kann kein Post abgeschickt werden.
|
|
36
|
+
|
|
37
|
+
### `<N>.3` Speicherdauer
|
|
38
|
+
|
|
39
|
+
`<konkret, z.B.: "Vermisst-Inserate werden 90 Tage nach dem Status
|
|
40
|
+
\"gefunden\" automatisch geloescht. Marketplace-Anzeigen verfallen 30 Tage
|
|
41
|
+
nach Inaktivitaet. Forum-Beitraege werden bis zur expliziten Loeschung durch
|
|
42
|
+
den Nutzer aufbewahrt.">`
|
|
43
|
+
|
|
44
|
+
Die automatischen Loesch-Cron-Jobs sind dokumentiert (siehe
|
|
45
|
+
`references/templates/data-retention-cron.ts.example` als Pattern).
|
|
46
|
+
|
|
47
|
+
### `<N>.4` Recht auf Loeschung (Art. 17 DSGVO)
|
|
48
|
+
|
|
49
|
+
Sie koennen Ihre Beitraege jederzeit selbst loeschen ueber `<Pfad zum
|
|
50
|
+
Loeschen-UI>`. Wir setzen zusaetzlich `X-Robots-Tag: noindex` Header auf
|
|
51
|
+
allen UGC-Detail-Pages mit personenbezogenen Daten — damit Suchmaschinen
|
|
52
|
+
nicht in den Cache nehmen, was Sie spaeter loeschen wollen
|
|
53
|
+
(Az.-Anker: EuGH C-131/12 Google Spain). Wir leiten Loesch-Anfragen
|
|
54
|
+
auf Wunsch auch an Google / Bing / DuckDuckGo weiter
|
|
55
|
+
(siehe Hilfe-FAQ `<URL>` fuer Anleitung).
|
|
56
|
+
|
|
57
|
+
### `<N>.5` Notice-and-Action gem. DSA (Art. 16)
|
|
58
|
+
|
|
59
|
+
Bei rechtswidrigen UGC-Inhalten haben Sie ein Notice-and-Action-Recht.
|
|
60
|
+
Reichen Sie eine Meldung ein unter `<URL zum Report-Endpoint>` oder per
|
|
61
|
+
E-Mail an `<email>`. Wir reagieren innerhalb von `<X>` Tagen (DSA Art. 16
|
|
62
|
+
verlangt unverzuegliche Bearbeitung; bei Strafverfolgungs-relevanten
|
|
63
|
+
Inhalten unverzuegliche Behoerden-Meldung).
|
|
64
|
+
|
|
65
|
+
### `<N>.6` Empfehlung an Nutzer
|
|
66
|
+
|
|
67
|
+
Wir empfehlen, in oeffentlichen UGC-Posts:
|
|
68
|
+
- nicht die Privatadresse, nur Stadt
|
|
69
|
+
- bevorzugt eine sekundaere E-Mail-Adresse oder Plattform-interne Inbox
|
|
70
|
+
- bei Telefonnummer pruefen ob Kontakt-Formular reicht
|
|
71
|
+
|
|
72
|
+
`<weitere Branchen-spezifische Hinweise>`
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
*Disclaimer: technisch-indikative Vorlage, keine Rechtsberatung i.S.d. § 2 RDG.
|
|
77
|
+
Vor produktivem Einsatz von Fachanwalt fuer Datenschutzrecht pruefen lassen.*
|