Download v0.1.0 · 8.5 MB
Guide

What “local” actually means in a bookmark manager

Almost every bookmark manager describes itself as local, private, or local-first, and the words are doing different work in each case. Four questions settle it, and you can answer all four before you install anything: is there an account, is there a server, where does the data sit on disk, and what leaves the machine and when. The last one is where most apps quietly differ from their own marketing.

Updated

The four questions

  • Is there an account? If the app asks you to sign up before it does anything, your collection has a copy somewhere with your name on it, whatever the storage page says.
  • Is there a server the app talks to by default? Not "can you self-host", but: with the default settings, on first launch, does it call home?
  • Where does the data sit on disk, and in what format? A named folder holding readable files is a different proposition from an opaque database you cannot inspect or move.
  • What leaves the machine, and at which moment? This is the one that matters, and the one most rarely answered in a straight sentence.

A good answer to the fourth question names the moment. "Nothing is uploaded" is a slogan. "When you press Return on a search, the words you typed are sent to be turned into numbers; the library is not" is an answer, because it can be checked and it can be wrong.

Local is not offline, and neither of them is private

Three words get used as if they meant the same thing.

  • Local means the data lives on your machine rather than on somebody’s server. An app can be entirely local and still make network requests all day.
  • Offline means it works with the network off. Very few things that involve a model are offline, because the useful models do not fit in an app.
  • Private means that what does leave is limited, named, and not retained. That is a claim about somebody else’s conduct, so it needs evidence rather than assertion.

An app can be honestly local and still send something. What separates an honest one from a vague one is whether it tells you what, and when, without being asked.

How to check without trusting anyone

You do not have to take an answer on faith. Three checks, in increasing order of effort.

  • Look at the data folder. Most Mac apps keep theirs in ~/Library/Application Support under the app’s name. Open it and see what is there: readable files, a database, or nothing at all because it is on a server.
  • Watch the network. Activity Monitor’s Network tab shows bytes sent per process, which is enough to see whether an app is talking while you are only browsing. A firewall of the Little Snitch kind will name the hosts.
  • Read the source, when there is source. An open licence is not a guarantee of anything on its own, but it converts every question above from a promise into something you or anyone else can check.

The first two take about a minute each and will tell you more than any storage page.

Where Unbury lands on its own four questions

It would be poor form to publish that list and not answer it here.

An account?
No. There is no sign-up, no login and no licence check. You need an API key from a model provider, which is your account with them, not one with us.
A server?
There is none to talk to. No server is run for this app, so there is nowhere for a collection to be stored even in principle.
The data on disk
~/Library/Application Support/Unbury — vault.json, which is plain text you can open and read, and vectors.bin, a flat block of numbers. Around 3 MB for 600 links.
What leaves, and when
Two things. At import, each page being described is fetched and its text sent to a model. When you press Return on a search, the question you typed is sent to be turned into numbers. Browsing, filtering and ranking never leave the Mac.

The uncomfortable part of that answer is the fourth row, and it is the reason this page exists rather than a badge saying "100% local". Unbury is local and it is not offline. Your library stays; your questions travel.

It costs nothing to install and the source is MIT-licensed, but it is not without cost to run: importing and asking spend your own key. Importing six hundred links cost about $0.42. A search costs thousandths of a cent, and browsing your own collection costs nothing at all.

Read nextThe full list of what is sent, what is written, and where

Questions

Is my bookmark data sent to a server?
Not by Unbury — there is no server behind it. Your library is two files in ~/Library/Application Support/Unbury and stays there. What is sent is the text of a page while it is being described at import, and the question you typed when you press Return, both to the model provider whose key you supplied.
Does a local bookmark manager need an internet connection?
For browsing and filtering an existing library, no. For anything that turns new text into meaning — importing a link, or asking a new question — yes, because the models that do that do not fit inside an app.
Does open source mean my data is private?
Not by itself. It means the claims are checkable rather than promised, which is a different and more useful thing: anyone can read what the app sends and where, and say so publicly if it does not match.