Privacy & security
AI and third parties
Sequential's AI features send session digests to TypeSafe. This page lists what TypeSafe receives, what your pages load, and what you control.
On this page
Who receives what
This page calls TypeSafe's AI model the judge. Nothing on your website contacts TypeSafe.
| Feature | Sent to | What is sent |
|---|---|---|
| Watch (background judging) | TypeSafe | One session digest and your rubric's questions |
| Insights tab in the replay player | TypeSafe | A digest built in the browser of the person watching, and your rubric's questions |
| Ask | TypeSafe | Up to 200 session digests, and your description |
Ask from an agent (ask_sessions) |
TypeSafe | Up to 50 session digests per call, and the agent's description. In these digests, an element event is named only element, with no text, and a custom event has no properties |
| Try it in the rubric editor | TypeSafe | One session's digest, and your draft questions |
| Dashboard key actions and failures | TypeSafe | The names of up to 60 of your project's most frequent custom events. No counts, users or values |
| Fix briefs (Privacy at a glance) | TypeSafe | Up to 40 quoted passages of a brief, each up to 200 characters, one question each |
Session tools and ask_sessions for agents (Privacy at a glance) |
TypeSafe | The visitor text and custom rubric labels in the answer, in parts of up to 200 characters, one question each |
| Findings for agents (Findings and fixes) | TypeSafe | The reason of each finding's newest verdict, in parts of up to 200 characters, one question each |
Heatmap tools for agents (list_heatmap_pages, get_heatmap), on a Sequential server that has them |
TypeSafe | The page addresses (host and path) and the dashboard links in the answer, in parts of up to 200 characters, one question each. No counts, element paths or picture |
| An agent that you connect, for example claude.ai (Connect claude.ai) | The agent's provider. For claude.ai, that is Anthropic | The answers to the agent's tool calls, and Sequential's fixed tool descriptions and server instructions. No other data |
| Ask your agent in the replay player and DevTools (Find and replay sessions) | The app you open, and its provider, once you send the prompt there. For ChatGPT, OpenAI, when the tab opens | The session id, the time in the session, the page's path without ids, query or fragment, and from DevTools one redacted error message of up to 200 characters. Sequential sends nothing: your browser opens the app with the prompt filled in. With ChatGPT, the prompt is in the page address, so your browser sends it to chatgpt.com, and so to OpenAI, when the tab opens, before you send it |
| Ask your agent about this day in the Events point panel (Explore events on the Events page) | The app you open, and its provider, once you send the prompt there. For ChatGPT, OpenAI, when the tab opens | The date (and hour), per day or per hour, the change in % and what it was compared with, and whether a filter is set. As observed user data: the event type you chose in Show, up to 3 page paths without ids, query or fragment, and the newest release version with its time. No other filter value, no user, no session id and no counts. Sequential sends nothing: your browser opens the app with the prompt filled in |
| Draft a fix, Send to your webhook (Findings and fixes) | The webhook address an owner or admin set for the project | The finding number, the brief's revision and template version, the finding's address in Sequential, and the screened fix brief. Signed, sent once per click. Not on Sequential's hosted service yet |
What the judge receives
The judge never receives a recording, heatmap counts or the heatmap picture. When an agent reads heatmap pages, the agent screen reads the page addresses (host and path) and the dashboard links. See What the agent screen receives below. To judge a session, the judge reads a digest: a short text summary of that session. For Watch, Ask and Try it, Sequential builds the digest on its server from your stored events.
Sequential removes from the digest:
- The user id. The digest says only "identified" or "anonymous".
- Domains, query strings and fragments. Sequential cuts page URLs and full URLs in other text to their path.
- Properties with personal-looking names, such as
billing_emailandfirstName. This page calls this the name filter.
Sequential does not store the digest. It keeps the answers (Judgments).
What the agent screen receives
When an agent uses get_session, a sessions:explore tool, ask_sessions, an analytics:read tool, link_fix or get_verification, Sequential asks the judge whether text in the answer reads as an instruction to an AI. For the analytics tools, this is the event text in the answer, for example event names, page addresses, selectors and property values. For the session tools, this is visitor text: text that a visitor's browser or app sent to Sequential. It also includes the labels of a custom rubric, if the answer has them, and from 11 October 2026 the question text, criteria and phrases of a custom rubric in the answer of get_rubric. For link_fix and get_verification, it is also the text of fix links and release markers. A token's GET /api/findings/:n/verification runs get_verification, so it is screened too.
The judge receives:
- each part of the visitor text, up to 200 characters: page paths, routes, release names, and browser and operating system names
- for
get_session_timeline,list_errorsandget_overview, also the names of custom events, error messages and types, top stack frames, and the method, host and route of failed requests. Element text is withheld from these answers, so the judge does not receive it - for
ask_sessions, the label of each matched moment: the event text that the judge read, for example an error message. The label of a click, a form submit or another element event is withheld - the question, option and level labels of a custom rubric in the answer of a session tool or
ask_sessions. It gets each label, and also all the labels of the answer joined together - from 11 October 2026, for
get_rubric, also the question text, criteria and phrases of a custom rubric - for
link_fixandget_verification, also each part of the fix link addresses, release names, environments and commit SHAs. See Findings and fixes - when an agent reads heatmap pages (
list_heatmap_pages,get_heatmap, on a Sequential server that has them), each page address (host and path) and each dashboard link in the answer. It never receives the heatmap counts, the element paths or the picture - a fixed question and a fixed description of the text
The judge does not receive:
- session ids, user ids, account ids, event ids, rubric ids or option keys
- the text and criteria of your rubric's questions, except in the answer of
get_rubricfrom 11 October 2026 - the labels and text of the shipped default rubric. After Reset to default, it can receive them too
- times, counts or judgments
When a token reads the findings list or one finding, the judge also receives the reason of each finding's newest verdict. This is GET /api/findings or /api/findings/:n, or the list_findings or get_finding tool. For the findings list, the judge also receives the scope and page_route of each finding, up to 200 characters each. The judge never receives the name of the person who gave the verdict. The agent never gets that name either.
Sequential redacts the text before it sends it: email addresses, tokens and card numbers. From 10 October 2026, it also removes the names, emails and phone numbers of the known people of your project, so the judge does not receive them either. See Privacy at a glance. If the screen cannot run, the agent does not get the text. A token does not get a fix brief or a finding that Sequential could not screen, unless the operator sets FINDINGS_SCREEN_REQUIRED=false. When the brief screen is paused, a token gets them with every quoted passage withheld. Ids are not sent to the judge. The agent gets them marked as {"id": "…", "source": "observed"}. See Privacy at a glance.
What your pages load
With Sequential's own SDK, every script your pages load comes from Sequential, not from another company's servers. If you use another vendor's SDK, that SDK's code also runs on your pages.
What you control
Background judging. It is on by default for each project. Owners and admins change it under Settings → Projects → your project → Insights, with the switch Judge new sessions automatically. Members and viewers see the switch, but they cannot change it. Your Sequential server must also allow it: whoever runs the server sets JUDGING_AUTOMATIC=on. While background judging is off, Watch tells you why, and Sequential sends nothing in the background. See Watch.
On-demand features. If the server has them set up, no project setting turns them off. The background judging switch does not stop them either. Roles decide who can use each one (Roles and permissions).
| Feature | Roles that can use it |
|---|---|
| Insights tab, Ask | Owner, Admin, Member, Viewer |
| Try it | Owner, Admin |
Ask from an agent (ask_sessions) |
An agent with a token that has the scope ask:use. Only owners and admins create tokens |
Personal data. Sequential sends rubric questions and Ask descriptions as written. The digest carries element text, error messages, custom event names and page paths as written, and Sequential does not check them for emails or card numbers. Keep customers' names, emails and other personal data out of these and out of property values.
- When background judging is turned on, Sequential also sends the unjudged sessions from the previous 7 days to TypeSafe.
Limits
- The name filter reads names only, and matches whole words. Sequential sends a value under an ordinary name as it is, up to 80 characters. It sends
firstnameanduseremail, because it does not split them into words. - In Watch, Ask and Try it, only full URLs lose their domain and query string. Sequential sends
/signup?ref=navandapp.example.com/signup?ref=navwhole. - TypeSafe's own terms control how it stores and uses what it receives. This page covers what Sequential sends.
- The Sequential app loads its fonts from Google Fonts, so your team's browsers contact Google when they use the app.
- Sequential keeps each Ask description in a log for 180 days.
When each feature sends data
| Feature | When it sends data |
|---|---|
| Watch (background judging) | At least 30 minutes after a session ends, once per session, and only for projects where background judging is turned on |
| Insights tab | When someone opens the tab and no saved judgment matches. Also when someone clicks Re-run, at most once every 10 minutes per session. |
| Ask | Each click on Ask or Search N more, unless the same description over the same sessions was answered in the last hour |
| Ask from an agent | Each call of ask_sessions, unless the same description over the same sessions was answered in the last hour |
| Try it | Each click on Run |
| Dashboard key actions and failures | When a new dashboard is set up, or someone adds a Key actions or Failed or abandoned tile, unless the same event names were judged in the last 7 days |
| Fix briefs | When Sequential delivers a brief, and when an agent reads one finding with get_finding. Sequential can use an earlier answer for the same version of the brief, for up to 30 days. If Sequential cannot read the allowance, it sends at most 10 briefs a minute per project from each server process. Past that, it sends nothing and withholds every quoted passage of the brief. |
| Session and analytics tools for agents | Each answer of get_session, a sessions:explore tool, ask_sessions or an analytics:read tool that has visitor text, unless Sequential has a recent answer for that text |
| Findings for agents | Each time a token reads the findings list or one finding and a newest verdict has a reason, unless Sequential has a recent answer for that reason |
When background judging is turned on for a project, Sequential also sends the sessions from the previous 7 days that are not judged yet. Whoever runs your Sequential server can also send older sessions. This is called a backfill.
Session facts and event lines
The digest has facts about the session and up to 255 event lines.
Session facts: duration, device type, identified or anonymous, the entry page's path, browser, operating system, country code and the number of pages visited. If the session's recording measured them, the digest also has counts of JavaScript errors, failed requests and console errors (DevTools in replays).
Event lines: up to 255. Each line has its time from the start of the session and the path of the page it happened on.
| Event | What its line carries |
|---|---|
| Page view | The path, such as /settings/billing, or a mobile screen name |
| Click, rage click, dead click | The element's text or id, such as "Add card" |
| Form submit | The form's name |
| Error | The error message and its type |
| Custom event | Its name, such as plan_changed, and its properties as key=value |
| Identify | Only that the visitor was identified. An identify event carries no text. |
Sequential cuts each label to its first line and 60 characters. It cuts a custom event's properties to 80 characters in total.
How Sequential removes URLs and property names
URLs. Sequential cuts page URLs to their path. It also cuts a full URL inside any other text to its path. For example: https://app.example.com/signup?ref=nav in a property value.
Inside a label or property value, https://app.example.com/signup?ref=nav becomes /signup. But Sequential sends /signup?ref=nav and app.example.com/signup?ref=nav whole. The Insights tab keeps full URLs whole too.
Property names. Sequential drops a custom-event property in two cases:
- Its name starts with
$. - One of the words in its name is exactly one of these: email, mail, phone, tel, password, pass, token, secret, address, addr, name, ip, user, username, account, ssn, iban, card.
Sequential splits a name into words at _, -, ., spaces, and where a lowercase letter or digit is followed by a capital.
- Dropped:
billing_email,firstName,ip_address - Kept:
firstname,IPAddress,customer_id,description,zip
The name filter reads names only. Under an ordinary name, Sequential sends the value as it is, up to 80 characters. For example: note=call jane@example.com.
What reaches the judge from your app and your rubric
From Watch, Ask and Try it, the judge receives only what your events contain. From the Insights tab, it also receives the text of clicked elements, as the recording captured it. See Send custom events.
Every call also sends the questions: your project's rubric questions, the draft you edit for Try it, or your one-line description for Ask (Customise the rubric). Owners and admins edit the rubric under Settings → Projects → your project → Insights.
Feature switches and the name filter
When judging is set up on the server, no project setting turns off the Insights tab, Ask or Try it. To stop an agent from running Ask, revoke its token or give it a token without ask:use. The endpoint /mcp/readonly does not stop it.
For property values, do not rely on the name filter. It reads names, not values. The Insights tab does not apply it.
Google Fonts in the Sequential app
The Sequential app loads its fonts from Google Fonts, so your team's browsers contact Google when they use the app. Nothing that Sequential adds to your pages contacts Google.
How long Sequential keeps the answers
| What | How long Sequential keeps it |
|---|---|
| A session's Watch judgment | 400 days after the session ends |
| An Insights judgment | 7 days |
| An Ask answer | 1 hour |
| Each Ask description, in a log, with who asked. For an agent, this is the id of its token | 180 days |
| A screening answer for an agent's tool, or for a verdict reason that a token reads | Up to 7 days, as a keyed hash of the text with a yes or no |
If the server sets a retention limit, Sequential deletes Watch judgments and Ask descriptions sooner.
What the Insights digest contains
The Insights tab builds its digest from the recording and the session's events. Sequential's server removes query strings from the page URLs in this digest. Then the server sends the digest to the judge. Compared with the server digest, the Insights digest:
- keeps the domain on the entry page, the referrer and each page view, such as
app.example.com - sends the first three properties of each custom event or error as
name=value, and cuts each value to 40 characters - skips only properties whose names start with
$or[Amplitude]. It does not apply the name filter. - does not shorten URLs inside labels or property values. It sends
ref=https://app.example.com/signup?ref=navas it is, with the domain and query string. - adds the element's selector to clicks, rage clicks, dead clicks and form submits
- adds clicks and page views that it finds in the recording. Each click has the element's text as the recording captured it.
- leaves out the error counts
It cuts its labels to 80 characters. Like the server digest, it says only "identified" or "anonymous". See Session insights.
Where each script comes from
- The SDK and the open-source recording library that the recorder uses come from Sequential's CDN.
- The recorder comes from Sequential's API.
- Events and recordings go to Sequential's API, not to the CDN (Sequential SDK).
The Content-Security-Policy section of each install page lists every origin your pages load scripts from (Install Sequential).