Cookie Policy
Last updated: September 2026
Your cookie choice
Changing your choice takes effect straight away in this browser.
1. Introduction
This Cookie Policy explains how ARCY AI, a product operated by Campus Arc, Inc., uses cookies and similar browser storage. It supplements our Privacy Policy.
2. Our Website
Our marketing website uses strictly necessary cookies for core functionality, such as remembering your theme and your language choice. It also uses Google Analytics to understand which pages visitors read, and Google Analytics does not load until you accept it on the banner shown on your first visit. Rejecting it leaves the site fully usable. This site also runs the ARCY assistant, the same one an Operator installs, and it keeps the cookies and browser storage listed in section 4 under the same rules; nothing is written until you agree. The answer you give on that banner is the same consent record the assistant keeps, so you are asked once. You can change that answer at any time using the control at the top of this page.
3. The Dashboard
The dashboard uses session cookies to keep you signed in through Clerk. These are strictly necessary and cannot be disabled without losing access to your account.
The dashboard also runs the ARCY assistant, the same one an Operator installs on their own site, so that we can see where our own product is hard to use. It keeps the cookies and browser storage listed in section 4, under the same rules, and nothing is written until you agree. You are asked once: on the checkbox when you create your account, or on the banner the dashboard shows when this browser holds no answer yet. Rejecting it costs you nothing; every part of the dashboard works the same either way.
4. The Widget on an Operator's Site
When arcy.js runs on an Operator's own site it sets two first-party cookies on that site's domain. Both are set by the script running on that page, they are that site's own cookies rather than ours, and nothing reads them from anywhere else. Token below is the Operator's environment token, so each site's cookies are its own.
| Cookie and what it holds | How long it lasts |
|---|---|
arcy.anon.<Token>. A random identifier for this browser, so the assistant recognises a returning visitor and their past conversations come back with them. It is not linked to a person by us. | 400 days |
arcy.consent. The visitor's own answer to the consent question, where it came from (the site's banner or the chat), and when it was given. | 400 days if the visitor agreed, 6 months if they declined |
arcy.cap.<Token>. A random value with one job: it is what the assistant's daily limit on anonymous chat counts against, so one browser cannot reset its limit by withdrawing consent and accepting again. It is a security measure, not a tracking one. It is never attached to any event, conversation or visitor record, and it is not deleted when consent is withdrawn. | 24 hours after the last chat message |
Nothing is written until the visitor agrees, with one exception that does not rest on consent. The arcy.cap.<Token> value above is set the first time the visitor sends a chat message and only then, and it does not depend on the consent answer; it exists so the daily limit holds. Everything else waits for the answer. The Operator's own cookie banner can pass the answer to ARCY, and ARCY asks the visitor inside the chat, in the Operator's own words, before it stores anything. The one exception is the consent record itself, which has to be kept so that a refusal is honoured instead of being asked again on every page.
After the visitor agrees, the assistant also keeps its own state in that browser's local storage, one key per item, each suffixed with the same token. None of this is sent anywhere. It stays in the browser so the assistant works across page loads.
- Where the visitor moved the assistant, whether they shrank it, and the language they chose for it
- Its colours, so it does not appear unstyled for a moment when a page loads
- The current conversation, so it continues when the visitor moves between pages. It expires 24 hours after their last message
- The current session with the assistant
- A guided walkthrough in progress, so it survives a page change
Five more things are kept in session storage for the current browser tab only and are gone when it closes: whether this tab is a first visit or a return, which offers the assistant already made in this tab, a draft walkthrough being previewed, a random identifier for this tab so a walkthrough in progress continues only in the tab that started it, and a marker that stops the assistant retrying a request that has already been refused. The three cookies above, the local storage and this session storage are all kept the same way when arcy.js runs on our own arcyai.com and app.arcyai.com, where we are our own Operator, and all of it belongs to the statistics category of a site's cookie settings.
Changing your mind happens on the site's own cookie banner. When a visitor withdraws consent there, the site tells ARCY and everything listed above is deleted from that browser straight away, apart from the refusal itself and the arcy.cap.<Token> value, which keeps its own 24-hour clock because a limit that resets on request is not a limit. Past conversations stay on the Operator's own records; asking for those to be deleted is a request to the Operator, not to us. Clearing the browser's site data for that site removes all of it too.
On an Operator's site this storage belongs to that site, not to us; on arcyai.com and app.arcyai.com it is ours, under the same rules. It is not used for advertising and it does not follow anyone across sites, browsers, or devices. Operators are responsible for disclosing it in their own cookie notice, which is what the copy-paste template in our documentation is for.
5. What we measure before consent
On an Operator's site, arcy.js also counts page traffic before anyone has answered the consent question. This part reads and writes nothing on the visitor's device: no cookie, no local storage, nothing at all. It is how an Operator sees how many people visited a page and where they got stuck, without knowing who any of them are.
- What is sent. The page address, the referring site, campaign parameters in the address, the browser and operating system names, the screen size class, and what happened on the page: clicks, form submissions, scrolling, and errors. No user identifier, no visitor identifier, and no session identifier travels with it.
- How events on one page are grouped. A random page load number that exists only in the page's memory and disappears when the page closes.
- How visitors on one day are counted. Our server combines a random value that changes every day, the site, the visitor's IP address and browser identity into a one-way hash. The daily random value is deleted when the day ends, so the hash cannot be turned back into an address and cannot be matched to the next day's hash. The IP address itself is never stored.
- How to opt out. If the browser sends a Do Not Track or Global Privacy Control signal, arcy.js measures nothing at all until the visitor agrees to more.
Measurement feeds a traffic overview in the Operator's dashboard and nothing else. It is never joined to a person, a conversation or a consented session, and agreeing later does not claim what was counted before.
6. Third-Party Cookies
- Clerk sets session cookies for authentication, and cookies for checkout through Clerk Billing, under its own privacy policy. Clerk is SOC 2 Type II certified and GDPR compliant.
- Stripe sits behind Clerk Billing and sets cookies for fraud prevention and payment, under its own privacy policy. Stripe is a certified PCI Service Provider Level 1.
- Google Analytics sets cookies to measure traffic on our marketing website, under Google's own privacy policy. It loads only after you accept it, and your choice is remembered in your browser.
These providers set and control their own cookies under their own practices, not ours.
7. Managing Cookies
Most browsers let you control or delete cookies and site storage through their settings. Blocking strictly necessary cookies may stop parts of the site or dashboard, such as signing in, from working.
8. Contact
If you have questions about this Cookie Policy, contact us through our contact page.