What we collect when you test a store, what we never collect, and how long any of it lives.
last updated May 14, 202614 sectionsGDPR compliant
01
Introduction
UCP Playground is a free, interactive tool for testing Universal Commerce Protocol (UCP) profile status and MCP endpoint capabilities across merchant websites. We are committed to protecting your privacy and being transparent about our data practices.
This policy explains what information we collect, how we use it, and your rights regarding your data.
02
Information we collect
Account information
When you sign in to UCP Playground via Google, GitHub, or a magic link email, we collect:
Your name and email address (from your OAuth provider or the email you provide)
Your profile avatar (if provided by Google or GitHub)
Your OAuth provider and provider-specific user ID
Account creation is optional. You can use the Playground without signing in, but signing in provides higher rate limits and saved session history.
Domain & merchant data
When you check a domain, we collect and store publicly available information including:
This is all public data accessible from merchant storefronts. No personal information is collected during domain checks.
MCP tool call records
When you interact with a merchant's MCP endpoint through the Playground, we record tool call metadata for analytics purposes, including:
The merchant domain and endpoint URL
Tool name and arguments sent
Response size and duration
Whether the request was authenticated
These records are used to understand MCP ecosystem health and usage patterns. They do not contain your personal information.
Agent session data
When you use the AI Agent to interact with a merchant store, we record the full session including:
Your messages and the AI model's responses
Tool calls made to the merchant's MCP endpoint and their results
The AI model used, token usage, and session duration
Shopping funnel outcomes (e.g. search, cart, checkout) and cart values
A timestamped event stream of all actions taken during the session
This data is used to power the Leaderboard, session history, and session replay features. If you are signed in, sessions are associated with your account.
Benchmark data
Aggregated results from agent sessions (model checkout rates, funnel outcomes, token usage) power the public Leaderboard and model comparison pages. Published aggregates describe model and merchant-endpoint behaviour only and do not include any personal information.
Analytics
We use Umami Analytics ↗, a privacy-focused analytics platform that:
Does not use cookies
Does not collect personal data
Does not track users across websites
Is GDPR compliant by design
03
How we use your information
Account informationTo authenticate you, enforce rate limits, and associate session history with your account
Domain & merchant dataTo display UCP status, MCP capabilities, and search results in the Playground interface
Agent session dataTo provide session history, replay, leaderboard rankings, and multi-model comparison results
Schema & conformance resultsTo display quality grades and conformance readouts for endpoints you test
AnalyticsTo understand aggregate usage patterns and improve the service
NeverWe never sell your data or share it with advertisers.
04
Data retention
User accountsRetained until you request deletion. You may contact us to delete your account and all associated data.
Agent sessionsRetained indefinitely for leaderboard analytics and session history. Shared sessions remain publicly accessible until you unshare them.
MCP tool call recordsRetained indefinitely for ecosystem analytics.
Session dataLaravel session cookies expire after 120 minutes of inactivity. Merchant OAuth tokens are session-bound and do not persist beyond the browser session.
05
User authentication
You can sign in to UCP Playground using:
Google OAuthWe receive your name, email, and profile photo from Google. We do not access any other Google data.
GitHub OAuthWe receive your name, email, and avatar from GitHub. We do not access your repositories or any other GitHub data.
Magic link emailWe send a time-limited signed link to the email you provide. No password is stored.
If you sign in with multiple methods using the same email address, you will be logged into the same account.
06
Merchant OAuth & authenticated sessions
Some merchant MCP endpoints require OAuth2 authentication. When you authorize the Playground to access a merchant's authenticated endpoints:
Merchant OAuth tokens are stored only in your server-side session and are never persisted to a database
Tokens are automatically discarded when your session expires
You can revoke access at any time through the Playground interface
We never access merchant data beyond what is needed for the current Playground session
07
Session sharing & replay
You may choose to share an agent session, which makes it accessible via a public URL. Shared sessions include:
The full chat timeline (your messages and the AI's responses)
Tool calls, product cards, and shopping outcomes
The AI model used, session duration, and token usage
A visual replay of the session event stream
Shared sessions can also be embedded on external websites via an iframe. An Open Graph image is generated for social media previews when the link is shared.
Opt-inSessions are private by default. You can unshare a session at any time from your session history, which immediately revokes public access.
08
Chrome extension
The UCP Playground Chrome extension is a side panel that lets you chat with UCP-enabled merchant stores directly from any tab. It is a thin client over the same Headless API used by the website — no AI logic runs locally.
Data stored locally by the extension
The following is stored in chrome.storage.local on your device only. None of it is synced across devices, and uninstalling the extension removes all of it:
Your personal access token (generated at /settings/tokens) — used to authenticate requests to the Playground API
Your default model preference
A per-domain map of recent session IDs so reopening a store resumes your chat (entries expire after 24 hours)
How the extension uses the active tab URL
When you switch tabs or navigate within a tab, the extension reads the hostname of the current page in order to:
Probe https://{hostname}/.well-known/ucp for a UCP profile (a single unauthenticated GET request to the merchant)
Cache the result locally so subsequent tab switches don't re-probe
Show or hide the chat UI based on whether the site is UCP-enabled
The full URL is never sent to UCP Playground servers — only the hostname is used, only locally, and only to decide whether to display the chat option. The extension does not read page content, cookies, form fields, DOM, or any other data from the sites you visit.
What is sent to UCP Playground servers
Data leaves your device only when you actively send a chat message in the side panel. At that point, the extension sends to POST /api/v1/chat:
Your personal access token (in the Authorization header)
The hostname of the merchant store you are chatting with
The message you typed and the model you selected
The session ID, if continuing a prior conversation
The server then orchestrates the conversation exactly as described in sections 2 and 3 above. The extension does not introduce any additional data collection beyond the Headless API itself.
Permissions justification
storageTo store your token, model preference, and per-domain session pointers locally
activeTab and tabsTo read the URL of the currently active tab so the extension knows which store you are on
sidePanelTo render the chat UI in Chrome's side panel
host_permissions: https://*/.well-known/ucp*To fetch the public UCP profile from sites you visit (path-restricted to /.well-known/ucp — the extension cannot read any other page content)
host_permissions: ucpplayground.comTo call the Playground Headless API
Limited use of data
Data collected through the extension is used only to provide and improve the UCP Playground chat features. We do not use this data for advertising, do not transfer it to third parties except as needed to deliver the service (see section 9), and do not allow humans to read your messages except where required by law, to investigate abuse, or with your explicit consent.
09
Third-party services
We interact with the following third-party services:
OpenRouterYour messages and merchant tool responses are sent to OpenRouter, which routes them to the selected AI model provider (e.g. Anthropic, OpenAI, Google, Meta). In multi-model comparison mode, your message is sent to multiple providers simultaneously. OpenRouter's privacy policy governs their handling of this data.
Google & GitHubUsed for user authentication via OAuth. We only receive basic profile information (name, email, avatar).
MailgunUsed to send magic link sign-in emails. Your email address is shared with Mailgun solely for delivery.
Merchant MCP endpointsWe send requests to merchant storefronts on your behalf when you use the Playground. These requests are proxied through our server.
UCP Checker (ucpchecker.com)Domain status lookups and benchmark submissions are sent to UCP Checker's API.
Umami AnalyticsPrivacy-focused analytics (no personal data collected).
We do not sell or share your data with advertisers, data brokers, or any other third parties.
10
Cookies
UCP Playground does not use tracking cookies. The only cookies we use are:
CSRF tokenA security cookie required for form protection (Laravel framework standard)
Session cookieFor maintaining your session state, including OAuth tokens for authenticated MCP access
These are essential cookies that do not track you or collect personal information.
11
Data security
We take reasonable measures to protect the data we process:
All traffic is served over HTTPS
OAuth tokens are stored server-side in encrypted sessions
API tokens for third-party services are stored as environment variables, never in source code
CSRF protection is enforced on all state-changing requests
12
Your rights
If you have created an account, you may contact us to:
Request access to any personal data we hold about you
Request deletion of your account and all associated data
Request correction of inaccurate personal data
We respond to all data requests within 30 days.
13
Updates to this policy
We may update this privacy policy from time to time. When we make changes, we will update the "Last updated" date at the top of this page. Continued use of UCP Playground after changes constitutes acceptance of the updated policy.