In short
Your camera feed is never recorded, stored, or uploaded to any server. Motion detection runs entirely on your phone. Your profile and workout history are kept on this device only; we operate no server, no accounts, and no user database. Apart from ads (Google AdMob) and subscription purchases (Google Play), the app only makes a brief connection check that carries no app data.
1. Who and what this policy covers
This policy covers Luvimo, a mobile application developed by Batvirgen and distributed through Google Play (package name com.luvimo.app). By downloading and using the app you accept the practices described here.
Luvimo is an exergaming app: it uses your phone's camera to detect body movements — push-ups, squats, arm raises and similar — and turns them into game controls.
Data controller and contact
Batvirgen
Email: support@batvirgen.com
Web: batvirgen.com
Google Play developer page: play.google.com/store/apps/developer?id=Batvirgen
2. Camera and motion detection
The app requires camera permission to work. How the camera is used is the most important section of this policy:
- The camera runs only while a game screen is open. It is off on the home screen, in statistics, in settings, and whenever the app is in the background.
- Camera frames are processed in the device's memory. An on-device pose detection model extracts the coordinates of your body joints from each frame, and those coordinates control the game.
- Frames are never written to disk, never saved as photos or video, never added to your gallery, and never sent to any server. Each frame is discarded from memory immediately after it is processed.
- The extracted skeleton and joint coordinates are not stored either; they are used for the current frame and then discarded.
- No face recognition, identification, biometric matching, or person recognition is performed.
- Motion detection itself never uses the network.
You can revoke camera permission at any time in your device's system settings. Without it the games cannot be played, but the rest of the app still opens.
3. Data stored on your device
The following data is kept in your phone's app-private protected storage, which other apps cannot read. None of it is sent to us or to any third party.
| Data | Contents | Why |
|---|---|---|
| Profile | The nickname you enter, chosen avatar, body weight (kg), daily goal (minutes), profile creation date | Calorie estimation and daily goal tracking |
| Workout history | Per session: game, start time, duration, detected rep count, estimated calories, best score, number of rounds | Statistics, streaks and badges |
| Play credits | Remaining daily plays and the last refill day | Daily play allowance, refreshed once a day |
| Preferences | Language, sound effect level, notification preference | Remembering your settings |
| Subscription state | Whether Luvimo+ is active, which product, last verification time | Remembering your Luvimo+ status between launches |
Storage does not grow without limit: only the most recent 1,000 workout sessions are kept; older ones are removed automatically.
Health data note: Rep counts and calorie figures are estimates, not medical measurements. They are not shared with Google Fit, Health apps, or any other health platform, and never leave your device.
4. Advertising (Google AdMob)
The free version shows ads. Ads are served by Google AdMob, which is the main third party the app shares data with.
- To serve ads, Google's advertising infrastructure processes certain device information: your Advertising ID, IP address, device model and operating system, approximate (IP-based) location, and ad interactions such as impressions, clicks, and whether a rewarded ad was watched.
- For this reason the app declares the
com.google.android.gms.permission.AD_IDpermission; it is added and used by Google's advertising library. - This data is collected by Google and is governed by Google's own policies. We do not access, store, or use it for our own purposes.
- Ads are filtered for adult content (maximum content rating: Teen).
- Ads never interrupt gameplay. They appear only when leaving a game after a round has been played, or at your request (rewarded ads for extra plays or to continue where you left off).
Users in the EEA, UK and Switzerland: On launch the app asks for your consent using Google's User Messaging Platform (UMP). If you decline personalised ads, non-personalised ads are shown instead. You can change your consent choice later from the same form.
You can reset or delete your Advertising ID at any time in your device settings (Android: Settings → Google → Ads).
Google's data practices: How Google uses information from sites or apps that use our services · Google Privacy Policy.
If you subscribe to Luvimo+, the advertising layer is never initialised — the ad SDK is not started, no consent form is shown, and no ad request is made.
5. Subscriptions and purchases (Google Play)
Luvimo+ is an optional auto-renewing subscription that removes ads.
- Payment is handled entirely by Google Play. Card details, billing address, and payment instrument data are never entered into the app and are never seen or stored by us.
- The app only asks Google Play whether an active Luvimo+ subscription exists on this device. The only things stored on the device from that answer are: subscription status, product identifier, and last verification time.
- Your purchase history, refunds, and cancellations are tied to your Google account and are managed from Google Play.
- No server of ours is used to verify subscriptions; no identity or account information is sent to us.
How Google Play handles payment data: Google Privacy Policy.
6. Notifications
The app can send a streak reminder as a local notification. "Local" means it is scheduled and fired by your phone itself: there is no push server, no device push token is created, and nothing is sent anywhere.
- Notifications are off by default. You are asked once after your first workout; if you decline, you are not asked again.
- At most one reminder is scheduled at a time, so you never receive more than one notification per day.
- So that a scheduled reminder survives a restart, the app declares the
RECEIVE_BOOT_COMPLETEDpermission; no data is collected through it. - You can turn them off at any time from the app's settings screen or your system settings.
7. Permissions requested
The permissions the app uses and what they are for. Only the first two are shown to you as a prompt; the rest are technical permissions granted at install time.
| Permission | Used for | Are you asked? |
|---|---|---|
| Camera | Motion detection (footage is never stored or uploaded) | Yes — required for the games |
| Post notifications | Streak reminder | Yes — optional, off by default |
| Internet and network state | Loading ads, checking subscription status, and a brief connection check before a game | No |
| Advertising ID and ad measurement | Google AdMob ad serving (section 4) | No — never used with Luvimo+ |
| Billing | Luvimo+ subscription | No |
| Run at boot | Keeping a scheduled reminder after a restart | No |
| Vibration | Vibrating when the reminder notification arrives | No |
| Audio settings | Matching effects to your phone's sound profile | No |
| Wake lock | Technical permission required by Google's advertising library | No |
In addition, the notification library automatically adds launcher permissions for various phone manufacturers so that a badge can be shown on the app icon. Luvimo keeps the badge counter switched off and does not use these permissions; none of them touch personal data.
Permissions never requested: The app cannot access your microphone, location, contacts, messages, call history, photos and files, or the list of other installed apps, and it cannot draw windows over other apps. These permissions are not present in the app package at all: the audio-recording (RECORD_AUDIO), storage-access and draw-over-other-apps permissions that the bundled open-source libraries add by default have been deliberately stripped out because they are not needed. Recording audio or reading your files is therefore technically impossible.
8. Sharing and selling of data
We do not sell, rent, or share your personal data for any purpose other than serving ads. The only third parties involved are:
- Google AdMob — ad serving and measurement (section 4).
- Google Play Billing — subscription transactions (section 5).
- Connection check — a short, empty request to a Google address to confirm connectivity and read the current date. No app data is included; as with any web request, your IP address is visible to Google.
The app contains no analytics or crash-reporting tools and no third-party SDK that tracks usage behaviour. There is no social login, friend list, leaderboard, or cloud backup.
Should a legal request arrive, we hold no user database to disclose.
9. International data transfers
Data kept on your device never leaves your country. However, Google AdMob and Google Play operate on global infrastructure, so the data described in sections 4, 5 and 8 may be processed on servers outside your country. Those transfers are subject to Google's own contractual safeguards.
10. Retention and deletion
Data on your device stays there until you delete it. There are two ways to remove it completely:
- In the app: Settings → Reset All Data. Your profile, workout history and statistics are permanently deleted. (An active Luvimo+ subscription is deliberately unaffected, so paying users are not penalised.)
- By uninstalling: Removing the app makes the operating system delete all of its local data.
Both actions are irreversible, and since we hold no copy, the data cannot be recovered.
11. Your rights (GDPR / KVKK)
Because we hold no central copy of your personal data, you exercise your rights of access, rectification and erasure directly on your device: you can view your data in the app, edit your profile in settings, and erase everything with "Reset All Data".
Data generated by advertising (section 4) is processed by Google, so access and deletion requests concerning it must be directed to Google; you may also reset or delete your Advertising ID in device settings. In the EEA and UK you can withdraw your personalised-ads consent at any time (section 4).
For any question, request or complaint about this policy: support@batvirgen.com. Requests are answered within 30 days at the latest.
12. Children's privacy
Luvimo is not directed to children; its target audience is 13 and older. We do not knowingly collect personal data from children under 13 — the app sends no user data to any server at all. If you are a parent or guardian of a child under 13 and have a concern, please write to the address above.
Although ads are filtered for adult content, ad serving is not configured as a child-directed service. Users under 13 should not use the app without parental supervision.
13. Security
Data is stored in an app-private area protected by your device's operating system and cannot be read by other apps. Because the data is not transmitted over a network, there is no interception risk. That said, no app's data is fully safe on a rooted or compromised device; keep your device updated and screen-locked.
14. Changes to this policy
This policy may be updated as new features are added. When it is, the effective date at the top of this page changes. Significant changes will also be announced inside the app. Continuing to use the app after a change means you accept the updated policy.
15. Contact
Batvirgen
Email: support@batvirgen.com
Web: batvirgen.com
Google Play: Batvirgen developer page
App: Luvimo (com.luvimo.app)