Skip to Content

🌐 Browser Extensions

Bring your web life into your own memory. The Companion Browser Extension captures what you browse, save, read, and watch — and files it into your private Companion Memory, where you and your local AI can search it.

Overview

The Companion Browser Extension is available for Chrome, Safari, Firefox, Edge, and Brave. It captures browsing activity and site-specific personal data, and sends it to your own Companion Memory server.

Your data goes to your server and nowhere else. There is no Lifescope endpoint, no analytics service, and no third party in the path.

Key Features

  • Browser history sync — page visits with title, time spent, and scroll depth, both live and as a backfill of your existing history
  • Bookmarks and downloads — independent switches, off by default
  • Save highlights — select text, right-click, and the excerpt is saved with the page it came from
  • Site profiles — read your own data out of services that lock it up, like Netflix viewing history or GitHub activity (see below)
  • Offline queue — captures that fail to upload are stored locally and retried on the next sync
  • Ignore lists — exclude any site or page from capture entirely

Supported Browsers

BrowserStatusInstall
Chrome✅ AvailableChrome Web Store
Brave✅ AvailableChrome Web Store
Edge✅ AvailableChrome Web Store
Firefox✅ AvailableFirefox Add-ons
Safari✅ AvailableMac App Store

Use Cases

  • Build a searchable, private archive of your browsing
  • Ask your local AI “what was that article about X I read last week?”
  • Recover what you watched, read, or booked months ago from services that show only a rolling window
  • Keep a durable copy of data that lives inside someone else’s account

Architecture

Browser Tab ├── Content script ──► page metadata, scroll depth, selected text │ site profiles (your data on supported sites) Extension Background Worker │ classify, batch, retry-queue ├──► CI-Portal sign-in (OIDC), "where is my Memory server?" Your Companion Memory server /api/v1/browser-activity visits, downloads /api/v1/contents bookmarks, highlights, scraped items /api/v1/ingest/finish makes the batch searchable

The extension talks to exactly two places: CI-Portal, to sign you in and to look up where your Memory server runs; and your Memory server, to store what it captures.

Setup

Install the extension

Install from the Chrome Web Store . Search for Companion Intelligence or use the direct link in the Hub dashboard under Apps → Browser Extension.

Sign in

Click the Companion icon in your toolbar and choose Sign in with Companion account. This opens a normal Companion sign-in; the extension never sees your password.

Once you are signed in, the extension asks the Portal where your Memory server runs and configures itself. If you have Memory on more than one machine, it asks which to use. If you need to point it somewhere manually — a dev server, or a Portal other than the default — open Advanced.

Companion browser extension popup showing the sign-in view

Enable history sync

Once signed in, the popup shows Browser History Sync. Toggle Auto-sync all browser history on, pick a Sync time range, and choose which data types to include — History, Bookmarks, and Downloads are each independent switches. Click Start History Sync to run it immediately.

Companion browser extension popup after sign-in, showing Browser History Sync toggle, device, sync time range, Start History Sync button, and History/Bookmarks/Downloads checkboxes

While a sync runs, the popup shows live progress; when it finishes, it reports how many visits were sent and the last-sync timestamp.

Companion browser extension popup mid-sync, showing a Syncing button and an Uploading 642/1000 visits progress messageCompanion browser extension popup after a completed sync, showing Successfully synced 1000 visits and a last sync timestamp

Configure privacy rules

Open Ignored Pages and Sites from the popup to exclude specific sites or pages from capture — add the current site in one click, or type a domain and add it manually. An ignored site is never captured by anything, including site profiles.

Companion browser extension Ignored Pages and Sites screen, listing ignored sites like accounts.google.com and mail.proton.me with an Add Current Site button

What gets captured

Two rules govern everything: your ignore list always wins, and nothing is captured while you are signed out.

From your browser

SourceDefaultWhat is captured
HistoryOnURL, title, visit time, time spent, scroll depth, meta description
BookmarksOffURL, title, folder, date added
DownloadsOffURL, filename, size, state, start time
HighlightsOnText you explicitly save, plus the page it came from

History covers both a live feed as you browse and a backfill of your existing browser history. Backfill preserves the original visit times, so importing on a Wednesday does not make Monday’s browsing look like it happened Wednesday.

Never captured

  • Passwords, form contents, and payment fields
  • Full page text or HTML — only the title and meta description
  • Cookies or session tokens belonging to the sites you visit
  • Anything on an ignored site, or anything at all while signed out

Site profiles

Some of the most valuable parts of your history are locked inside individual services. Netflix knows what you watched; your browser history only knows you were on netflix.com. A site profile closes that gap: a small recipe that reads your own data from your own logged-in account and files it into Memory with a meaningful type.

A profile only runs when you are on one of its specific pages (Netflix’s viewing-activity page, not every Netflix page), you are signed in, and the site is not ignored.

Available today

CategorySitesWhat it captures
StreamingNetflix, Hulu, Disney+, Max, Paramount+, Prime VideoViewing history, watchlist, recommendations
News & readingCNN, WSJ, SlashdotArticles read
WorkGitHubRepositories, issues, pull requests, commits, activity
SocialQuoraQuestions, answers, who you follow
TravelAirbnbTrips, wishlist, hosting activity
Finance ⚠️RobinhoodPortfolio, orders, watchlist

Sensitive profiles are opt-in

Profiles marked ⚠️ read data most people would not expect an extension to touch. They are off by default and do nothing until you enable Include financial accounts in the popup.

The check happens before the page is read. The extension does not read your brokerage data and then discard it — it does not read it at all unless you have opted in. Any future profile touching balances, health records, or private messages will be gated the same way.

What’s coming, and what deliberately isn’t

The extension exists for the data you cannot get any other way. When a service offers a good bulk export, the better tool is the Memory Data Importer — an export is more complete than a scraper and doesn’t break when the site redesigns.

That means some obvious candidates are intentionally not on the roadmap. Google and YouTube (Takeout), Spotify, Strava, Goodreads, Steam, X, and Uber all publish good exports. Import those; don’t scrape them.

What we’re building next is the opposite case — services whose export is missing, truncated, or paywalled:

Next upWhy
Kindle highlightsAn export exists, but publishers cap it at 10–20% of a book. Your highlights are the most concentrated record of what you actually thought was worth keeping.
Travel — Booking.com, Expedia, airlinesNo export exists anywhere in this category, and Google removed Timeline’s export. A dated trail of where you were is the backbone of remembering when things happened.
Amazon ordersItem-level purchase history — a surprisingly complete record of moves, hobbies, and life changes.
AudibleNo export at all. What you finished, and when, is otherwise gone.
Reddit saved postsThe official export returns bare links with no titles or content.
LetterboxdDated, rated, reviewed — far richer than a streaming service’s undated title list. Export is paid-tier only.
Reservations & events — OpenTable, Resy, EventbriteNo consumer export. Eventbrite has already deleted pre-2022 order history.
Groceries & delivery — Instacart, DoorDashItem-level food history that nothing else records.
Courses — Coursera, Udemy, edXNo consumer export exists.

Some data is valuable and still not ours to take. We will not ship profiles for LinkedIn or Meta (their terms prohibit extension scraping, and enforcement lands on your account), for banks or credit cards (use CSV import — automated access gets accounts locked), for health portals, or for private messages and employer-owned systems. Messages in particular contain other people’s words, and those people never agreed to be in your memory.

Usage

Saving a highlight

Select text on any page, right-click, and choose Save highlight to Companion Intelligence. The excerpt is stored with the page URL and title. Nothing is captured just because you selected text — saving is always explicit.

Reviewing captured data

Everything the extension captures appears in Companion Memory, searchable alongside the rest of your data.

Troubleshooting

“Signed in, but no Memory app was found” Your Companion account has no Memory app registered, or the Portal could not reach it. Install Memory from the Portal, or set the Memory server URL manually under Advanced.

Sign-in succeeds but nothing syncs Your Memory server must be running with Portal sign-in enabled (PORTAL_OIDC_ENABLED=true). Without it the server rejects the extension’s token with a bare authorization error.

Pages not appearing in Memory Check that History sync is on and the site is not on your ignore list. If you are browsing in a private/incognito window, the extension needs incognito access enabled in your browser’s extension settings.

A site profile isn’t picking anything up Profiles run only on specific pages — Netflix’s viewing-activity page, GitHub’s profile page, and so on, not everywhere on the site. Sites also change their layout, which can break a profile until its selectors are updated. Financial profiles additionally require the Include financial accounts opt-in.

Safari extension not working after macOS update Re-enable the extension in System Settings → Privacy & Security → Extensions after any major macOS update.

Last updated on