# Crisp solution docs

- [Consent gating a chat widget without breaking it](https://agenticboilerplate.com/cookbook/crisp/gdpr-consent-gating): Chat sets cookies before anyone types a word, so hiding the launcher is not compliance. Gate the script tag itself, make withdrawal real, and know why a reload is the only honest teardown.
- [Keeping the chat bubble off the pages that need a clean hero](https://agenticboilerplate.com/cookbook/crisp/hiding-the-widget-on-marketing-pages): hide and show are visibility commands, not load control. Gate the script by route, hide on navigation, and give marketing pages a trigger you designed instead.
- [Identifying signed-in users in chat without letting anyone impersonate them](https://agenticboilerplate.com/cookbook/crisp/identifying-signed-in-users-safely): An email set from the browser is a claim anyone can make. Sign it server-side with HMAC, pass the signature through, and give your support team a label they can act on.
- [Loading a chat widget without wrecking your Core Web Vitals](https://agenticboilerplate.com/cookbook/crisp/loading-chat-without-hurting-lcp): The vendor snippet is a synchronous script in the head. Move it to next/script with lazyOnload, measure the difference, and keep the click working while it downloads.
- [Routing support conversations with segments and session data](https://agenticboilerplate.com/cookbook/crisp/routing-conversations-with-segments): A shared inbox where everything looks the same is a queue, not a support system. Segments route, session data answers the first three questions, and both belong in code.

---

Agentic Boilerplate: A Next.js repo your agent already knows. Free during launch, then $99 once.

- Site map for agents: https://agenticboilerplate.com/llms.txt
- Public API: https://agenticboilerplate.com/openapi.json
- Contact: agenticstudio@gmail.com
