Cookies

Cookie Policy

What we store in your browser and your customers' browsers, why, and for how long — surface by surface, with no surprises.

Last updated: 15.09.2026

1. What cookies and local storage are

A cookie is a small text file your browser stores on your device and sends back with every request to the site that set it. Sites use cookies to remember you from one page to the next: that you are signed in, which language you chose, which workspace you have open.

Local storage (localStorage) is different: it is a space in the browser that page code can read from and write to, but it is never sent automatically with requests. We use it in exactly one place — the chat widget on your storefront — and we explain why below.

First party versus third party: a first-party cookie is set by the site you are visiting. A third-party cookie is set by a different domain (an ad network, for example) so it can follow you across sites. Every cookie we set is first party, and we use no third-party cookies for cross-site tracking.

2. Three surfaces, three sets of rules

Capi Agent shows up in three different places, and each one has its own rules on this page:

  1. The public marketing website (the pages you are reading now): one cookie for your language preference, plus optional analytics if they are enabled in the deployment.
  2. The dashboard app (/dashboard): strictly necessary cookies only, for sign-in, security, your workspace, and your theme. There are never analytics or ads inside the dashboard.
  3. The chat widget on your storefront: we set no cookies on your store's domain at all. We use local storage only so the conversation survives between pages.

The following sections cover each surface in detail. Cookies set by your store platform itself (Salla, Zid, Shopify, and the others) are not ours and are governed by their policies.

3. Strictly necessary cookies (dashboard and website)

These are the cookies without which the service does not work. They need no consent because they carry out something you asked for yourself — signing in, picking a store, picking a language. None of them tracks you outside our site.

CookieWherePurposeLifetime
Session cookie (NextAuth JWT)DashboardProves you are signed in and carries your signed session token. Without it, every request sends you back to the sign-in page.For your session; renewed while you stay signed in
Anti-forgery (CSRF) and redirect (callback) cookiesDashboard and sign-in pagesSet by the authentication library so it can confirm that a sign-in request, or a Google sign-in, really came from you and from the same browser, and return you to the page you were on.For the session
active_store_idDashboardRemembers which store (workspace) you currently have open if you have more than one. The server re-checks your permission on that store with every request — the cookie is a preference, not an authorization.Until you switch store or sign out
Language preferencePublic websiteRemembers whether you chose Arabic, /en, or /tr, so we route you to the right version on your next visit.Until you change it
Theme preferenceDashboardRemembers whether you chose light or dark mode.Until you change it
cookie_consentPublic websiteRemembers whether you accepted or declined analytics cookies, so we do not ask again.12 months if accepted, 6 months if declined

We do not state lifetimes in days for these cookies on this page because they follow the library's settings; the rule is: security cookies live for the session, preference cookies live until you change the preference or clear them.

4. Analytics on the marketing website

On the public website (home, pricing, blog, these pages) we use Google Analytics 4, Google Tag Manager and Microsoft Clarity to understand which pages get read, where visitors come from, and which parts of the site confuse them. These tools collect pseudonymous usage data (a random identifier, pages viewed, traffic source, device and browser type, visit duration) — not your name or email, and Google Analytics 4 does not store IP addresses.

They load only after you accept. On your first visit a cookie banner appears; until you click "Accept" no analytics script is downloaded and none of their cookies is set. Your choice is stored in the cookie_consent cookie and you can change it at any time from the "Cookie settings" link at the bottom of every page.

ToolCookiesPurposeLifetime
Google Analytics 4_ga, _ga_*Distinguishes visitors and sessions; counts page views and events (opening the assistant, submitting the contact form).Up to 2 years
Google Tag ManagerSets no cookies of its ownThe container that loads the tags above. We may also load advertising conversion tags through it (such as Google Ads or Meta Pixel); any such tag is added to this table before it is activated, and none is active today.
Microsoft Clarity_clck, _clskHeatmaps and session interaction recordings (clicks, scrolling) to improve pages. Clarity masks text typed into form fields by default._clck one year, _clsk one day

They are never present inside the dashboard or inside the chat widget on your store. Your store data and your customers' conversations never pass through any external analytics tool.

How to opt out or withdraw your consent:

  • Click "Cookie settings" at the bottom of any page and choose "Decline" — loading stops from your next visit.
  • In your browser settings: block third-party cookies, or block cookies from the google-analytics.com and clarity.ms domains.
  • Google's official analytics opt-out add-on: tools.google.com/dlpage/gaoptout.
  • Opt out of Microsoft Clarity from their privacy page: clarity.microsoft.com/terms.

5. The chat widget on your storefront

When you add widget.js to your store, the widget needs to remember the visitor from one page to the next so the conversation does not restart from scratch on every navigation. We do this with the browser's local storage, not with cookies:

  • A random visitor id — links the same visitor's messages together on the same store. It contains no name, phone number, or email, and it is not used across other stores.
  • An attribution reference — if the visitor arrived from a campaign link, we keep the reference so your dashboard can tell you which campaign this conversation or order came from.

Both are first party to your store's domain: they are stored under your domain name and never reach any other site. We set no cookies on your store's domain, and there is no third-party cookie from us. The widget configuration (colors, welcome message, the "AI assistant" notice) is fetched from our server and cached for 60 seconds — that cache lives on the server, not on the visitor's device.

Your obligation as a merchant: you are the controller of your store visitors' data, so your store's privacy or cookie notice should mention that the chat uses local storage for this purpose and name us as a processor. See the channel policies for details on each channel.

7. No advertising, no cross-site tracking, no selling data

  • We set no advertising cookies and take part in no ad networks.
  • We do not follow you or your customers across other sites, and we build no behavioral profiles.
  • We do not sell data or use it to target ads — neither yours nor your customers'. The full picture is in the Privacy Policy.
  • The only identifier we generate on your store (the widget visitor id) is random, specific to your store, and ties the visitor to nothing outside their conversation with you.

8. Managing cookies

Every modern browser lets you view stored cookies, delete them, or stop a specific site from setting them. You will usually find these options under "Privacy and security" in the settings of Chrome, Safari, Firefox, or Edge. Local storage is cleared from the same place ("site data").

What happens if you block our cookies:

  • Without the session cookie you cannot sign in to the dashboard — every request returns you to the sign-in page. That is not a bug; it is how sign-in works.
  • Without the CSRF cookies, the sign-in form and Google sign-in fail.
  • Without active_store_id, language, and theme, the dashboard and website still work but fall back to their defaults on every visit.
  • Blocking analytics cookies affects nothing in the service.
  • If a visitor to your store clears local storage, the widget starts a new conversation with a new id — the old conversations stay in your dashboard but are no longer linked to that visitor automatically.

10. Changes to this policy

If we add a new cookie or a new analytics tool, or change how the widget works, we update this page and the "last updated" date at the top. We notify you of material changes (such as enabling a new analytics tool or any new storage on your store) by email to the account owner and by an in-dashboard notice before they take effect.

This page describes the Platform's actual practice and does not constitute legal advice. For any privacy or cookie question, email us at privacy@capiagent.com.