Updated 21 September 2026: since tracker v6.2.6 the automatic photo check is off by default; the admin sets it up in the app.
Why Photo Analysis Is a Privacy Matter
The Chastity Tracker can analyse photos — for example to read handwritten control codes, verify seal numbers or recognise the device being worn. This is convenient: a photo proof can be verified automatically instead of the keyholder checking every image by hand.
But these photos are sensitive. They show intimate situations, and even a seemingly harmless picture of a handwritten code is part of your private setup. When such images go to an external AI service for checking, they leave your control. That is exactly the point where a convenience feature becomes a privacy matter. That is why the photo check is off by default; whoever switches it on decides as admin in the app where the images go. The local analysis this post is about is one of those choices.
The Alternative: Your Own Vision Model
Instead of handing photos to an external service, in a self-hosting setup you can run your own vision model directly on your hardware. Tools like Ollama make this accessible: a local model — for example a LLaVA-style vision model built on the CLIP encoder — processes the image entirely on your server.
The crucial difference: image encoding happens locally before a model even responds. There is no intermediate call to an external service — and no silent fallback to one if the local model goes down; a photo then simply counts as unverified. Set up this way, your intimate photos never leave your own server.
What This Looks Like in Practice
In a self-hosting setup, an Ollama service with a loaded vision model runs alongside the tracker container. When a photo proof arrives:
- The image is stored on your server.
- The tracker passes it to the local model.
- The model reads the code, checks the seal number or recognises the device.
- The result flows back into the tracker — set up this way, the image was never outside your hardware.
An Honest Assessment: Effort and Hardware
This sounds ideal, but it has a price. Local vision models need real compute — for a usable 7B model you should expect several gigabytes of VRAM. On a small mini-PC without a GPU it will run slowly or not at all. Add to that the setup effort: installing Ollama, choosing a model, entering the connection in the app's admin area.
In short: local AI only makes sense for self-hosting, and only if you have the right hardware and are willing to get your hands dirty.
The Other Paths, Stated Honestly
Local AI is not the only path:
- No AI at all — the default: The judgement rests with the human keyholder, who checks every photo by eye. This is the most data-minimal option of all and needs no additional infrastructure.
- External AI service with your own key: Convenient, no hardware of your own needed — as admin you enter an API key in the app for Anthropic, OpenAI, Google Gemini, Mistral or another compatible service. In return, the images leave your system for the check and go to that provider. A legitimate choice if convenience matters more to you than maximum data sovereignty — as long as you know what you are giving away.
A Note on the Portal
The portal (portal.chastitytracker.ch) is a free friendship service where instances run on trublue's server — there you have no control over the underlying hardware. New portal instances come without an AI key; in the long run the photo check there, too, only runs with the service you enter yourself as the admin of your instance. If you want maximum sovereignty over intimate photos, there is no way around your own self-hosting.