57864d07ed
The Telegram noise/secret filter added in #28533 gated its work on `_gateway_platform_value(platform) != "telegram"`, so `_sanitize_gateway_final_response` and `_prepare_gateway_status_message` only ran for Telegram. Every other human-facing chat surface (WhatsApp, Discord, Slack, Signal, Matrix, plugin platforms, etc.) received raw provider-error bodies verbatim — including any leaked credentials the secret-redaction pass (`sk-…`, `Bearer …`, `gh[pousr]_…`, `xox[baprs]-…`, `hf_…`, `glpat-…`) was meant to strip. Invert the gate from a one-platform allowlist into a small programmatic-surface denylist: only `local`, `api_server`, `webhook`, and `msgraph_webhook` consume gateway text programmatically and keep raw status/error text. Every other (chat) surface — including unknown/empty platform values and on-demand plugin pseudo-members — fails closed to the redacted, noise-filtered, sanitized path. This widens the same root-cause fix to both call sites: status callbacks and final replies.