Vibe Co-PilotVibe Co-Pilot

Privacy Policy

Last updated: August 2026 | Provider: Vibe Technologies, LLC

Scope and Commitment

This Privacy Policy describes how Vibe Technologies, LLC handles information across all parts of the product. It covers three components, because they have genuinely different data flows:

  • The Extension — the Vibe Co-Pilot browser extension running in your Chrome profile.
  • The MCP server / CLIvibebrowser-mcp and vibebrowser-cli, which run as local processes on your own machine and let an AI client drive your browser.
  • The hosted relayrelay.api.vibebrowser.app, the internet connector used when a cloud assistant (Claude, ChatGPT) has no other route to your browser.

This product controls a real, logged-in browser. We would rather be blunt than reassuring: read the relay and credential sections below before you connect a cloud assistant.

Local Path vs. Relay Path

PathWhere tool calls and page content travel
Local (stdio) MCP serverBetween the AI client and the Extension on 127.0.0.1. Nothing about the tool call reaches Vibe servers. The MCP server ships no analytics and no error-reporting SDK.
Hosted relay (remote connector)Through relay.api.vibebrowser.app. Tool calls and their results — which include page text, DOM structure, and screenshots — transit our infrastructure. See the next section.

If you do not want browser-control traffic to touch the internet at all, use the local stdio setup.

The Relay: What Transits, What Is Logged, What Is Kept

What transits the relay

  • MCP JSON-RPC tool calls from your AI client: the tool name and its arguments.
  • The results your browser returns: page text, DOM structure, screenshots, tab and navigation data.

What is stored vs. passed through

Tool arguments, tool results, page content and screenshots are passed through. The relay keeps live session state in memory only and does not write those payloads to disk or to a database. Live-session state (the connection registration and its secret) is held in memory and is destroyed when the session is revoked or the service restarts.

What is logged — plainly

The relay writes a structured security audit record for every connection and every tool call. Each record contains:

  • Timestamp, event type (register / attach / deny / tool call / control call) and surface.
  • A SHA-256 digest of the routing session identifier — never the identifier itself.
  • The tool name, and the argument key names with their value types(e.g. url: string) — never the argument values.
  • Client IP address, Origin and User-Agent — this is personal data, and we record it deliberately, because without it a leaked connection URL cannot be investigated.
  • The allow/deny outcome and reason.

Tool results, response payloads and page content are not written to the audit log.

Retention

Audit records go to the service's standard output (captured as platform logs) and to a size-bounded file on the host. That file rotates by size — by default up to 120 files of 16 MB each. Records are pruned only when that size/count cap is reached, which at real relay volumes retains well beyond 90 days. We keep audit records for security investigation, not for profiling, and we do not use them for advertising.

Honest history

Two separate defects previously caused live routing identifiers to appear in plaintext in logs or CI output. Both were fixed. Today every log path masks the identifier as a truncated SHA-256 fingerprint unconditionally, and an automated test scans the full server output on every build and fails it if any credential appears. We are stating this because a policy that only lists successes is not a useful policy.

Your Connection URL Is a Credential

The remote connector URL contains a routing identifier that is a bearer capability: anyone who holds that string can drive your logged-in browser and act as you on any site you are signed into. Treat it exactly like a password. Never commit it, paste it into a shared chat or issue, or include it in a screenshot. It can also be supplied as an X-Remote-Session or Authorization: Bearerheader, which keeps it out of URLs, proxy logs and browser history — prefer that whenever your client can send headers.

OAuth

Clients that support it can connect via OAuth 2.1 with PKCE instead. Two scopes exist:

  • browser:read — read page content and browser state.
  • browser:control — act in the browser (click, type, navigate). Implies browser:read.

Any method the relay does not recognise requires browser:control — it fails closed. Authorization codes expire after 1 minute, access tokens after 1 hour, refresh tokens after 30 days, and idle dynamic client registrations after 30 days.

How to revoke

In the Extension: Settings → AI Agent Control → Remote (internet) → Relay access. Disable remote access or regenerate the session. Revocation is enforced server-side: the relay tears down the live browser socket, fails in-flight requests, closes every attached agent connection, and deletes the stored credentials so the old identifier can never re-register. If you believe a URL has leaked, revoke first and email privacy@vibebrowser.app.

Information Stored Locally (Extension)

The following is stored in your browser profile's local storage only — never on our servers:

  • API Keys: Third-party AI service API keys (OpenAI, Anthropic, Google Gemini, OpenRouter)
  • User Settings: Extension configuration preferences (model selection, feature toggles)
  • OAuth Tokens: Authentication tokens for supported OAuth providers
  • Browser Data: Tab URLs, page content, browsing history, bookmarks — read on demand and processed for the task you asked for

Information Transmitted to Third Parties

To AI model providers (OpenAI, Anthropic, Google, OpenRouter, and any provider you configure):

  • Your prompts and queries
  • Page content and DOM structure, including screenshots when the task needs them
  • Browser tab information and automation task context

When you connect a cloud assistant as a remote connector, that assistant's vendor is the model provider and their privacy policy governs what they do with the content your browser returns.

To Google Analytics 4 (product analytics):

  • Events are sent through a first-party endpoint on api.vibebrowser.app, which forwards them to GA4. A credential-free direct fallback to Google is used only if that endpoint reports it is unconfigured.
  • A pseudonymous client identifier and a hashed user identifier; your plan tier.
  • Event names and low-cardinality properties only. For settings changes we send the setting key name, never its value. The MCP usage event sends exactly route_mode, surface and tool_class — no URLs, prompts, tool arguments, tool results, or raw tool names.
  • Analytics is gated by a consent setting in the Extension and can be turned off.

To Sentry (error tracking):

  • Error messages, stack traces, browser and extension version, and error context.
  • Session replay is disabled; where the replay integration is present it masks all text and blocks all media.
  • Cookies and request headers are stripped, and URLs and error messages are sanitised, before sending.
  • Performance traces are sampled at 10% in production.

To Stripe (payments):

  • Billing is processed by Stripe. Card numbers are entered on Stripe's systems; we do not receive or store full card details. We receive subscription status and customer identifiers.

To Langfuse (optional LLM tracing — off by default):

  • Disabled unless you supply your own Langfuse credentials. If you enable it, your prompts, model inputs/outputs and page content captured in traces are sent to your Langfuse project.

What We Do Not Do

  • We do not store your AI provider API keys on our servers.
  • We do not store page content, tool arguments, tool results or screenshots that pass through the relay.
  • We do not log the plaintext routing identifier that grants access to your browser.
  • We do not build a server-side record of the pages you visit or your browsing history.
  • We do not sell your data or share it with third parties for advertising.

We do not claim to collect no personal data at all. The relay audit log records IP addresses, and analytics records pseudonymous identifiers, as described above.

Data Storage and Security

Local Storage

  • API keys are stored in Chrome's local storage
  • Storage is isolated to your browser profile
  • No cloud synchronization of API keys
  • You can clear data by uninstalling the extension

Transmission Security

  • All relay and API communications use HTTPS / WSS
  • Model provider calls use HTTPS
  • OAuth uses PKCE and short-lived access tokens

Your Responsibility

  • Keeping your connection URL secret, and revoking it if it leaks
  • Securing your browser and computer
  • Protecting your API keys and monitoring their usage and costs
  • Deciding which sites you are logged into while an agent is connected

Third-Party Processors

Infrastructure and Tooling

  • Sentry — error tracking (policy)
  • Google Analytics 4 — product analytics (policy)
  • Stripe — payments (policy)
  • Langfuse — optional, self-configured LLM tracing (policy)

We are not responsible for third-party privacy practices.

Your Rights and Choices

Control

  • View and change stored settings in the Extension settings page
  • Delete API keys at any time
  • Revoke remote relay access at any time (see above)
  • Use the local stdio path so no browser-control traffic reaches our servers
  • Clear all extension data by uninstalling

Opt-outs

  • Analytics: consent setting in the Extension
  • Error tracking: Extension settings
  • Model providers: you choose which ones to configure

Access, correction and deletion

Depending on where you live (including under the GDPR and the CCPA/CPRA) you may have the right to access, correct, delete, or restrict processing of your personal data, and to object to it. Email privacy@vibebrowser.app and we will respond within 30 days. Because relay audit records are keyed to a hashed session identifier rather than to your name, you may need to supply the session identifier or the approximate time and IP of use so we can locate the records.

Children

Vibe is not directed to children. It is not intended for use by anyone under 13, or under 16 in jurisdictions where that is the applicable age of digital consent. We do not knowingly collect personal data from children. If you believe a child has used the product and provided personal data, contact privacy@vibebrowser.app and we will delete it.

Browser Permissions

The Extension requests the following browser permissions:

activeTab

Access current tab for automation

storage

Store settings and API keys locally

scripting

Execute scripts for automation

tabs

Manage browser tabs and identify active pages

webNavigation

Monitor page navigation and detect page loads

history

Access history for context and suggestions

bookmarks

Access bookmarks for organization and AI analysis

sidePanel

Display the extension's side panel interface

identity

OAuth authentication

Host Permissions (<all_urls>)

Execute automation tasks on any user-directed website

These permissions are necessary for functionality and are not used for tracking.

Data Collection Categories

CategoryCollected?Details
Personally identifiable informationLIMITEDIP address, Origin and User-Agent in relay security audit records; billing identity held by Stripe
Health informationNONot collected
Financial informationNOPayments handled by Stripe; we do not receive or store card details
Authentication informationYESAPI keys and OAuth tokens stored locally; relay session credentials held in memory server-side
Personal communicationsTRANSIT ONLYThe agent may read page content, including messages, during a task; it transits the relay but is not stored by us
LocationINFERREDNo GPS or precise location. IP addresses in audit records imply approximate location
Web historyLOCAL ONLYRead locally for context; not stored on our servers
User activityYESError reports and consent-gated, low-cardinality analytics events; relay audit records of tool names and argument key shapes
Website contentTRANSIT ONLYExtracted during task execution, sent to your model provider, and relayed if you use a remote connector — not stored by us

Privacy Questions?

Vibe Technologies, LLC is the data controller. Contact us at:

We may update this privacy policy. Material changes will be reflected in the “Last updated” date above. Continued use of the Extension, the MCP server, or the relay constitutes acceptance of the updated policy.