@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.

Files changed (386) hide show
  1. package/ATTRIBUTION.md +204 -0
  2. package/CHANGELOG.md +48 -3
  3. package/package.json +1 -1
  4. package/sbom.cdx.json +1 -1
  5. package/skills/compliance/aegis-native/brutaler-anwalt/.claude-plugin/plugin.json +108 -0
  6. package/skills/compliance/aegis-native/brutaler-anwalt/CHANGELOG.md +1080 -0
  7. package/skills/compliance/aegis-native/brutaler-anwalt/HANDOVER-LO-LIVE-VERIFICATION-2026-05-15.md +187 -0
  8. package/skills/compliance/aegis-native/brutaler-anwalt/LICENSE +43 -0
  9. package/skills/compliance/aegis-native/brutaler-anwalt/README.md +242 -0
  10. package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +427 -14
  11. package/skills/compliance/aegis-native/brutaler-anwalt/commands/audit.md +193 -0
  12. package/skills/compliance/aegis-native/brutaler-anwalt/commands/avv-redline.md +246 -0
  13. package/skills/compliance/aegis-native/brutaler-anwalt/commands/az-verify.md +155 -0
  14. package/skills/compliance/aegis-native/brutaler-anwalt/commands/cold-start.md +157 -0
  15. package/skills/compliance/aegis-native/brutaler-anwalt/commands/dsar-respond.md +180 -0
  16. package/skills/compliance/aegis-native/brutaler-anwalt/commands/health.md +50 -0
  17. package/skills/compliance/aegis-native/brutaler-anwalt/commands/simulate.md +158 -0
  18. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/post_write.py +315 -0
  19. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/prompt_submit.py +144 -0
  20. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/session_start.py +57 -0
  21. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/triggers.json +191 -0
  22. package/skills/compliance/aegis-native/brutaler-anwalt/references/INDEX.md +102 -0
  23. package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +1 -1
  24. package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +63 -9
  25. package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +1581 -10
  26. package/skills/compliance/aegis-native/brutaler-anwalt/references/az-auffuellung-batch1.md +468 -0
  27. package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +323 -31
  28. package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +610 -1
  29. package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +107 -1
  30. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-aufsichtsbehoerden-taetigkeitsberichte-2024.md +310 -0
  31. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-bussgeld-argumentations-layer.md +598 -0
  32. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-dsk-beschluesse.md +346 -0
  33. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/audit-relevance.md +76 -0
  34. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/paragraphs.md +115 -0
  35. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/audit-relevance.md +58 -0
  36. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/paragraphs.md +95 -0
  37. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/audit-relevance.md +60 -0
  38. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/paragraphs.md +90 -0
  39. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/audit-relevance.md +73 -0
  40. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/paragraphs.md +114 -0
  41. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/audit-relevance.md +72 -0
  42. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/paragraphs.md +103 -0
  43. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/audit-relevance.md +65 -0
  44. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/paragraphs.md +102 -0
  45. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/audit-relevance.md +66 -0
  46. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/paragraphs.md +108 -0
  47. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/audit-relevance.md +80 -0
  48. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/paragraphs.md +102 -0
  49. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/audit-relevance.md +89 -0
  50. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/paragraphs.md +107 -0
  51. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/audit-relevance.md +62 -0
  52. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/paragraphs.md +119 -0
  53. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/audit-relevance.md +70 -0
  54. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/paragraphs.md +125 -0
  55. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/audit-relevance.md +70 -0
  56. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/paragraphs.md +116 -0
  57. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/INDEX.md +152 -0
  58. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/audit-relevance.md +64 -0
  59. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/paragraphs.md +110 -0
  60. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/audit-relevance.md +63 -0
  61. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/paragraphs.md +90 -0
  62. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/audit-relevance.md +61 -0
  63. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/paragraphs.md +96 -0
  64. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/audit-relevance.md +54 -0
  65. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/paragraphs.md +82 -0
  66. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/audit-relevance.md +76 -0
  67. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/paragraphs.md +86 -0
  68. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/audit-relevance.md +84 -0
  69. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/paragraphs.md +114 -0
  70. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/audit-relevance.md +92 -0
  71. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/paragraphs.md +91 -0
  72. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/audit-relevance.md +85 -0
  73. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/paragraphs.md +166 -0
  74. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/audit-relevance.md +71 -0
  75. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/paragraphs.md +102 -0
  76. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VERIFICATION-NOTES.md +111 -0
  77. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/audit-relevance.md +65 -0
  78. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/paragraphs.md +101 -0
  79. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/audit-relevance.md +62 -0
  80. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/paragraphs.md +120 -0
  81. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/audit-relevance.md +64 -0
  82. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/paragraphs.md +120 -0
  83. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/audit-relevance.md +68 -0
  84. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/paragraphs.md +110 -0
  85. package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +81 -8
  86. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-edpb-guidelines.md +505 -0
  87. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-eugh-dsgvo-schadensersatz.md +223 -0
  88. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/audit-relevance.md +31 -0
  89. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/paragraphs.md +62 -0
  90. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/audit-relevance.md +39 -0
  91. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/paragraphs.md +85 -0
  92. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/audit-relevance.md +42 -0
  93. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/paragraphs.md +112 -0
  94. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/audit-relevance.md +28 -0
  95. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/paragraphs.md +71 -0
  96. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/articles.md +182 -0
  97. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/audit-relevance.md +35 -0
  98. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/articles.md +111 -0
  99. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/audit-relevance.md +139 -0
  100. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/gpai-pflichten.md +102 -0
  101. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/hochrisiko-annex-iii.md +134 -0
  102. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/sanktionen-art-99.md +97 -0
  103. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/transparenz-art-50.md +120 -0
  104. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/uebergangsfristen.md +109 -0
  105. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CER-2022-2557/articles.md +42 -0
  106. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CRA-2024-2847/articles.md +87 -0
  107. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSDDD-2024-1760/articles.md +43 -0
  108. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSRD-2022-2464/articles.md +42 -0
  109. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DGA-2022-868/articles.md +53 -0
  110. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DMA-2022-1925/articles.md +55 -0
  111. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/articles.md +164 -0
  112. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/audit-relevance.md +86 -0
  113. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/articles.md +134 -0
  114. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/audit-relevance.md +110 -0
  115. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/notice-and-action.md +138 -0
  116. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/small-platform-pflichten.md +109 -0
  117. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/trusted-flaggers.md +77 -0
  118. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/vlop-vlose.md +130 -0
  119. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/articles.md +102 -0
  120. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/audit-relevance.md +77 -0
  121. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/articles.md +124 -0
  122. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/audit-relevance.md +85 -0
  123. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/NIS2-2022-2555/articles.md +101 -0
  124. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/ProdHaftRL-2024-2853/articles.md +68 -0
  125. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/eIDAS-2024-1183/articles.md +43 -0
  126. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/KWG.md +52 -0
  127. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/PSD2.md +67 -0
  128. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/ZAG.md +50 -0
  129. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/GlueStV/articles.md +86 -0
  130. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/audit-relevance.md +27 -0
  131. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/paragraphs.md +61 -0
  132. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
  133. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/INDEX.md +93 -0
  134. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/JuSchG-JMStV/articles.md +86 -0
  135. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/KritisDachG/articles.md +39 -0
  136. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/LkSG/articles.md +90 -0
  137. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/DiGAV.md +60 -0
  138. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/IVDR-2017-746.md +51 -0
  139. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/MDR-2017-745.md +85 -0
  140. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/NIS2UmsuCG-BSIG/articles.md +53 -0
  141. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/StGB/relevante-paragraphen.md +157 -0
  142. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/audit-relevance.md +33 -0
  143. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/paragraphs.md +68 -0
  144. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TKG/articles.md +73 -0
  145. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/audit-relevance.md +39 -0
  146. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/paragraphs.md +185 -0
  147. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VERIFICATION-STATUS.md +266 -0
  148. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/audit-relevance.md +37 -0
  149. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/paragraphs.md +57 -0
  150. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/articles.md +92 -0
  151. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/audit-relevance.md +62 -0
  152. package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +137 -9
  153. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +122 -0
  154. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/anthropic-dpa.md +87 -0
  155. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/mistral-eu.md +123 -0
  156. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/openai-dpa.md +120 -0
  157. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/cookie-banner-pattern.md +202 -0
  158. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/dse-section-pattern.md +198 -0
  159. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/tracking-server-endpoint.md +193 -0
  160. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/auth0-tom.md +92 -0
  161. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/clerk-tom.md +84 -0
  162. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/nextauth-tom.md +120 -0
  163. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/supabase-auth-tom.md +104 -0
  164. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/auth-cookies-pattern.md +295 -0
  165. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/cookie-banner-pattern.md +318 -0
  166. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/gdpr-cleanup-celery.md +339 -0
  167. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/cookie-banner-pattern.md +237 -0
  168. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/gdpr-routes-pattern.md +256 -0
  169. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/helmet-csp-pattern.md +207 -0
  170. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/agb-versioning-pattern.md +305 -0
  171. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/cookie-banner-pattern.md +287 -0
  172. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/gdpr-models-pattern.md +290 -0
  173. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/tracking-config-pattern.md +263 -0
  174. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/auth-pattern.md +265 -0
  175. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/cookie-banner-pattern.md +255 -0
  176. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/gdpr-cleanup-cron.md +244 -0
  177. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/tracking-interceptor.md +239 -0
  178. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/api-route-bearer-auth.md +103 -0
  179. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/dynamic-rendering-headers.md +83 -0
  180. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/env-driven-tracking.md +135 -0
  181. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/proxy-csp-pattern.md +93 -0
  182. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/payment/stripe-pci-tom.md +121 -0
  183. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/cookie-banner-pattern.md +294 -0
  184. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/devise-dsgvo-pattern.md +262 -0
  185. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/gdpr-anonymization-pattern.md +283 -0
  186. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/consent-gate-pattern.md +99 -0
  187. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/cookie-banner-pattern.md +204 -0
  188. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/cms-pii-pattern.md +301 -0
  189. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/notice-and-action-plugin.md +371 -0
  190. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/cookie-banner-pattern.md +234 -0
  191. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/dse-section-pattern.md +231 -0
  192. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/sveltekit-server-hooks-pattern.md +217 -0
  193. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/google-analytics-consent.md +129 -0
  194. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/plausible-pattern.md +107 -0
  195. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/posthog-consent.md +79 -0
  196. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/cookie-banner-pattern.md +208 -0
  197. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/dse-i18n-pattern.md +204 -0
  198. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/nuxt-vs-vue-only-pattern.md +197 -0
  199. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/tracking-pinia-pattern.md +211 -0
  200. package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +1 -1
  201. package/skills/compliance/aegis-native/brutaler-anwalt/references/streitwerte.json +176 -0
  202. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/AffiliateDisclaimer.tsx.example +54 -0
  203. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/COMPLIANCE-AUDIT-TRAIL-template.md +95 -0
  204. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSE-Section-UGC.md.example +77 -0
  205. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +156 -0
  206. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/LostFoundReportForm-consent.tsx.example +126 -0
  207. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/README.md +33 -0
  208. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/UmamiScript.tsx.example +64 -0
  209. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template-file-upload.md +98 -0
  210. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template.md +60 -0
  211. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/data-retention-cron.ts.example +52 -0
  212. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/data-retention-workflow.yml.example +47 -0
  213. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/proxy-strict-dynamic.ts.example +80 -0
  214. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/security.txt.example +26 -0
  215. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-EN-international.md +267 -0
  216. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Audit-Klausel-Varianten.md +148 -0
  217. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-CH-revDSG.md +127 -0
  218. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module2-controller-processor.md +180 -0
  219. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module3-processor-subprocessor.md +144 -0
  220. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Sub-Processor-List.md +114 -0
  221. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-TOMs.md +197 -0
  222. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-UK-IDTA.md +131 -0
  223. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-standard-DE.md +288 -0
  224. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/Joint-Controller-Vertrag-Art-26.md +265 -0
  225. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/health-check.sh +262 -0
  226. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/test-triggers.sh +145 -0
  227. package/skills/compliance/aegis-native/brutaler-anwalt/settings.json +90 -0
  228. package/skills/defensive/aegis-native/rls-defense/SKILL.md +85 -0
  229. package/skills/defensive/permoon-fork/README.md +40 -0
  230. package/skills/defensive/permoon-fork/multi-model-consolidation/SKILL.md +47 -0
  231. package/skills/defensive/permoon-fork/multi-model-severity/SKILL.md +34 -0
  232. package/skills/defensive/permoon-fork/multi-model-system-prompt/SKILL.md +40 -0
  233. package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +1 -1
  234. package/skills/foundation/aegis-native/aegis-module-builder/SKILL.md +5 -1
  235. package/skills/foundation/aegis-native/aegis-orchestrator/SKILL.md +87 -4
  236. package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +69 -9
  237. package/skills/offensive/airecon-fork/ctf-crypto/SKILL.md +260 -0
  238. package/skills/offensive/airecon-fork/ctf-crypto-modern-ciphers/SKILL.md +688 -0
  239. package/skills/offensive/airecon-fork/ctf-forensics/SKILL.md +253 -0
  240. package/skills/offensive/airecon-fork/ctf-forensics-network/SKILL.md +480 -0
  241. package/skills/offensive/airecon-fork/ctf-heap-advanced/SKILL.md +336 -0
  242. package/skills/offensive/airecon-fork/ctf-pwn/SKILL.md +294 -0
  243. package/skills/offensive/airecon-fork/ctf-pwn-rop-and-shellcode/SKILL.md +392 -0
  244. package/skills/offensive/airecon-fork/ctf-reversing/SKILL.md +284 -0
  245. package/skills/offensive/airecon-fork/frameworks-django/SKILL.md +268 -0
  246. package/skills/offensive/airecon-fork/frameworks-dotnet/SKILL.md +280 -0
  247. package/skills/offensive/airecon-fork/frameworks-express/SKILL.md +266 -0
  248. package/skills/offensive/airecon-fork/frameworks-fastapi/SKILL.md +193 -0
  249. package/skills/offensive/airecon-fork/frameworks-flask/SKILL.md +297 -0
  250. package/skills/offensive/airecon-fork/frameworks-laravel/SKILL.md +260 -0
  251. package/skills/offensive/airecon-fork/frameworks-nextjs/SKILL.md +230 -0
  252. package/skills/offensive/airecon-fork/frameworks-php/SKILL.md +271 -0
  253. package/skills/offensive/airecon-fork/frameworks-rails/SKILL.md +269 -0
  254. package/skills/offensive/airecon-fork/frameworks-spring/SKILL.md +245 -0
  255. package/skills/offensive/airecon-fork/frameworks-wordpress/SKILL.md +348 -0
  256. package/skills/offensive/airecon-fork/payloads-command-injection/SKILL.md +459 -0
  257. package/skills/offensive/airecon-fork/payloads-http-parameter-pollution/SKILL.md +129 -0
  258. package/skills/offensive/airecon-fork/payloads-ldap-injection/SKILL.md +100 -0
  259. package/skills/offensive/airecon-fork/payloads-lfi/SKILL.md +485 -0
  260. package/skills/offensive/airecon-fork/payloads-sqli/SKILL.md +419 -0
  261. package/skills/offensive/airecon-fork/payloads-ssrf/SKILL.md +125 -0
  262. package/skills/offensive/airecon-fork/payloads-ssti/SKILL.md +443 -0
  263. package/skills/offensive/airecon-fork/payloads-xss/SKILL.md +447 -0
  264. package/skills/offensive/airecon-fork/payloads-xxe/SKILL.md +172 -0
  265. package/skills/offensive/airecon-fork/postexploit-ad-credential-attacks/SKILL.md +306 -0
  266. package/skills/offensive/airecon-fork/postexploit-container-escape/SKILL.md +299 -0
  267. package/skills/offensive/airecon-fork/postexploit-credential-dumping/SKILL.md +249 -0
  268. package/skills/offensive/airecon-fork/postexploit-lateral-movement/SKILL.md +194 -0
  269. package/skills/offensive/airecon-fork/postexploit-linux-privesc/SKILL.md +252 -0
  270. package/skills/offensive/airecon-fork/postexploit-netexec-workflow/SKILL.md +302 -0
  271. package/skills/offensive/airecon-fork/postexploit-pivoting/SKILL.md +205 -0
  272. package/skills/offensive/airecon-fork/postexploit-windows-privesc/SKILL.md +210 -0
  273. package/skills/offensive/airecon-fork/protocols-active-directory/SKILL.md +314 -0
  274. package/skills/offensive/airecon-fork/protocols-dns/SKILL.md +203 -0
  275. package/skills/offensive/airecon-fork/protocols-ftp/SKILL.md +159 -0
  276. package/skills/offensive/airecon-fork/protocols-graphql/SKILL.md +648 -0
  277. package/skills/offensive/airecon-fork/protocols-kerberos/SKILL.md +168 -0
  278. package/skills/offensive/airecon-fork/protocols-ldap/SKILL.md +245 -0
  279. package/skills/offensive/airecon-fork/protocols-rdp/SKILL.md +186 -0
  280. package/skills/offensive/airecon-fork/protocols-smb/SKILL.md +191 -0
  281. package/skills/offensive/airecon-fork/protocols-smtp-imap/SKILL.md +263 -0
  282. package/skills/offensive/airecon-fork/protocols-snmp/SKILL.md +147 -0
  283. package/skills/offensive/airecon-fork/protocols-ssh/SKILL.md +287 -0
  284. package/skills/offensive/airecon-fork/reconnaissance-asn-whois-osint/SKILL.md +236 -0
  285. package/skills/offensive/airecon-fork/reconnaissance-ctf-methodology/SKILL.md +435 -0
  286. package/skills/offensive/airecon-fork/reconnaissance-dorking/SKILL.md +182 -0
  287. package/skills/offensive/airecon-fork/reconnaissance-exposed-devtools-detection/SKILL.md +513 -0
  288. package/skills/offensive/airecon-fork/reconnaissance-full-recon/SKILL.md +305 -0
  289. package/skills/offensive/airecon-fork/reconnaissance-internal-pentest/SKILL.md +202 -0
  290. package/skills/offensive/airecon-fork/reconnaissance-javascript-analysis/SKILL.md +167 -0
  291. package/skills/offensive/airecon-fork/reconnaissance-js-internal-hostname-intelligence/SKILL.md +391 -0
  292. package/skills/offensive/airecon-fork/reconnaissance-monitoring-secrets-exposure/SKILL.md +394 -0
  293. package/skills/offensive/airecon-fork/reconnaissance-shodan-censys/SKILL.md +279 -0
  294. package/skills/offensive/airecon-fork/reconnaissance-subdomain-enum/SKILL.md +952 -0
  295. package/skills/offensive/airecon-fork/technologies-cicd-attacks/SKILL.md +283 -0
  296. package/skills/offensive/airecon-fork/technologies-cloud-security/SKILL.md +299 -0
  297. package/skills/offensive/airecon-fork/technologies-docker-container/SKILL.md +266 -0
  298. package/skills/offensive/airecon-fork/technologies-elasticsearch/SKILL.md +226 -0
  299. package/skills/offensive/airecon-fork/technologies-firebase-firestore/SKILL.md +213 -0
  300. package/skills/offensive/airecon-fork/technologies-frida-hooking/SKILL.md +387 -0
  301. package/skills/offensive/airecon-fork/technologies-gitlab-github/SKILL.md +259 -0
  302. package/skills/offensive/airecon-fork/technologies-jenkins/SKILL.md +256 -0
  303. package/skills/offensive/airecon-fork/technologies-kubernetes-pentest/SKILL.md +281 -0
  304. package/skills/offensive/airecon-fork/technologies-memcached/SKILL.md +230 -0
  305. package/skills/offensive/airecon-fork/technologies-mobile-app-pentesting/SKILL.md +105 -0
  306. package/skills/offensive/airecon-fork/technologies-mongodb/SKILL.md +257 -0
  307. package/skills/offensive/airecon-fork/technologies-nginx-apache/SKILL.md +280 -0
  308. package/skills/offensive/airecon-fork/technologies-observability-stack-attacks/SKILL.md +501 -0
  309. package/skills/offensive/airecon-fork/technologies-redis/SKILL.md +236 -0
  310. package/skills/offensive/airecon-fork/technologies-supabase/SKILL.md +270 -0
  311. package/skills/offensive/airecon-fork/technologies-tomcat/SKILL.md +232 -0
  312. package/skills/offensive/airecon-fork/tools-advanced-fuzzing/SKILL.md +351 -0
  313. package/skills/offensive/airecon-fork/tools-browser-automation/SKILL.md +300 -0
  314. package/skills/offensive/airecon-fork/tools-caido/SKILL.md +776 -0
  315. package/skills/offensive/airecon-fork/tools-code-review/SKILL.md +71 -0
  316. package/skills/offensive/airecon-fork/tools-dalfox/SKILL.md +189 -0
  317. package/skills/offensive/airecon-fork/tools-hashcat-john/SKILL.md +258 -0
  318. package/skills/offensive/airecon-fork/tools-impacket/SKILL.md +227 -0
  319. package/skills/offensive/airecon-fork/tools-install/SKILL.md +202 -0
  320. package/skills/offensive/airecon-fork/tools-metasploit/SKILL.md +270 -0
  321. package/skills/offensive/airecon-fork/tools-nmap/SKILL.md +211 -0
  322. package/skills/offensive/airecon-fork/tools-nuclei/SKILL.md +175 -0
  323. package/skills/offensive/airecon-fork/tools-reporting/SKILL.md +47 -0
  324. package/skills/offensive/airecon-fork/tools-scripting/SKILL.md +1939 -0
  325. package/skills/offensive/airecon-fork/tools-semgrep/SKILL.md +202 -0
  326. package/skills/offensive/airecon-fork/tools-source-audit/SKILL.md +308 -0
  327. package/skills/offensive/airecon-fork/tools-sqlmap/SKILL.md +137 -0
  328. package/skills/offensive/airecon-fork/tools-tool-catalog/SKILL.md +320 -0
  329. package/skills/offensive/airecon-fork/tools-wapiti/SKILL.md +293 -0
  330. package/skills/offensive/airecon-fork/vulnerabilities-2fa-bypass/SKILL.md +219 -0
  331. package/skills/offensive/airecon-fork/vulnerabilities-account-takeover/SKILL.md +223 -0
  332. package/skills/offensive/airecon-fork/vulnerabilities-api-schema-exposure/SKILL.md +849 -0
  333. package/skills/offensive/airecon-fork/vulnerabilities-api-testing/SKILL.md +278 -0
  334. package/skills/offensive/airecon-fork/vulnerabilities-auth-workflow/SKILL.md +252 -0
  335. package/skills/offensive/airecon-fork/vulnerabilities-authentication-jwt/SKILL.md +158 -0
  336. package/skills/offensive/airecon-fork/vulnerabilities-bfla/SKILL.md +156 -0
  337. package/skills/offensive/airecon-fork/vulnerabilities-blind-xss/SKILL.md +111 -0
  338. package/skills/offensive/airecon-fork/vulnerabilities-business-logic/SKILL.md +313 -0
  339. package/skills/offensive/airecon-fork/vulnerabilities-cors/SKILL.md +242 -0
  340. package/skills/offensive/airecon-fork/vulnerabilities-crlf-injection/SKILL.md +146 -0
  341. package/skills/offensive/airecon-fork/vulnerabilities-csrf/SKILL.md +200 -0
  342. package/skills/offensive/airecon-fork/vulnerabilities-csrf-advanced-bypass/SKILL.md +536 -0
  343. package/skills/offensive/airecon-fork/vulnerabilities-deserialization/SKILL.md +363 -0
  344. package/skills/offensive/airecon-fork/vulnerabilities-dom-based-vulnerabilities/SKILL.md +105 -0
  345. package/skills/offensive/airecon-fork/vulnerabilities-exploitation/SKILL.md +286 -0
  346. package/skills/offensive/airecon-fork/vulnerabilities-grpc/SKILL.md +123 -0
  347. package/skills/offensive/airecon-fork/vulnerabilities-host-header-injection/SKILL.md +169 -0
  348. package/skills/offensive/airecon-fork/vulnerabilities-http-smuggling/SKILL.md +411 -0
  349. package/skills/offensive/airecon-fork/vulnerabilities-idor/SKILL.md +705 -0
  350. package/skills/offensive/airecon-fork/vulnerabilities-information-disclosure/SKILL.md +867 -0
  351. package/skills/offensive/airecon-fork/vulnerabilities-insecure-file-uploads/SKILL.md +190 -0
  352. package/skills/offensive/airecon-fork/vulnerabilities-jwt-attacks/SKILL.md +270 -0
  353. package/skills/offensive/airecon-fork/vulnerabilities-kubernetes/SKILL.md +252 -0
  354. package/skills/offensive/airecon-fork/vulnerabilities-mass-assignment/SKILL.md +788 -0
  355. package/skills/offensive/airecon-fork/vulnerabilities-nosql-injection/SKILL.md +204 -0
  356. package/skills/offensive/airecon-fork/vulnerabilities-oauth-misconfig/SKILL.md +220 -0
  357. package/skills/offensive/airecon-fork/vulnerabilities-oauth-saml/SKILL.md +163 -0
  358. package/skills/offensive/airecon-fork/vulnerabilities-open-redirect/SKILL.md +167 -0
  359. package/skills/offensive/airecon-fork/vulnerabilities-password-reset-poisoning/SKILL.md +66 -0
  360. package/skills/offensive/airecon-fork/vulnerabilities-path-traversal/SKILL.md +192 -0
  361. package/skills/offensive/airecon-fork/vulnerabilities-privilege-escalation/SKILL.md +320 -0
  362. package/skills/offensive/airecon-fork/vulnerabilities-prototype-pollution/SKILL.md +242 -0
  363. package/skills/offensive/airecon-fork/vulnerabilities-race-conditions/SKILL.md +192 -0
  364. package/skills/offensive/airecon-fork/vulnerabilities-rce/SKILL.md +240 -0
  365. package/skills/offensive/airecon-fork/vulnerabilities-sensitive-file-pii-exposure/SKILL.md +589 -0
  366. package/skills/offensive/airecon-fork/vulnerabilities-spring4shell/SKILL.md +86 -0
  367. package/skills/offensive/airecon-fork/vulnerabilities-sql-injection/SKILL.md +313 -0
  368. package/skills/offensive/airecon-fork/vulnerabilities-ssrf/SKILL.md +183 -0
  369. package/skills/offensive/airecon-fork/vulnerabilities-ssti/SKILL.md +344 -0
  370. package/skills/offensive/airecon-fork/vulnerabilities-subdomain-takeover/SKILL.md +160 -0
  371. package/skills/offensive/airecon-fork/vulnerabilities-supply-chain/SKILL.md +125 -0
  372. package/skills/offensive/airecon-fork/vulnerabilities-unhandled-exception-differential/SKILL.md +742 -0
  373. package/skills/offensive/airecon-fork/vulnerabilities-waf-detection/SKILL.md +90 -0
  374. package/skills/offensive/airecon-fork/vulnerabilities-web-cache-poisoning/SKILL.md +233 -0
  375. package/skills/offensive/airecon-fork/vulnerabilities-websocket/SKILL.md +180 -0
  376. package/skills/offensive/airecon-fork/vulnerabilities-xss/SKILL.md +316 -0
  377. package/skills/offensive/airecon-fork/vulnerabilities-xxe/SKILL.md +222 -0
  378. package/skills/offensive/matty-fork/cicd-redteam/SKILL.md +531 -0
  379. package/skills/offensive/matty-fork/cloud-security/SKILL.md +106 -0
  380. package/skills/offensive/matty-fork/container-escape/SKILL.md +174 -0
  381. package/skills/offensive/matty-fork/mobile-pentester/SKILL.md +357 -0
  382. package/skills/offensive/matty-fork/subdomain-takeover/SKILL.md +154 -0
  383. package/skills/osint/elementalsouls-fork/offensive-osint/README.md +92 -0
  384. package/skills/osint/elementalsouls-fork/offensive-osint/SKILL.md +4177 -0
  385. package/skills/osint/elementalsouls-fork/osint-methodology/README.md +66 -0
  386. 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 4 U 75/23 (auch versehentliche Mails sind Datenpannen)
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.*