Privacy Policy

Last updated: May 2026

1. Data Controller

The data controller under the EU General Data Protection Regulation (GDPR) and other applicable national data-protection laws is:

Dennis Achtziger
Email: dennis.achtziger@gmail.com

No data protection officer is appointed because the legal thresholds for mandatory appointment are not met.

2. Overview

Belka is an iOS app for learning Russian vocabulary. The app is local-first:

The app contacts exactly three external services:

3. Data stored locally on your device

The following data is stored exclusively on your device (in the app sandbox UserDefaults or an App Group container) and does not leave the device:

Legal basis: Art. 6(1)(b) GDPR — processing is necessary to perform the contract (delivering the app's functionality).

Retention: As long as the app is installed on your device. Uninstalling the app removes all local data via iOS. Inside the app, you can manually reset local data under "Profile → Privacy → Reset local data".

4. Data sent to external services

4.1 RevenueCat (subscription validation)

When you start, restore, or the app refreshes a subscription, the following data is sent to RevenueCat, Inc. (USA):

Purpose: verify your active Belka Pro subscription; abuse prevention.
Legal basis: Art. 6(1)(b) GDPR (contract performance).
Processor: RevenueCat, Inc., 75 Broadway, San Francisco, CA 94111, USA. A Data Processing Agreement (DPA) is in place.
RevenueCat privacy policy: https://www.revenuecat.com/privacy/

4.2 Supabase — feedback form

If you voluntarily fill in the feedback form (Profile → "Send feedback") and submit it, the following data is sent to Supabase Inc. (USA):

Purpose: improving the app; getting back to you when needed.
Legal basis: Art. 6(1)(a) GDPR (consent — you actively submit the form) or (f) (legitimate interest in product improvement).
Processor: Supabase Inc., USA. A DPA is in place.
Supabase privacy policy: https://supabase.com/privacy

Retention at Supabase: Feedback is kept until you request deletion (see § 7). Only POST (write) requests are issued; the app never reads back data from Supabase.

4.3 Supabase — pseudonymous usage analytics

Belka collects pseudonymous events by default to understand which features are used, where users get stuck, and whether the learning concept actually works. Data is sent to our own Supabase server (USA); no third-party analytics SDK is embedded (no Google Analytics, Firebase, Amplitude, Mixpanel, Facebook, etc.).

What is sent:

What is NOT sent: your first name, your email (unless you submit feedback — see § 4.2), your reminder time, your contacts, your location, your Apple ID, advertising IDs, or any input-field contents.

Purpose: product analytics and improvement.
Legal basis: Art. 6(1)(f) GDPR (legitimate interest in product improvement; pseudonymized data per Art. 4(5) GDPR).
Processor: Supabase Inc., USA. DPA in place.

Opt-out: You can disable transmission anytime under "Profile → Privacy → Anonymous statistics". Once opted out, future events are neither captured nor buffered; locally buffered, not-yet-sent events are discarded.

Retention: Up to 24 months after collection; raw events are deleted afterwards and only aggregated, non-personal statistics are kept.

5. Transfers to third countries (USA)

Both RevenueCat and Supabase process data in the United States. Transfers are based on the European Commission's Standard Contractual Clauses (SCCs, Decision 2021/914) and, where applicable, on the EU-U.S. Data Privacy Framework when the provider is certified.

You may request a copy of the SCCs from the respective providers.

6. Tracking, advertising IDs, cookies

Belka uses no tracking in the App Tracking Transparency sense, no IDFA, no advertising identifiers, no cookies, and no third-party tracking or analytics SDKs (no Google Analytics, Firebase, Facebook SDK, AppsFlyer, Adjust, Branch, Amplitude, Mixpanel, etc.).

The pseudonymous analytics described in § 4.3 are sent only to our own server, are never combined with data from other apps or websites, and are never used for advertising or profiling. You can switch them off anytime.

The app does not present an App Tracking Transparency dialog because it does no cross-app or cross-site tracking.

7. Your rights

Under GDPR, you have the right to:

Practical notes:

8. Local notifications

If you enable a daily reminder, Belka schedules a local notification via UNUserNotificationCenter. There is no push server, no APNs token transmission, and no data sent to external services. The reminder time stays on your device.

9. Data security

10. Changes to this Privacy Policy

We may update this Privacy Policy to reflect changes in law or in the app. The current version is always available inside the app under "Profile → Privacy" and on this page. Material changes are communicated in-app.

11. Contact

Questions about privacy? Write to: dennis.achtziger@gmail.com — reply within a few business days.