Ship AI features without shipping new trackers before consent
An AI chat widget, a support bot or a prompt box is a third-party data flow on your page. RegSentry watches what those features actually do in a real browser, before consent and after a visitor rejects, and lets your agents and CI check every deploy.
The short version
Ask your coding agent to run check_deploy on each preview URL. RegSentry loads the page in three isolated sessions (before consent, after reject-all, after accept-all), records which known trackers and AI services attempted requests in each, and returns pass, fail or inconclusive under your policy, with reasons.
What can go wrong
Embeds such as Chatbase, Voiceflow, Botpress, Ada or Tidio connect to their vendor on page load and send typed messages, page context and a visitor id to the vendor and, for AI agents, on to a model provider. If the widget is not gated, that starts before the visitor has made a choice.
Replay and heatmap tools capture keystrokes and form input. A prompt box or chat field is an input, so unless it is masked, what a visitor types to your AI feature can end up in a recording that started before consent.
Calling OpenAI, Anthropic, Gemini, Cohere, Mistral or OpenRouter straight from client code sends prompts from the visitor's browser to that provider, and usually ships an API key in the bundle. RegSentry flags these calls as a finding of their own.
A widget or tag added through a tag manager or a quick embed may ignore the consent state, so it still fires after reject-all. That is invisible unless someone clicks reject and watches the network.
AI features move fast. A new SDK, a bundled analytics call or a copied snippet can add a third party in a routine release with nobody reviewing the consent impact.
When someone asks what the site did on a given date, screenshots and memory are weak. Dated, stored observations are what answer that question.
How deploy checks and agents catch it
1. Gate the deploy
Use the REST API or the MCP check_deploy tool to check a preview. Under the standard policy it fails when a flagged tracker, including AI chat widgets and browser-side AI API calls, fires before consent or after reject, or when any tool captures typed input before consent. strict also fails on any third-party tracker before consent. Exit codes are 0 pass, 1 fail, 2 inconclusive.
2. Let the coding agent fix what it added
With the MCP server connected, the agent that added the widget can run check_deploy itself, read the failure reasons, pull get_remediation_playbook for the tool (load it from the consent callback, keep identity calls behind opt-in, and so on), apply the change and check again.
You added the Chatbase widget in this branch. Run a RegSentry deploy check on the
preview URL with the standard policy. If it fails, apply the RegSentry playbook so the
widget only loads after consent, then check again and show me both results.
3. Keep watching production
Scheduled monitoring rescans your live sites. On Team and Protect every run stores a consent-phase snapshot and compares it with the previous one, so a tracker that newly fires before consent or after reject raises a consent.regression webhook and an email.
4. Keep the evidence
Each run is dated and kept for the plan's retention period (1 year on Team, 3 years on Protect). Export it as JSON, CSV or PDF with GET /sites/{id}/report or get_evidence_report.
What it does not do
RegSentry does not read or store the content of prompts or chat messages, and runtime checks return no cookies, query values or request bodies. It observes which known services attempted requests in each consent phase. It does not decide whether a data flow is lawful, and its output is not legal advice, a compliance certification or a guarantee. Some vendors load conditionally, so a bounded check can miss behavior that a longer session would show; results say when a phase could not be observed.
Related guides
Put a consent check in your pipeline
Deploy checks, MCP account tools and webhooks are on Team ($299/mo, 100 API runs a month) and Protect ($999/mo, unlimited runs).