Deutsch·Português

Privacy Policy

Last updated: 17 October 2026

This policy covers the Carpincho website (carpincho.app) and the Carpincho app for iOS.

1. Controller

Steffen Giebler — 52N34S Group
Schwedter Str. 25, 10119 Berlin, Germany
Email: privacy@52n34s.com

We are not required to appoint a Data Protection Officer under Art. 37 GDPR.

2. In short

Carpincho works without an account. Vocabulary, audio and the review algorithm are bundled with the app and run on your device. Without an account, your learning data never leaves your phone.

There is no Google Analytics, no PostHog, no advertising inside the app, and no sale of data. To measure whether our ads on Instagram and Facebook lead to installs and subscriptions, the app uses Meta's SDK (see 3.10). If your App Store is set to a country in the EU, the EEA or the United Kingdom, this only happens with your permission; everywhere, the app uses the advertising identifier (IDFA) only with your permission. The website uses no analytics software and sets no tracking cookies — so there is no consent banner either. The free tools count anonymously how often they are used (see 4.4). The app can collect optional, pseudonymous usage statistics; you can turn that off in Settings.

Data leaves your device in these situations: a voice recording when you use a pronunciation exercise; when you create or use an account (email or Sign in with Apple); your learning progress if you sync with an account; a support message or card report if you send one; a crash report if the app crashes; and a purchase — then to Apple and to RevenueCat for managing purchases and entitlements. For ad measurement, some events also go to Meta (see 3.10).

3. The app

3.1 Data that stays on your device

Card states and review schedules, module progress, your variant setting (Rioplatense, neutral Latin American, Spain), interface language and other settings are stored in the app's local storage. Without an account they are not transmitted anywhere, and they are removed when you delete the app.

3.2 Optional account

An account is optional, including for purchases. Its purpose is to back up and sync your progress between devices when you have access. You can sign in with email and password or with Sign in with Apple. We store, using Supabase (EU region):

Supabase also sends the transactional emails for sign-up confirmation and password reset on our behalf.

Legal basis: Art. 6(1)(b) GDPR — performance of a contract you requested.

With Sign in with Apple we receive an Apple user identifier and — if shared — your email or a relay address. We do not request a name and we do not store one. Apple acts as an independent provider.

Deletion: You can delete your account in the app under Profile → Delete account. This deletes your login and all associated progress records immediately and irreversibly. For an Apple account we also revoke the connection with Apple. You can also write to privacy@52n34s.com.

3.3 Installation ID

On first launch the app generates a random installation ID and stores it locally. It is sent with pronunciation assessments (to enforce the daily quota), support messages and card reports (so we can recognise repeat submissions from the same installation).

This identifier is generated by us. It contains no device, hardware or advertising identifier and is not used for advertising. When usage statistics are enabled, events are tied to this ID rather than to a person. It is gone when you delete the app.

Legal basis: Art. 6(1)(f) GDPR — preventing abuse, controlling the cost of a paid third-party service, and handling support requests.

3.4 Pronunciation assessment and microphone access

The app uses the microphone only while you are actively recording in a speaking exercise. It does not listen at any other time.

What happens to a recording:

  1. It is recorded locally (WAV, 16 kHz mono).
  2. It is sent over an encrypted connection to our server function, which forwards it to Microsoft Azure Speech Services in the Germany West Central region, together with the sentence you were asked to say.
  3. Azure returns an assessment. The app shows a band — understood / borderline / would not come across — and marks your weakest words. Numeric scores are never shown.
  4. The recording is discarded. It exists only in the working memory of our server function for the few seconds the assessment takes. It is not written to disk, not stored in our database, and not retained by us in any form. Microsoft acts as our processor; under the Azure Speech terms, audio submitted to the service is not retained after processing and is not used to train Microsoft models.

The assessment result is not stored on our servers either. It is returned to your device and displayed there.

The only thing we record is a usage entry so quotas can be enforced: account ID or installation ID, the length of the recording in seconds, and the language variant. No audio, no text, no result.

Microphone access is requested the first time you open a speaking exercise. You can decline or revoke it in iOS settings at any time; every other part of the app continues to work.

Legal basis: Art. 6(1)(b) GDPR for the assessment itself, Art. 6(1)(f) for the quota entry.

3.5 Support messages and card reports

If you send a support message, we store the message text, any contact address you provide, your installation ID, technical metadata (app and OS version) and, if you are signed in, your account ID.

If you report an incorrect entry using the report button on a card, we store the entry concerned, your note, your installation ID and, if you are signed in, your account ID.

If you are offline, the message stays queued on your device until a connection is available.

Legal basis: Art. 6(1)(b) and (f) GDPR — answering your enquiry and correcting content errors.

3.6 Error tracking

We use Sentry (EU region, ingest.de.sentry.io) to find crashes and errors in the app. Sentry is not used on the website.

The configuration is deliberately restrictive: sendDefaultPii is off, any user object is removed from every event before it is sent, breadcrumbs from text input fields and from the developer console are discarded, and screenshots and view hierarchies are not attached. A report contains the error and stack trace, app version, device model, iOS version, and technical tags identifying the screen, module and language variant in use. When a card report fails to send, the report additionally carries the entry ID and the error code — not your note.

Legal basis: Art. 6(1)(f) GDPR — legitimate interest in a stable app.

3.7 App updates

The app is configured for over-the-air updates through Expo Application Services (u.expo.dev). On launch the app may check whether a newer version of the app code is available. This request carries technical information such as app and runtime version and platform. It carries no account data and no learning data.

Legal basis: Art. 6(1)(f) GDPR — delivering fixes and improvements.

3.8 Purchases

Purchases are processed by Apple through the App Store. We do not receive payment details.

We use RevenueCat, Inc. as a processor to manage purchases and entitlements. RevenueCat assigns your installation an anonymous app user ID ($RCAnonymousID). If you create an account or sign in, this identifier is linked once to your Supabase user ID (Purchases.logIn).

What RevenueCat gives us back is purchase and entitlement status only — never your payment details. Transfers to the US rely on Standard Contractual Clauses; processing includes AWS and Snowflake. Purchase-related data: 24 months.

If you choose "Remind me" during a free trial, the app schedules a local notification on your device two days before the trial ends. It calculates the time from the expiry date reported by RevenueCat. Nothing additional is transmitted. The system permission prompt appears only after you tap "Remind me".

Legal basis: Art. 6(1)(b) GDPR.

3.9 Usage statistics

The app collects pseudonymous usage statistics: which exercise was opened, how long a session lasted, how many cards were reviewed, which intelligibility band a pronunciation assessment fell into, and paywall and purchase events. Paywall and purchase events may include the App Store country (storefront). This includes your device's time zone (for example “Europe/Berlin”) so we can count days in your local time; it does not tell us your location. Content is not collected: no voice recordings, no typed answers, no dictation text. The data is tied to a random installation ID, not to a person, and is stored in the EU. You can turn collection off in Settings.

Legal basis: Art. 6(1)(f) GDPR — understanding how the product is used so we can improve it.

3.10 Ad measurement with Meta

We advertise Carpincho on Instagram and Facebook, among other places. To measure whether these ads lead to installs, free trials and subscriptions, the app includes the software development kit (SDK) of Meta Platforms Ireland Ltd. (Merrion Road, Dublin 4, D04 X2K5, Ireland). There is no advertising inside the app.

What goes to Meta: that the app was opened and that you finished the introduction (once per installation), plus device model, iOS and app version, language setting, time zone, IP address, the identifier for vendors (IDFV) and a random identifier generated by the Meta SDK. When you start a free trial or subscribe, RevenueCat reports that event with product, price and currency to Meta through the Conversions API, linked to these identifiers. The advertising identifier (IDFA) is only added if you chose “Allow” in the iOS prompt. Learning content, voice recordings, email address and account ID do not go to Meta.

When: This depends on your App Store country. The iOS prompt appears after your first exercise; before it, the app explains what it is for.

Withdrawal: You can withdraw your permission in the iOS Settings under Privacy & Security → Tracking. After that, the app no longer sends the advertising identifier; in the EU, the EEA and the United Kingdom it then sends nothing to Meta at all. This does not affect the lawfulness of processing before the withdrawal.

Responsibility:We and Meta Platforms Ireland are joint controllers for the collection in the app and the transmission to Meta (Art. 26 GDPR), based on Meta's Controller Addendum (facebook.com/legal/controller_addendum). You can exercise your rights with us or with Meta. Meta alone is responsible for any further processing; details are in Meta's Privacy Policy (facebook.com/privacy/policy). We only receive aggregated reports from Meta, no data about individual people.

Legal basis: In the EU, the EEA and the United Kingdom, your consent (Art. 6(1)(a) GDPR, § 25(1) TDDDG). In all other countries, Art. 6(1)(f) GDPR — measuring the effectiveness of our advertising; you can object with the switch in Settings.

3.11 What the app does not do

4. The website (carpincho.app)

4.1 Waitlist

When you join the waitlist we store your email address, your language preference and, if you provide one, your reason for learning Spanish. The data is stored with Supabase in the EU region. We use it only to tell you when Carpincho is available and to send occasional previews of the word list. Confirmation follows a double opt-in: we send one email via Resend to verify the address.

Legal basis: Art. 6(1)(a) GDPR — consent. You can withdraw consent at any time with effect for the future, via the unsubscribe link in any email or at privacy@52n34s.com.

4.2 Hosting

The site is hosted by Vercel. Standard server logs (IP address, timestamp, requested URL, browser type) are processed as part of hosting operations, for security, troubleshooting and abuse prevention.

Legal basis: Art. 6(1)(f) GDPR.

4.3 Fonts

Web fonts are downloaded when the site is built and served from our own domain. Your browser makes no request to Google or any other font provider, and no IP address is transmitted to a font provider.

4.4 Usage count of the tools

On the tool pages (for example the listening test or the false friends) we count how often a tool is opened, completed, or its App Store link is tapped. For this, your browser sends only: the tool, the page language, the event and a rough source (Google, social networks, AI assistants, direct or other). Your browser determines the source itself; the referring address is not sent. Our hosting provider Vercel derives the country from your IP address (two-letter country code); we do not store the IP address. We store only daily totals per tool, language, country, source and event, at Supabase in the EU region. There is no cookie, no identifier and no link to individual visits. Nothing you type into a tool is sent. Visits from recognisable bots are not counted.

Legal basis: Art. 6(1)(f) GDPR. Our legitimate interest is to understand which tools are used and in which languages and countries there is demand for the app.

4.5 Analytics and cookies

The website uses no analytics software and no error logging. It sets no cookies for advertising, analytics or cross-site tracking. There is a single cookie: if you choose a language in the language menu, your browser stores it as NEXT_LOCALE for one year, so that carpincho.app opens in that language on your next visit. It contains only the language code and is used for nothing else.

4.6 Admin area

The internal admin dashboard uses Supabase Auth and is accessible only to the site operator. It processes no visitor data beyond what is described above.

5. Legal bases at a glance

ProcessingLegal basis
Account, sync, learning progressArt. 6(1)(b) — contract
Pronunciation assessmentArt. 6(1)(b) — contract
Purchases and entitlementsArt. 6(1)(b) — contract
Quota entry, installation IDArt. 6(1)(f) — abuse prevention, cost control
Support messages and card reportsArt. 6(1)(b), (f)
Error tracking in the appArt. 6(1)(f) — stability
App updatesArt. 6(1)(f) — delivering fixes
Waitlist and confirmation emailArt. 6(1)(a) — consent
Server logsArt. 6(1)(f) — security and operation
Usage count of the toolsArt. 6(1)(f) — understanding demand for the tools and the app
Ad measurement with MetaEU, EEA, UK: Art. 6(1)(a) — consent; other countries: Art. 6(1)(f) — effectiveness of our advertising

6. Processors and recipients

ServicePurposeProcessing location
Supabase (Supabase Inc., US)Database, authentication, server functions, transactional emailEU region; DPA in place
Microsoft Azure Speech Services (Microsoft Ireland Operations Ltd. / Microsoft Corp., US)Pronunciation assessmentGermany West Central; Microsoft Products and Services DPA
Sentry (Functional Software Inc., US)Error tracking, app onlyEU region (ingest.de.sentry.io)
Expo (Expo Inc. / 650 Industries, US)Over-the-air app updatesUS
Resend (Resend Inc., US)Waitlist confirmation emailUS
Vercel (Vercel Inc., US)Website hostingUS / EU edge
RevenueCat (RevenueCat, Inc., US)Managing purchases and entitlements; reporting trial and subscription events to Meta (3.10)US
Meta (Meta Platforms Ireland Ltd.; Meta Platforms, Inc., US)Ad measurement; joint controller for collection and transmission (3.10)Ireland / US
Apple (Apple Distribution International Ltd. / Apple Inc., US)App distribution and purchase processing, Sign in with AppleApple's own privacy policy applies

7. International data transfers

Some providers are based outside the EEA or have a US parent company. Where personal data is transferred to the United States, we rely on the EU-U.S. Data Privacy Frameworkwhere the recipient is certified under it, and otherwise on the European Commission's Standard Contractual Clauses. You can request a copy of the relevant safeguards at privacy@52n34s.com. We apply the same standard to users everywhere, not only in the EU.

For RevenueCat, transfers to the United States rely on the European Commission's Standard Contractual Clauses, as set out in RevenueCat's data processing agreement. Processing takes place in the United States, including on AWS and Snowflake.

For Meta: Meta Platforms Ireland may transfer data to Meta Platforms, Inc. in the United States. Meta Platforms, Inc. is certified under the EU-U.S. Data Privacy Framework.

8. Retention

DataRetention
Local learning data on the deviceUntil you delete the app
Account and progressUntil you delete your account
Voice recordingsNot retained — discarded after assessment
Assessment resultsNot stored on our servers
Quota entries90 days
Purchase and entitlement data24 months
Support messages and card reports12 months after the matter is closed
Waitlist entryUntil launch communication is complete or you unsubscribe
App error reports (Sentry)90 days
Server logs (Vercel)Approximately 30 days
Ad measurement (Meta)Meta identifier at RevenueCat with the purchase data: 24 months; at Meta: according to Meta's Privacy Policy

9. Your rights

Under the GDPR you have the right to:

To exercise any of these, write to privacy@52n34s.com. Account deletion is also available directly in the app.

Competent supervisory authority for us:
Berliner Beauftragte für Datenschutz und Informationsfreiheit (BlnBDI)
Alt-Moabit 59–61, 10555 Berlin

10. Children

Carpincho is not directed at children under 16, and we do not knowingly collect data from children under 16. If you believe a child has provided us with data, write to privacy@52n34s.com and we will delete it promptly.

11. Changes to this policy

We update this policy when the app or the services behind it change. The current version is always available at carpincho.app/privacy. If a change materially affects how we handle your data, we will point it out in the app or by email before it takes effect.