diff --git a/backend/src/utils/sanitize.ts b/backend/src/utils/sanitize.ts index 9a0294da..7fc57bfe 100644 --- a/backend/src/utils/sanitize.ts +++ b/backend/src/utils/sanitize.ts @@ -74,6 +74,14 @@ const CONTRACT_DISPLAY_STRING_FIELDS = [ 'previousCustomerNumber', 'previousContractNumber', 'notes', + // Preisfelder sind im Schema `String?` (freitextlich, nicht numerisch), + // damit Tarifangaben wie "0,28 €/kWh" oder "27,90 € + 10 € Bonus" + // möglich sind. Pentest 2026-05-30 (MEDIUM, 42.5): rohe HTML-Payloads + // in den drei Feldern überlebten den Write-Strip nicht und kommen + // beim Read 1:1 wieder raus. + 'priceFirst12Months', + 'priceFrom13Months', + 'priceAfter24Months', ] as const; // User-eingabe String-Felder am Customer für dieselbe Read-Time-Defensive.