What this sitecollects about you.
The application and this website are separate things, and it would be convenient to blur them together. The application sends nothing anywhere unless you ask it to check for updates. This website counts how many people visit it. Both are set out below.
Last updated 26 July 2026
This website
Page views, counted in aggregate
The site uses Vercel Web Analytics to count page views. It sets no cookies, writes nothing to local storage, and does not give you an identifier that follows you to other websites. That is not a claim taken from a vendor page: with the script running, this site’s own document.cookie and localStorageare both empty, and you can confirm that yourself in your browser’s developer tools right now.
There is no advertising network, no tag manager, no social tracking pixel, no session recording and no A/B testing tool. Nothing here is sold or shared with a data broker.
Nothing is loaded from anyone else
The typefaces are downloaded at build time and served from this domain, so your browser never asks Google for a font. The screenshots and the walkthrough video are served from here too. There are no embeds, no iframes and no external scripts beyond the analytics above. Loading this page does not tell any third party that you did — apart from the host serving it.
The host
The site is hosted on Vercel. As with any website anywhere, your IP address is necessarily involved in delivering the page to you, and the host keeps operational logs. That is a property of how the web works rather than a decision taken here, but it is still true, so it is written down.
If you email
The only contact point on this site is a plain mailto: link. There is no form and no signup box. If you write to contact@usekelvin.app, your message and your address arrive in an inbox and stay there. You are not added to a mailing list, because there isn’t one.
The application
Kelvin runs entirely on your Mac. There is no account, no upload, no telemetry and no crash reporting. A released build ships the model inside the app, so reading a photograph needs no network. The one outbound request a released build is allowed to make is the update check described below, and it is off until you turn it on.
- Account required
- None
- Photographs uploaded
- None
- Usage telemetry
- None
- Crash reporting
- None
- Network requests, released builds
- Opt-in update check only
The update check
A released build can keep itself current with Sparkle, the standard macOS updater. It asks before it ever checks automatically — decline, and it never checks. When it does check, it fetches a small XML file from this domain describing the newest version; like any web request, the server end sees an IP address. No photograph, no filename and no identifier travels with it, and nothing about your library is in the reply.
Your originals, and your metadata
Original files are never written to. Edits are stored separately as small JSON recipes, so the file your camera wrote stays exactly as your camera wrote it.
One thing here is worth reading properly. Exported photographs carry their original metadata by default, and that includes the location the photograph was taken. It is on by default, because quietly destroying something you might need later is the worse mistake. It does mean an exported file can tell someone where you were standing. One switch in the export options removes it, and if you are publishing photographs taken at home you should use it.
Changes, and asking
If any of this changes, this page changes with it and the date at the top moves. The site is a small static one run by an individual, William Wallace; questions about any of the above go to contact@usekelvin.app.