DEV Community

Miloš Čech
Miloš Čech

Posted on Originally published at costloop.app

Building a Privacy-First Subscription Usage Monitor in a Browser Extension

We just shipped v1.0.97 of the CostLoop browser extension, and one of the biggest changes is a new Usage Monitor.

CostLoop already helps you discover recurring subscriptions from Gmail and Outlook. Now we’re also trying to answer a harder question:

Are you actually using the subscriptions you’re paying for?

How the Usage Monitor works

The extension takes the domains associated with subscriptions in your CostLoop workspace and compares them against recent browser activity.

Based on that signal, a subscription can be classified as:

  • Active
  • Needs review
  • Potentially unused

The important part is how we handle the data.

Browser history is sensitive, so we designed this feature to be local-first:

  • The History permission is optional
  • Raw browser history is not uploaded to CostLoop
  • Matching happens inside the extension
  • Only the resulting subscription usage status is stored locally

The goal is to get a useful signal without building a system that needs to collect browsing history on our servers.

We also simplified subscription scanning

This release also improves the Gmail and Outlook scanning flow.

Subscriptions that already have the information needed for import are automatically selected.

Results with missing pricing or currency information are moved into Needs review, rather than forcing users through an additional selection step.

You still get a chance to review everything before anything is imported.

Why we’re building this

Finding subscriptions is only half the problem.

The more interesting question is whether a recurring expense is still providing value.

Email receipts can tell us that a subscription exists. Browser activity can provide one additional signal about whether it might still be used.

It’s not perfect, and we don’t want to pretend browser activity alone can determine whether a subscription should be cancelled. But it can help surface things worth reviewing.

I’d be interested in feedback from other extension developers:

How would you approach usage detection while keeping the privacy model as small as possible?

https://costloop.app

Top comments (0)