diff --git a/backend/prisma/cleanup-xss-and-mass-assignment.ts b/backend/prisma/cleanup-xss-and-mass-assignment.ts
index 2b5366c9..2b7ad8ef 100644
--- a/backend/prisma/cleanup-xss-and-mass-assignment.ts
+++ b/backend/prisma/cleanup-xss-and-mass-assignment.ts
@@ -77,7 +77,52 @@ function stripHtmlString(s: string): string {
return s
.replace(/ in
* companyName landete vorher ungefiltert in der DB.
+ *
+ * Pentest 2026-05-20 (LOW): zusätzlich werden Skript-URI-Schemata
+ * unschädlich gemacht (`javascript:`, `data:`, `vbscript:`). Plain-Text-
+ * Felder enthalten legitime URLs ohnehin selten; ein gespeicherter
+ * `javascript:alert(1)` würde ansonsten in einem ``
+ * sofort feuern.
*/
+const DANGEROUS_URI_SCHEMES = /(?:javascript|data|vbscript)\s*:/gi;
+
export function stripHtml(value: unknown): unknown {
if (typeof value !== 'string') return value;
return value
.replace(/