Yafa Download

Privacy Policy

Last updated 20 October 2026

The short version. Your saved workouts and your workout history live on your phone, with a copy on our server under your account so they come back when you change phones or reinstall. Your settings stay on your phone. To build a workout we send the sentence you write or speak, or, in a programme, the request it writes for its next session. We do not sell your data, and we do not use it to train AI models. You can delete your account and everything attached to it from inside the app.

1. Who is responsible for your data

Yafa (“the app”) is developed and operated by Annu-Maaria Nivala (trading as Niva Digital), Finland, who is the data controller for the purposes of the EU General Data Protection Regulation (GDPR).

Contact for any privacy question or request: yetanotherfitapp@gmail.com.

2. What we collect, and why

Data Why it exists Where it lives
An anonymous account identifier, created automatically on first launch So the daily limit on AI generations can be enforced, and so a subscription can be attached to someone without requiring a sign-up first Firebase Authentication
Your email address and name, if you sign in with Apple or Google To keep your subscription attached to you across reinstalls and devices Firebase Authentication
The workout description you type or speak It is sent to the AI that writes your workout. This is the request itself — without it there is nothing to generate Sent to our server and to Anthropic. We do not store it afterwards; Anthropic deletes it within 30 days (section 4)
That you confirmed the health notice: which version, when our server first saw it, and whether on iPhone or Android Before your first AI workout the app asks you to confirm the health notice and to agree that health details you mention are sent to the AI. This is the record that you did. Nothing you wrote is part of it Firestore, keyed to your account identifier. Deleted with your account
The “About you” text in Profile, if you write one, and your most recent workout with how you said it felt They travel with each workout request so the AI can fit the workout to you without being told the same things every time. The field is optional and empty until you fill it The text is stored on your device only; the workout is part of your history (below). Both are sent to our server and to Anthropic with each request, and not stored by the request afterwards
A programme you follow and its settings: the goal, how often and how long, where you train, your equipment, your level and what to go easy on Each programme session is built from a request the app writes from these settings and what you have done so far, so you do not have to describe it every time The programme is stored on your device only. Its request is sent to our server and to Anthropic like a description you wrote, and not stored afterwards (section 4)
A count of how many AI workouts you generated today To enforce the daily cap that stops automated abuse of the AI Firestore, keyed to your account identifier
Your subscription status and its expiry date To know whether AI features are unlocked. Decided on our server, not by the app Firestore + RevenueCat
Feedback you choose to send: the reason you pick, and anything you type Yafa is built by one person and has no analytics. If you are not asked, and you do not answer, there is no way to know what to fix — the question is asked at most twice, and skipping it costs you nothing Firestore, keyed to your account identifier. Deleted with your account
A crash report, if the app crashes: where in the app’s code it happened, the app and operating system version, the device model, free memory and disk space, and a random identifier for this installation of the app So we learn that the app crashed, and where, and can fix it. Nothing you wrote, saved or did in the app is part of a report, and a report is not connected to your account (section 5) Firebase Crashlytics (Google). Kept for 90 days
Your saved workouts They are what the app is for. A copy is kept on our server so they come back when you change phones or reinstall; your phone stays the master copy and the app never needs the network to open them Your device, mirrored to Firestore under your account identifier. Deleted with your account
A workout you choose to share, and the name you show with it Sharing makes a link a friend can open in Yafa. The link needs a copy of the workout to point at: its name, moves and their instructions, plus the name you typed in the share sheet (empty if you cleared it). What you asked the AI for, and your history with the workout, are never part of a share Firestore, until you delete your account. Anyone with the link can see the workout and that name. A friend who saved it keeps their own copy
Your workout history: which workout you did and when, how long it took, and how it felt if you answered History, your weekly goal and the suggestions are built from it. A copy is kept on our server so it comes back when you change phones or reinstall; your phone stays the master copy Your device, mirrored to Firestore under your account identifier. Deleted with your account
Your language, guidance and reminder settings They are what the app is for On your device only — never uploaded

We do not collect your location, your contacts, your photos or your health records. Yafa can write a finished workout to Apple Health, if you allow it and leave the switch on in Profile — that copy lives in Apple Health on your device and is never sent to us. On iPhone it reads nothing back: authorisation is requested with an empty read set, so Yafa cannot see your steps, your sleep or anything else in there. On Apple Watch, Yafa reads your heart rate and active energy during a workout you are running on the watch, shows them on screen, and saves them with that workout in Apple Health. Those readings stay on your devices: they are not sent to us, and the only thing the watch tells your iPhone about a finished workout is which one it was and when.

On Android the same switch writes the finished workout to Health Connect, again only if you grant it. Yafa asks for one permission there, writing exercise sessions, and never requests read access, so it cannot see anything Health Connect holds. The workout it writes (type, start and end time, and its name) stays in Health Connect on your phone and is not sent to us. You can revoke the permission at any time in Health Connect settings, and the app keeps working without it.

3. Your voice

When you hold the microphone button, the app records audio only for as long as you hold it, and converts it to text using Apple’s speech recognition built into iOS. Depending on your device, your language and your iOS settings, Apple may perform that conversion on the device or on Apple’s servers; that processing is governed by Apple’s privacy policy, and we have no access to it.

Yafa never stores or uploads the audio itself. Only the resulting text is sent onward to build your workout, exactly as if you had typed it. You can avoid speech recognition entirely by using “Type it out” instead, and you can refuse or later revoke microphone and speech permission in iOS Settings without losing any other part of the app.

On Android the conversion uses the speech recognition built into your phone. On Android 12 and later, when your phone has the on-device recogniser for your language, Yafa uses that and the audio never leaves the phone. Otherwise the system hands the audio to Google’s speech service, which is governed by Google’s privacy policy; we have no access to it. As on iPhone, Yafa itself never stores or uploads audio, only the resulting text, and you can revoke the microphone permission in Android settings without losing any other part of the app.

4. How the AI part works

Your description is sent to our own server function, which forwards it to Anthropic, the provider of the Claude model that writes the workout. Two more things go with it: the “About you” text from Profile, if you have written one, and your most recent workout together with how you said it felt, so the next one can build on it. All of it is processed to answer that single request. We do not keep the text after the workout comes back, and under Anthropic’s commercial terms it is not used to train their models. Anthropic deletes API requests and responses within 30 days; it may keep a request longer, up to two years, only if its systems flag it as breaking its usage policy, or where the law requires.

In a programme, the description is one the app writes for you: the session the programme is on (for example lower body, 30 minutes, a little more than last week), where you train, the equipment you have, your level and anything you chose to go easy on. It is sent and handled exactly like a description you wrote yourself. “Go easy on” a knee, the back, the shoulders or the wrists is information about your health, and is covered by the same explicit consent described below.

The same request is where Yafa checks for warning signs. If what you describe sounds like something a doctor should see first, the AI declines instead of writing a workout. That refusal is counted in our server logs by its kind (“see a doctor” or “emergency”) only, without your account identifier and without what you wrote.

“About you” is there for the things that are always true: the gear you have, how long you usually have, a knee that does not like lunges. Something like that last one is information about your health, and the same goes for a description such as “my back is sore”. Health information is a special category of data under the GDPR, so the app asks for your explicit consent before your first AI workout: a separate tick box, on a screen that says what is sent and why. The app also says so next to the “About you” field, and you can clear it at any time. Please do not put medical history, diagnoses or anything else sensitive in it or in a description. The app never asks for that and does not need it — “go easy on my knees” is enough.

5. Analytics

There are none. Yafa contains no analytics SDK. Nothing counts which screens you open, how far you get, or what you tap. No identifier is written to your device to measure what you do, and no behavioural data is sent to Google or to anyone else.

Earlier drafts of this policy described Firebase Analytics, because the app used to include it. It was removed in August 2026, before release, rather than placed behind a consent prompt.

Two things we do see, and they are worth naming so this section is not misleading. Apple and Google give us anonymous, aggregated App Store and Google Play statistics such as download counts, which we cannot connect to any individual. And our payment provider tells us the state of subscriptions, because that is what running a subscription requires.

Crash reports

If the app crashes, it sends a crash report to Firebase Crashlytics, a Google service, the next time it starts. A report says where in the app’s code the crash happened, the app and operating system version, the device model, and how much memory and disk space were free. That is what it takes to find and fix the cause. Nothing is sent while the app is working normally.

A report says nothing about you or your workouts. The app does not attach your account identifier, your name, what you asked the AI for, your saved workouts or your history, and it records no trail of what you did before the crash. To tell one crash on a thousand phones from a thousand crashes on one, Crashlytics stores a random identifier for your installation of the app; it is not connected to your account, and it is gone when you delete the app. Reports are kept for 90 days.

This website counts page views

The app has no analytics. This website has a counter, and it is worth being exact about what that means, because “analytics” usually means something much larger than what happens here.

When you open a page, your browser tells our own server two things: which page it was, and which site you came from, if any. Both are added to a daily total. That is the whole of it.

Nothing identifies you. No cookie is set, nothing is written to your device, no visitor identifier is created, and your IP address and browser details are not stored. Two visits by you and two visits by two strangers are indistinguishable to us. There is no third-party analytics service involved, and nothing here follows you to any other site. This is also why we have no cookie banner: there is nothing stored on your device to ask you about.

Everything on these pages, fonts included, is served from this domain. Opening them sends no request to Google or to any other third party.

6. Payments

Subscriptions are sold and billed by Apple through the App Store on iPhone, and by Google through Google Play on Android. Apple or Google, not Yafa, handles your payment details — we never see your card number or your billing address. We use RevenueCat to receive whether your subscription is active, when it expires, and whether a payment failed, so the app can unlock AI features and so we can tell you if a renewal is about to fail.

7. Legal bases for processing (GDPR Article 6)

8. Who else processes your data

We do not sell personal data, and we do not share it with advertisers or data brokers. There is no advertising in Yafa.

International transfers

Our server functions run in the United States, and the providers above are largely US-based, so your data is transferred outside the European Economic Area. Those transfers rely on the European Commission’s Standard Contractual Clauses and, where applicable, the EU–US Data Privacy Framework, as set out in each provider’s own terms.

9. How long we keep things

10. Your rights

Under the GDPR you have the right to access your data, correct it, have it erased, restrict or object to its processing, and receive it in a portable form. To exercise any of them, email yetanotherfitapp@gmail.com — we will answer within one month.

You can delete everything yourself: open Profile in the app and choose to delete your account. That removes your account, your server-side records and the data on your device. It cannot be undone. An active subscription is billed by Apple or Google and must be cancelled separately, in your Apple account settings or in Google Play.

If you believe we have handled your data improperly you can complain to the Finnish Data Protection Ombudsman (tietosuoja.fi) or to the supervisory authority where you live.

11. Children

Yafa is for adults: you must be at least 18 to use it, and we do not knowingly collect data from anyone younger. If you believe someone under 18 has provided us data, please contact us and we will delete it.

12. Security

Traffic between the app and our servers is encrypted in transit. The AI provider’s API key is held in Google Secret Manager and never ships inside the app. Access to our Firebase project is protected by two-factor authentication. No system is perfectly secure, but we keep the amount of data we hold deliberately small. What we keep about your training is what you would want back on a new phone, your saved workouts and your history, and it is not used for advertising, sold, or used to train AI models.

13. Changes to this policy

If we change how the app handles data, this page is updated and the date at the top changes with it. Material changes will also be announced in the app.

14. Contact

yetanotherfitapp@gmail.com