@aegis-scan/skills 0.5.0 → 0.5.2

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.
Files changed (345) hide show
  1. package/ATTRIBUTION.md +93 -0
  2. package/package.json +1 -1
  3. package/sbom.cdx.json +1 -0
  4. package/skills/compliance/aegis-native/brutaler-anwalt/.claude-plugin/plugin.json +108 -0
  5. package/skills/compliance/aegis-native/brutaler-anwalt/CHANGELOG.md +878 -0
  6. package/skills/compliance/aegis-native/brutaler-anwalt/README.md +9 -3
  7. package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +93 -14
  8. package/skills/compliance/aegis-native/brutaler-anwalt/commands/audit.md +193 -0
  9. package/skills/compliance/aegis-native/brutaler-anwalt/commands/avv-redline.md +246 -0
  10. package/skills/compliance/aegis-native/brutaler-anwalt/commands/az-verify.md +155 -0
  11. package/skills/compliance/aegis-native/brutaler-anwalt/commands/cold-start.md +157 -0
  12. package/skills/compliance/aegis-native/brutaler-anwalt/commands/dsar-respond.md +180 -0
  13. package/skills/compliance/aegis-native/brutaler-anwalt/commands/health.md +50 -0
  14. package/skills/compliance/aegis-native/brutaler-anwalt/commands/simulate.md +158 -0
  15. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/post_write.py +315 -0
  16. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/prompt_submit.py +144 -0
  17. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/session_start.py +57 -0
  18. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/triggers.json +191 -0
  19. package/skills/compliance/aegis-native/brutaler-anwalt/references/INDEX.md +102 -0
  20. package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +1 -1
  21. package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +60 -5
  22. package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +745 -11
  23. package/skills/compliance/aegis-native/brutaler-anwalt/references/az-auffuellung-batch1.md +468 -0
  24. package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +106 -30
  25. package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +247 -2
  26. package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +75 -2
  27. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-aufsichtsbehoerden-taetigkeitsberichte-2024.md +310 -0
  28. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-bussgeld-argumentations-layer.md +598 -0
  29. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-dsk-beschluesse.md +346 -0
  30. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/audit-relevance.md +76 -0
  31. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/paragraphs.md +115 -0
  32. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/audit-relevance.md +58 -0
  33. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/paragraphs.md +95 -0
  34. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/audit-relevance.md +60 -0
  35. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/paragraphs.md +90 -0
  36. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/audit-relevance.md +73 -0
  37. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/paragraphs.md +114 -0
  38. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/audit-relevance.md +72 -0
  39. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/paragraphs.md +103 -0
  40. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/audit-relevance.md +65 -0
  41. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/paragraphs.md +102 -0
  42. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/audit-relevance.md +66 -0
  43. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/paragraphs.md +108 -0
  44. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/audit-relevance.md +80 -0
  45. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/paragraphs.md +102 -0
  46. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/audit-relevance.md +89 -0
  47. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/paragraphs.md +107 -0
  48. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/audit-relevance.md +62 -0
  49. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/paragraphs.md +119 -0
  50. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/audit-relevance.md +70 -0
  51. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/paragraphs.md +125 -0
  52. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/audit-relevance.md +70 -0
  53. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/paragraphs.md +116 -0
  54. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/INDEX.md +152 -0
  55. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/audit-relevance.md +64 -0
  56. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/paragraphs.md +110 -0
  57. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/audit-relevance.md +63 -0
  58. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/paragraphs.md +90 -0
  59. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/audit-relevance.md +61 -0
  60. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/paragraphs.md +96 -0
  61. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/audit-relevance.md +54 -0
  62. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/paragraphs.md +82 -0
  63. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/audit-relevance.md +76 -0
  64. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/paragraphs.md +86 -0
  65. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/audit-relevance.md +84 -0
  66. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/paragraphs.md +114 -0
  67. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/audit-relevance.md +92 -0
  68. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/paragraphs.md +91 -0
  69. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/audit-relevance.md +85 -0
  70. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/paragraphs.md +166 -0
  71. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/audit-relevance.md +71 -0
  72. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/paragraphs.md +102 -0
  73. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VERIFICATION-NOTES.md +111 -0
  74. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/audit-relevance.md +65 -0
  75. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/paragraphs.md +101 -0
  76. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/audit-relevance.md +62 -0
  77. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/paragraphs.md +120 -0
  78. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/audit-relevance.md +64 -0
  79. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/paragraphs.md +120 -0
  80. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/audit-relevance.md +68 -0
  81. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/paragraphs.md +110 -0
  82. package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +55 -8
  83. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-edpb-guidelines.md +505 -0
  84. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-eugh-dsgvo-schadensersatz.md +223 -0
  85. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/audit-relevance.md +31 -0
  86. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/audit-relevance.md +39 -0
  87. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/audit-relevance.md +42 -0
  88. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/audit-relevance.md +28 -0
  89. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/audit-relevance.md +35 -0
  90. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/articles.md +4 -1
  91. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/audit-relevance.md +139 -0
  92. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/gpai-pflichten.md +102 -0
  93. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/hochrisiko-annex-iii.md +134 -0
  94. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/sanktionen-art-99.md +97 -0
  95. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/transparenz-art-50.md +120 -0
  96. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/uebergangsfristen.md +109 -0
  97. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CER-2022-2557/articles.md +42 -0
  98. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CRA-2024-2847/articles.md +87 -0
  99. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSDDD-2024-1760/articles.md +43 -0
  100. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSRD-2022-2464/articles.md +42 -0
  101. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DGA-2022-868/articles.md +53 -0
  102. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DMA-2022-1925/articles.md +55 -0
  103. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/articles.md +164 -0
  104. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/audit-relevance.md +86 -0
  105. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/articles.md +3 -0
  106. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/audit-relevance.md +110 -0
  107. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/notice-and-action.md +138 -0
  108. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/small-platform-pflichten.md +109 -0
  109. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/trusted-flaggers.md +77 -0
  110. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/vlop-vlose.md +130 -0
  111. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/articles.md +102 -0
  112. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/audit-relevance.md +77 -0
  113. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/articles.md +124 -0
  114. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/audit-relevance.md +85 -0
  115. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/NIS2-2022-2555/articles.md +101 -0
  116. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/ProdHaftRL-2024-2853/articles.md +68 -0
  117. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/eIDAS-2024-1183/articles.md +43 -0
  118. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/KWG.md +52 -0
  119. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/PSD2.md +67 -0
  120. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/ZAG.md +50 -0
  121. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/GlueStV/articles.md +86 -0
  122. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/audit-relevance.md +27 -0
  123. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
  124. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/JuSchG-JMStV/articles.md +86 -0
  125. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/KritisDachG/articles.md +39 -0
  126. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/LkSG/articles.md +90 -0
  127. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/DiGAV.md +60 -0
  128. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/IVDR-2017-746.md +51 -0
  129. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/MDR-2017-745.md +85 -0
  130. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/NIS2UmsuCG-BSIG/articles.md +53 -0
  131. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/StGB/relevante-paragraphen.md +157 -0
  132. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/audit-relevance.md +33 -0
  133. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/paragraphs.md +3 -2
  134. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TKG/articles.md +73 -0
  135. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/audit-relevance.md +39 -0
  136. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/paragraphs.md +71 -3
  137. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VERIFICATION-STATUS.md +266 -0
  138. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/audit-relevance.md +37 -0
  139. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/articles.md +92 -0
  140. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/audit-relevance.md +62 -0
  141. package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +115 -9
  142. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +1 -1
  143. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/anthropic-dpa.md +87 -0
  144. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/cookie-banner-pattern.md +202 -0
  145. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/dse-section-pattern.md +198 -0
  146. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/tracking-server-endpoint.md +193 -0
  147. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/auth0-tom.md +92 -0
  148. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/clerk-tom.md +84 -0
  149. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/auth-cookies-pattern.md +295 -0
  150. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/cookie-banner-pattern.md +318 -0
  151. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/gdpr-cleanup-celery.md +339 -0
  152. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/cookie-banner-pattern.md +237 -0
  153. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/gdpr-routes-pattern.md +256 -0
  154. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/helmet-csp-pattern.md +207 -0
  155. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/agb-versioning-pattern.md +305 -0
  156. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/cookie-banner-pattern.md +287 -0
  157. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/gdpr-models-pattern.md +290 -0
  158. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/tracking-config-pattern.md +263 -0
  159. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/auth-pattern.md +265 -0
  160. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/cookie-banner-pattern.md +255 -0
  161. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/gdpr-cleanup-cron.md +244 -0
  162. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/tracking-interceptor.md +239 -0
  163. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/api-route-bearer-auth.md +103 -0
  164. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/dynamic-rendering-headers.md +83 -0
  165. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/env-driven-tracking.md +135 -0
  166. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/cookie-banner-pattern.md +294 -0
  167. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/devise-dsgvo-pattern.md +262 -0
  168. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/gdpr-anonymization-pattern.md +283 -0
  169. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/consent-gate-pattern.md +99 -0
  170. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/cookie-banner-pattern.md +204 -0
  171. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/cms-pii-pattern.md +301 -0
  172. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/notice-and-action-plugin.md +371 -0
  173. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/cookie-banner-pattern.md +234 -0
  174. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/dse-section-pattern.md +231 -0
  175. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/sveltekit-server-hooks-pattern.md +217 -0
  176. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/google-analytics-consent.md +129 -0
  177. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/posthog-consent.md +79 -0
  178. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/cookie-banner-pattern.md +208 -0
  179. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/dse-i18n-pattern.md +204 -0
  180. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/nuxt-vs-vue-only-pattern.md +197 -0
  181. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/tracking-pinia-pattern.md +211 -0
  182. package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +1 -1
  183. package/skills/compliance/aegis-native/brutaler-anwalt/references/streitwerte.json +176 -0
  184. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +80 -0
  185. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template-file-upload.md +98 -0
  186. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-EN-international.md +267 -0
  187. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Audit-Klausel-Varianten.md +148 -0
  188. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-CH-revDSG.md +127 -0
  189. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module2-controller-processor.md +180 -0
  190. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module3-processor-subprocessor.md +144 -0
  191. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Sub-Processor-List.md +114 -0
  192. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-TOMs.md +197 -0
  193. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-UK-IDTA.md +131 -0
  194. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-standard-DE.md +288 -0
  195. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/Joint-Controller-Vertrag-Art-26.md +265 -0
  196. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/health-check.sh +190 -48
  197. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/test-triggers.sh +145 -0
  198. package/skills/compliance/aegis-native/brutaler-anwalt/settings.json +90 -0
  199. package/skills/defensive/permoon-fork/README.md +40 -0
  200. package/skills/defensive/permoon-fork/multi-model-consolidation/SKILL.md +47 -0
  201. package/skills/defensive/permoon-fork/multi-model-severity/SKILL.md +34 -0
  202. package/skills/defensive/permoon-fork/multi-model-system-prompt/SKILL.md +40 -0
  203. package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +1 -1
  204. package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +1 -1
  205. package/skills/offensive/airecon-fork/ctf-crypto/SKILL.md +260 -0
  206. package/skills/offensive/airecon-fork/ctf-crypto-modern-ciphers/SKILL.md +688 -0
  207. package/skills/offensive/airecon-fork/ctf-forensics/SKILL.md +253 -0
  208. package/skills/offensive/airecon-fork/ctf-forensics-network/SKILL.md +480 -0
  209. package/skills/offensive/airecon-fork/ctf-heap-advanced/SKILL.md +336 -0
  210. package/skills/offensive/airecon-fork/ctf-pwn/SKILL.md +294 -0
  211. package/skills/offensive/airecon-fork/ctf-pwn-rop-and-shellcode/SKILL.md +392 -0
  212. package/skills/offensive/airecon-fork/ctf-reversing/SKILL.md +284 -0
  213. package/skills/offensive/airecon-fork/frameworks-django/SKILL.md +268 -0
  214. package/skills/offensive/airecon-fork/frameworks-dotnet/SKILL.md +280 -0
  215. package/skills/offensive/airecon-fork/frameworks-express/SKILL.md +266 -0
  216. package/skills/offensive/airecon-fork/frameworks-fastapi/SKILL.md +193 -0
  217. package/skills/offensive/airecon-fork/frameworks-flask/SKILL.md +297 -0
  218. package/skills/offensive/airecon-fork/frameworks-laravel/SKILL.md +260 -0
  219. package/skills/offensive/airecon-fork/frameworks-nextjs/SKILL.md +230 -0
  220. package/skills/offensive/airecon-fork/frameworks-php/SKILL.md +271 -0
  221. package/skills/offensive/airecon-fork/frameworks-rails/SKILL.md +269 -0
  222. package/skills/offensive/airecon-fork/frameworks-spring/SKILL.md +245 -0
  223. package/skills/offensive/airecon-fork/frameworks-wordpress/SKILL.md +348 -0
  224. package/skills/offensive/airecon-fork/payloads-command-injection/SKILL.md +459 -0
  225. package/skills/offensive/airecon-fork/payloads-http-parameter-pollution/SKILL.md +129 -0
  226. package/skills/offensive/airecon-fork/payloads-ldap-injection/SKILL.md +100 -0
  227. package/skills/offensive/airecon-fork/payloads-lfi/SKILL.md +485 -0
  228. package/skills/offensive/airecon-fork/payloads-sqli/SKILL.md +419 -0
  229. package/skills/offensive/airecon-fork/payloads-ssrf/SKILL.md +125 -0
  230. package/skills/offensive/airecon-fork/payloads-ssti/SKILL.md +443 -0
  231. package/skills/offensive/airecon-fork/payloads-xss/SKILL.md +447 -0
  232. package/skills/offensive/airecon-fork/payloads-xxe/SKILL.md +172 -0
  233. package/skills/offensive/airecon-fork/postexploit-ad-credential-attacks/SKILL.md +306 -0
  234. package/skills/offensive/airecon-fork/postexploit-container-escape/SKILL.md +299 -0
  235. package/skills/offensive/airecon-fork/postexploit-credential-dumping/SKILL.md +249 -0
  236. package/skills/offensive/airecon-fork/postexploit-lateral-movement/SKILL.md +194 -0
  237. package/skills/offensive/airecon-fork/postexploit-linux-privesc/SKILL.md +252 -0
  238. package/skills/offensive/airecon-fork/postexploit-netexec-workflow/SKILL.md +302 -0
  239. package/skills/offensive/airecon-fork/postexploit-pivoting/SKILL.md +205 -0
  240. package/skills/offensive/airecon-fork/postexploit-windows-privesc/SKILL.md +210 -0
  241. package/skills/offensive/airecon-fork/protocols-active-directory/SKILL.md +314 -0
  242. package/skills/offensive/airecon-fork/protocols-dns/SKILL.md +203 -0
  243. package/skills/offensive/airecon-fork/protocols-ftp/SKILL.md +159 -0
  244. package/skills/offensive/airecon-fork/protocols-graphql/SKILL.md +648 -0
  245. package/skills/offensive/airecon-fork/protocols-kerberos/SKILL.md +168 -0
  246. package/skills/offensive/airecon-fork/protocols-ldap/SKILL.md +245 -0
  247. package/skills/offensive/airecon-fork/protocols-rdp/SKILL.md +186 -0
  248. package/skills/offensive/airecon-fork/protocols-smb/SKILL.md +191 -0
  249. package/skills/offensive/airecon-fork/protocols-smtp-imap/SKILL.md +263 -0
  250. package/skills/offensive/airecon-fork/protocols-snmp/SKILL.md +147 -0
  251. package/skills/offensive/airecon-fork/protocols-ssh/SKILL.md +287 -0
  252. package/skills/offensive/airecon-fork/reconnaissance-asn-whois-osint/SKILL.md +236 -0
  253. package/skills/offensive/airecon-fork/reconnaissance-ctf-methodology/SKILL.md +435 -0
  254. package/skills/offensive/airecon-fork/reconnaissance-dorking/SKILL.md +182 -0
  255. package/skills/offensive/airecon-fork/reconnaissance-exposed-devtools-detection/SKILL.md +513 -0
  256. package/skills/offensive/airecon-fork/reconnaissance-full-recon/SKILL.md +305 -0
  257. package/skills/offensive/airecon-fork/reconnaissance-internal-pentest/SKILL.md +202 -0
  258. package/skills/offensive/airecon-fork/reconnaissance-javascript-analysis/SKILL.md +167 -0
  259. package/skills/offensive/airecon-fork/reconnaissance-js-internal-hostname-intelligence/SKILL.md +391 -0
  260. package/skills/offensive/airecon-fork/reconnaissance-monitoring-secrets-exposure/SKILL.md +394 -0
  261. package/skills/offensive/airecon-fork/reconnaissance-shodan-censys/SKILL.md +279 -0
  262. package/skills/offensive/airecon-fork/reconnaissance-subdomain-enum/SKILL.md +952 -0
  263. package/skills/offensive/airecon-fork/technologies-cicd-attacks/SKILL.md +283 -0
  264. package/skills/offensive/airecon-fork/technologies-cloud-security/SKILL.md +299 -0
  265. package/skills/offensive/airecon-fork/technologies-docker-container/SKILL.md +266 -0
  266. package/skills/offensive/airecon-fork/technologies-elasticsearch/SKILL.md +226 -0
  267. package/skills/offensive/airecon-fork/technologies-firebase-firestore/SKILL.md +213 -0
  268. package/skills/offensive/airecon-fork/technologies-frida-hooking/SKILL.md +387 -0
  269. package/skills/offensive/airecon-fork/technologies-gitlab-github/SKILL.md +259 -0
  270. package/skills/offensive/airecon-fork/technologies-jenkins/SKILL.md +256 -0
  271. package/skills/offensive/airecon-fork/technologies-kubernetes-pentest/SKILL.md +281 -0
  272. package/skills/offensive/airecon-fork/technologies-memcached/SKILL.md +230 -0
  273. package/skills/offensive/airecon-fork/technologies-mobile-app-pentesting/SKILL.md +105 -0
  274. package/skills/offensive/airecon-fork/technologies-mongodb/SKILL.md +257 -0
  275. package/skills/offensive/airecon-fork/technologies-nginx-apache/SKILL.md +280 -0
  276. package/skills/offensive/airecon-fork/technologies-observability-stack-attacks/SKILL.md +501 -0
  277. package/skills/offensive/airecon-fork/technologies-redis/SKILL.md +236 -0
  278. package/skills/offensive/airecon-fork/technologies-supabase/SKILL.md +270 -0
  279. package/skills/offensive/airecon-fork/technologies-tomcat/SKILL.md +232 -0
  280. package/skills/offensive/airecon-fork/tools-advanced-fuzzing/SKILL.md +351 -0
  281. package/skills/offensive/airecon-fork/tools-browser-automation/SKILL.md +300 -0
  282. package/skills/offensive/airecon-fork/tools-caido/SKILL.md +776 -0
  283. package/skills/offensive/airecon-fork/tools-code-review/SKILL.md +71 -0
  284. package/skills/offensive/airecon-fork/tools-dalfox/SKILL.md +189 -0
  285. package/skills/offensive/airecon-fork/tools-hashcat-john/SKILL.md +258 -0
  286. package/skills/offensive/airecon-fork/tools-impacket/SKILL.md +227 -0
  287. package/skills/offensive/airecon-fork/tools-install/SKILL.md +202 -0
  288. package/skills/offensive/airecon-fork/tools-metasploit/SKILL.md +270 -0
  289. package/skills/offensive/airecon-fork/tools-nmap/SKILL.md +211 -0
  290. package/skills/offensive/airecon-fork/tools-nuclei/SKILL.md +175 -0
  291. package/skills/offensive/airecon-fork/tools-reporting/SKILL.md +47 -0
  292. package/skills/offensive/airecon-fork/tools-scripting/SKILL.md +1939 -0
  293. package/skills/offensive/airecon-fork/tools-semgrep/SKILL.md +202 -0
  294. package/skills/offensive/airecon-fork/tools-source-audit/SKILL.md +308 -0
  295. package/skills/offensive/airecon-fork/tools-sqlmap/SKILL.md +137 -0
  296. package/skills/offensive/airecon-fork/tools-tool-catalog/SKILL.md +320 -0
  297. package/skills/offensive/airecon-fork/tools-wapiti/SKILL.md +293 -0
  298. package/skills/offensive/airecon-fork/vulnerabilities-2fa-bypass/SKILL.md +219 -0
  299. package/skills/offensive/airecon-fork/vulnerabilities-account-takeover/SKILL.md +223 -0
  300. package/skills/offensive/airecon-fork/vulnerabilities-api-schema-exposure/SKILL.md +849 -0
  301. package/skills/offensive/airecon-fork/vulnerabilities-api-testing/SKILL.md +278 -0
  302. package/skills/offensive/airecon-fork/vulnerabilities-auth-workflow/SKILL.md +252 -0
  303. package/skills/offensive/airecon-fork/vulnerabilities-authentication-jwt/SKILL.md +158 -0
  304. package/skills/offensive/airecon-fork/vulnerabilities-bfla/SKILL.md +156 -0
  305. package/skills/offensive/airecon-fork/vulnerabilities-blind-xss/SKILL.md +111 -0
  306. package/skills/offensive/airecon-fork/vulnerabilities-business-logic/SKILL.md +313 -0
  307. package/skills/offensive/airecon-fork/vulnerabilities-cors/SKILL.md +242 -0
  308. package/skills/offensive/airecon-fork/vulnerabilities-crlf-injection/SKILL.md +146 -0
  309. package/skills/offensive/airecon-fork/vulnerabilities-csrf/SKILL.md +200 -0
  310. package/skills/offensive/airecon-fork/vulnerabilities-csrf-advanced-bypass/SKILL.md +536 -0
  311. package/skills/offensive/airecon-fork/vulnerabilities-deserialization/SKILL.md +363 -0
  312. package/skills/offensive/airecon-fork/vulnerabilities-dom-based-vulnerabilities/SKILL.md +105 -0
  313. package/skills/offensive/airecon-fork/vulnerabilities-exploitation/SKILL.md +286 -0
  314. package/skills/offensive/airecon-fork/vulnerabilities-grpc/SKILL.md +123 -0
  315. package/skills/offensive/airecon-fork/vulnerabilities-host-header-injection/SKILL.md +169 -0
  316. package/skills/offensive/airecon-fork/vulnerabilities-http-smuggling/SKILL.md +411 -0
  317. package/skills/offensive/airecon-fork/vulnerabilities-idor/SKILL.md +705 -0
  318. package/skills/offensive/airecon-fork/vulnerabilities-information-disclosure/SKILL.md +867 -0
  319. package/skills/offensive/airecon-fork/vulnerabilities-insecure-file-uploads/SKILL.md +190 -0
  320. package/skills/offensive/airecon-fork/vulnerabilities-jwt-attacks/SKILL.md +270 -0
  321. package/skills/offensive/airecon-fork/vulnerabilities-kubernetes/SKILL.md +252 -0
  322. package/skills/offensive/airecon-fork/vulnerabilities-mass-assignment/SKILL.md +788 -0
  323. package/skills/offensive/airecon-fork/vulnerabilities-nosql-injection/SKILL.md +204 -0
  324. package/skills/offensive/airecon-fork/vulnerabilities-oauth-misconfig/SKILL.md +220 -0
  325. package/skills/offensive/airecon-fork/vulnerabilities-oauth-saml/SKILL.md +163 -0
  326. package/skills/offensive/airecon-fork/vulnerabilities-open-redirect/SKILL.md +167 -0
  327. package/skills/offensive/airecon-fork/vulnerabilities-password-reset-poisoning/SKILL.md +66 -0
  328. package/skills/offensive/airecon-fork/vulnerabilities-path-traversal/SKILL.md +192 -0
  329. package/skills/offensive/airecon-fork/vulnerabilities-privilege-escalation/SKILL.md +320 -0
  330. package/skills/offensive/airecon-fork/vulnerabilities-prototype-pollution/SKILL.md +242 -0
  331. package/skills/offensive/airecon-fork/vulnerabilities-race-conditions/SKILL.md +192 -0
  332. package/skills/offensive/airecon-fork/vulnerabilities-rce/SKILL.md +240 -0
  333. package/skills/offensive/airecon-fork/vulnerabilities-sensitive-file-pii-exposure/SKILL.md +589 -0
  334. package/skills/offensive/airecon-fork/vulnerabilities-spring4shell/SKILL.md +86 -0
  335. package/skills/offensive/airecon-fork/vulnerabilities-sql-injection/SKILL.md +313 -0
  336. package/skills/offensive/airecon-fork/vulnerabilities-ssrf/SKILL.md +183 -0
  337. package/skills/offensive/airecon-fork/vulnerabilities-ssti/SKILL.md +344 -0
  338. package/skills/offensive/airecon-fork/vulnerabilities-subdomain-takeover/SKILL.md +160 -0
  339. package/skills/offensive/airecon-fork/vulnerabilities-supply-chain/SKILL.md +125 -0
  340. package/skills/offensive/airecon-fork/vulnerabilities-unhandled-exception-differential/SKILL.md +742 -0
  341. package/skills/offensive/airecon-fork/vulnerabilities-waf-detection/SKILL.md +90 -0
  342. package/skills/offensive/airecon-fork/vulnerabilities-web-cache-poisoning/SKILL.md +233 -0
  343. package/skills/offensive/airecon-fork/vulnerabilities-websocket/SKILL.md +180 -0
  344. package/skills/offensive/airecon-fork/vulnerabilities-xss/SKILL.md +316 -0
  345. package/skills/offensive/airecon-fork/vulnerabilities-xxe/SKILL.md +222 -0
@@ -0,0 +1,234 @@
1
+ ---
2
+ license: MIT (snippet)
3
+ provider: Svelte / SvelteKit (Open-Source)
4
+ last-checked: 2026-05-05
5
+ purpose: SvelteKit Cookie-Banner mit Stores fuer Consent-State + global +layout.svelte Mount.
6
+ ---
7
+
8
+ # Svelte/SvelteKit — Cookie-Banner (Pattern)
9
+
10
+ ## Trigger / Detection
11
+
12
+ Repo enthaelt:
13
+ - `svelte` und/oder `@sveltejs/kit` in `package.json`
14
+ - `svelte.config.js` mit Adapter-Config
15
+ - `src/routes/+layout.svelte` als globales Layout
16
+ - `src/lib/stores/*.ts` Svelte-Stores (`writable`/`readable`)
17
+ - Optional: `+layout.server.ts` fuer Server-Cookie-Read
18
+
19
+ ## Default-Verhalten (was passiert ohne Konfiguration)
20
+
21
+ - SvelteKit SSR rendered initial HTML serverseitig → Banner-Logik die `localStorage` braucht muss `browser`-Guard nutzen
22
+ - Tracker-Imports im Top-Level `+layout.svelte` `<script>` werden gebundelt + im SSR-HTML referenziert
23
+ - Ohne `+layout.server.ts` sieht Server keinen Consent-Cookie → kann Tracker nicht filtern
24
+ - Stores haben kein Persist von Default → Reload zeigt Banner erneut
25
+
26
+ ## Compliance-Risiken
27
+
28
+ | Risiko | Norm | Severity | Fix |
29
+ |---|---|---|---|
30
+ | Tracker-Bundle in initial-load | § 25 TDDDG | KRITISCH | Dynamic-Import nach Consent |
31
+ | `localStorage`-Access ohne `browser`-Guard | SSR-Crash | HOCH | `import { browser } from '$app/environment'` |
32
+ | Banner doppelt gerendered (SSR + Hydration) | UX / DSGVO Klarheit | MITTEL | `{#if mounted}` Pattern |
33
+ | Cookie ohne `Secure; SameSite=Lax` | Art. 32 DSGVO | HOCH | `event.cookies.set(..., { secure, sameSite })` |
34
+ | Drittland-Adapter ohne EU-Region | Art. 44 DSGVO | KRITISCH | Adapter-Region konfigurieren |
35
+
36
+ ## Code-Pattern (sanitized)
37
+
38
+ ```typescript
39
+ // File: src/lib/stores/consent.ts
40
+ import { writable, derived } from 'svelte/store';
41
+ import { browser } from '$app/environment';
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
+ function createConsentStore() {
60
+ const initial: Consent = { ...defaultConsent };
61
+
62
+ if (browser) {
63
+ const stored = localStorage.getItem('cookie-consent');
64
+ if (stored) {
65
+ try {
66
+ Object.assign(initial, JSON.parse(stored));
67
+ } catch {
68
+ /* ignore */
69
+ }
70
+ }
71
+ }
72
+
73
+ const { subscribe, set, update } = writable<Consent>(initial);
74
+
75
+ return {
76
+ subscribe,
77
+ grant(partial: Partial<Pick<Consent, 'analytics' | 'marketing'>>) {
78
+ update(c => {
79
+ const next: Consent = {
80
+ ...c,
81
+ ...partial,
82
+ timestamp: new Date().toISOString(),
83
+ };
84
+ if (browser) {
85
+ localStorage.setItem('cookie-consent', JSON.stringify(next));
86
+ fetch('/api/consent-log', {
87
+ method: 'POST',
88
+ headers: { 'Content-Type': 'application/json' },
89
+ body: JSON.stringify(next),
90
+ });
91
+ }
92
+ return next;
93
+ });
94
+ },
95
+ revoke() {
96
+ const reset: Consent = { ...defaultConsent, timestamp: new Date().toISOString() };
97
+ if (browser) {
98
+ localStorage.setItem('cookie-consent', JSON.stringify(reset));
99
+ }
100
+ set(reset);
101
+ },
102
+ };
103
+ }
104
+
105
+ export const consent = createConsentStore();
106
+ export const hasDecided = derived(consent, $c => $c.timestamp !== null);
107
+ ```
108
+
109
+ ```svelte
110
+ <!-- File: src/lib/components/CookieBanner.svelte -->
111
+ <script lang="ts">
112
+ import { onMount } from 'svelte';
113
+ import { consent, hasDecided } from '$lib/stores/consent';
114
+ import { browser } from '$app/environment';
115
+
116
+ let mounted = false;
117
+
118
+ onMount(() => {
119
+ mounted = true;
120
+ });
121
+
122
+ function acceptAll() {
123
+ consent.grant({ analytics: true, marketing: true });
124
+ }
125
+
126
+ function rejectAll() {
127
+ consent.grant({ analytics: false, marketing: false });
128
+ }
129
+ </script>
130
+
131
+ {#if mounted && !$hasDecided}
132
+ <aside role="dialog" aria-label="Cookie-Einwilligung" class="cookie-banner">
133
+ <p>
134
+ Wir nutzen Cookies fuer notwendige Funktionen. Mit Ihrer Einwilligung
135
+ zusaetzlich fuer Webanalyse. Details:
136
+ <a href="/datenschutz">Datenschutzerklaerung</a>.
137
+ </p>
138
+ <div class="cookie-actions">
139
+ <!-- Buttons gleichwertig (OLG Koeln 6 U 80/23) -->
140
+ <button on:click={rejectAll} class="btn-secondary">Nur Notwendige</button>
141
+ <button on:click={acceptAll} class="btn-primary">Alle akzeptieren</button>
142
+ </div>
143
+ </aside>
144
+ {/if}
145
+
146
+ <style>
147
+ .cookie-banner {
148
+ position: fixed;
149
+ bottom: 0;
150
+ left: 0;
151
+ right: 0;
152
+ background: #fff;
153
+ border-top: 1px solid #ccc;
154
+ padding: 1rem;
155
+ z-index: 9999;
156
+ }
157
+ </style>
158
+ ```
159
+
160
+ ```svelte
161
+ <!-- File: src/routes/+layout.svelte -->
162
+ <script lang="ts">
163
+ import CookieBanner from '$lib/components/CookieBanner.svelte';
164
+ import { consent } from '$lib/stores/consent';
165
+ import { browser } from '$app/environment';
166
+
167
+ // Dynamic-Tracker-Load nach Consent-Aenderung
168
+ if (browser) {
169
+ consent.subscribe(async ($c) => {
170
+ if ($c.analytics) {
171
+ const m = await import('$lib/trackers/analytics');
172
+ m.init();
173
+ }
174
+ });
175
+ }
176
+ </script>
177
+
178
+ <slot />
179
+ <CookieBanner />
180
+ ```
181
+
182
+ ## AVV / DPA
183
+
184
+ - Hosting-Adapter (Vercel / Netlify / Node) — Art. 28 DSGVO
185
+ - Edge-Adapter Region MUSS auf EU gepinnt sein
186
+ - Analytics-Provider (EU) — AVV
187
+ - Form-Backends — separate AVV pro Service
188
+
189
+ ## DSE-Wording-Vorlage
190
+
191
+ ```markdown
192
+ ### Cookie-Einwilligung (SvelteKit)
193
+
194
+ Diese Webseite verwendet einen Cookie-Banner zur Einholung Ihrer
195
+ Einwilligung gem. § 25 Abs. 1 TDDDG. Ihre Entscheidung wird im
196
+ Browser-Speicher (`localStorage`) gespeichert und zusaetzlich serverseitig
197
+ zur Nachweispflicht (Art. 7 Abs. 1 DSGVO) protokolliert.
198
+
199
+ **Server-Side-Log enthaelt:**
200
+ - Hash der IP-Adresse (SHA-256, gekuerzt)
201
+ - Zeitstempel
202
+ - Gewaehlte Kategorien
203
+ - User-Agent
204
+
205
+ **Speicherdauer Server-Log:** 6 Jahre (Beweisfunktion bei Rechtsstreit).
206
+ **Loeschung Browser-Storage:** ueber [Cookie-Einstellungen](#cookie-settings)
207
+ im Footer oder Browser-Einstellungen.
208
+ ```
209
+
210
+ ## Verify-Commands (Live-Probe)
211
+
212
+ ```bash
213
+ # 1. Banner sichtbar bei Erstbesuch
214
+ curl -sS https://<placeholder-domain>/ | grep -ic "cookie-banner"
215
+
216
+ # 2. Tracker-Bundle nicht im initial HTML
217
+ curl -sS https://<placeholder-domain>/ | grep -oE '<script[^>]*src="[^"]+"' | grep -i "analytics\|tracker"
218
+ # Erwartung: leer
219
+
220
+ # 3. SvelteKit-Region-Pinning
221
+ curl -sI https://<placeholder-domain>/ | grep -i "x-vercel-id"
222
+ # Erwartung: fra1 / cdg1 etc.
223
+
224
+ # 4. Hydration-Check (Browser DevTools-Console)
225
+ # Erwartung: kein "[svelte] hydration_mismatch" warning
226
+ ```
227
+
228
+ ## Cross-References
229
+
230
+ - AEGIS-Scanner: `cookie-audit.ts`, `tracking-scan.ts`, `consent-flow-checker.ts`, `ssr-data-leak-checker.ts`
231
+ - Skill-Reference: `references/dsgvo.md` § 25 TDDDG, Art. 7 DSGVO
232
+ - BGH-Rechtsprechung: `references/bgh-urteile.md` BGH I ZR 7/16
233
+ - OLG Koeln 6 U 80/23 (Button-Gleichwertigkeit)
234
+ - Audit-Pattern: `references/audit-patterns.md` Phase 2 (Cookie-Audit)
@@ -0,0 +1,231 @@
1
+ ---
2
+ license: MIT (snippet)
3
+ provider: SvelteKit + mdsvex (Open-Source)
4
+ last-checked: 2026-05-05
5
+ purpose: SvelteKit DSE-Pattern mit mdsvex-Markdown + Frontmatter-Versionierung.
6
+ ---
7
+
8
+ # SvelteKit — DSE-Section Pattern (mdsvex)
9
+
10
+ ## Trigger / Detection
11
+
12
+ Repo enthaelt:
13
+ - `mdsvex` oder `@sveltejs/enhanced-img` in Dependencies
14
+ - `svelte.config.js` mit `extensions: ['.svelte', '.md']`
15
+ - `src/content/legal/*.md` oder `src/routes/**/+page.md` mit Frontmatter
16
+ - Routes wie `/datenschutz`, `/impressum`, `/agb`
17
+
18
+ ## Default-Verhalten (was passiert ohne Konfiguration)
19
+
20
+ - DSE in `+page.svelte` inline → kein Frontmatter, keine Versionierung
21
+ - Kein zentrales Auftragsverarbeiter-Register → DSE-Drift gegenueber Realitaet
22
+ - `last-updated` fehlt → User kann Aktualitaet nicht beurteilen
23
+ - Anchor-Links auf Sub-Sektionen funktionieren nicht (keine auto-IDs)
24
+ - DSE-Header-Level inkonsistent zwischen Pages
25
+
26
+ ## Compliance-Risiken
27
+
28
+ | Risiko | Norm | Severity | Fix |
29
+ |---|---|---|---|
30
+ | DSE outdated (kein Datum) | Art. 13 DSGVO | HOCH | Frontmatter `lastUpdated` rendern |
31
+ | Auftragsverarbeiter-Section fehlt | Art. 28 DSGVO | KRITISCH | Pflicht-Tabelle in DSE |
32
+ | Missing Loeschungs-Hinweis | Art. 17 DSGVO | HOCH | Section "Ihre Rechte" Pflicht |
33
+ | Sprache nicht deklariert | BITV 2.0 | MITTEL | `<html lang="de">` + `lang`-Attribut |
34
+ | Heading-Hierarchie kaputt (h1 dann h3) | A11y / Klarheit | MITTEL | mdsvex `rehype-slug` + lint |
35
+
36
+ ## Code-Pattern (sanitized)
37
+
38
+ ```javascript
39
+ // File: svelte.config.js
40
+ import adapter from '@sveltejs/adapter-vercel';
41
+ import { mdsvex } from 'mdsvex';
42
+ import rehypeSlug from 'rehype-slug';
43
+ import rehypeAutolinkHeadings from 'rehype-autolink-headings';
44
+
45
+ const config = {
46
+ extensions: ['.svelte', '.md'],
47
+ preprocess: [
48
+ mdsvex({
49
+ extensions: ['.md'],
50
+ rehypePlugins: [
51
+ rehypeSlug,
52
+ [rehypeAutolinkHeadings, { behavior: 'wrap' }],
53
+ ],
54
+ layout: {
55
+ legal: 'src/lib/layouts/Legal.svelte',
56
+ },
57
+ }),
58
+ ],
59
+ kit: {
60
+ adapter: adapter({ regions: ['fra1'] }),
61
+ },
62
+ };
63
+
64
+ export default config;
65
+ ```
66
+
67
+ ```markdown
68
+ <!-- File: src/routes/datenschutz/+page.md -->
69
+ ---
70
+ title: Datenschutzerklaerung
71
+ layout: legal
72
+ lastUpdated: 2026-05-05
73
+ version: "2.3"
74
+ section: datenschutz
75
+ author: "<placeholder-legal-counsel>"
76
+ ---
77
+
78
+ # Datenschutzerklaerung
79
+
80
+ ## 1. Verantwortliche Stelle
81
+
82
+ <placeholder-company-name>
83
+ <placeholder-street>
84
+ <placeholder-postal-code> <placeholder-city>
85
+
86
+ E-Mail: <placeholder-email>
87
+
88
+ ## 2. Erhobene Daten und Zwecke
89
+
90
+ | Datum | Zweck | Rechtsgrundlage | Speicherdauer |
91
+ |---|---|---|---|
92
+ | Server-Logs (Hash) | Sicherheit | Art. 6 Abs. 1 lit. f | 14 Tage |
93
+ | Cookie-Consent | Nachweis | Art. 7 DSGVO | 12 Monate |
94
+ | Analytics (Opt-In) | Optimierung | Art. 6 Abs. 1 lit. a | <placeholder-days> Tage |
95
+
96
+ ## 3. Auftragsverarbeiter
97
+
98
+ | Anbieter | Sitz | Zweck | Drittland | AVV |
99
+ |---|---|---|---|---|
100
+ | <placeholder-hosting-provider> | <placeholder-eu-country> | Hosting | Nein | Ja |
101
+ | <placeholder-analytics-provider> | <placeholder-eu-country> | Webanalyse | Nein | Ja |
102
+ | <placeholder-error-tracking-provider> | <placeholder-eu-country> | Error-Tracking | Nein | Ja |
103
+
104
+ ## 4. Cookies und vergleichbare Technologien
105
+
106
+ Siehe [Cookie-Einstellungen](#cookie-settings) — Sie koennen Ihre Einwilligung
107
+ jederzeit widerrufen.
108
+
109
+ ## 5. Ihre Rechte
110
+
111
+ Sie haben gegen uns folgende Rechte:
112
+ - Auskunft (Art. 15 DSGVO)
113
+ - Berichtigung (Art. 16 DSGVO)
114
+ - Loeschung (Art. 17 DSGVO)
115
+ - Einschraenkung (Art. 18 DSGVO)
116
+ - Datenuebertragbarkeit (Art. 20 DSGVO)
117
+ - Widerspruch (Art. 21 DSGVO)
118
+ - Beschwerde bei Aufsichtsbehoerde (Art. 77 DSGVO)
119
+
120
+ Kontakt: <placeholder-email>
121
+
122
+ ## 6. Aenderungen
123
+
124
+ Die jeweils aktuelle Version dieser Datenschutzerklaerung ist unter dieser
125
+ URL abrufbar. aenderungen werden mit aktualisiertem `Stand`-Datum publiziert.
126
+ ```
127
+
128
+ ```svelte
129
+ <!-- File: src/lib/layouts/Legal.svelte -->
130
+ <script lang="ts">
131
+ export let title: string;
132
+ export let lastUpdated: string;
133
+ export let version: string;
134
+ export let section: string;
135
+
136
+ const formattedDate = new Date(lastUpdated).toLocaleDateString('de-DE', {
137
+ day: '2-digit',
138
+ month: 'long',
139
+ year: 'numeric',
140
+ });
141
+ </script>
142
+
143
+ <svelte:head>
144
+ <title>{title}</title>
145
+ <meta name="robots" content="index,follow" />
146
+ </svelte:head>
147
+
148
+ <article class="legal" lang="de" data-section={section}>
149
+ <header>
150
+ <h1>{title}</h1>
151
+ <p class="meta">
152
+ Version {version} —
153
+ Stand: <time datetime={lastUpdated}>{formattedDate}</time>
154
+ </p>
155
+ </header>
156
+
157
+ <slot />
158
+
159
+ <footer class="legal-footer">
160
+ <p>
161
+ Bei Fragen zur Verarbeitung wenden Sie sich an:
162
+ <a href="mailto:<placeholder-email>"><placeholder-email></a>
163
+ </p>
164
+ </footer>
165
+ </article>
166
+
167
+ <style>
168
+ .legal { max-width: 65ch; margin: 0 auto; padding: 2rem 1rem; }
169
+ .meta { color: #666; font-size: 0.9rem; }
170
+ .legal-footer { margin-top: 4rem; padding-top: 2rem; border-top: 1px solid #ddd; }
171
+ </style>
172
+ ```
173
+
174
+ ## AVV / DPA
175
+
176
+ DSE selbst keine AVV. Aber:
177
+ - Hosting-Provider liefert DSE → AVV
178
+ - DSE listet ALLE anderen Auftragsverarbeiter (siehe Tabelle in Section 3)
179
+ - Bei Aenderungen am Tech-Stack MUSS DSE versioniert werden (Frontmatter `version` bumpen)
180
+
181
+ ## DSE-Wording-Vorlage
182
+
183
+ ```markdown
184
+ ### Versionierung dieser Datenschutzerklaerung
185
+
186
+ Diese Datenschutzerklaerung wird kontinuierlich gepflegt. Aktuelle Version:
187
+ **2.3** vom **5. Mai 2026**.
188
+
189
+ **Aenderungs-Historie verfuegbar via:**
190
+ - Git-Repository: <placeholder-repo-url>/commits/main/src/routes/datenschutz
191
+ - Tags fuer Major-Versionen: `legal-v2.0`, `legal-v2.3`
192
+
193
+ **Bei wesentlichen Aenderungen** (neue Datenkategorien, neue
194
+ Auftragsverarbeiter, geaenderte Speicherdauern) informieren wir Sie
195
+ zusaetzlich per E-Mail (sofern Sie Newsletter abonniert haben) oder via
196
+ Banner-Hinweis bei naechstem Webseitenbesuch.
197
+ ```
198
+
199
+ ## Verify-Commands (Live-Probe)
200
+
201
+ ```bash
202
+ # 1. DSE erreichbar
203
+ curl -sI https://<placeholder-domain>/datenschutz | head -1
204
+ # Erwartung: HTTP/2 200
205
+
206
+ # 2. Frontmatter-Daten gerendered
207
+ curl -sS https://<placeholder-domain>/datenschutz | grep -ic "stand:\|version"
208
+
209
+ # 3. Auftragsverarbeiter-Tabelle vorhanden
210
+ curl -sS https://<placeholder-domain>/datenschutz | grep -ic "auftragsverarbeit\|hosting\|analytics"
211
+
212
+ # 4. Anker-Links generiert
213
+ curl -sS https://<placeholder-domain>/datenschutz | grep -oE 'id="[^"]+"' | head -10
214
+ # Erwartung: id="verantwortliche-stelle", id="ihre-rechte", etc.
215
+
216
+ # 5. lang-Attribut
217
+ curl -sS https://<placeholder-domain>/datenschutz | grep -oE 'lang="[a-z]+"' | head -1
218
+ # Erwartung: lang="de"
219
+
220
+ # 6. Heading-Hierarchie ohne Sprung
221
+ curl -sS https://<placeholder-domain>/datenschutz | grep -oE '<h[1-6]' | sort -u
222
+ # Erwartung: <h1, <h2, <h3 — kein Skip
223
+ ```
224
+
225
+ ## Cross-References
226
+
227
+ - AEGIS-Scanner: `dse-completeness-checker.ts`, `legal-pages-checker.ts`, `heading-hierarchy-checker.ts`
228
+ - Skill-Reference: `references/dsgvo.md` Art. 13, 14, 28
229
+ - BGH-Rechtsprechung: `references/bgh-urteile.md`
230
+ - DSK-Beschluesse: `references/de-dsk-beschluesse.md` (Auftragsverarbeitung)
231
+ - Audit-Pattern: `references/audit-patterns.md` Phase 1 (DSE-Vollstaendigkeit)
@@ -0,0 +1,217 @@
1
+ ---
2
+ license: MIT (snippet)
3
+ provider: SvelteKit (Open-Source)
4
+ last-checked: 2026-05-05
5
+ purpose: SvelteKit Server-Hooks Pattern fuer Tracker-Authorization + Consent-Cookie-Forwarding.
6
+ ---
7
+
8
+ # SvelteKit — Server-Hooks Pattern (Tracker-Auth + Consent-Forward)
9
+
10
+ ## Trigger / Detection
11
+
12
+ Repo enthaelt:
13
+ - `src/hooks.server.ts` oder `src/hooks.server.js`
14
+ - `handle`/`handleFetch` Export
15
+ - `event.cookies` / `event.locals` Usage
16
+ - Optional: `/api/track` oder `/api/consent-log` Server-Endpoints
17
+
18
+ Pattern: Server-Hooks pruefen den Consent-Cookie BEVOR sie Tracker-Server-Calls (intern oder als Reverse-Proxy) durchfuehren. Bei fehlendem Consent wird der Tracker-Forward unterdrueckt.
19
+
20
+ ## Default-Verhalten (was passiert ohne Konfiguration)
21
+
22
+ - Default-`hooks.server.ts` ist meistens leer (kein Handle-Export) → keine Cookie-Validierung
23
+ - `handleFetch` wird nicht ueberschrieben → SvelteKit forwarded Server-Side-Fetch ohne Consent-Pruefung
24
+ - Tracker-Calls werden in `+page.server.ts` blind ausgefuehrt
25
+ - Set-Cookie-Header werden vom Server gesetzt ohne `Secure;HttpOnly;SameSite=Lax`-Flags
26
+
27
+ ## Compliance-Risiken
28
+
29
+ | Risiko | Norm | Severity | Fix |
30
+ |---|---|---|---|
31
+ | Server-Tracker-Call ohne Consent | § 25 TDDDG | KRITISCH | Hook prueft `cookie-consent` vor Forward |
32
+ | Tracker-Cookie ohne `Secure` Flag | Art. 32 DSGVO | HOCH | `cookies.set(..., { secure, sameSite: 'lax' })` |
33
+ | Drittland-Forward in `handleFetch` | Art. 44 DSGVO | KRITISCH | Allowlist EU-Hosts |
34
+ | Klartext-IP in Server-Logs | Art. 5 Abs. 1 lit. f | HOCH | IP-Hash in Hook |
35
+ | Consent-Cookie nicht `HttpOnly` (wenn nur Server liest) | Art. 32 DSGVO | MITTEL | Trennung: Read-Cookie HttpOnly, Banner-Cookie nicht |
36
+
37
+ ## Code-Pattern (sanitized)
38
+
39
+ ```typescript
40
+ // File: src/hooks.server.ts
41
+ import type { Handle, HandleFetch } from '@sveltejs/kit';
42
+ import { sequence } from '@sveltejs/kit/hooks';
43
+ import crypto from 'node:crypto';
44
+
45
+ const ANALYTICS_ALLOWLIST = new Set([
46
+ '<placeholder-eu-analytics-host>',
47
+ '<placeholder-eu-error-tracking-host>',
48
+ ]);
49
+
50
+ const consentHandle: Handle = async ({ event, resolve }) => {
51
+ // 1. Lese Consent-Cookie (kein HttpOnly, weil Banner-Komponente liest)
52
+ const raw = event.cookies.get('cookie-consent');
53
+ let consent = { necessary: true, analytics: false, marketing: false };
54
+ if (raw) {
55
+ try {
56
+ consent = { ...consent, ...JSON.parse(raw) };
57
+ } catch {
58
+ /* ignore malformed */
59
+ }
60
+ }
61
+
62
+ // 2. In locals fuer Page-Server-Code verfuegbar
63
+ event.locals.consent = consent;
64
+
65
+ // 3. IP-Hash fuer Logs (anonymisiert)
66
+ const rawIp = event.getClientAddress();
67
+ event.locals.ipHash = crypto
68
+ .createHash('sha256')
69
+ .update(rawIp + (process.env.IP_HASH_SALT ?? ''))
70
+ .digest('hex')
71
+ .slice(0, 16);
72
+
73
+ // 4. Resolve Request
74
+ const response = await resolve(event);
75
+
76
+ // 5. Security-Headers
77
+ response.headers.set('X-Content-Type-Options', 'nosniff');
78
+ response.headers.set('Referrer-Policy', 'strict-origin-when-cross-origin');
79
+ response.headers.set('Permissions-Policy', 'geolocation=(), camera=(), microphone=()');
80
+
81
+ return response;
82
+ };
83
+
84
+ const fetchHandle: HandleFetch = async ({ event, request, fetch }) => {
85
+ const url = new URL(request.url);
86
+
87
+ // Allowlist-Check fuer Drittland-Calls
88
+ if (!ANALYTICS_ALLOWLIST.has(url.host) && url.host !== event.url.host) {
89
+ // Pruefe Consent vor externem Fetch
90
+ if (!event.locals.consent?.analytics) {
91
+ return new Response(JSON.stringify({ blocked: 'consent-required' }), {
92
+ status: 403,
93
+ headers: { 'Content-Type': 'application/json' },
94
+ });
95
+ }
96
+ }
97
+
98
+ return fetch(request);
99
+ };
100
+
101
+ export const handle = sequence(consentHandle);
102
+ export const handleFetch = fetchHandle;
103
+ ```
104
+
105
+ ```typescript
106
+ // File: src/app.d.ts (Type-Augmentation)
107
+ declare global {
108
+ namespace App {
109
+ interface Locals {
110
+ consent: {
111
+ necessary: true;
112
+ analytics: boolean;
113
+ marketing: boolean;
114
+ };
115
+ ipHash: string;
116
+ }
117
+ }
118
+ }
119
+
120
+ export {};
121
+ ```
122
+
123
+ ```typescript
124
+ // File: src/routes/api/track/+server.ts
125
+ import type { RequestHandler } from './$types';
126
+ import { json } from '@sveltejs/kit';
127
+
128
+ export const POST: RequestHandler = async ({ request, locals }) => {
129
+ // Hook hat consent + ipHash gesetzt
130
+ if (!locals.consent.analytics) {
131
+ return json({ blocked: 'analytics-opt-out' }, { status: 204 });
132
+ }
133
+
134
+ const payload = await request.json();
135
+ const safe = {
136
+ path: typeof payload.path === 'string' ? payload.path.slice(0, 200) : '/',
137
+ visitorHash: locals.ipHash,
138
+ timestamp: new Date().toISOString(),
139
+ };
140
+
141
+ // Forward an EU-Provider (im Allowlist)
142
+ await fetch('https://<placeholder-eu-analytics-host>/api/event', {
143
+ method: 'POST',
144
+ headers: {
145
+ 'Content-Type': 'application/json',
146
+ Authorization: `Bearer ${process.env.ANALYTICS_TOKEN}`,
147
+ },
148
+ body: JSON.stringify(safe),
149
+ });
150
+
151
+ return new Response(null, { status: 204 });
152
+ };
153
+ ```
154
+
155
+ ```typescript
156
+ // File: src/routes/+layout.server.ts
157
+ import type { LayoutServerLoad } from './$types';
158
+
159
+ export const load: LayoutServerLoad = ({ locals }) => {
160
+ return {
161
+ // Niemals ipHash an Client leaken
162
+ consent: locals.consent,
163
+ };
164
+ };
165
+ ```
166
+
167
+ ## AVV / DPA
168
+
169
+ - Hosting-Adapter mit EU-Region (Vercel `regions: ['fra1']` / Cloudflare Workers EU) — Art. 28 DSGVO
170
+ - Analytics-Provider (im Allowlist) — AVV mit EU-Hosting
171
+ - Logging-Provider (Sentry / Datadog EU) — AVV; Logs muessen IP-Hashed sein
172
+
173
+ ## DSE-Wording-Vorlage
174
+
175
+ ```markdown
176
+ ### Server-Side-Verarbeitung
177
+
178
+ Diese Webseite verwendet SvelteKit mit Server-Side Rendering. Beim
179
+ initialen Aufruf werden serverseitig folgende Daten kurzzeitig verarbeitet:
180
+
181
+ - IP-Adresse: nur als SHA-256-Hash (mit Salt) gespeichert, niemals im Klartext
182
+ - User-Agent (anonymisiert auf Browser-Familie)
183
+ - Sprach-Header (`Accept-Language`)
184
+
185
+ **Rechtsgrundlage:** Art. 6 Abs. 1 lit. f DSGVO (Sicherheit, Stabilitaet)
186
+ i.V.m. § 25 Abs. 2 Nr. 2 TDDDG.
187
+ **Speicherdauer:** Server-Logs 14 Tage, Hashes 30 Tage zur Missbrauchs-Erkennung.
188
+ **Externe Forwards:** nur an Auftragsverarbeiter im EU-Wirtschaftsraum
189
+ ([Liste in Auftragsverarbeiter-Section](#auftragsverarbeiter)).
190
+ ```
191
+
192
+ ## Verify-Commands (Live-Probe)
193
+
194
+ ```bash
195
+ # 1. Security-Headers gesetzt
196
+ curl -sI https://<placeholder-domain>/ | grep -iE "x-content-type-options|referrer-policy|permissions-policy"
197
+ # Erwartung: 3 Treffer
198
+
199
+ # 2. Tracker-Endpoint blockt ohne Consent-Cookie
200
+ curl -X POST https://<placeholder-domain>/api/track \
201
+ -H "Content-Type: application/json" -d '{"path":"/test"}' -i
202
+ # Erwartung: 204 mit "analytics-opt-out"
203
+
204
+ # 3. handleFetch blockiert Drittland-Forward
205
+ # (manueller Test: setze Server-Code-Stelle die nicht-allowlisted Host fetcht)
206
+
207
+ # 4. IP-Hash niemals im Client-State
208
+ curl -sS https://<placeholder-domain>/ | grep -ic "ipHash"
209
+ # Erwartung: 0
210
+ ```
211
+
212
+ ## Cross-References
213
+
214
+ - AEGIS-Scanner: `server-hook-checker.ts`, `cors-allowlist-checker.ts`, `pii-flow-tracker.ts`
215
+ - Skill-Reference: `references/dsgvo.md` Art. 32 (Sicherheit), Art. 44 (Drittland)
216
+ - BGH-Rechtsprechung: `references/bgh-urteile.md`
217
+ - Audit-Pattern: `references/audit-patterns.md` Phase 3 (Drittland-Audit), Phase 6 (Server-Side-Logs)