Skip to main content
Pully

Privacy Policy

Effective Date: 18 September 2026

Last Updated: 18 September 2026

1. Data Controller

Your personal data is controlled by:

Jakub Zakrzewski Consulting
Sole Proprietorship (JDG)
Tax ID (NIP): 5213997741
Address: al. Jana Pawla II 27, 00-867 Warszawa
Email: privacy@pullyapp.com

(hereinafter: "we", "us", "Pully")


2. What Data We Collect

2.1 Account Data (legal basis: performance of contract, Art. 6.1.b GDPR)

DataPurposeSource
Email addressAccount creation, recoveryProvided by you or Apple Sign In
Name (optional)Personalization (display name)Apple Sign In (first login)
Apple identifierAuthentication via AppleApple Sign In
Device identifierDevice recognition for syncAuto-generated (UUID)

2.2 Training Data (legal basis: performance of contract, Art. 6.1.b GDPR)

2.3 Body Measurements (legal basis: explicit consent, Art. 9.2.a GDPR)

Body measurements are health-related data under Art. 9 GDPR. We collect them only with your explicit consent:

You can withdraw consent at any time in Settings > Privacy. Withdrawal results in deletion of all measurements from our servers.

2.4 Apple Health Data (legal basis: explicit consent, Art. 9.2.a GDPR)

If you enable Apple Health integration:

2.5 Analytics (legal basis: consent, Art. 6.1.a GDPR)

With your consent, we collect pseudonymised usage data via PostHog (EU cloud):

We do NOT collect: exercise names, weights, notes, or your conversations with the AI Assistant.

About the identifier, precisely. Analytics receives a random install identifier generated by the analytics library on first launch and stored on the device. It is not a number issued by the operating system, and not a value we hash ourselves; it is not tied to your account. Our analytics providers never receive your name, your email address or your account identifier, and we never join these events to your identity in our own database. We call this data pseudonymised rather than anonymous: the identifier is stable for a given install, so it can tell devices apart, which under the GDPR is not anonymisation.

You can disable analytics in Settings > Privacy.

2.6 Crash Reporting (legal basis: consent, Art. 6.1.a GDPR)

With your consent, we collect crash reports via Sentry:

We never send Sentry your name, email address or account identifier - email and display name are stripped before sending. Reports carry a pseudonymous install identifier issued by Sentry. Storing of IP addresses is disabled on Sentry's side.

You can disable crash reporting in Settings > Privacy.

2.7 Subscription Data (legal basis: performance of contract, Art. 6.1.b GDPR; legitimate interest, Art. 6.1.f GDPR for revenue analytics)

2.8 AI Assistant Data (legal basis: performance of contract, Art. 6.1.b GDPR)

The AI Assistant ("Asystent", premium) processes your training data to answer your questions in context. When you send a message, we transmit the following to our AI sub-processor:

Your data is processed by Google Cloud Poland Sp. z o.o. (Gemini API services) as our sub-processor (Art. 28 GDPR); processing may also be carried out by other Google group entities and their sub-processors outside the EEA, under the Data Processing Addendum and Standard Contractual Clauses. Google does not use your prompts or responses to improve its products (we use the paid Gemini API). Google may log prompts and responses for a limited period, solely to detect and prevent violations of its safety policies and to meet legal obligations. This data may be stored transiently in any country where Google or its agents maintain facilities.

When you report a response from the Assistant (the report-response feature), we store the reported message together with the conversation context in order to review it for moderation and to improve the quality of the Assistant (Art. 6.1.f GDPR - our legitimate interest in service safety and quality). Access to reported content is limited to authorised team members; we retain it until the report has been resolved.

Buddy is not designed to process information about your health. Messages recognised as concerning pain, injury or other health problems are refused and are neither stored nor passed to the AI model provider.

The AI Assistant is part of your Premium subscription. It is informational only and is not a medical or mental-health tool. You can stop using it at any time; deleting a conversation or your account erases the conversation history from our systems. That covers the data we control, and there are two exceptions described above in this section: the safety logs kept by our AI sub-processor are subject to its own limited retention periods, and any reply you report for moderation is kept until the report has been dealt with.


3. Where We Store Data

LocationDataEncryption
Your device (SwiftData)All data - source of truthiOS device encryption
iOS KeychainApple identifier, device IDOS hardware encryption
Supabase (EU, region eu-central-1)Account backup (sync)TLS 1.2+ (transit), AES-256 (rest)
PostHog (EU cloud - servers in Frankfurt)Random install identifier (SDK-generated) + eventsTLS (transit)
Sentry (EU region - Germany; US company, SCCs)Crash reportsTLS (transit)
Google Cloud Poland Sp. z o.o. (Google group; processing also outside the EEA under SCCs)AI Assistant request data (training summary + message)TLS (transit)

Pully is offline-first - your data is always available on your device, even without internet. Sync is a background process.


4. Who We Share Data With

We do not sell your data. Ever.

We use the following sub-processors:

ServiceDataPurposeDPA
Supabase (Singapore Pte. Ltd.)Account + training dataSync and backupYes
PostHog (EU cloud - Frankfurt; PostHog Inc., USA)Random install identifier (SDK-generated) + eventsUsage analytics and onboarding funnelYes (signed 2026-08-26)
Sentry - Functional Software, Inc. (USA, SCCs; data in the EU region)Crash reportsApp stabilityYes
RevenueCat (USA, SCCs)Pseudonymous account identifier + device identifier + purchase eventsSubscription handling and revenue analyticsYes
Google Cloud Poland Sp. z o.o. (Google group; transfers outside the EEA under SCCs)Training summary, plan structure, profile, messagesAI Assistant (Gemini)Yes (incorporated by reference in the paid Gemini API terms)
Apple Inc.Payment data, Apple HealthPayments, healthIndependent controller

For data transfers outside the EEA (Sentry, RevenueCat, Google), we rely on Standard Contractual Clauses (SCCs) approved by the European Commission.


5. How Long We Keep Data

DataRetention Period
Account and training dataUntil account deletion
AI Assistant conversationsUntil you delete the conversation or your account
Reported AI Assistant responsesUntil the report is resolved
AI request data (at Google)Logged for a limited period (safety, legal obligations); Google publishes no specific term
Body measurementsUntil consent withdrawal or account deletion
Analytics (PostHog)12 months
Crash reports (Sentry)Auto-deleted after 90 days
BackupsDeleted within 30 days of account deletion

6. Your Rights (GDPR Art. 15-22)

You have the following rights:

6.1 Right of Access (Art. 15)

You can download a copy of all your data in JSON or CSV format. Go to Settings > Export.

6.2 Right to Rectification (Art. 16)

You can edit your data directly in the app (workouts, plans, measurements, profile).

6.3 Right to Erasure (Art. 17)

You can delete your account and all associated data in Settings > Account > Delete Account. Deletion is:

6.4 Right to Data Portability (Art. 20)

Export in JSON and CSV formats is always free (including free-tier users). Settings > Export.

6.5 Right to Restriction of Processing (Art. 18)

Contact us at: privacy@pullyapp.com

6.6 Right to Object (Art. 21)

You can disable analytics and crash reporting in Settings > Privacy.

6.7 Right to Withdraw Consent (Art. 7.3)

You can withdraw consent for:

Withdrawal does not affect the lawfulness of processing carried out before withdrawal.

6.8 Right to Lodge a Complaint

You have the right to lodge a complaint with the President of the Personal Data Protection Office (UODO), ul. Stawki 2, 00-193 Warsaw, Poland, www.uodo.gov.pl - or with the supervisory authority of your EU member state of residence.


7. Data Security

We implement the following technical and organizational measures:


8. Notifications

All notifications are local (UNUserNotificationCenter). We do not send server-side push notifications.

Notification types:

You can manage notifications in Settings > Notifications.


9. Cookies and Tracking

Pully does not use cookies. The app contains no web browser or web components. We do not use:


10. Children

Pully is not intended for persons under 18 years of age. This threshold follows from the terms of the language-model provider used by the AI Assistant (Buddy) and is higher than the consent threshold in Art. 8 GDPR. We do not knowingly collect data from persons under 18 and we do not collect dates of birth. If you learn that a person under 18 is using the app, please contact us - we will promptly delete their data.


11. Changes to This Privacy Policy

We will notify you of material changes via:

Continued use of Pully after publication of changes constitutes acceptance. Previous versions of this policy are available upon request.


12. Contact

For data protection inquiries:


13. Automated Decision-Making

Pully does not employ automated decision-making or profiling within the meaning of Art. 22 GDPR. Calculations displayed in the app (estimated 1RM, personal records, session comparisons) are mathematical computations for display purposes only - they do not make decisions affecting your rights.

The AI Assistant generates informational, advisory observations and answers using a language model. This is not automated decision-making under Art. 22 GDPR - its outputs do not produce legal effects or similarly significantly affect you, and no decisions about your account, subscription, or feature access are made based on them.


14. What We Do NOT Collect

For clarity - Pully never collects: