Privacy Policy
Last updated 3 October 2026
The short version
RIVO counts your reps using the camera on your phone. Those camera frames never leave your device — they are not recorded, not uploaded, and nobody but you ever sees them.
Your training history is stored on your phone and, if you are signed into iCloud, in your own private iCloud account, which we cannot read. There is no analytics, and RIVO's own code tracks nothing.
Adverts in RIVO are optional videos you choose to watch for in-game Coins — in the Shop, and after a match. They come from Google. They are personalised only if you allow tracking when iPhone asks you; if you say no, they are never personalised.
The one thing we actually receive is feedback you choose to send us from the Settings screen. Everything below is the detail.
Who we are
RIVO is made by Brandon Briggs, in Maryland, United States. For anything to do with this policy or your data, write to brandonflips@gmail.com.
We are responsible for the small amount of personal data described in Feedback you send us, and for nothing else — because nothing else reaches us. If you are in the UK or the EEA, that makes us the "controller" of it under UK and EU data protection law.
The camera
RIVO asks for camera access so it can count repetitions. When you run a set, frames from the camera are analysed on your device by Apple's on-device Vision framework, which estimates where your joints are. The app uses that to decide whether a rep happened.
We want to be exact about this, because it is the question people care about most:
- Camera frames are never written to storage. There is no video file, not even a temporary one.
- Camera frames are never transmitted anywhere. Not to us, not to Apple, not to anyone.
- Nothing recognises who you are. The analysis produces joint positions, not an identity, and no face data is derived, stored or matched.
You can revoke camera access at any time in the iOS Settings app. RIVO cannot count reps without it.
Playing against someone
In a live match, RIVO sends the position of your on-screen skeleton to your opponent's device so they can see you moving, along with your rep count and your Game Center name. This travels through Apple's Game Center, peer to peer.
If you challenge a friend, the link you share contains only a short code that tells RIVO which match to join. It identifies the match, not you.
Beside your name it also sends a country flag. That flag comes from the country of your App Store account (or, failing that, the region in your iPhone's settings) — not from your location, which RIVO never asks for. You can pick a different flag or turn it off in Settings > Flag.
It is joint positions, not video. It exists for the seconds it is on screen, is not stored by us or by your opponent's device, and there is no server in the middle keeping a copy.
What is stored on your device
RIVO keeps your training history and progress on the phone: completed sets, rep counts, personal records, match results, XP and level, your streak, your Coins and Crowns and the ledger of how you earned or spent them, the cosmetics you own, and your app settings.
Deleting the app deletes all of it from the device.
iCloud
If you are signed into iCloud, that same history syncs through Apple's CloudKit into your private iCloud database, so that reinstalling RIVO or moving to a new phone does not lose your progress.
A private CloudKit database belongs to your Apple Account. We have no access to it and cannot read it, and neither can any other RIVO player. Apple processes it on your behalf under Apple's Privacy Policy.
You can turn this off in the iOS Settings app under your Apple Account, or by signing out of iCloud. RIVO works fully offline either way; you simply lose the backup.
Game Center
RIVO uses Apple's Game Center for leaderboards, achievements, friends and matchmaking. Your Game Center display name is shown to opponents and on leaderboards, and your scores are submitted to Apple under your own account. Each score carries your country flag, if you fly one, so it can be shown beside your name on the leaderboard; turning the flag off in Settings > Flag removes it from your next score.
Game Center is Apple's service, not ours. What Apple does with it is covered by Apple's Privacy Policy, and you control your Game Center profile and its visibility in the iOS Settings app.
Purchases
RIVO sells optional cosmetic items and in-app currency through Apple's App Store. Apple handles the payment entirely. We never see your card details, your billing address, or your Apple Account.
The app receives a transaction identifier from Apple so it can deliver what you bought and refuse to deliver it twice. That identifier is stored with your purchase history on your device and in your private iCloud, and is not personal data we can read.
Adverts
RIVO offers two optional ways to watch a short video advert for in-game Coins: a few a day in the Shop, and one on the result screen after a match, which adds half as many Coins again to what the match paid. Nothing else in RIVO contains adverts. There are no banners, no adverts between sets, nothing during a match, and nothing you have to close. If you never tap a Watch button, you will never see one.
The videos are served by Google AdMob. This is the only piece of third-party code in RIVO.
Personalised only if you allow tracking
The first time you tap a Watch button, iPhone asks whether RIVO may track your activity across other companies' apps and websites. That is Apple's App Tracking Transparency prompt, and your answer decides what kind of advert you get:
- If you allow tracking, Google may use your device's advertising identifier (IDFA) and what it knows about your activity in other apps and websites to choose adverts more relevant to you, and to measure them.
- If you ask RIVO not to track, every advert request is marked non-personalised: Google may not use a profile of you to choose the advert, and RIVO never receives your advertising identifier. What you get is contextual — an advert anyone tapping that button might get.
The videos work the same either way, and pay the same Coins. You can change your answer at any time in the iOS Settings app under Privacy & Security → Tracking.
What Google receives
To serve and count an advert, Google's software receives information from your device. Google is a separate company acting as its own controller for this, under Google's own privacy policy. Broadly, it amounts to:
- Device identifiers — an identifier Google uses to cap how often you see the same advert and to detect fraud, and, only if you allowed tracking, your advertising identifier.
- Approximate location derived from your IP address — country and region, not where you are. RIVO does not have or ask for location access.
- Information about the adverts: which ones you were shown, whether you watched or tapped them.
- Technical and diagnostic information about the device and the advert: model, operating system, whether the video loaded, whether it played, whether it finished.
What Google does not receive from RIVO, whatever you answered: nothing from the camera, ever; no joint or pose data; no training history, sets, reps or personal records; no match results; no purchases; no Game Center name; and nothing you write in the feedback box. The advert code has no access to any of it.
Your choices
- Tracking. Say no when iPhone asks, or turn it off later in iOS Settings → Privacy & Security → Tracking. Adverts are then non-personalised.
- The UK and the EEA. You will be shown Google's consent form before any advert is requested, and you can change or withdraw what you chose at any time from Settings → About → Ad Privacy Choices inside RIVO. If you withdraw consent entirely, the videos simply stop being offered; nothing else about the app changes.
- US states with privacy laws. You can opt out of the sharing of your data for targeted advertising from Settings → About → Ad Privacy Choices inside RIVO. See Your rights.
- Everywhere. The simplest control always applies: do not tap a Watch button. No advert is shown until you do.
Feedback you send us
This is the only part of RIVO where information reaches us, and it only happens when you choose to send it. If you write a message in Settings and press Send, we receive:
- Your message, exactly as you typed it.
- An email address, only if you enter one. The field is optional and clearly marked as such. It exists so we can reply.
- Five diagnostics: the app version and build, your device model (for example "iPhone15,2"), your iOS version, and your locale. These are shown to you on screen, above the Send button, in exactly the form they are sent. A bug report is close to useless without them.
That message is stored in a CloudKit database that we can read. It is not linked to your training history, your purchases or your Game Center account, and we do not use it for anything other than answering you and fixing the thing you told us about.
Sending feedback requires you to be signed into iCloud, because that is how the message is delivered. We receive your message, not your Apple Account.
Please do not put sensitive personal information in the box. It is a bug report form, not a secure channel.
We keep feedback for as long as it is useful — while we are still acting on it, and for a reasonable period afterwards to spot patterns across reports. We delete it after that, and we will delete yours sooner if you ask.
Notifications
If you turn on streak reminders, RIVO schedules one local notification a day, at a time you choose, on days your streak is at risk. These are created and delivered by your own device. There is no server sending you anything, we do not know whether you received one, and you can turn them off in Settings or in iOS.
What RIVO does not do
Stated plainly, because these are usually buried:
- No tracking without asking. RIVO's own code tracks nothing. The only tracking is by Google's advert code, and only if you said yes to iPhone's "allow tracking" prompt. See Adverts.
- No analytics and no crash reporting. We do not know how many sets you did, which screens you opened, or whether the app crashed. We receive nothing from the advert code either — not even how many videos were watched, beyond Google's own aggregate reporting to us.
- No adverts you did not ask for. Every advert in RIVO is a video you chose to watch, and it is personalised only if you allowed tracking.
- One third-party SDK, and only one. Google's Mobile Ads library, for the optional videos. There is no analytics vendor, no social platform, no attribution network and no other advertising network in RIVO.
- Nothing is sold by us. We do not sell, rent or trade personal data, and never will. We receive none from the adverts to sell.
Children
RIVO is not directed at children under 13, and we do not knowingly collect anything from them. If you believe a child has sent us feedback containing personal information, write to brandonflips@gmail.com and we will delete it.
RIVO is not tagged as child-directed, because it is not. Adverts are personalised only for people who allow tracking when iPhone asks; if a child is using the app, the simplest protection is to say no, or to use Screen Time to stop apps asking to track.
Your rights
Wherever you live, you can ask us for a copy of any personal data we hold about you, ask us to correct it, or ask us to delete it. In practice that means feedback you have sent us, because it is the only thing we have.
Because we do not run accounts, the only way we can find your data is if you tell us what to look for — so please include the email address you used, or roughly when you wrote to us. Write to brandonflips@gmail.com and we will respond promptly, and in any case within the time your local law requires.
If you are in the UK or the EEA, you also have the right to object to or restrict how we use your data and to receive it in a portable form. Our lawful basis is our legitimate interest in answering you and fixing what you reported. You may complain to the Information Commissioner's Office or to your national supervisory authority — though we would rather you told us first.
If you live in a US state with a consumer privacy law — California, Colorado, Virginia, Maryland and others — you have comparable rights to know, delete and correct. To be explicit about the ones those laws ask us to be explicit about: we do not sell personal information for money, and we do not use it for profiling. If you allow tracking, Google's advert code collects device identifiers and information about the adverts you see and uses them for personalised advertising, which some of those laws treat as "sharing" or "targeted advertising". You can opt out at any time from Settings → About → Ad Privacy Choices inside RIVO, by saying no to tracking, or by turning tracking off in iOS Settings → Privacy & Security → Tracking. We honour opt-out signals sent this way, and opting out changes nothing else about the app.
For everything held in your private iCloud, the controls are Apple's rather than ours: manage or delete it from the iOS Settings app, or delete the app.
Where data is held
Feedback is stored on Apple's CloudKit infrastructure, which Apple operates internationally, and we read it from the United States.
If you are in the UK or the EEA, sending us feedback therefore involves transferring it to the United States. Apple's own safeguards apply to the storage — see Apple's Privacy Policy — and the message itself goes to us and to nobody else.
Changes to this policy
If this policy changes in a way that matters, we will update the date at the top and, where the change is significant, say so in the app. Continuing to use RIVO after a change means the updated policy applies.
Contact
brandonflips@gmail.com — or the feedback box in RIVO's Settings screen, which reaches the same person.