Privacy and costs
What is sent where, what costs money and where your files are kept.
What leaves your machine#
| Where | When | What is sent |
|---|---|---|
| Your Calibre Content Server | Always; by default it is on your own computer (http://localhost:8080) | Requests for your library, book files and covers; the changes you accept; new books you bring in |
Open Library (openlibrary.org, covers.openlibrary.org) | Looking for covers, unless you turn Look online off; Look up metadata, when you run it; checking the books Grow a shelf suggests | The book's ISBN, title and author |
Google Books (www.googleapis.com, and cover images on books.google.com) | The same, only if you add an API key | The book's ISBN, title and author, and your key |
| An image address you paste | Replace cover, when you paste an address | One request for the image |
| The providers you set up in Model Hub | Anything that uses a model | For summaries and chapter notes, the book's text. For lookups, its first pages. For shelves, titles, authors and a sample of each book's text. For Grow a shelf, the shelf's titles and authors. For Publish a book, its public facts and the summary already in its note. Research and publishing may have the model search the web |
| The buy links on a published book page | Publish a book | One request to each link, to check it answers |
| Web addresses inside a book | When you read a book whose pages point to images or fonts on the web (most books carry everything inside them) | The reader loads them as a browser would. Scripts in a book never run |
Readwise (readwise.io) | Only if you turn it on | Your access token, asking for your highlights |
Hardcover (api.hardcover.app) | Only if you turn it on | Your API token, asking for your books, statuses, ratings and dates |
| Your OPDS catalog | Only if you turn it on | Requests to the address you give, with your login or the key in it; a book's file is downloaded when you open it |
| Your Audiobookshelf server | Only if you turn it on | Requests to the address you give, with your API key |
Audible (api.audible.com, or your marketplace's api.audible.*) | Only in builds made with Audible (released copies leave it out), and only if you turn it on | Requests signed with the login you imported, listing your library |
Model calls go through Model Hub. With a local provider there, a book's text never leaves your computer.
Readwise, Hardcover, OPDS, Audiobookshelf and Audible are read-only, and nothing from your vault is sent to them. Audible has no public API, so reading it is unofficial and Audible's terms may not allow it. Sharing shelves sends nothing: it writes files in your vault for you to publish.
There is no telemetry and there are no ads.
Files outside your vault#
Library Hub reads these and never writes them.
| What | When |
|---|---|
Your Calibre library folder: metadata.db, each book's cover.jpg, book files | Only if you set Library folder in Calibre's Connect…. metadata.db is read, read-only, when the server doesn't answer; covers when there's no server; a book's files when the server can't supply them |
| Your folder for new books | Only if you choose one. It is listed every minute while Obsidian is open, and a book file is read when you bring it in. The file goes only to your Calibre server |
The login file audible-cli made (usually ~/.audible/audible.json) | When you pick it in Import login…, in builds with Audible. Three fields of it are kept |
Other programs#
Library Hub starts no program. It needs Calibre's Content Server, which you run, and the Model Hub plugin. Audible needs a login made once with audible-cli, an outside program you install and run yourself.
What costs money#
Library Hub is free. Syncing notes and finding covers cost nothing. The providers you set up in Model Hub may bill you for the rest:
- Summaries are the large cost: a whole book's text is read. A summary of one book starts at once and shows its cost as it runs, with Cancel; a shelf's summaries and chapter notes show an estimate first.
- A shelf from a description reads the books that share its words, a few dozen at a time. It shows an estimate first.
- Lookups read a few pages per book. With Model Hub 0.13 or later, the window shows what the model calls may cost.
- Find duplicate author names asks one small decision per pair of similar names. With Model Hub 0.13 or later, the window shows what they may cost.
- Grow a shelf is one small call per run: the shelf's titles in, a short list out. It shows an estimate first.
An estimate with Model Hub 0.13 or later is Model Hub's own, as a range: "about $0.02–$0.09" runs from every call getting a short reply to every call getting a full one. With an older Model Hub, it is the text going in at the model's listed price. Publishing searches the web, so its price says the provider's web search fee isn't counted: Model Hub can't know it.
A call billed well above its listed price stops a run. Model Hub's limits and budgets apply, and its usage view shows what Library Hub has spent.
Where things are kept#
| What | Where |
|---|---|
| Book notes | Books/Library by default |
| Shelf notes | Books/Collections by default |
| Review notes | Books/Review by default |
| Cover images | Books/Covers by default |
| The reading queue | Books/Up Next.md by default |
| The wishlist | Books/Wishlist by default |
| Author, series and highlight notes | Books/Authors, Books/Series and Books/Highlights by default |
| Year in review and library health | Books/Reading by default |
Chapter notes, and your private reading notes (_Reading notes.md) | A folder beside the book's note, named after it |
| A book's page | The summaries folder of your share template, or Book Summaries beside the notes folder |
| Shared shelves and share templates | The folders your share template names (Shelf exports for JSON-LD by default), and Share templates |
| The library Base and shelf Bases | Library.base and Shelf Members.base, when you ask for them |
| Settings, and the days you read (dates and page-turn counts only) | data.json in the plugin's folder, inside your vault's configuration folder |
| The write queue, its logs, and each Calibre cover saved before it is replaced | queue/intents.json, queue/runs/*.jsonl and queue/covers/ in the plugin's folder |
| Each note run, for Undo | notes/runs/*.jsonl in the plugin's folder |
| What it last wrote in refreshed fields | provenance.json in the plugin's folder |
| New books seen and shelves offered | arrivals.json in the plugin's folder |
| Shelf proposals | shelf-proposals.json in the plugin's folder |
| Book vectors from an earlier version | vectors/ in the plugin's folder: no longer read, left as it is; you can delete it |
| Logins and keys: Calibre, Google Books, Readwise, Hardcover, OPDS, Audiobookshelf and, in builds with Audible, the Audible device login | Obsidian's keychain |
Your Calibre library#
It changes only through the write queue, after you accept a change or bring in new books, and when you agree to an EPUB conversion that another plugin asked for.
Other plugins and agents#
Another plugin in your vault can read your book list, shelves and book files through this plugin's API, and ask it to change shelves or write a summary, as any plugin can read your vault.
Library Hub's tools are registered with Model Hub. An agent you connect there can read your books and shelves, and make changes as Model Hub's tool settings allow, asking you first by default.