Privacy
This is the whole of it. There is no analytics script, no ad tag and no third-party tracker. What our servers hold is listed below, and the camera is never part of it.
Last updated 28 September 2026
The camera never leaves the room
Pose detection runs in your browser, on frames that stay in your browser. Nothing is recorded, nothing is uploaded, and no frame is kept after it has been measured.
Stopping the camera releases it — the browser's own indicator goes out with it.
The counting loop makes no network requests
The pose model and its runtime are served by this site itself — no third-party CDN sits anywhere in the counting path. Once loaded, counting works with the network unplugged.
What is stored, and where
On this device: one localStorage key, squat-counter/v1 — your totals, the queue, saved queues, preferences and dismissed notices. On the free plan, training data lives only in the browser tab and ends with it.
In our database (Supabase), for signed-in users: your email address and your profile — voice, beep and rest preferences, your daily goal, and your queue. For Pro: additionally your workout history — dates, times, movements, per-set counts and tempo averages, and your saved queues — so your record survives this browser and follows you between devices.
Every row is protected so only your own sign-in can read it. Nothing in it came from the camera: no image, no frame, no landmark has a place to be stored, by schema.
Accounts and email
Signing in is passwordless: we email you a short-lived code (delivered via Resend, our email provider, which processes your address for that purpose only). Your email address is the account.
Closing your account (Settings) deletes your rows from our database and wipes this browser, in that order. What no longer exists cannot be restored.
Children
This isn't a service aimed at children, and since nothing is collected, nothing about a child is collected either.