## Work the suppression list correctly
1. Know what lands there automatically: hard bounces and spam complaints add the address without your code doing anything. Soft bounces do not suppress; they retry. Docs: https://resend.com/docs/dashboard/emails/email-suppressions
2. Subscribe to the `suppressions.added` webhook event so your app learns about suppressions in real time, including the automatic ones, and stops scheduling sends to those addresses from your side too.
3. Add addresses manually through the suppressions API when a user asks to stop all mail or you detect abuse. Manual adds and batch adds are both supported; use batch for list cleanups.
4. Never remove an address from suppression to resume mailing unless the owner explicitly re-opted in through your product. Removing a complained address and mailing it again is the fastest way to a second complaint and a damaged reputation.
5. Before any large send, cross-check your recipient list against the suppression list via the API. Your code should treat a suppressed address as a hard stop, not a warning.
6. Distinguish suppression from unsubscribe: suppression is Resend refusing to deliver, unsubscribe is the contact opting out of marketing. Handle both, and make sure a suppressed contact is also unsubscribed so broadcasts skip them cleanly.
7. Audit monthly: review `suppressions.removed` events and confirm every removal traces back to a real re-consent action, not a bulk cleanup script.