The keys, so you do not need them
Qar needs a few outside services to be any good: one for posters and plots, one for the catalogue you browse, one for recommendations. Every one of them wants you to register, confirm an email and paste a key into a settings page before a single poster appears.
Sail is a small service we run that already holds those keys. A fresh install asks Sail instead, and has artwork and a catalogue from the first minute.
What it does with your data
It does not know who you are.
An install registers itself and gets a random token. There is no account, no email and no password, and nothing to sign in to. What Sail stores against that token is how much of today's allowance it has spent.
Lookups are shared, which is the whole point.
Asking about a film is the same question no matter who asks it, so the answer is cached and served to everyone after you. That is what makes one key able to serve thousands of installs — and why your lookups are indistinguishable from anyone else's.
Recommendations send titles, and only titles.
The one feature where your library crosses the wire. Sail receives a list of names, years and whether you watched them — no file paths, nothing about your machine — uses it to build a prompt, and does not store it.
Downloads have nothing to do with Sail.
Sail answers questions about films. It does not see, touch, proxy or know about anything you download; that happens on your machine, over your VPN.
The API
Qar talks to this for you. It is written down because a service that holds keys on your behalf should be legible, and because you may want to point something else at it.
Registers an install and hands back a token. No email, no account.
OMDb's record for a title, in OMDb's own shape.
Title search, for when you have a name and not an id.
The browsable catalogue that fills Discover, from TMDB.
Suggestions from a list of titles you already have.
What Sail can answer right now. No token needed.
Everything but /v1/capabilities takes the token as a bearer. Each install gets a daily allowance per category, returned in X-Quota-Remaining.
It is the same program either way
Sail runs the same provider code a self-hosted Qar runs — one shared package, used by both. There is no feature that exists only if you go through us, and switching to your own keys changes which key gets used and nothing else.
Use your own keys