Part of UX epic #67. From the operator UX audit (finding 2, HIGH).
Problem
Raw provider payloads appear in primary content across dashboard, campaign detail, and audience detail: {"feedback_type": "abuse"}, bounce_type: Permanent, reason: ses_rejected, scope: client, Provider event: demo-campaign-..., SES message IDs. The design system says these are diagnostics. (campaign_detail.html:196,218-221,246-271, audience_detail.html:321-339, dashboard.html:214-238)
Ask
Render human strings ("Marked as spam", "Permanent bounce", "Skipped: globally unsubscribed"). Move SES IDs / provider_event_id into the existing Provider-data / audit disclosures, not default cells.
Acceptance
Part of UX epic #67. From the operator UX audit (finding 2, HIGH).
Problem
Raw provider payloads appear in primary content across dashboard, campaign detail, and audience detail:
{"feedback_type": "abuse"},bounce_type: Permanent,reason: ses_rejected,scope: client,Provider event: demo-campaign-..., SES message IDs. The design system says these are diagnostics. (campaign_detail.html:196,218-221,246-271,audience_detail.html:321-339,dashboard.html:214-238)Ask
Render human strings ("Marked as spam", "Permanent bounce", "Skipped: globally unsubscribed"). Move SES IDs / provider_event_id into the existing Provider-data / audit disclosures, not default cells.
Acceptance