Dots are OpenAI's always-on personal agents inside ChatGPT. OpenAI launched them at DevDay on Sep 29, 2026 for ChatGPT Pro and Business Premium, with Enterprise, Edu and Healthcare in an admin-enabled beta. A dot pursues a goal in the background around the clock, using its own cloud computer and browser plus thousands of app plugins, and checks in with its user for approval. The dots docs show examples like drafting invoices, background research and filling in a DMV registration.
Across sites that use Verisoul, OpenAI's cloud browser, which we name chatgpt_agent, made up 13% of the personal-agent sessions we named between Oct 29 and Nov 1, 2026, and it was the most widespread agent after Meta Muse, appearing on about 40% as many customer sites as Muse. That id covers signed traffic from OpenAI's cloud browser in general, so it includes dots without being limited to them.
The naming is confusing for a reason. ChatGPT agent, OpenAI's earlier agent mode, was removed from ChatGPT in early August 2026 and its tasks were split across ChatGPT Work, its cloud browser and Codex. Dots now run on that same kind of cloud computer, which is why the traffic still looks like what fraud teams used to call ChatGPT agent.

How ChatGPT dots show up on your site
Each dot has its own computer and browser in OpenAI's cloud that keeps working while the user's devices are off, and the user can open it and take over at any point. A dot can also use one connected personal computer running the ChatGPT app, in which case its traffic leaves from that person's own network in that person's own browser.
For the cloud browser, OpenAI's allowlisting help article says requests are signed with Web Bot Auth, with a Signature-Agent of https://chatgpt.com and public keys at chatgpt.com/.well-known/http-message-signatures-directory. That article covers the ChatGPT Work cloud browser and doesn't mention dots by name. Cloudflare also included ChatGPT agent in the first group of signed agents it recognizes by their Web Bot Auth signatures, so sites behind Cloudflare can already act on that identity. The user agent itself reports as ordinary Chrome on Linux with no dots or AI token.
| Check | What ChatGPT dots do |
|---|---|
| User agent | Ordinary Chrome on Linux, no dots or AI token |
| Web Bot Auth signature | OpenAI signs its cloud browser as chatgpt.com, a Cloudflare signed agent |
| IP ranges | None for the cloud browser, only for OpenAI's crawlers |
| robots.txt | Not documented for dots |
Why dots are only medium hard to detect
When the cloud browser signs, detection is straightforward: you verify the signature against OpenAI's published keys and you know the request came from OpenAI, which is much stronger than any user agent match because a signature can't be copied. A Signature-Agent header without a valid signature is only a claim, so verification is the step that matters.
The hard part is everything outside that path. OpenAI's dots docs don't confirm that every dot signs, so unsigned dot traffic is possible, while a dot routed through a user's connected computer arrives from a home IP in a normal browser and carries no OpenAI identity at all. Those sessions need the same device and behavior analysis you would use for an undeclared agent.
How Verisoul detects ChatGPT dots
For signed sessions, Verisoul verifies the Web Bot Auth signature against OpenAI's chatgpt.com key, which is the cryptographic signal. We then check that the device is a cloud-hosted browser with a virtual machine profile and that clicks, typing and page flow are automated instead of a person's. When all three line up, the API names the session.
"agent": {
"id": "chatgpt_agent",
"name": "ChatGPT agent",
"provider": "OpenAI",
"type": "ai_agent",
"detection_method": "signed",
"detection_signals": [
"cryptographic",
"behavioral"
]
}idischatgpt_agent, the stable name for OpenAI's signed cloud browser, which dots use when they browse from the cloudtypeisai_agent, an agent doing multi-step work in its own browserdetection_methodissigned, meaning a verified cryptographic signature identified the operatordetection_signalslistscryptographic,deviceandbehavioral, the three checks that agreed
Unsigned or laptop-routed dots are not named, and Verisoul scores those sessions through bot score instead. The Agent Atlas entry shows the sample response, and the AI agent detection docs cover each method.
OpenAI cloud browser was 13% of the personal-agent sessions Verisoul named, Oct 29 to Nov 1, 2026
Share of sessions with a named personal agent on sites that use Verisoul, %. Oct 29 to Nov 1, 2026
How to detect ChatGPT dots step by step
- Turn on Verisoul on sign-up, login, checkout and account pages so each session returns a bot score and an agent field
- Filter API responses for
agent.idequal tochatgpt_agentand check thatdetection_methodissigned - Write one rule for verified
chatgpt_agentsessions and a separate bot score rule for unnamed automation, using the AI agent detection docs - Route dots on sign-up, payouts and password changes to review, and let them browse and sign in elsewhere
Should you block ChatGPT dots?
Dots work for paying ChatGPT subscribers, so blocking verified sessions mostly turns away real customers. Most teams allow signed sessions to browse, sign in and fill forms, since the signature gives a clear, accountable operator behind the request.
New accounts, payouts and credential changes are different, because an always-on agent can repeat those steps at a pace no person would. Review or step-up there, and treat unsigned automation by its bot score rather than by any OpenAI claim in a header.