GeoTrack records your trips for a server you run yourself. It keeps a position every time you move far enough, reads your workouts from Health with their heart rate and route, and sends the photos you pick as small copies, with the time and place they were taken. Everything goes to one address: the server you enter in Setup, under your token. No account, no analytics, no advertising. Three modes: Auto records and sends by itself, Manual records and sends on your tap, Paused records nothing. The Status screen says in one line whether the app records and what waits, and lists what keeps it from working, such as a missing permission or a token the server refuses. GeoTrack needs a server that speaks its small HTTP contract (three POST routes, documented in the project). Without one it records and waits. Background location is used for one thing: your positions, recorded continuously while the mode is Auto or Manual. Health data is read, sent to your server, and used for nothing else.