Evarist reads behavioral analytics so your AI can reason about your traffic. This page describes, precisely, what we collect, where it lives, and the boundaries that protect it, written for you and for your security reviewer. Every claim reflects how the product is actually built.
The full inventory, and the things the tracker is built to never touch.
The tracker collects behavioral events from your site: the pages viewed (their URL, including a query string that can carry campaign parameters, and their title), referrers and traffic source, browser timezone, scroll depth, visible time on page, plus the interactions, conversions and visitor properties you choose to record.
Identifiers are random values generated in the browser, derived from nothing about the device, and kept in first-party cookies: _evarist, the visitor ID (13 months, renewed on each visit); _evarist_s, the session (a random ID, the landing page URL, which can include its query string, and the referrer), which ends after 30 minutes of inactivity and at most 4 hours; _evarist_g, the keys of the goals already counted in this session (30 minutes); _evarist_probe, a candidate domain kept 10 seconds to check which domain can hold the cookies; and, on Shopify checkouts only, _evarist_p, the order identifiers our pixel has already recorded (90 days). Country, approximate city, browser, operating system and device family are derived on our servers from the request; the visitor's IP address is masked before it is stored in our analytics data.
If you install our Shopify app, we also read a narrow set of order facts from Shopify's Admin API: the order number, when it was placed and last updated, its currency, its status (financial status, cancellation and its reason, whether it is a test order), its monetary totals (net payment, total price, refunds, discounts) and the app that created it. We read the order's tags and whether an item was bought on a subscription to classify the order, without storing them, and of its custom attributes we keep only the visitor identifier our tracker set. We also read your product and inventory records: titles, types, Shopify categories, collections, options such as size, launch dates, prices and stock. That is what lets Evarist tell you which traffic sources actually produced sales. For your weekly Brief, the app also holds four more permissions: read_discounts for your discounts and their codes, read_returns for your returns (the product that came back, how many, the reason chosen from Shopify's list and the date, never a note the customer wrote), read_shipping for the shipping rates that set a free-shipping threshold, and read_markets for your markets, so that threshold is read in each one. The app also holds read_customers, used for one thing: of each order's customer we read only the identifier Shopify gives them, never store it, and use it only to make a code that links one customer's orders on your site without naming them, which nothing outside Evarist can turn back into that identifier. And it holds read_all_orders, which Shopify approved so we can read orders older than 60 days; for now we still read only the last 60 days. If you installed the app before we added them, Shopify asks you to approve them the next time you open Evarist. We never ask Shopify for customer names, emails, phone numbers or addresses: the queries we send ask for no customer field but that identifier (the app's other customer-named scope, read_customer_events, covers behavioural pixel events, not people). Individual orders are deleted after 65 days; beyond that we keep daily totals by traffic source, device and product. Returns are deleted 65 days after they were made, and your discounts and free-shipping thresholds are replaced by each day's read. Each product's daily stock level, with each variant's price, is kept for 25 months. Our checkout pixel also records which checkout steps a visitor completed (contact, address, shipping and payment, never what they entered), the products and quantities in a checkout they start, and the search terms they submit in your store's search. A search term is free text the visitor typed, so the pixel drops any term that holds an email address or a phone number before sending it, except a term made only of digits, which it keeps as a likely product code, and it keeps at most 256 characters. Orders, checkout steps, checkout products and search terms recorded by the pixel follow the visitor-data retention below, and where the visitor has declined analytics, the pixel sends nothing. We keep the store contact email Shopify gives us, for support only. For the people on your staff who open Evarist inside the Shopify admin, we store the identifier Shopify assigns to their staff account, and nothing else about them: no name, no email address.
If you connect Meta Ads, we ask for one OAuth scope, ads_read, and store the access token that grant returns (Meta issues no refresh token, so that token is the only credential we hold). With it we read your ad account's campaigns, ad sets and ads with their settings (names, status, budgets, bidding, schedules, targeting settings and ad text), plus each ad's creative URL tags, the tracking parameters that tell Evarist which ad a visit came from, and its reporting figures: spend, impressions, clicks, purchases and other results per hour and per day, broken down by device, placement, country, age band and gender, together with the account's activity log (budget, status and targeting changes, without who made them), so we can relate what you spent to what happened on your site. We never read who is in your audiences or customer lists, the people who saw or clicked an ad, or your Facebook profile: the connection reads your campaigns and their settings, your account's reporting figures and its change history, and nothing else. Disconnecting deletes the stored token immediately, and everything read from your account, campaign tree included, within 30 days.
What we never collect:
is_employee or plan, capped at 20 per site. Only names you've declared are ever captured, and names that look like personal data are rejected. Property values are retained for 365 days and isolated per tenant, same as the rest of your data. How it works.Email addresses captured on a site, by Evarist's optional capture or by Wisepops forms on the same site, are visible to that site's Evarist users. Names and phone numbers collected by Wisepops campaigns stay in Wisepops and are never shown in Evarist.
One customer's data must never surface in another's AI answers or pages, so we enforce it below anything the AI can reach.
SELECT: a crafted query, UNION, or subquery cannot escape it.A chatbot sits on top of this data, so the AI layer gets its own boundaries.
Not from the prompt. Whether you ask from Evarist's own chat or from your own assistant, the request carries your sign-in, and your sign-in is what decides which data can be read. Nothing the AI writes can widen that. If someone hides an instruction inside a page title, a link or a product name hoping the AI will follow it, the answer does not change: the only data that can come back is yours.
Database errors are sanitized before the model sees them; raw internals are logged only on our side. Queries are rate- and size-capped per user.
Calculations run in a sealed box. When a question needs more than a database query gives, Evarist's chat can write a short Python program over the results it already read in that conversation. The program runs in a fresh, short-lived machine in our own AWS account (us-east-1) that has no network access and no credentials: it cannot reach the internet, our databases or anyone else's data, only the results handed to it. It stops after five minutes at most, the machine is destroyed when it ends, and nothing is kept in it. Text written by others, such as a page title, reaches the program only as data in those results, never as code. What it produces, tables and chart figures, is kept with the conversation like any query result. You see what Evarist was working on, not the program.
Server-side, Evarist calls one model provider: Anthropic. Evarist uses it for its AI features: understanding your site from its public pages (what it sells and the kinds of pages it has), suggesting what to track, generating insights, and answering and screening the questions you type into Evarist's chat. For the chat it sends your question, the earlier questions and answers of that conversation, the facts people on your account asked Evarist to remember about that website, the dates, filters and figures of the Traffic page you asked from, if any, and the results of the queries run to answer it. For an analysis it sends what you chose for it, the facts people on your account asked Evarist to remember about that website, the findings your earlier analyses of that site showed with the feedback people on your account gave on them, what people on your account did with the recommended actions of your weekly briefs of the last 8 weeks (copied, opened, marked done or not relevant, with the reason they typed), and the results of the queries it runs; to rewrite part of an analysis after your feedback, it sends that part, your feedback and the results the analysis already read. To suggest a fact to remember, it sends a question and its answer, or your feedback and the part rewritten after it, with the facts already remembered for that website; to check a fact someone saves, it sends that fact and the others. Those results can include visitor-level records (random visitor IDs, pages, approximate location) and, on a site where visitor email addresses have been captured (by Evarist's optional email capture or by Wisepops forms), those addresses. Understanding your website only reads pages on the domains you've registered with Evarist and subdomains of them that your own pages link to. Neither Evarist nor Anthropic trains models on this data.
When you connect your own AI client (claude.ai, ChatGPT…), that provider processes your questions under your agreement with them. It is your processor, not our sub-processor. Our sub-processor list spells out the distinction.
Every connection to Evarist from browsers, AI clients and the tracker is encrypted in transit (TLS). Account and configuration data is stored on encrypted volumes (AWS EBS), and its backups are AES-256 server-side-encrypted in S3. The query results Evarist's chat keeps with a conversation, and the tables its calculations produce, are files in S3, encrypted at rest, closed to the public and reachable only by the application.
On AWS (us-east-1, United States), the analytics infrastructure Evarist shares with Wisepops. Our sub-processors, AWS, Cloudflare, Postmark and Anthropic, are listed publicly with their purpose and location at evarist.ai/subprocessors.
For EU/UK customers: transfers rely on the EU-US Data Privacy Framework and/or Standard Contractual Clauses with the UK Addendum, as set out in the DPA.
With the documents to forward.
We would rather list these plainly than imply them. This section shrinks as we grow.
Questions your reviewer wants answered directly? support@evarist.ai