Improved handling of secrets in webhooks
Demo by @dhable****, so the Slack token (or any other key embedded in the path) never leaves the server. Headers are redacted by default too, since we have no reliable way to tell which ones carry secrets, so all values are replaced with **** and only the header names are visible.
The edit form treats the redacted value as “no change”: leave it alone and the stored value stays put, change it and the new value is saved, clear it and the field is removed entirely. That keeps the workflow obvious for the common case (editing one field) without ever round-tripping the real secret through the browser.
Related PRs: #2239 [HDX-4173] Redact sensitive fields from internal webhook API responses