Trust
Security
CLAIR is a single-user, local-first desktop application. There is no CLAIR server holding your data, and no multi-tenant boundary to defend, because there is no shared tenant. Here is what the design actually protects, and what it does not.
Trust boundaries
Three boundaries, in priority order
Your machine
Everything inside is trusted at the level of your own OS user account. CLAIR does not defend your data against another program running as you; such a program could already read your files directly.
The local API
The backend answers only on 127.0.0.1 and refuses any connection from another device. A random, per-session shared token authenticates the app's own window to its own backend, so another program, or a web page in your browser, cannot quietly call into it.
The network
No dataset content ever crosses this boundary on CLAIR's own initiative. The three uses that do cross it, model download, update check, and license renewal, are documented in full on the network contract page, each carrying a fixed, non-content payload.
The priority order behind the design is confidentiality of your data first, correctness of the answers CLAIR gives second, and availability of the app itself a distant third; a single-user desktop app going down is an inconvenience, not a breach.
The local API token
A shared secret between the window and its own backend
CLAIR's app window and its local backend are two separate processes on your machine, talking over an ordinary local connection. A long, randomly generated token, held only in a file inside CLAIR's own local data folder, authenticates that connection. It is regenerated on every launch, so even if it were ever exposed, its usefulness is bounded to a single session.
This defends against a web page in your normal browser, or another device on your network, trying to reach into CLAIR's local API. It is not designed to defend against a program already running as you on the same machine, for the reason above: that program could already read your files.
Installing CLAIR
Per-user install, and an honest note about the alpha installer
CLAIR installs per Windows user account rather than machine-wide, so it does not need administrator rights and keeps your data under your own user profile, consistent with the trust boundary above.
During the alpha, the Windows installer is not code-signed. Windows SmartScreen will show an "unknown publisher" warning the first time you run it. This is expected for the alpha, not a sign anything is wrong; installers will be code-signed before any wider release.
Licensing
Device-bound, signed licence tokens
A license is bound to your device by a hash of a stable identifier, never a raw identifier such as a MAC address or serial number, and the license server signs a token with an Ed25519 key that only the server holds. CLAIR checks that signature locally, offline, every time it verifies your license; obtaining or renewing the token is the only step that needs a network connection, covered on the network contract page.
Out of scope
Said plainly, not buried in a footnote
- A malicious program already running under your own user account: this is the standard local-application trust model, the same one any offline desktop app relies on.
- Physical theft or loss of an unencrypted device: use your operating system's full-disk encryption, the same guidance CLAIR itself surfaces in Settings.
- A compromised operating system or hardware below the app layer.
- Denial of service by another process on the same machine: a best-effort concern for a single-user desktop app, not a priority.