Bring your own model
Wholisphere defaults to its own backend (Cloudflare Workers fronting Gemini). If you’d rather route the AI work through your own LLM provider — your Anthropic account, your Google AI key, your enterprise inference endpoint — you can. We call this BYO model.
Why you’d want this
- Compliance. HIPAA / FedRAMP / regional data-residency: your provider is one you’ve already vetted; ours might not be on your approved list yet.
- Cost pass-through. Your inference budget is on your bill, not ours. Useful for enterprises that already have a committed spend with a provider.
- Model choice. You want Opus instead of Sonnet, or Gemini Pro instead of Flash, on a particular flow.
- Air-gap or self-host. Point the base URL at your own inference proxy or self-hosted gateway.
What’s eligible
In v1, BYO routes the unstructured-text-output capabilities:
- Describe image
- Summarize this page
- Explain in simpler words
- Translate selection
- Define word
The remaining cloud capabilities — Read this page (structured outline), Voice command (action plan), Live captions (STT), Transcribe audio (STT) — still go through the Wholisphere backend because they need shared output schemas or speech APIs that BYO providers don’t all implement uniformly. We’ll expand the list as schema reuse lands; the popup label will tell you when a capability is BYO-routed.
Supported providers
| Provider | Models | Vision | Notes |
|---|---|---|---|
| Anthropic | Claude (Opus / Sonnet / Haiku) | Yes | Default model: claude-sonnet-4-6 |
| Gemini (1.5/2.5 family) | Yes | Default model: gemini-2.5-flash |
OpenAI support is on the roadmap but not in v1.
How to set it up
- Open the Wholisphere popup.
- Find the Bring your own model section (between Backend URL and Widget position).
- Pick a Provider.
- Paste your API key:
- Anthropic: get one from https://console.anthropic.com/settings/keys.
- Google: get one from https://aistudio.google.com/apikey.
- (Optional) override the Model id — leave blank for the provider’s default.
- (Optional) override the Base URL — for self-hosted / proxy / Azure-style endpoints. Leave blank for the official API.
- Click Test BYO. Wholisphere makes a one-token round trip
to verify the key works. You’ll see
OK · <model> · <ms>on success.
The first time you pick a non-default provider, Chrome prompts you for permission to talk to that provider’s domain. We use optional host permissions so the extension only gets network access to the providers you actively choose.
To turn BYO off, set the provider back to Use Wholisphere backend, or click Clear to wipe the key.
Where the key lives
Your API key is stored in chrome.storage.local on this device
only. It is not:
- Synced across your laptops via Chrome Sync.
- Sent to Wholisphere — ever, for any reason.
- Logged to telemetry, even when telemetry is on.
- Shared across browser profiles.
The threat model matches every other browser extension that takes an API key (GitHub Copilot, ChatGPT for Chrome, etc.): anyone with read access to your Chrome profile directory can recover the key, and any code running inside this extension’s own context can read it. Use a key with the smallest scope you can — most providers let you create per-project keys with rate limits and spend caps.
What the popup status tile means
- off — BYO is configured to “Use Wholisphere backend”. Eligible capabilities go through our backend.
- on · anthropic (or google) — BYO is active. Eligible capabilities route directly to your provider; ineligible ones still go through our backend.
Cost implications
When BYO is on:
- The eligible capabilities count against your API quota, not Wholisphere’s.
- The Wholisphere usage dashboard / billing won’t show those calls.
- You pay your provider’s price for those tokens at your provider’s rate.
Most cognitive capabilities (summarize, explain, define, translate) cost a fraction of a cent per call on either Claude Haiku or Gemini Flash. Image description on a 1080p screenshot is ~1¢ on Claude Sonnet, ~0.2¢ on Gemini Flash. Numbers as of April 2026; verify on your provider’s pricing page.
Limits and gotchas
- Image description uploads the image bytes to your provider. Keep the model on your provider’s vision-capable list (Claude Sonnet+, all Gemini models).
- Rate limits are your provider’s. If your key hits a 429,
the capability fails with a
byo_<cap>_failederror and the popup shows the provider’s message. - Network errors fall through with the same shape — they don’t silently re-route to the Wholisphere backend. (We don’t silently second-guess your routing choice.)
- Telemetry: when telemetry is on, we record the fact that a BYO call happened (capability + latency + ok/err) — not the payload. So you can see per-capability latency in the popup Recent Activity panel without leaking content.
Roadmap
- OpenAI / GPT-4o support (next).
- Per-capability provider override (use Claude for describe, Gemini for summarize).
- Local Ollama / LM Studio / llama.cpp endpoint preset.
- Encrypted-at-rest credential vault for shared-machine setups.
Privacy posture
Active BYO changes what’s described in the Privacy page:
- Eligible capabilities listed there as “cloud-assisted” go to your provider instead of the Wholisphere backend.
- Wholisphere still does not see, log, or retain the request contents in either mode.
- The capability’s data flow (page text, image bytes, etc.) is unchanged — just the destination is yours.