Privacy Policy
Effective Date: August 25, 2026
Last Updated: August 25, 2026
1. Introduction
Welcome to Reppy, operated by Sherringford Co., Ltd (“we,” “our,” or “us”). This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our mobile application and related services (collectively, the “Service”).
Reppy is a 1v1 bodyweight duel app with a built-in workout tracker. Most of what you do in the app — your duel results, workout logs, exercise history, progress statistics, personal profile, and the photos and videos you attach to workouts — is kept on your device. The Service does not require account creation or authentication.
Some features of the Service communicate with external providers. The main one is Physique Score, which sends a body photo you capture to our analysis service and to Google's Gemini AI for aesthetic scoring. We also use Sentry for crash reporting, RevenueCat for subscription management, PostHog for anonymous product analytics, and Meta's measurement tools to evaluate our advertising. All of this is described in detail below.
By using our Service, you agree to the collection and use of information in accordance with this Privacy Policy. If you do not agree, please do not access the Service.
2. Information We Handle
2.1 On-Device Data
The following data is created and stored on your device only. We do not have access to, collect, or transmit this data:
- Duel results (movement, rep counts, rival, difficulty, date and duration)
- Workout logs (exercises, sets, reps, weight, rest times, duration, notes)
- Exercise library data, including custom exercises you create
- Progress statistics and analytics (volume charts, streaks, totals)
- Personal profile (name, height, weight, training preferences, goals)
- Photos and videos you attach to workouts
- App settings and preferences (unit system, share template choices)
2.2 Duels and Camera-Based Rep Counting
During a duel, Reppy uses the front camera to count your repetitions and check your form. This works as follows:
- The camera feed is analyzed on your device using Apple's on-device body-pose tracking (the Vision framework). No part of the analysis happens on a server.
- The camera runs only while a duel is on screen, and stops as soon as the duel ends or you leave the screen.
- Video frames are processed in memory and discarded immediately. Reppy does not record, save, or transmit the camera feed or any image derived from it.
- Only the outcome — your rep count, the rival's rep count, and the movement — is stored, and it is stored on your device.
2.3 Nearby Duels (Phone-to-Phone Play)
Nearby Duels is an optional feature that lets you duel another Reppy user in the same place, phone to phone. When you use it:
- Your devices connect directly to each other using Apple's peer-to-peer networking (local Wi-Fi and Bluetooth). The connection does not go through the internet or through our servers, and we never see it.
- While you are on the Nearby Duels screen, your display name, level, rank, and a small version of your profile photo (if you set one) are advertised to nearby Reppy users and sent to the phone of the person you duel. During a round, your live rep count is sent as well. The camera feed is never transmitted — only the numbers.
- The other player's phone stores your name, photo thumbnail, and your shared duel results in their local rival list, just as your phone stores theirs. This stays on their device; neither side's data reaches us.
- If you never open the Nearby Duels screen, nothing is ever advertised or sent.
2.4 Physique Score (AI Body Analysis)
Physique Score is an optional feature that uses Google's Gemini generative AI model to rate the visual aesthetics of a body photo you capture. When you use this feature:
- The photo is sent from your device to our API at
api.getreppy.appover an encrypted connection (HTTPS/TLS), and is then forwarded to Google's Gemini API for analysis. - Our server holds the photo only in memory for the duration of the request. We do not write it to disk, save it to any database, or retain it after returning the result.
- The resulting score is not saved on your device after the session ends. Each analysis is independent.
- Google processes your image under its Gemini API Terms and Privacy Policy. Google may temporarily retain content submitted to the Gemini API for abuse monitoring and service-quality purposes; consult Google's terms for details.
- Use of Physique Score is entirely optional. If you do not use it, no photo is ever sent to any server.
2.5 Crash Reporting (Sentry)
We use Sentry to collect crash and error reports. When the app encounters an error, the following may be collected:
- Device type and model
- Operating system and version
- App state at the time of the error
- Screenshots of the app UI at the time of the crash
- View hierarchy information
2.6 Subscription Data (RevenueCat)
If you subscribe to Reppy Pro, the following is processed by RevenueCat:
- Anonymous app user identifier
- Subscription status and purchase history
- Transaction receipts from the App Store or Google Play
2.7 Product Analytics (PostHog)
We use PostHog to understand how the app is used — for example, how far new users get through onboarding — so we can improve it. PostHog receives:
- A random, app-generated identifier that is not linked to your name, email, or any account (the Service has no accounts)
- Usage events, such as the app being opened, an onboarding step being reached, or a duel, practice round, or workout being completed (including running totals like your number of completed duels)
- Basic device information that accompanies these events, such as device model, operating system version, and app version
Analytics events never include your camera feed, photos, pose data, the contents of your workout log, or anything you type into the app. PostHog does not receive your device's advertising identifier (IDFA) and does not track you across other companies' apps or websites. PostHog processes this data under its Privacy Policy.
2.8 Ad Measurement (Meta)
We advertise Reppy on Meta platforms (such as Instagram and Facebook), and we use Meta's measurement technology (the Meta SDK) to understand whether those ads work. For this purpose, events such as the app being installed, registration being completed, and a workout or duel being finished may be shared with Meta. When you subscribe, RevenueCat forwards the subscription event to Meta on our behalf for the same measurement purpose.
If you grant the App Tracking Transparency permission, these events are associated with your device's advertising identifier so Meta can attribute them to its ad campaigns. If you decline, no advertising identifier is used; Meta instead relies on aggregated, privacy-preserving attribution (Apple's SKAdNetwork and Meta's Aggregated Event Measurement). Meta processes this data under its Privacy Policy.
3. How We Use Your Information
We use the limited information we collect to:
- Provide, maintain, and improve the Service
- Generate Physique Score results when you use that feature
- Process crash reports to identify and fix bugs and stability issues
- Manage subscription status and process payments through RevenueCat
- Understand aggregate usage of the app (such as how many users complete onboarding) to improve the Service
- Measure the effectiveness of our own advertising campaigns
- Comply with legal obligations
We do not sell your information, use it to serve you third-party advertising, or monetize it in any way. Ad-measurement data is used solely to evaluate our own campaigns, as described in Section 2.8.
4. Information Sharing and Disclosure
We do not sell, trade, or rent your personal information. We share limited information with the following service providers:
- Sentry — crash reporting and error tracking
- RevenueCat — subscription and payment management
- PostHog — anonymous product analytics
- Meta — measurement of our advertising campaigns
- Apple — app distribution and in-app purchases on iOS
- Google Play — app distribution and in-app purchases on Android
- Google (Gemini API) — AI aesthetic analysis of photos you submit to the Physique Score feature
Your duel results, workout logs, exercise history, progress statistics, and the photos and videos you attach to workouts remain on your device and are never shared with us or any third-party company. The one exception is between players: when you start a Nearby Duel, your display name, profile photo thumbnail, level, rank, and the duel's rep counts are exchanged directly with your opponent's device, as described in Section 2.3.
Legal Requirements: We may disclose information if required by law or in response to valid requests by public authorities.
Business Transfers: In the event of a merger, acquisition, or sale of assets, information may be transferred as part of that transaction.
5. Data Security
On-device data is protected by your operating system's built-in security features, including device-level encryption. Any data transmitted to our API or to our service providers (Sentry, RevenueCat, PostHog, Meta, Google Gemini) is secured in transit using industry-standard encryption protocols (HTTPS/TLS).
6. Data Retention
On-Device Data: Your workout data, exercise history, and personal profile are stored on your device until you choose to delete them. Deleting the app permanently removes this data. We recommend using your device's backup features (iCloud Backup, Google Backup) to preserve it.
Physique Score Photos: Photos submitted to Physique Score are discarded immediately after the analysis response is returned. Neither our server nor your device retains them.
Crash Reports: Crash reports are retained by Sentry in accordance with their data retention policies.
Subscription Records: Subscription data is retained by RevenueCat in accordance with their data retention policies and applicable legal requirements.
Analytics and Ad-Measurement Data: Usage events are retained by PostHog, and ad-measurement events by Meta, in accordance with their respective data retention policies.
7. Your Rights and Choices
Opt Out of Physique Score: Physique Score is optional. Simply do not use the feature and no photo is sent to any server.
Delete On-Device Data: You can delete all on-device data by uninstalling the app. This action is permanent.
Subscription Management: You can manage or cancel your Reppy Pro subscription through the App Store or Google Play settings on your device.
Additional Rights: Depending on your location, you may have additional rights regarding information processed by our service providers. To exercise these rights, please contact us using the information below.
8. Device Permissions
Camera: Used to count your repetitions and check your form during a duel, to take photos and videos of your workouts, and to capture a body photo when you use Physique Score. Duel analysis runs entirely on your device and the feed is never recorded or transmitted, as described in Section 2.2. Workout media stays on your device. Physique Score photos are sent to our analysis service as described in Section 2.4.
Photo Library: Used to add existing photos and videos from your library to your workouts, and to save workout images for sharing. Photos used within your workout log stay on your device.
Tracking (App Tracking Transparency): iOS asks for this permission during onboarding. It controls only whether the ad-measurement events described in Section 2.8 include your device's advertising identifier. Declining does not limit any feature of the app.
9. International Data Transfers
On-device data is not transferred internationally. Crash reports may be processed by Sentry in the United States. Subscription data may be processed by RevenueCat internationally. Analytics events are processed by PostHog in the United States, and ad-measurement events by Meta in the United States and internationally. Physique Score photos are processed by our API (hosted in the United States) and by Google's Gemini API (operated globally) before being discarded. We take appropriate safeguards to protect your information in accordance with this Privacy Policy.
10. Children's Privacy
The Service is not intended for children under 13 years of age (or 16 in certain jurisdictions). We do not knowingly collect personal information from children under these ages. If you become aware that a child has provided us with personal information, please contact us immediately.
11. AI-Generated Content Disclaimer
Physique Score scores, metrics, and feedback are generated by a third-party AI model (Google Gemini) and are provided for informational and motivational purposes only. They are visual aesthetic estimates, not medical, clinical, nutritional, or professional fitness assessments.
AI output can be inaccurate or inconsistent between sessions and is influenced by factors such as photo quality, lighting, pose, and clothing. Do not rely on Physique Score output to make medical, nutritional, or training decisions. For personalized guidance, consult a qualified professional.
12. Updates to This Privacy Policy
We may update this Privacy Policy from time to time. We will notify you of any changes by:
- Posting the new Privacy Policy on this page
- Updating the “Effective Date” at the top
Your continued use of the Service after any changes indicates your acceptance of the updated Privacy Policy.
13. Contact Us
If you have questions or concerns about this Privacy Policy or our privacy practices, please contact us at:
Sherringford Co., Ltd
Email: [email protected]
