Every result below comes from the page’s model, the same rules the experiments run. Priya, Tomas, Lena, and their board are an illustration; the rules come from the sources.

01 · Send the same link

Priya shares the board with her workspace and her organization. Four people open the same link, then the Claude side switches to a public Code page.

  1. ChatGPT Sites · Priya: Opened. Priya owns it, so it always opens for her. Documented [1] [3]
  2. Current Claude artifact · Priya: Opened. Priya owns it, so it always opens for her. Documented [7]
  3. ChatGPT Sites · Tomas: Opened. Tomas is a workspace member; ChatGPT identity enforces the setting. Documented [1] [3]
  4. Current Claude artifact · Tomas: Opened. Signed in to the Northwind organization. Documented [7]
  5. ChatGPT Sites · Lena: Blocked. Lena is not in the Northwind workspace. Documented [1] [3]
  6. Current Claude artifact · Lena: Blocked. Lena is not signed in to the organization. Documented [7]
  7. ChatGPT Sites · Anonymous: Blocked. Anonymous is not in the Northwind workspace. Documented [1] [3]
  8. Current Claude artifact · Anonymous: Blocked. Anonymous is not signed in to the organization. Documented [7]
  9. ChatGPT Sites · Anonymous: Opened. A public Site needs no workspace access. Documented [1] [3]
  10. Claude Code artifact · Anonymous: Opened. The Code guide opens a public link with no sign-in; the admin guide says every artifact needs a Claude account. Conflicting documentation [7] [8] [11]Conflicting documentation: “People need a Claude account to open any artifact except a legacy artifact published from chat.” [8] and “Publicly: share a link that anyone on the internet can open, with no claude.ai sign-in required.” [11]

02 · What survives closing the tab?

Tomas adds a status, closes the tab, and reopens it; Priya opens it after him. Then the artifact switches to personal storage, and the Claude side to a Code page.

  1. ChatGPT Sites · Tomas: Saved. Saved in the Site’s D1 database. Documented [1] [3]
  2. Current Claude artifact · Tomas: Waiting for approval. Claude shows a confirmation that this data will be visible to others using the artifact. Documented [6] [7]
  3. Current Claude artifact · Tomas: Saved. Saved where everyone sees it. Documented [6] [7]
  4. ChatGPT Sites · Tomas: Reopened. 3 status lines come back from D1, the same for every visitor. Documented [1] [3]
  5. Current Claude artifact · Tomas: Reopened. 3 status lines come back from shared storage. Documented [6] [7]
  6. ChatGPT Sites · Priya: Reopened. 3 status lines come back from D1, the same for every visitor. Documented [1] [3]
  7. Current Claude artifact · Priya: Reopened. 3 status lines come back from shared storage. Documented [6] [7]
  8. Current Claude artifact · Tomas: Saved. Saved where only Tomas sees it. Documented [6] [7]
  9. Current Claude artifact · Priya: Reopened. 3 status lines come back from shared storage. Tomas’s personal records stay with Tomas. Documented [6] [7]
  10. Claude Code artifact · Tomas: Unresolved. Not established: the page is “one self-contained page with no backend”, and the docs describe no storage for it. Not documented [11]
  11. ChatGPT Sites · Priya: Published. The deployment URL serves the new version. Documented [1] [3]
  12. Claude Code artifact · Priya: Published. Open pages update in place. Documented [11]

03 · Open the mechanism behind one click

The path of Tomas’s status write. Paths are schematic: the participants are documented, the order between them is not.

  1. ChatGPT Sites · Tomas: Saved. Saved in the Site’s D1 database. Documented [1] [3]
  2. Claude Code artifact · Tomas: Unresolved. Not established: the page is “one self-contained page with no backend”, and the docs describe no storage for it. Not documented [11]

ChatGPT Sites path: Tomas presses the button. → Tomas’s request for the board, checked against its audience. → oai-authenticated-user-email and oai-authenticated-user-full-name for Tomas. → The Site’s server code decides what this request may do. → INSERT the status “Fixed the login redirect.”.

Claude Code artifact path: Tomas presses the button. → Tomas’s request for the board, checked against its audience. → The static page, served from *.claudeusercontent.com. → No backend to send it to: not established.

04 · Reverse who calls whom

First the Site reads Tomas’s connected issue tracker. Then a ChatGPT conversation reads the Site through a plugin, first without plugin access, then with it. Both tasks only read.

  1. ChatGPT Sites · Tomas: Waiting for approval. Tomas reviews the app access the Site requests and chooses an account. Documented [1] [3]
  2. ChatGPT Sites · Tomas: Loaded. Tomas’s issues replace the snapshot. Nothing is written. Documented [1] [3]
  3. ChatGPT Sites · Tomas: Blocked. Sharing the Site does not share its plugin: Tomas needs plugin access too. Documented [4]
  4. ChatGPT Sites · Tomas: Read. Status lines return to the conversation. Nothing is written. Documented [1] [3] [4]

05 · Follow the usage attribution

Tomas and Priya each press Summarize. On a current artifact the call counts against the viewer’s own plan, Priya’s included. On a Site and a Code page the sources do not establish a model call.

  1. Current Claude artifact · Tomas: Summarized. A summary appears, drawn on Tomas’s plan. Documented [6] [7] [8]
  2. ChatGPT Sites · Tomas: Unresolved. Access passed. The sources document no built-in model call for a Site; Sign in with ChatGPT documents plan usage for open-source and locally hosted apps only. Not documented [1] [3] [5]
  3. Current Claude artifact · Priya: Summarized. A summary appears, drawn on Priya’s plan. Documented [6] [7] [8]
  4. ChatGPT Sites · Priya: Unresolved. Access passed. The sources document no built-in model call for a Site; Sign in with ChatGPT documents plan usage for open-source and locally hosted apps only. Not documented [1] [3] [5]
  5. Claude Code artifact · Priya: Unresolved. Access passed. The Code docs describe connector calls and downloads, not a model call, for a page with no backend. Not documented [11]

A compact comparison

Question ChatGPT Sites Current Claude artifact Claude Code artifact
What you publish A deployment with saved versions and a production URL. An object in the Artifacts tab, with platform capabilities. One self-contained page with no backend, updated in place.
Where a new one starts Owner and workspace admins. Private to its creator. A private URL.
A viewer with no account Opens a public Site. Cannot open it, even with the link. Opens a public link, in conflict with the admin guide.
Shared records D1, written by the Site’s server code. Shared or personal storage, text only. No storage described.
Each viewer’s connected data Workspace-private Sites, workspace members only. Not with “Anyone with the link”. Blank for viewers not signed in or outside the organization.
A model call for viewers Not established by these sources. On each viewer’s own plan. Not established by these sources.