@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.
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,193 @@
1
+ ---
2
+ license: MIT (snippet)
3
+ provider: Astro (Open-Source)
4
+ last-checked: 2026-05-05
5
+ purpose: Astro Server-Endpoint Pattern fuer Static-Site-Tracking ohne Client-Fetches an Drittlaender.
6
+ ---
7
+
8
+ # Astro — Server-Endpoint Tracking (Pattern)
9
+
10
+ ## Trigger / Detection
11
+
12
+ Repo enthaelt:
13
+ - `astro.config.mjs` mit `output: 'hybrid'` oder `output: 'server'`
14
+ - `src/pages/api/*.ts` Server-Endpoints
15
+ - Adapter-Integration: `@astrojs/node` / `@astrojs/vercel` / `@astrojs/netlify`
16
+ - Static-Site mit Tracker-Bedarf, der NICHT direkt vom Client an Drittlaender geht
17
+
18
+ Zweck: Tracker-Calls laufen via eigener API-Route (Same-Origin) statt direkt an `<placeholder-tracking-domain>`. Vorteile: kein Drittland-Cookie, IP-Anonymisierung serverseitig, Proxy-Layer fuer DSGVO-Konformitaet.
19
+
20
+ ## Default-Verhalten (was passiert ohne Konfiguration)
21
+
22
+ - `output: 'static'` (Default) erlaubt KEINE Server-Endpoints — Tracker laeuft direkt vom Client
23
+ - Direkte Tracker-Calls senden IP, User-Agent, Referrer ungeschuetzt an Drittland
24
+ - Keine Moeglichkeit zur Daten-Minimierung vor Tracker-Provider
25
+ - Cookie-Sets vom Drittland-Tracker nicht via § 25 TDDDG-konformem Banner gefiltert
26
+
27
+ ## Compliance-Risiken
28
+
29
+ | Risiko | Norm | Severity | Fix |
30
+ |---|---|---|---|
31
+ | Direkter Drittland-Tracker-Call | Art. 44 DSGVO | KRITISCH | Server-Endpoint-Proxy + IP-Hashing |
32
+ | Kein Consent-Check serverseitig | § 25 TDDDG | HOCH | Consent-Cookie pruefen vor Forward |
33
+ | Volle IP an Provider | Art. 5 Abs. 1 lit. c | HOCH | IP-Truncate (letztes Octett /24) |
34
+ | Default-Logs Klartext-IP | Art. 5 Abs. 1 lit. f | MITTEL | Anonymisierung im Endpoint |
35
+ | Astro-SSR-Function in US-Region | Art. 44 DSGVO | KRITISCH | Adapter-Region auf EU pinnen |
36
+
37
+ ## Code-Pattern (sanitized)
38
+
39
+ ```typescript
40
+ // File: src/pages/api/track.ts
41
+ import type { APIRoute } from 'astro';
42
+ import crypto from 'node:crypto';
43
+
44
+ export const prerender = false; // Pflicht: Server-Route
45
+
46
+ const ANALYTICS_ENDPOINT = '<placeholder-eu-analytics-endpoint>';
47
+ const ANALYTICS_TOKEN = import.meta.env.ANALYTICS_TOKEN;
48
+
49
+ export const POST: APIRoute = async ({ request, clientAddress }) => {
50
+ // 1. Consent-Check (Cookie vom Banner)
51
+ const cookie = request.headers.get('cookie') ?? '';
52
+ const consentMatch = /cookie-consent=([^;]+)/.exec(cookie);
53
+ if (!consentMatch) {
54
+ return new Response(JSON.stringify({ blocked: 'no-consent' }), { status: 204 });
55
+ }
56
+ try {
57
+ const consent = JSON.parse(decodeURIComponent(consentMatch[1]));
58
+ if (!consent.analytics) {
59
+ return new Response(JSON.stringify({ blocked: 'analytics-opt-out' }), { status: 204 });
60
+ }
61
+ } catch {
62
+ return new Response(null, { status: 204 });
63
+ }
64
+
65
+ // 2. Body-Validation (kein PII durchlassen)
66
+ const payload = await request.json().catch(() => ({}));
67
+ const safe = {
68
+ path: typeof payload.path === 'string' ? payload.path.slice(0, 200) : '/',
69
+ referrer: typeof payload.referrer === 'string' ? truncateReferrer(payload.referrer) : '',
70
+ timestamp: new Date().toISOString(),
71
+ };
72
+
73
+ // 3. IP-Anonymisierung (letztes Octett auf 0)
74
+ const anonIp = anonymizeIp(clientAddress);
75
+ const ipHash = crypto.createHash('sha256').update(anonIp).digest('hex').slice(0, 16);
76
+
77
+ // 4. Forward an EU-Analytics-Provider
78
+ await fetch(ANALYTICS_ENDPOINT, {
79
+ method: 'POST',
80
+ headers: {
81
+ 'Content-Type': 'application/json',
82
+ Authorization: `Bearer ${ANALYTICS_TOKEN}`,
83
+ },
84
+ body: JSON.stringify({ ...safe, visitorHash: ipHash }),
85
+ });
86
+
87
+ return new Response(null, { status: 204 });
88
+ };
89
+
90
+ function anonymizeIp(ip: string): string {
91
+ if (ip.includes('.')) {
92
+ return ip.replace(/\.\d+$/, '.0'); // IPv4 /24
93
+ }
94
+ if (ip.includes(':')) {
95
+ return ip.split(':').slice(0, 4).join(':') + '::'; // IPv6 /64
96
+ }
97
+ return '0.0.0.0';
98
+ }
99
+
100
+ function truncateReferrer(ref: string): string {
101
+ try {
102
+ const url = new URL(ref);
103
+ return `${url.origin}${url.pathname}`; // Kein Query-String
104
+ } catch {
105
+ return '';
106
+ }
107
+ }
108
+ ```
109
+
110
+ ```astro
111
+ ---
112
+ // File: src/components/PageView.astro
113
+ ---
114
+ <script>
115
+ // Feuert nur nach Consent (siehe cookie-banner-pattern.md)
116
+ const consent = (() => {
117
+ try { return JSON.parse(localStorage.getItem('cookie-consent') ?? '{}'); }
118
+ catch { return {}; }
119
+ })();
120
+
121
+ if (consent.analytics) {
122
+ fetch('/api/track', {
123
+ method: 'POST',
124
+ headers: { 'Content-Type': 'application/json' },
125
+ body: JSON.stringify({
126
+ path: location.pathname,
127
+ referrer: document.referrer,
128
+ }),
129
+ keepalive: true,
130
+ });
131
+ }
132
+ </script>
133
+ ```
134
+
135
+ ## AVV / DPA
136
+
137
+ - Hosting-Adapter (Vercel / Netlify / Node-Self-Host) — Art. 28 DSGVO
138
+ - Analytics-Provider (gewaehlt fuer EU-Region) — AVV + TIA bei Drittland-Backup-Region
139
+ - Optional: Logging-Provider (Datadog / Sentry) — wenn Endpoint-Logs PII enthalten muessen Logs anonymisiert sein
140
+
141
+ DSE-Pflicht-Eintrag: "Daten-Verarbeitung im Auftrag" — Tracker-Provider mit Sitz, EU-Hosting-Region, Speicherdauer, Loeschvereinbarung.
142
+
143
+ ## DSE-Wording-Vorlage
144
+
145
+ ```markdown
146
+ ### Webanalyse via Server-Endpoint
147
+
148
+ Wir verarbeiten Webanalyse-Daten ueber unseren eigenen Server-Endpoint
149
+ (`/api/track`). Daten werden vor Weitergabe an unseren Analytics-Anbieter
150
+ anonymisiert:
151
+
152
+ - IP-Adresse: gekuerzt auf /24-Subnetz (z.B. 192.168.1.0)
153
+ - Referrer: ohne Query-String
154
+ - Visitor-Hash: SHA-256, nicht reversibel
155
+
156
+ **Anbieter:** <placeholder-analytics-provider>, Sitz: <placeholder-eu-country>,
157
+ EU-Hosting-Region: <placeholder-region>.
158
+ **Rechtsgrundlage:** § 25 Abs. 1 TDDDG i.V.m. Art. 6 Abs. 1 lit. a DSGVO
159
+ (Einwilligung).
160
+ **Speicherdauer:** <placeholder-days> Tage, danach automatische Loeschung.
161
+ **Widerruf:** [Cookie-Einstellungen](#cookie-settings) im Footer.
162
+ ```
163
+
164
+ ## Verify-Commands (Live-Probe)
165
+
166
+ ```bash
167
+ # 1. Endpoint blockt ohne Consent-Cookie
168
+ curl -X POST https://<placeholder-domain>/api/track \
169
+ -H "Content-Type: application/json" -d '{"path":"/test"}' -i
170
+ # Erwartung: 204 mit Body {"blocked":"no-consent"}
171
+
172
+ # 2. Endpoint forwarded mit Consent
173
+ curl -X POST https://<placeholder-domain>/api/track \
174
+ -H "Content-Type: application/json" \
175
+ -H 'Cookie: cookie-consent=%7B%22analytics%22%3Atrue%7D' \
176
+ -d '{"path":"/test"}' -i
177
+ # Erwartung: 204
178
+
179
+ # 3. Pruefe IP-Anonymisierung (Provider-Logs)
180
+ # Sollte 192.168.1.0 statt 192.168.1.42 zeigen
181
+
182
+ # 4. Region-Pruefung
183
+ dig <placeholder-domain> | grep -i "edge\|region"
184
+ # Erwartung: EU-Region
185
+ ```
186
+
187
+ ## Cross-References
188
+
189
+ - AEGIS-Scanner: `tracking-scan.ts`, `data-transfer-checker.ts`, `pii-flow-tracker.ts`
190
+ - Skill-Reference: `references/dsgvo.md` Art. 44-46 (Drittland-Transfer), § 25 TDDDG
191
+ - BGH-Rechtsprechung: `references/bgh-urteile.md` BGH I ZR 7/16
192
+ - EDPB: `references/eu-edpb-guidelines.md` Recommendations 01/2020 SCC
193
+ - Audit-Pattern: `references/audit-patterns.md` Phase 3 (Drittland-Audit)
@@ -0,0 +1,92 @@
1
+ ---
2
+ license: MIT (snippet) / Vendor-Doc separat
3
+ provider: Auth0 (Okta, USA)
4
+ provider-AVV-status: Standardvertrag verfuegbar (DPA + EU-SCC + DPF)
5
+ last-checked: 2026-05-02
6
+ purpose: Auth0 TOMs + DPA + DSE-Wording.
7
+ ---
8
+
9
+ # Auth0 — TOMs + DPA + DSE-Wording
10
+
11
+ ## 1. Default-Verhalten
12
+
13
+ - Datenstandort waehlbar: US / EU / Australia / Japan
14
+ - **Default = US**! EU-Tenant muss explizit gewaehlt werden.
15
+ - Sub-Auftragsverarbeiter: AWS (Hosting), CloudFlare (CDN)
16
+ - Cookies: `auth0.is.authenticated`, `_legacy_*`, einige technisch noetig
17
+
18
+ ## 2. Compliance-Risiken
19
+
20
+ | Risiko | Wirkung | Fix |
21
+ |---|---|---|
22
+ | Default-Region us-east-1 | Drittland-Transfer USA | EU-Tenant beantragen + Migration |
23
+ | DPF-Status (Okta DPF-zertifiziert seit Sep 2023) | Drittland-Transfer-Risiko bei DPF-Klage | EU-Tenant + SCC zusaetzlich |
24
+ | Cookies vor Consent | § 25 TDDDG | bei Login-Page nur necessary Cookies |
25
+ | Magic-Link via Email | Phishing-Risiko | DMARC + SPF + DKIM auf custom-Sending-Domain |
26
+
27
+ ## 3. Code-Pattern (Next.js)
28
+
29
+ ```ts
30
+ // File: src/lib/auth0.ts
31
+ import { initAuth0 } from '@auth0/nextjs-auth0';
32
+
33
+ export const auth0 = initAuth0({
34
+ baseURL: process.env.AUTH0_BASE_URL,
35
+ issuerBaseURL: process.env.AUTH0_ISSUER_BASE_URL, // PFLICHT: EU-Tenant URL
36
+ clientID: process.env.AUTH0_CLIENT_ID,
37
+ clientSecret: process.env.AUTH0_CLIENT_SECRET,
38
+ secret: process.env.AUTH0_SECRET,
39
+ session: {
40
+ rollingDuration: 60 * 60 * 24,
41
+ absoluteDuration: 60 * 60 * 24 * 30,
42
+ cookie: {
43
+ sameSite: 'lax',
44
+ secure: true,
45
+ httpOnly: true,
46
+ },
47
+ },
48
+ routes: {
49
+ callback: '/api/auth/callback',
50
+ postLogoutRedirect: '/',
51
+ },
52
+ });
53
+ ```
54
+
55
+ ## 4. EU-Tenant aktivieren
56
+
57
+ Pflicht-Setting im Auth0-Dashboard:
58
+ - Bei Tenant-Erstellung "EU" als Region waehlen
59
+ - URL: `https://<tenant>.eu.auth0.com/...`
60
+
61
+ Migration bestehender US-Tenant: nicht trivial, ggf. neue Tenant-ID + Daten-Migration.
62
+
63
+ ## 5. AVV / DPA
64
+
65
+ - **DPA-Link**: https://www.okta.com/agreements/data-processing-addendum/
66
+ - **SCC-Modul**: Module 2 (Controller-Processor)
67
+ - **DPF**: seit Sep 2023 zertifiziert
68
+ - **Sub-Processors**: https://www.okta.com/agreements/sub-processors/
69
+
70
+ ## 6. DSE-Wording-Vorlage
71
+
72
+ > Wir nutzen den Identity-Service Auth0 (von Okta, Inc., 100 First St, San Francisco, USA)
73
+ > als Auftragsverarbeiter im Sinne von Art. 28 DSGVO. Datenstandort: EU-Region (Frankfurt).
74
+ > Auth0 ist DPF-zertifiziert (https://www.dataprivacyframework.gov). Zusaetzlich
75
+ > haben wir EU-Standardvertragsklauseln Modul 2 abgeschlossen. Detaillierte
76
+ > Datenschutzhinweise: https://www.okta.com/privacy-policy/.
77
+
78
+ ## 7. Verify
79
+
80
+ ```bash
81
+ # Region-Check
82
+ curl -sI "https://<tenant>.eu.auth0.com/" | grep -i "X-Region"
83
+ # Erwartung: eu
84
+
85
+ # Cookie-Inspection nach Login
86
+ curl -sI https://example.com/api/auth/callback | grep -i set-cookie
87
+ # Erwartung: Secure + HttpOnly + SameSite=Lax
88
+ ```
89
+
90
+ ## 8. Az.-Anker
91
+
92
+ - EuGH C-311/18 Schrems II (DPF-Risiko)
@@ -0,0 +1,84 @@
1
+ ---
2
+ license: MIT (snippet) / Vendor-Doc separat
3
+ provider: Clerk (Clerk Inc., USA)
4
+ provider-AVV-status: Standardvertrag verfuegbar (DPA + EU-SCC)
5
+ last-checked: 2026-05-02
6
+ purpose: Clerk TOMs + DPA + DSE-Wording.
7
+ ---
8
+
9
+ # Clerk — TOMs + DPA + DSE-Wording
10
+
11
+ ## 1. Default-Verhalten
12
+
13
+ - Datenstandort: US (default)
14
+ - EU-Region verfuegbar via Setting (frankfurt-1)
15
+ - Sub-Auftragsverarbeiter: AWS, CloudFlare
16
+ - Cookies: `__session`, `__client`, `__refresh` — HttpOnly / Secure / SameSite=Lax
17
+
18
+ ## 2. Compliance-Risiken
19
+
20
+ | Risiko | Wirkung | Fix |
21
+ |---|---|---|
22
+ | Default-Region US | Drittland-Transfer | EU-Region setzen (Dashboard > Settings > Region) |
23
+ | Sub-Processor AWS | weiterer Transfer | DPA-Sub-Liste anhaengen |
24
+ | MFA-Default off | Auth-Sicherheit | MFA aktivieren |
25
+
26
+ ## 3. Code-Pattern (Next.js)
27
+
28
+ ```ts
29
+ // File: src/middleware.ts
30
+ import { authMiddleware } from '@clerk/nextjs';
31
+
32
+ export default authMiddleware({
33
+ publicRoutes: ['/', '/datenschutz', '/impressum'],
34
+ ignoredRoutes: ['/api/health'],
35
+ });
36
+
37
+ export const config = {
38
+ matcher: ['/((?!.+\\.[\\w]+$|_next).*)', '/', '/(api|trpc)(.*)'],
39
+ };
40
+ ```
41
+
42
+ ```tsx
43
+ // File: src/app/layout.tsx
44
+ import { ClerkProvider } from '@clerk/nextjs';
45
+
46
+ export default function RootLayout({ children }) {
47
+ return (
48
+ <ClerkProvider
49
+ // EU-Region via Dashboard-Setting; URL muss frankfurt-1 sein
50
+ appearance={{ /* ... */ }}
51
+ >
52
+ <html>
53
+ <body>{children}</body>
54
+ </html>
55
+ </ClerkProvider>
56
+ );
57
+ }
58
+ ```
59
+
60
+ ## 4. EU-Region aktivieren
61
+
62
+ Dashboard-Setting:
63
+ - Settings > Region > Frankfurt
64
+ - Bei Migration aus US: Daten-Migration via Clerk-Support
65
+
66
+ ## 5. AVV / DPA
67
+
68
+ - **DPA-Link**: https://clerk.com/legal/dpa
69
+ - **SCC-Modul**: Module 2
70
+ - **Sub-Processors**: https://clerk.com/legal/subprocessors
71
+
72
+ ## 6. DSE-Wording-Vorlage
73
+
74
+ > Wir nutzen den Identity-Service Clerk (Clerk Inc., 660 King St, San Francisco, USA)
75
+ > als Auftragsverarbeiter im Sinne von Art. 28 DSGVO. Datenstandort: EU-Region (Frankfurt-1).
76
+ > EU-SCC Modul 2 abgeschlossen. Datenschutzhinweise von Clerk: https://clerk.com/legal/privacy-notice.
77
+
78
+ ## 7. Verify
79
+
80
+ ```bash
81
+ # Region-Check
82
+ curl -sI "https://<your-clerk-domain>/api/v1/region" | grep -i "X-Region"
83
+ # Erwartung: frankfurt-1
84
+ ```
@@ -0,0 +1,120 @@
1
+ ---
2
+ license: MIT (snippet)
3
+ provider: NextAuth.js / Auth.js (selbstgehostet)
4
+ provider-AVV-status: nicht relevant (Self-hosted Library)
5
+ last-checked: 2026-05-01
6
+ ---
7
+
8
+ # NextAuth.js / Auth.js — Self-hosted Auth + DSE-Wording
9
+
10
+ ## 1. Default-Verhalten
11
+
12
+ - Self-hosted Library (npm: `next-auth` v4 / `@auth/nextjs` v5)
13
+ - Sessions: **JWT (default)** ODER Database-Sessions
14
+ - Cookie: `next-auth.session-token`, HttpOnly, Secure, SameSite=Lax
15
+ - Provider-Drittland-Risiken nur durch externe Auth-Provider (Google/GitHub/Apple)
16
+
17
+ ## 2. Compliance-Risiken (typische Konfigurationsfehler)
18
+
19
+ | Risiko | Wirkung | Fix |
20
+ |--------|---------|-----|
21
+ | `JWT_SECRET` in Repo | Vollständiger Auth-Bruch | env-only + Secret-Rotation |
22
+ | OAuth-Callback ohne CSRF-Token-Validierung | CSRF-Bug | Default-Verhalten von next-auth nutzen, NICHT custom |
23
+ | Session-Cookie ohne `Secure` | Session-Hijack über HTTP | `cookies.sessionToken.options.secure: true` |
24
+ | OAuth-Provider USA (Google, Apple, GitHub) | Drittland | DSE-Erwähnung pro Provider |
25
+ | Magic-Link via E-Mail (Email Provider) | Phishing | DKIM + SPF + DMARC + Rate-Limit |
26
+
27
+ ## 3. Code-Pattern (Auth.js v5, sanitized)
28
+
29
+ ```ts
30
+ // File: src/auth.ts (Auth.js v5)
31
+ import NextAuth from 'next-auth';
32
+ import Google from 'next-auth/providers/google';
33
+ import GitHub from 'next-auth/providers/github';
34
+ import Resend from 'next-auth/providers/resend';
35
+ import { PrismaAdapter } from '@auth/prisma-adapter';
36
+ import { prisma } from './lib/prisma';
37
+
38
+ export const { handlers, auth, signIn, signOut } = NextAuth({
39
+ adapter: PrismaAdapter(prisma),
40
+ providers: [
41
+ Google({
42
+ clientId: process.env.GOOGLE_CLIENT_ID!,
43
+ clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
44
+ }),
45
+ GitHub({
46
+ clientId: process.env.GITHUB_CLIENT_ID!,
47
+ clientSecret: process.env.GITHUB_CLIENT_SECRET!,
48
+ }),
49
+ Resend({ from: 'no-reply@<your-domain>' }),
50
+ ],
51
+ session: { strategy: 'database', maxAge: 30 * 24 * 60 * 60 }, // 30 Tage
52
+ cookies: {
53
+ sessionToken: {
54
+ name: '__Secure-next-auth.session-token',
55
+ options: {
56
+ httpOnly: true,
57
+ sameSite: 'lax',
58
+ path: '/',
59
+ secure: process.env.NODE_ENV === 'production',
60
+ },
61
+ },
62
+ },
63
+ callbacks: {
64
+ async session({ session, user }) {
65
+ session.user.id = user.id;
66
+ return session;
67
+ },
68
+ },
69
+ pages: {
70
+ signIn: '/login',
71
+ error: '/login?error',
72
+ },
73
+ events: {
74
+ async signIn({ user }) {
75
+ // Audit-Log
76
+ await prisma.authLog.create({
77
+ data: { userId: user.id, event: 'sign_in', timestamp: new Date() },
78
+ });
79
+ },
80
+ },
81
+ });
82
+ ```
83
+
84
+ ## 4. DSE-Wording-Vorlage
85
+
86
+ > **Authentifizierung (NextAuth / Auth.js).** Für die Anmeldung an
87
+ > unserem Dienst nutzen wir die Open-Source-Library NextAuth.js (selbst
88
+ > auf unseren EU-Servern gehostet). Wir bieten folgende Anmeldemethoden:
89
+ >
90
+ > - **E-Mail-Magic-Link** (E-Mail-Versand via Resend / All-Inkl-SMTP, je nach Konfiguration).
91
+ > - **Google-Login** (Google Ireland Limited / Google LLC, USA — Drittland-Transfer mit DPF + SCC).
92
+ > - **GitHub-Login** (GitHub Inc., USA — Drittland-Transfer mit DPF + SCC).
93
+ > - **Apple Sign-In** (Apple Distribution International, Irland).
94
+ >
95
+ > Bei Nutzung eines OAuth-Providers (Google / GitHub / Apple) werden
96
+ > Daten an den jeweiligen Anbieter übermittelt. Rechtsgrundlage: Art. 6
97
+ > Abs. 1 lit. b DSGVO (Vertragserfüllung) sowie für Drittlandtransfer
98
+ > Art. 45/46 DSGVO. Wir speichern lokal: Provider-User-ID, E-Mail,
99
+ > Profilbild-URL (sofern vom Provider freigegeben), Login-Zeitpunkt.
100
+
101
+ ## 5. Verify-Commands
102
+
103
+ ```bash
104
+ # Cookie-Inspektion nach Login
105
+ curl -sI -b /tmp/auth-cookies.txt -c /tmp/auth-cookies.txt \
106
+ https://<your-domain>/api/auth/session
107
+ # erwarte: __Secure-next-auth.session-token mit HttpOnly, Secure, SameSite=Lax
108
+
109
+ # CSRF-Token-Endpoint (next-auth's automatic CSRF-Schutz)
110
+ curl -s https://<your-domain>/api/auth/csrf | jq .csrfToken
111
+ # erwarte: 64-char Token
112
+
113
+ # Brute-Force-Test (manuell — sollte nach 5 Versuchen drosseln)
114
+ # Implementiere selbst Rate-Limit auf /api/auth/callback/credentials
115
+ ```
116
+
117
+ ## 6. Az.-Anker
118
+
119
+ - LG Berlin II 97 O 81/23 (Passwort-Identifikation, 27.11.2024)
120
+ - DSGVO Art. 32 (TOMs für Auth-Cookies — HttpOnly + Secure + SameSite)
@@ -0,0 +1,104 @@
1
+ ---
2
+ license: MIT (snippet) / Vendor-Doc separat
3
+ provider: Supabase Inc. (Delaware, USA)
4
+ provider-AVV-status: Standardvertrag verfügbar (DPA + EU-SCC)
5
+ last-checked: 2026-05-01
6
+ ---
7
+
8
+ # Supabase Auth — TOMs + DPA + DSE-Wording
9
+
10
+ ## 1. Default-Verhalten ohne Konfiguration
11
+
12
+ - Datenstandort konfigurierbar (eu-central-1 / eu-west-2 / ap-southeast-1 / us-east-1 / etc.)
13
+ - **Default-Cookie**: `sb-<project>-auth-token`, HttpOnly, Secure, SameSite=Lax (in @supabase/ssr v0.5+)
14
+ - Authentifizierungs-Daten in PostgreSQL-Schema `auth` mit RLS
15
+ - Sub-Auftragsverarbeiter: AWS (Hosting), CloudFlare (CDN), Stripe (Billing für Pro-Tier)
16
+
17
+ ## 2. Compliance-Risiken
18
+
19
+ | Risiko | Wirkung | Fix |
20
+ |--------|---------|-----|
21
+ | Default-Region us-east-1 | Drittland-Transfer USA | EU-Region setzen (eu-central-1 = Frankfurt) |
22
+ | Sub-Processor AWS | weiterer Transfer | DPA-Sub-Liste anhängen |
23
+ | `auth.users.email` ohne Verschlüsselung | DSGVO Art. 32 — minimal-akzeptabel | Plus: PII-pseudonymized columns |
24
+ | Magic-Link via E-Mail | Phishing-Risiko | DMARC + SPF + DKIM auf custom-Sending-Domain |
25
+
26
+ ## 3. Code-Pattern (sanitized)
27
+
28
+ ```ts
29
+ // File: src/lib/supabase/client.ts
30
+ // SSR-safe pattern with @supabase/ssr v0.5+
31
+ import { createBrowserClient } from '@supabase/ssr';
32
+
33
+ export const createClient = () =>
34
+ createBrowserClient(
35
+ process.env.NEXT_PUBLIC_SUPABASE_URL!,
36
+ process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
37
+ {
38
+ auth: {
39
+ flowType: 'pkce', // PKCE statt implicit — Pflicht für Sicherheit
40
+ autoRefreshToken: true,
41
+ persistSession: true,
42
+ detectSessionInUrl: true,
43
+ },
44
+ cookies: {
45
+ // Cookie-Hardening
46
+ sameSite: 'lax',
47
+ secure: true,
48
+ },
49
+ },
50
+ );
51
+ ```
52
+
53
+ ```sql
54
+ -- Pflicht: RLS auf jeder Tabelle die User-Daten enthält
55
+ ALTER TABLE public.<your_table> ENABLE ROW LEVEL SECURITY;
56
+
57
+ CREATE POLICY "users_select_own"
58
+ ON public.<your_table>
59
+ FOR SELECT
60
+ USING (user_id = auth.uid());
61
+
62
+ -- Anti-Pattern (KEINE!) für public-schema RPCs:
63
+ -- CREATE FUNCTION public.foo(p_user_id uuid) ... SECURITY DEFINER
64
+ -- → CWE-863 Anti-Pattern (siehe AEGIS rls-defense skill)
65
+ ```
66
+
67
+ ## 4. AVV / DPA
68
+
69
+ - **DPA-Link**: https://supabase.com/legal/dpa
70
+ - **SCC-Modul**: Module 2 (Controller-Processor) + Module 3 für Sub-Processors
71
+ - **AVV-Stand**: 2024-Q1 (mit DPF-Erweiterung)
72
+ - **Sub-Processors**: https://supabase.com/legal/sub-processors
73
+
74
+ ## 5. DSE-Wording-Vorlage
75
+
76
+ > Wir nutzen den Auth- und Datenbank-Service von Supabase Inc. (970 Toa
77
+ > Payoh North #07-04, Singapur 318992, mit Headquarters in Delaware/USA)
78
+ > als Auftragsverarbeiter im Sinne von Art. 28 DSGVO. Daten werden in
79
+ > der EU-Region (Frankfurt, eu-central-1) gespeichert. Für unvermeidbare
80
+ > Datenübermittlungen in die USA (Stripe-Billing, US-Sub-Processors)
81
+ > haben wir EU-Standardvertragsklauseln (Modul 2/3) abgeschlossen.
82
+ > Datenschutzhinweise von Supabase: https://supabase.com/privacy.
83
+
84
+ ## 6. Verify-Commands
85
+
86
+ ```bash
87
+ # Region-Check
88
+ curl -s "https://<project>.supabase.co/rest/v1/" \
89
+ -H "apikey: $ANON_KEY" -I | grep -i "region\|x-region"
90
+
91
+ # Cookie-Inspection
92
+ curl -sI https://<your-domain>/api/auth/callback | grep -i set-cookie
93
+ # erwarte: HttpOnly, Secure, SameSite=Lax
94
+
95
+ # RLS-Probe (anon-Token darf NICHT alle rows sehen)
96
+ curl -s "https://<project>.supabase.co/rest/v1/<table>?select=*" \
97
+ -H "apikey: $ANON_KEY" | jq 'length'
98
+ # erwarte: 0 (anon hat keine Rows ohne Login)
99
+ ```
100
+
101
+ ## 7. Az.-Anker
102
+
103
+ - AEGIS-Lessons: 21 CWE-863 IDOR-Vulns aus public-schema-SECURITY-DEFINER-RPCs (operativer Audit 2026-04-29 einer Pet-Care-Plattform)
104
+ - Pattern: SECURITY-DEFINER-Functions in `public` brauchen `auth.uid()`-Guard + REVOKE FROM PUBLIC