Privacy policy
Effective 7 September 2026 · Kinetempo for iOS and Android · Developer: Eugene Samotija, DEFENCY NET, SRL (Moldova) · Contact: es@defency.net
Summary
Kinetempo does not collect personal data. There are no accounts, no advertising and no third-party SDKs that track you. Everything you create in the app — exercises, programs, timings, videos and animations you attach — is stored only on your device. The app measures one thing, and only one: when you import a program from the public catalog, that program's counter goes up by one, so the catalog can be ordered by what people actually use. It carries the program's identifier and nothing else — not who you are, not which phone, not what else you imported — and you can switch it off in Settings.
Data stored on your device
- Exercises and programs you create or import (names, descriptions, timings).
- Videos or animation files you choose from your library, copied into the app's private storage.
- App settings (language, sounds, vibration) and the state of a running session so it can resume after a restart.
- A list of the programs you sent to the public catalog — the pull request number, its title and the date — so the app can show you what the review decided. It stays on the device; nobody else can read it.
You can delete all of it by deleting the corresponding items in the app or by uninstalling the app.
Network access
- Public catalog. The Library tab downloads a public list of programs from this website (hosted on GitHub Pages). The request contains no personal data beyond what any web request carries (your IP address and a user-agent string), which is handled by GitHub under GitHub's privacy statement.
- Links you open. YouTube videos, Lottie animations or web links attached to an exercise are loaded from their own hosts when you open them and are subject to those hosts' policies.
- Sharing. When you share a program by link, QR code or file, its content is encoded into the link or file you send. Attached local videos are never included. Nothing is uploaded by the app.
- Sending a program to the public catalog. This is the only thing the app uploads, it happens only when you choose Send to the catalog and confirm, and never in the background. The request goes to
submit-kinetempo.defency.net, a Cloudflare Worker we run, and carries two things: the program itself (its name, description, steps and figure) and the interface language. It carries no name, no e-mail and no identifier — the app has no account and asks for none. The Worker opens a public pull request on github.com/selic/kinetempo-catalog containing that program, so whatever you wrote in it becomes public and cannot be withdrawn once it is submitted. Do not put anything private in the text you write. To limit abuse the Worker counts submissions per IP address and keeps that counter for one hour; the IP is not stored anywhere else and never reaches the pull request. So that the same program sent twice does not open a second request, the Worker also keeps a fingerprint — a hash of the program's name and timings, from which the program cannot be reconstructed — next to the address of the request it opened, for 90 days. Nothing is published until a maintainer reviews and merges it by hand. - Counting an import from the catalog. When you press Import on a program you opened from the public catalog — not when you browse the Library, not when you open a program, and never in the background — the app tells the same Worker that that program was imported. The request carries one identifier, the program's, which is public in the catalog anyway. It carries nothing about you and nothing about your phone: no account, no device id, no installation id, no cookie. The Worker keeps a single number per program and no record of which programs any one person imported, so nothing here can be traced back to anyone — including by us. To keep the numbers from being trivially inflated it counts requests per IP address for an hour, as above, and that hourly counter does not record which program was named. A program imported from a file, a QR code or a share link is not counted at all. Settings → Count catalog imports turns it off, and off means the request is never made.
- Following a submission. My submissions asks the same Worker what became of the pull requests this device opened, and the app asks once when it starts, as long as something is still waiting — that is how the counter on the Settings tab knows a review has decided. The request carries only their numbers, which are public on GitHub anyway, plus your IP address, counted for one hour as above. The Worker cannot tell that those requests came from one person, and answers only with what is already visible on the public pull request: open, accepted or declined.
This website
The pages you are reading are served by GitHub Pages and set no cookies, run no analytics and load nothing from a third party. One thing on the catalog page is worth naming: when you press Open in Kinetempo on a programme, the page tells our Cloudflare Worker at submit-kinetempo.defency.net that that programme was opened, so the catalog can be sorted by what people actually use.
What the Worker keeps is a single number per programme and nothing beside it — no address, no identifier, no cookie, no record of which programmes any one visitor opened. To keep the numbers from being trivially inflated it counts requests per IP address for an hour, the same way the submission endpoint does, and that hourly counter does not record which programme was asked about. Nothing here is shared with anyone, and nothing here can be traced back to a person — including by us.
The app counts the same thing in the one case described above — a program you import from the catalog. Browsing the Library tab, opening a program, running a timer: none of it is counted anywhere, on the website or in the app.
Permissions
| Permission | Why |
|---|---|
| Photo library | Only when you attach a video from your gallery; the file is copied into the app. |
| Camera | Only when you scan a QR code to import a program. No images are stored. |
| Notifications (Android) | To show the running timer as an ongoing notification with a countdown. |
| Background audio (iOS) | So the timer's sound cues keep playing while the phone is locked. |
Health data
Kinetempo does not read or write Apple Health, Google Fit or any medical records. Programs you import from the public catalog are published by their authors and are not medical advice.
Children
The app is not directed at children under 13 and does not knowingly collect information from anyone.
Changes
Updates to this policy are published on this page with a new effective date.