1. Short version#
Repvenge runs on your iPhone. There are no Repvenge servers, no Repvenge accounts, and no analytics service anywhere in the app.
- We do not know who you are. There is no sign-up, no login, no email address, no username, no user id, no device id and no advertising identifier.
- The app has no backend and sends nothing about you anywhere. It opens exactly three kinds of connection, all of them ones you start: Apple's App Store, when a purchase or restore is involved; and this website, when you tap Privacy Policy, Terms of Use or Help & Support in the app — those pages load in an in-app browser and reach Cloudflare like any other web request, which section 10 explains.
- The camera counts push-ups and nothing else. Each frame is analysed on your phone as it arrives and then discarded. No video or photo is recorded, saved to disk, or sent anywhere.
- We cannot see which apps you shield. Apple gives the app sealed tokens, not app names. Even we cannot turn them back into a list of your apps.
- Everything Repvenge stores is on your device — your settings and your progress. Deleting the app deletes all of it.
One honest qualification, because an unqualified "we collect nothing" would not be true at every layer: this website is hosted by Cloudflare, and like any web host Cloudflare records ordinary server request logs that include your IP address. Section 10 explains exactly what that means. The app has no backend of its own. It does reach this site when you tap Privacy Policy, Terms of Use or Help & Support inside the app — those pages open in an in-app browser and load from Cloudflare like any other web page, which is the one case where using the app produces the server-log entry described below.
2. Who we are and how to contact us#
Repvenge is published by Minh Quy Huynh. Under UK and EU data protection law Minh Quy Huynh is the controller for the processing described in this policy — we decide why and how the app processes anything, even though the processing happens on your phone and we never receive the results.
- Privacy questions, support and complaints: repvenge@netvi.app
- This policy lives at https://repvenge.netvi.app/privacy
If you email us, we receive your email address and whatever you choose to write. We use it to answer you and nothing else. The Contact button in the app opens your mail app with a draft that already contains the app version, your iOS version and your device model (for example iPhone16,2), because those three lines are what a bug report usually needs. You can delete them before sending, and nothing is sent unless you send it. If your iPhone has no mail app set up, that button opens our support page at https://repvenge.netvi.app/support instead.
Our legal basis. For the processing that happens on your phone — analysing camera frames to count reps (section 4.1), applying and removing shields from the apps you chose (section 4.2), and keeping your settings and progress so the app works between launches (section 4.3) — our lawful basis under UK and EU GDPR is Article 6(1)(b), performance of the contract you entered into when you chose to use those features; you turn each of them on yourself and can turn each off (section 13). For the server logs of this website our basis is Article 6(1)(f), legitimate interests, as section 10 explains. We rely on consent for nothing else, and we carry out no processing of special-category data.
3. What we collect#
Nothing.
Repvenge has no user accounts, no sign-in, no guest identity and no automatically generated user id. It does not ask for or receive your name, email address, phone number, date of birth, postal address, contacts, photos, location or health records. It does not read the device identifier or the advertising identifier, and there is no App Tracking Transparency prompt because there is nothing to track. The app sets no cookies — an app cannot, and this one does not use any web view for its own content beyond opening these legal pages.
There is no analytics SDK, no crash reporting SDK, no attribution or measurement SDK, no advertising SDK and no remote configuration service in the app. There are, in fact, no third-party SDKs at all — only Apple's own frameworks.
Repvenge asks for exactly two permissions, both only when you first need them:
- The front camera, to count your reps. See section 4.1.
- Screen Time (Family Controls) authorization, so the app can shield the apps you chose. See section 4.2.
That is the entire permission surface. Repvenge does not request the microphone, the photo library, location, contacts, calendars, Bluetooth, HealthKit or Motion & Fitness. The spoken rep count during a workout is text-to-speech played out of the phone; the microphone is never opened.
4. What happens on your device#
Repvenge does a lot of processing. All of it happens on your iPhone, and none of the results leave it. This section is deliberately specific so you can check it against what the app actually does.
4.1 Camera and body-pose detection#
The permission prompt says: "Repvenge uses the camera to count your push-ups. Video never leaves your phone." That is exactly what happens.
While a workout screen is open, the front camera runs and you always see the live preview — the capture session starts when that screen appears and stops the moment you leave it. Each frame is handed to Apple's Vision framework, specifically its human body pose request, which returns the estimated positions of body joints. Repvenge uses thirteen of them: neck, both shoulders, both elbows, both wrists, both hips, both knees and both ankles. The app measures the angles between them to decide when you have gone down and come back up, and adds one to the count.
Then the frame is gone. It is never written to disk, never added to a photo library, never recorded, never buffered for later and never transmitted. The joint positions are held in memory for the length of the movement and are not saved either. What survives a workout is a number: how many reps you did. Nothing else.
On biometric identification, plainly. Some US state laws — Illinois BIPA, Texas CUBI, Colorado's biometric provisions — regulate biometric identifiers such as retina and iris scans, fingerprints, voiceprints and scans of hand or face geometry, and information derived from them. Repvenge captures none of those things:
- It keeps no face landmarks. Apple's body-pose model always returns a fixed set of points, five of which are head points (nose, eyes and ears); Repvenge reads that set once per frame, copies out only the thirteen body joints listed above, and lets the rest fall out of scope unread. No head point is ever measured, stored, drawn or acted on, and no face geometry is computed from them.
- It does not measure hand geometry or face geometry, and does not build a template of anyone.
- It never compares what it sees against any database, of its own or anyone else's, because there is no database and no network call. There is nothing it could compare against.
- It cannot tell one person from another, and does not try to. If a friend does your push-ups on your phone, Repvenge counts them for you.
- Nothing derived from the camera is retained. There is no stored pose data, no keypoint history and no video, so there is nothing held that could later be used to identify anyone.
We do not ask you to consent to biometric processing, because we do not carry it out. If that ever changes — if Repvenge ever needed face landmarks, or ever wanted to keep pose data across sessions — we would not ship it under this policy. We would rewrite this policy, ask you first, and say so at the top of the page.
4.2 The apps you shield#
You pick the apps to shield using Apple's own picker (FamilyActivityPicker). Apple deliberately does not tell the app what you selected. What comes back is a set of opaque tokens — sealed handles that only iOS can interpret. There is no supported way for Repvenge to turn a token back into an app name, a bundle id or an icon, and we do not attempt to reconstruct them, infer them, or profile you from them. When the app shows your selection it is Apple's own system UI doing the drawing, not us.
Those tokens are stored in the app group container group.app.repvenge.ios, which the app shares with its Screen Time monitoring extension. The extension needs them so it can re-apply the shields when an unlock window runs out. The tokens are used for one purpose: to apply and remove shields on your own device.
Data related to Screen Time and Family Controls is never shared with anyone, never used for advertising or advertising measurement, and never provided to a data broker. Apple's developer terms require that, and we would not want it anyway — there is no server to send it to.
Repvenge is a self-use product: you restrict your own device. It is not a parental-control or device-management product, and the app asks for individual authorization only.
4.3 Your settings and your progress#
To work at all, Repvenge has to remember a few things between launches. All of it is stored in UserDefaults on your device. Nothing here is transmitted, and none of it identifies you.
In the shared app group container group.app.repvenge.ios:
| What | Key |
|---|---|
| Your deal: seconds of screen time earned per rep, per exercise | entitlements.secondsPerRep |
| Unlocks used today | entitlements.unlocksUsedToday |
| The date the daily counters last reset | entitlements.lastResetDate |
| The sealed app-selection tokens from section 4.2 | blocker.familySelection |
| Your screen-time balance and the state of the current metering window | blocker.balanceSeconds, blocker.windowStartBalance, blocker.meteringFallbackEnd, blocker.meteringArmedAt, blocker.meteredEventCount |
| Whether the Screen Time extension is alive, and its last error, so the app can tell you when shielding has stalled | blocker.monitorHeartbeatAt, blocker.monitorHeartbeatName, blocker.lastSpuriousEventAt, blocker.extensionError |
| Whether the spoken rep count is on | workout.voiceEnabled |
In the app's own defaults:
| What | Key |
|---|---|
| Whether you have finished onboarding | onboardingComplete |
| Which version of our Terms of Use you accepted, and when | legal.acceptedTermsVersion, legal.acceptedAt |
| Total reps ever counted | game.totalReps |
| Reps per day, which drives your streak | game.dailyReps |
| Screen-time seconds banked per day | game.dailySeconds |
| Reps per exercise | game.repsByExercise |
| The exercise you last chose, and your daily rep goal | game.selectedExercise, game.dailyGoalReps |
Every one of these is strictly necessary to provide the service you asked for: without them the app forgets your deal, your balance, your shields and your streak between launches. Under UK PECR this is the "strictly necessary" exception, so we do not ask for consent to store them — but you can clear them all at any time by deleting the app (section 12).
4.4 The local diagnostics log (switched off in this release)#
Repvenge ships with a local event-logging facility that is switched off in this release. No events are recorded, no log file is created, and nothing is written to the iOS system log. The paragraphs below describe what the facility would do if it is ever switched on — and this section, the App Store privacy label and the privacy manifest would all be updated in the same release if it were.
- Where: one file at
Documents/repvenge-events.loginside the app's own container, plus at most one rotated copy (repvenge-events.1.log). Each file rotates once it passes 1 MB, and the older copy is overwritten. - What: one JSON line per event — a timestamp, an event name from a fixed list (app launched, onboarding completed, camera granted or denied, workout started, rep counted, goal reached, paywall shown, purchase succeeded or failed, and similar), and a small dictionary of context values such as a rep count.
- What it is not: there would be no identifier in it. No user id, no device id, no IP address, no app names, no camera data, no pose data, and no age information (see section 16).
- Where it would go: nowhere. It would never be uploaded, and there is no code in the app capable of uploading it. It would be readable only by Repvenge itself and by you. The same event names would also be written to the iOS system log on your device, which you can see if you attach your iPhone to a Mac; that too stays on your machines.
Because it is not strictly necessary, logging is off in this release: Repvenge 1.0.0 records no events and creates no log file. If event logging is ever switched on, this section will be updated in the same release and a one-tap off switch with a delete control will be added to Profile at the same time.
5. On-device machine learning#
Repvenge's rep counting is machine learning, and it runs entirely on your iPhone using Apple's Vision framework, which is part of iOS. Nothing about the pipeline touches a server.
No data from Repvenge is sent to any AI or machine-learning service — not ours, not Apple's cloud, not OpenAI, Anthropic, Google or anyone else. No images, frames, joint positions or workout data are used to train any model, ours or a third party's. If we ever wanted to add a feature that sent anything to an AI service, we would have to ask your explicit permission first and change this policy to say so.
6. What we never do#
To be concrete rather than reassuring:
- We do not track you across other companies' apps or websites, and we have no advertising identifier, no ad network, no measurement partner and no data broker relationship.
- We do not use camera frames, pose data or anything derived from the camera for marketing, advertising or use-based data mining — not ourselves, and not through anyone else. Apple's rules forbid it and so does this policy.
- We do not use Screen Time or device-usage data for advertising or advertising measurement, and never give it to a data broker.
- We do not sell your personal data, share it for cross-context behavioural advertising, or use it for targeted advertising or profiling. We hold no personal data, so there is nothing to sell — and we commit not to sell any sensitive personal data, including health or biometric data, in any circumstances.
- We do not show ads in the app.
- We do not build a profile of you, and we do not attempt to work out which apps you use from the tokens Apple gives us.
7. Health data#
This section is our consumer health data notice. It is written for residents of Washington (My Health My Data Act), Nevada and Connecticut, and it applies to everyone else too. Repvenge is a fitness app, so it is fair to ask what happens to fitness and health information. The answer is that we never receive any.
- Categories of consumer health data we collect: none. Your rep counts, streak, workout history and the camera-derived joint positions stay on your device. We do not receive them, cannot access them, and hold no copy.
- Sources we collect it from: not applicable, because we collect none. On your device, the data originates from your own camera and your own taps.
- How we use it: not applicable. On your device it is used only to count reps, credit screen-time seconds, and draw your progress.
- Categories we share: none. We share consumer health data with no one.
- Third parties and affiliates we share it with: none. We have no affiliates. Section 11 lists the only two companies involved in Repvenge at all, and neither receives health data.
- How to exercise your rights: email repvenge@netvi.app. Section 14 explains what a rights request means when a company holds nothing about you, and section 12 explains how to delete everything yourself in a few seconds.
Also, specifically:
- Repvenge does not use HealthKit. It neither reads from nor writes to the Health app.
- Repvenge does not use Motion & Fitness data, step counts or the motion coprocessor.
- Repvenge does not collect location of any kind, and in particular does not use geofencing around any health care facility, or anywhere else.
- Repvenge stores no health or fitness information in iCloud. It uses no iCloud storage, no CloudKit and no key-value sync.
- We do not infer, derive or record any health condition, diagnosis, treatment, medication, reproductive or sexual health status, or bodily function measurement.
8. Children#
Repvenge is not directed to children. We do not market it to children, it has no child-directed content, characters or design, and it has no Kids Category listing; its age rating is the one Apple's rating questionnaire produces and is shown on its App Store page.
We do not knowingly collect personal information from children — or from anyone else. That is not a policy promise we have to police; it is a consequence of how the app is built. There are no accounts, no forms, no messaging, no uploads and no server, so there is no route by which a child's personal information could reach us.
For the same reason we cannot promise to find and delete a specific child's data on request: we would have nothing to look for. What we can tell a parent or guardian is that everything the app has ever stored is on that device, and that deleting the app removes all of it in one step (section 12). If you believe a child has somehow provided personal information to us — for example by emailing us — write to repvenge@netvi.app and we will delete that email correspondence.
Where a US state law requires your app store to confirm an age category before a download or a purchase, section 16 explains how that signal is handled.
9. Purchases and payments#
Repvenge 1.0.0 is free and offers no purchases inside the app. If subscriptions are offered in a later release, they will be sold through the App Store: Apple would be the seller and the payment processor, not us.
You would buy through Apple's own purchase sheet, using the payment method on your Apple Account. We would never receive, see or store your card number, billing address, billing name, bank details or any payment token or identifier. What the app would receive back from Apple's StoreKit framework is a signed transaction saying that a subscription is currently active — nothing more, and nothing that identifies you. Apart from the pages of this website that the app opens when you tap Privacy Policy, Terms of Use or Help & Support, that transaction would be the only network traffic Repvenge causes.
Because Apple would run the transaction, Apple's own handling of your purchase data is governed by Apple's policies, not this one: see Apple's Privacy Policy and the Apple Media Services Terms and Conditions. Refunds are handled by Apple at reportaproblem.apple.com, and subscriptions are cancelled through Apple in Settings → your name → Subscriptions. We cannot cancel or refund a subscription for you, and we cannot look up your purchase, because we have no way to identify you.
10. This website#
This website — the pages at https://repvenge.netvi.app — is separate from the app, and it is the one place where a technical record of a visit exists.
The site is hosted on Cloudflare Pages. Like every web host, Cloudflare receives and logs the ordinary information a browser sends when it requests a page: your IP address, your user agent, the page requested, the time, and an approximate country. Cloudflare processes this on our behalf, as our processor, to deliver the pages and to protect the site from attack and abuse. Our lawful basis is legitimate interests — running a website that works and is not knocked over — and the interest is balanced by the fact that we never look at those logs to identify anyone and build nothing on top of them. Cloudflare is a US company and relies on Standard Contractual Clauses and the EU-US Data Privacy Framework for international transfers. Its handling is described in Cloudflare's Privacy Policy. Cloudflare does not publish a fixed retention period for this traffic data on the plan this site uses, so we are not going to invent one for it.
Beyond that:
- We set no cookies. There is no Repvenge cookie, no local storage and no session of any kind. Cloudflare may set strictly necessary security cookies such as
__cf_bmorcf_clearanceto distinguish humans from bots; these are not used for tracking, profiling or advertising, and they are not set by us. - There is no analytics on this site at all — no Google Analytics, no Cloudflare Web Analytics, no pixels, no tags, no beacons.
- The site loads nothing from anyone else. No CDN scripts, no hosted fonts, no embedded video, no social buttons, no contact form. The pages are plain HTML, one stylesheet and two font files served from this same origin, and the site runs zero JavaScript. Its content security policy blocks any request to another host.
- Do Not Track. We do not track visitors across websites or over time, and we allow no one else to do so through this site. There is therefore nothing for a Do Not Track or Global Privacy Control signal to switch off, and we do not respond to those signals differently. No third party collects personally identifiable information about your online activities across different websites through this site.
11. Third parties#
The Repvenge app contains no third-party software development kits and shares no data with any third party. Two companies are involved in Repvenge at all:
- Apple — distributes the app through the App Store, provides the iOS frameworks it runs on, and would be the seller and payment processor for any subscription (section 9).
- Cloudflare — hosts this website (section 10).
That is the complete list. There is no advertising network, no analytics vendor, no crash reporter, no attribution partner, no data broker, no email or CRM provider, no cloud database and no backend of any kind.
To the extent Apple or Cloudflare receives any data in connection with Repvenge, each is bound by its own published privacy commitments and by its agreement with us, and each provides protection of user data equal to or greater than what this policy states, as the App Store Review Guidelines require. We do not transfer user data to either of them beyond what this policy describes, and neither is permitted to use it for advertising or data mining on our behalf.
12. Retention and deletion#
How long we keep your data: we do not keep it at all, because we never have it. Nothing about you exists on any server we control, so there is no backup, no archive and no copy to expire.
How long your device keeps it: the settings and progress in section 4.3 stay on your iPhone for as long as Repvenge is installed. No diagnostics log exists in this release, so there is nothing under section 4.4 to keep.
You erase everything by deleting the app. iOS removes the app's container and the group.app.repvenge.ios app group container with it, which takes every item in sections 4.2, 4.3 and 4.4 with them. Nothing is left behind on the device, and there is nothing to ask us to delete — see the note on device backups below.
Two practical notes. First, while Screen Time authorization is active, iOS itself prevents the app from being deleted and prevents signing out of iCloud — that is an Apple restriction, not ours. Revoke the authorization first (section 13) and the app will delete normally. Second, if you use iCloud Backup or back up your iPhone to a computer, iOS may include Repvenge's local files in that backup, as it does for any app. That backup belongs to you and to Apple; Repvenge itself uses no iCloud storage, and we cannot see or reach a backup.
Because there is no server-side copy, a deletion request to us would have nothing to act on. If you email us anyway, we will tell you exactly that, and we will delete the email correspondence itself on request.
13. Withdrawing consent and turning things off#
Every permission is revocable at any time, and none of them is bundled with another.
- Camera: Settings → Repvenge → Camera. Rep counting stops working, but the rest of the app still opens.
- Screen Time / Family Controls: revoke authorization in iOS Settings → Screen Time. Shields stop being applied and the sealed app tokens are no longer used. Do this before deleting the app.
- Diagnostics log: nothing to turn off — event logging is switched off in this release (section 4.4).
- Spoken rep count: the speaker button on the workout screen.
Where we rely on your consent for anything, you can withdraw it as above without giving a reason, at no cost, and without losing the parts of the app that do not depend on it. Withdrawing consent does not affect anything done before you withdrew it.
14. Your rights#
If you are in the UK or the EEA#
Under the UK GDPR you have the right to be informed, the right of access, and the rights to rectification, erasure, restriction of processing, data portability, and to object to processing carried out on the basis of legitimate interests — including, separately and at any time, the right to object to direct marketing, which we do not do. You also have the right to withdraw consent where processing is based on consent, and the right not to be subject to a decision based solely on automated processing that produces legal or similarly significant effects. Repvenge makes no such decisions: counting a push-up decides how many seconds of screen time you have earned, and nothing more.
Here is the honest version of what exercising those rights means with us.
We hold no personal data about you. There is no account to look up, no record with your name on it, and no identifier we could use to find you even if you asked us to — we could not link a request to anything, because there is nothing to link it to. So:
- Access and portability are satisfied on the device. Everything that exists is in the app in front of you: your reps, your streak, your deal, your balance. There is no hidden profile behind it.
- Erasure and restriction are satisfied on the device by deleting the app (section 12).
- Rectification is satisfied on the device: your settings are editable and your progress is what the app counted.
- Objection applies to this website's server logs, which are the only processing we carry out on the basis of legitimate interests. Email us. There is nothing else to object to: the app records no events at all in this release (section 4.4), and everything else on your phone rests on Article 6(1)(b), not legitimate interests.
Write to repvenge@netvi.app for any of them. We will not charge you and we will not ask you to create an account to make a request. We will respond within one month; if a request is complex we will tell you inside that month and may take up to two further months, as UK and EU data protection law allows.
If you are unhappy with how we have handled your personal data you can complain to a supervisory authority. In the UK that is the Information Commissioner's Office, ico.org.uk/make-a-complaint, telephone 0303 123 1113. In the EEA it is the authority in your country. Please consider giving us a chance first — see section 15.
If you are in the United States#
We do not sell your personal information, do not share it for cross-context behavioural advertising, and do not use it for targeted advertising or profiling. There is therefore no "Do Not Sell or Share My Personal Information" link on this site and no opt-out mechanism to offer: an opt-out control for something that does not happen would be misleading rather than helpful, and publishing rights machinery would wrongly suggest that we collect something.
On our own assessment we are not a "business" under the California Consumer Privacy Act and do not meet the controller thresholds in the other state comprehensive privacy laws, because we process no personal data and are far below every revenue and volume trigger. Some laws apply whatever a company's size — Washington's My Health My Data Act and Colorado's biometric provisions among them — which is why sections 4.1 and 7 are written to them directly rather than relying on a threshold. That does not change what we owe you in practice: if you are a resident of any US state and want to know what we hold about you, correct it, delete it, or opt out of anything, email repvenge@netvi.app. The answer will be that we hold nothing — and section 12 gives you a deletion route that works instantly, on your own device, and needs no request. You will never be discriminated against for asking.
15. How to complain to us#
If something about your privacy here has gone wrong, tell us first — it is faster than a regulator and we would rather fix it.
Email repvenge@netvi.app with "Privacy complaint" in the subject line. We will acknowledge your complaint within 30 days and respond substantively without undue delay, telling you what we found and what we have done. If we cannot resolve it, we will say so plainly, and you keep every right to escalate to your supervisory authority or state attorney general described in section 14.
16. Age signals in Texas and other US states#
Some US states — Texas today, and others as their laws come into force — require an app store to tell an app the age category of the person downloading it, and, for a minor, whether a parent or guardian has consented. Repvenge 1.0.0 sells nothing in the app and requests no age signal from Apple, so no such signal enters the app. If a future release reads it, it will be read, acted on and discarded in the same step — never written to group.app.repvenge.ios, never written to any log, never combined with anything else and never shared — and this section will say so before that release ships.
17. Changes to this policy#
If we change this policy we will post the revised version at https://repvenge.netvi.app/privacy and update the Effective date at the top. You can always read the current version there; it is also reachable from inside the app, in Profile → Privacy Policy.
For any material change — anything that changes what data is handled, how, or by whom — we will highlight it in a notice at the top of this page for at least 30 days, and where the change matters enough we will ask you to accept it in the app before it takes effect. We will not apply a material change retroactively to data handled under an earlier version.
Any change that added collection, an SDK, a server or a network call would be a material change, and it would come with an updated App Store privacy label and an updated privacy manifest in the same release. If you disagree with a change, you can stop using Repvenge and delete it, which removes everything (section 12).
18. Effective date and version#
Effective date: 23 July 2026. Last updated: 23 July 2026. Version 1.0 — the first published version of this policy, for Repvenge 1.0.0.
We review this policy at least once a year, and in any event before any release that changes what the app does with data.
Questions: repvenge@netvi.app · Minh Quy Huynh · https://repvenge.netvi.app