Politica de confidențialitate
1. Summary
Ruffy has no accounts and no server that stores your content. Everything you create in the app (your dog's profile, walks, photos, weights, progress) is stored on your device and stays there.
The only data that leaves your device is anonymous usage analytics, marketing attribution data used to measure how people find the app, purchase information handled by Apple and our subscription provider, and the network requests needed to stream lesson videos.
2. Data Controller
Ruffy is operated by an individual based in Spain.
- Contact email: hi@ruffyapp.com
3. Data Stored On Your Device
Ruffy does not ask you to register, and we never receive the content you create. The app stores the following locally on your iPhone or iPad:
- Dog profile: name, gender, optional breed, optional birthday, optional photo
- Walks: GPS route, distance, duration, elevation, date and time, notes, map markers
- Photos you take or import in the app, including any photo metadata they carry
- Weight entries and other tracked measurements
- Lesson progress, achievements and collected items
- Your answers to the onboarding questions
- App settings such as language, appearance, and unit preferences
This data is not uploaded to us and is not synced to any server we control. If you enable Apple's device backup or iCloud backup, a copy may be included in that backup, which is governed by Apple's terms and privacy policy.
4. Location
Ruffy asks for location access so it can record the route and distance of a walk, including while the app is in the background so tracking continues with your phone locked.
- Location is recorded only while you have a walk in progress
- Routes are saved on your device and are never sent to us or to any third party
- You can deny or revoke location access in iOS Settings at any time. The rest of the app keeps working; walk tracking does not.
5. Camera and Photos
Ruffy uses:
- The camera, if you allow it, to take photos of your dog inside the app
- The iOS photo picker to let you choose existing photos. The picker runs outside the app, so Ruffy only receives the images you select and never gains access to your whole library.
- Add-only photo library access, if you allow it, to save images you create in the app back to your library
Photos are stored on your device. We never see them.
6. Notifications
If you allow notifications, Ruffy schedules a daily training reminder.
- Reminders are local notifications created and delivered on your device
- There is no push server, so no notification data is transmitted to us
7. Analytics
We use PostHog to understand how the app is used and where it can be improved. The PostHog project is hosted in the European Union.
What is collected:
- Product events such as opening the app, viewing an onboarding step, completing onboarding, seeing the paywall, or importing a walk photo
- Non-identifying properties attached to those events, such as which onboarding goals were chosen, whether a photo or breed was set, and how many commands your dog already knows
- Technical information collected automatically by the analytics SDK, such as device model, operating system version, app version, language, and the IP address of the request, which is used to derive an approximate region
- A randomly generated identifier for your app installation
What is NOT collected:
- Your name or email address, which the app never asks for
- Your dog's name, photos, or notes
- Walk routes, GPS coordinates, or any location data
- Screen recordings or screenshots of your session
PostHog analytics events are not linked to a real-world identity, and we do not use them for advertising. Ruffy shows no ads inside the app. Separately, we use AppsFlyer to measure how people discover Ruffy, which is described in the next section; that is the only place your advertising identifier may be involved, and only if you allow tracking.
8. Attribution and Marketing Measurement
We use AppsFlyer, a mobile attribution provider, to measure how well our marketing works. This tells us which campaign or channel led someone to install Ruffy, and how many people who install go on to finish onboarding or subscribe, so we do not waste money advertising to the wrong audiences.
The first time you open the app, iOS shows Apple's App Tracking Transparency prompt. Your answer controls what AppsFlyer can use:
- If you allow tracking, AppsFlyer may use Apple's advertising identifier (IDFA) to match your install to a marketing campaign
- If you decline, no advertising identifier is used. Measurement then relies only on privacy-preserving signals such as Apple's SKAdNetwork and coarse, non-identifying data.
What AppsFlyer receives:
- A randomly generated identifier for your app installation, and the advertising identifier (IDFA) only if you allowed tracking
- Technical information such as device model, operating system version, and the IP address of the request, which is used to derive an approximate region
- A small number of funnel events: finishing onboarding, seeing the paywall, and starting a trial or subscribing, including the price and currency of a purchase
What AppsFlyer does NOT receive: your name or email, which the app never asks for; your dog's name, photos, or notes; and your walk routes, GPS coordinates, or any location data.
We use this data only to measure and improve our own marketing, and we do not sell it. You can change your choice at any time in iOS Settings under Privacy & Security, then Tracking.
9. Subscriptions and Payments
Premium features are sold as subscriptions through the Apple App Store, and managed in the app with RevenueCat.
- Apple processes the payment. We never see or receive your card details, billing address, or Apple ID.
- RevenueCat receives purchase and receipt information, plus a randomly generated app user identifier, so the app knows whether your subscription is active
- Managing, cancelling, and refunding a subscription is handled by Apple under Apple's policies
10. Lesson Videos
Training lesson videos are streamed from Cloudflare Stream. When a video loads, Cloudflare receives the technical data any web request involves, including your IP address and device information. Ruffy does not send Cloudflare any information about you or your dog.
11. Third Parties
The complete list of services that may process data when you use Ruffy:
- Apple (app distribution, payments, subscriptions)
- RevenueCat (subscription status)
- PostHog (anonymous product analytics, EU hosted)
- AppsFlyer (marketing attribution and measurement)
- Cloudflare (lesson video delivery)
Each provider processes data under its own privacy policy. We do not sell or share your data with data brokers, advertisers, or anyone else.
12. This Website
ruffyapp.com is a static site. It sets no cookies, runs no analytics or tracking scripts, and has no forms or sign-ups. Nothing you do here is recorded by us beyond the standard server logs kept by our hosting provider.
13. Legal Basis (GDPR)
We process data based on:
- Contract performance (providing the app and your subscription)
- Legitimate interests (understanding aggregate usage, improving stability and security)
- Your consent, for the device permissions you grant and for app tracking, such as location, camera, photos, notifications, and, if you allow it through Apple's App Tracking Transparency prompt, use of your advertising identifier for marketing attribution, each of which you can withdraw in iOS Settings
- Legal obligations (where required)
14. International Transfers
PostHog analytics data is processed in the European Union. Apple, RevenueCat, AppsFlyer, and Cloudflare may process data outside the EU, including in the United States. Where that happens, transfers rely on the safeguards those providers put in place, such as the European Commission's standard contractual clauses.
15. Data Retention
Data on your device is kept until you remove it:
- You can delete individual items, such as a walk, a photo, or a weight entry, inside the app
- Settings includes a "Delete Everything" option that erases your dog and all associated data and restarts onboarding
- Deleting the app removes all of its stored data from your device
Because we hold no copy, this deletion is permanent and we cannot restore anything for you.
Anonymous analytics events are retained by PostHog under its retention policy. Attribution data is retained by AppsFlyer under its retention policy. Purchase records are retained by Apple and RevenueCat for as long as they need them for accounting and subscription management.
16. Your Rights (GDPR)
If you are located in the EU, you have the right to access, rectify, erase, restrict, and port your personal data, to object to processing, and to file a complaint with a supervisory authority. In Spain that authority is the Agencia Española de Protección de Datos.
In practice, the data you create in Ruffy is under your direct control on your device, and you can view, change, or delete it at any time without asking us. For the limited data we do process, contact hi@ruffyapp.com and we will help. Note that analytics data is not tied to your identity, so we may be unable to locate the events belonging to a specific person.
17. Children
Ruffy is not directed at children and is intended for users aged 16 and over. We do not knowingly collect data from children.
18. Security
Your content is protected by your device's own security, including your passcode, Face ID or Touch ID, and iOS file protection. Keeping your device secure is the most effective protection for it.
We implement reasonable technical and organizational measures for the limited data we process. However, no system is 100% secure.
19. Changes
We may update this Privacy Policy. The effective date at the top of this page shows when it last changed. Continued use of the app means acceptance of updates.