Extension vs Closo server — who does what

Two pieces of Closo split the work. Here's the line between them and why it matters when something breaks.

Closo isn't one piece of software. There's the extension that runs in your browser, and there's the Closo server (running in our data center) that you reach when you load app.closo.co. They split the work in a specific way, and knowing where the line is helps when something isn't working.

Extension's job

The extension is the part that touches marketplaces. Specifically:

Listing, editing, delisting
When you press Crosslist, the extension is what fills the Poshmark form, picks the Vinted category, and uploads photos to Depop.
Catching cookies and tokens
When a marketplace issues a fresh session cookie, the extension grabs it and tells Closo. This is how we stay logged in for days at a time.
Background session refresh
On a background tick (roughly every 30 minutes) the extension syncs whatever fresh cookies your browsing produced and actively refreshes Vinted's token. For Poshmark, Mercari, and Depop it opens a brief warm-up window on demand when a queued action needs fresher cookies.
Watching for status updates
When a listing posts, sells, or fails, the extension catches that signal and forwards it to Closo.
Importing inventory
When you import your existing closet from a marketplace, the extension is what scrapes through your listings.

Server's job

The Closo server is the part that thinks and stores. Specifically:

Storing your products and inventory
Every product, every photo, every status update — that's in our database, encrypted at rest.
Orchestrating the queue
When you submit 50 crosslists at once, the server decides which order to send them to the extension and what rate is safe per marketplace.
Running the AI features
Trend Forecast, Price Finder, Title Booster, Auto-Pricer — all run server-side using your historical data.
Showing dashboards and reports
Analytics, Live Activity, Sales — these read from the database. No extension involvement.
Talking to eBay and Shopify
eBay and Shopify have proper APIs, so the server talks to them directly through OAuth. The extension does eBay/Shopify cookie management for resilience, but the heavy lifting is server-side.

Why split this way?

Anything that needs to look like normal seller behavior (listing, browsing, refreshing) goes through your browser via the extension, because that's the only way marketplaces accept it. Anything that needs durable storage, big compute, or AI runs server-side because browsers can't do that well. The split happens at the boundary of 'does this need to be you?'

If you want the deeper rationale, see /help/a/why-closo-needs-an-extension.

What this means for reliability

Both pieces need to be working for Closo to feel snappy. If the extension is uninstalled, queued listings sit waiting until you reinstall. If Closo's server is down (rare), your inventory dashboards stop refreshing but already-queued items can still finish through the extension.

When something doesn't seem right, knowing which side is responsible saves you a lot of time. A yellow marketplace badge is usually the extension. An empty dashboard is usually the server. We have a status page for our server-side at status.closo.co — bookmark it.

Open dashboard