What a visitor's choice controls here
- Analytics: Google Analytics is installed. It contacts Google only after somebody accepts, and never before. The assistant also keeps a copy of conversations only with this consent; it answers either way.
- Marketing: nothing on this site uses it yet. The answer is recorded and will be respected if that changes.
Reading the choice: components/ChatWidget.astro, components/GoogleAnalytics.astro, lib/chat/settings.ts, lib/google/settings.ts.
Two things this cannot do
Withdrawing does not undo. If somebody accepted and analytics has already run on the page they are looking at, switching it off tells it to stop collecting anything more. It cannot unsend what was already sent, and a clean stop needs the page reloading. The preferences box says so when it applies.
Choices live in each visitor's own browser, which is the only place they belong: remembering them here would mean identifying everybody in order to record whether they agreed to being identified. So there is no list of who said yes, and clearing their browser asks them again.