---
url: /docs/en/agentbuff-stack/marketing-subscriptions.md
---
# Email lists and waitlists

Email updates and waitlists have independent consent and state. They do not create/verify an account and do not change account recovery mail or task notification preferences. Both public modules are disabled by default.

## Request and confirm

Enable the required product switch only after preparing its schema and mail configuration. Open `/newsletter` or `/waitlist`, or their `/zh/` versions. Enter an email and explicitly accept the displayed consent. The request remains pending until the recipient opens the email and clicks the confirmation button on the preference page.

Merely opening a link does not subscribe the recipient. Withdrawal can cancel a pending request or stop that list's updates. Rejoining requires a new explicit request. A generic success response does not reveal whether an email was already subscribed.

## Persist language and consent

The saved request includes the displayed consent, version, purpose, source and language. Confirmation subject/body and preference links use that saved language. Requests and retries do not infer or overwrite it from a later browser header. A disabled language stops new localized delivery but does not prevent historical withdrawal.

Local preview captures confirmation mail. Optional provider contact sync is a separate switch, with its own topic/webhook requirements. Provider acceptance does not prove inbox delivery; actual broadcasts are not performed by this iteration. These preference pages do not load an analytics beacon.

Use [Environment](./env) for private configuration. Later marketing migrations are prepared only in isolated acceptance databases, not automatically in the normal preview. The [Chinese guide](/agentbuff-stack/marketing-subscriptions) retains detailed historical checks.
