LanguageRecap

Legal

Privacy policy

This policy describes data used by the LanguageRecap website and mobile app to provide language lessons and spaced-repetition practice.

Data we use

You may optionally enter a display name in Profile for a private greeting on Home. A nickname is enough; you can edit or remove it at any time. We do not save your Google name or profile picture, or include your display name in analytics or AI prompts.

When registration-country collection is enabled, we store an approximate country code supplied by Cloudflare from your connection at signup. If the country is unavailable then, a later successful password or Google sign-in may fill the missing value once from that connection; an existing country is never overwritten. It is used for private administrative account-country statistics, not displayed on your profile, and is not proof of residence or nationality. We do not retain additional IP history, city or coordinates for this feature. Accounts without a trusted country signal remain Unknown.

We store your email address, account identifiers, password hash if you use password sign-in, sign-in sessions, language preferences, lesson notes, saved vocabulary and review history. Review history includes answers and learning results. We also process technical information such as IP addresses for security and abuse prevention, and activity and AI usage records to operate the service.

Photos and PDFs you choose for lesson input are read on your device. OCR and PDF text extraction happen locally; the file is not uploaded. Only the extracted text you review and submit for parsing is sent to Google Gemini with your lesson notes.

Private application error history stores fixed operation and failure categories, safe technical codes, timestamps and repeated-error counts to maintain the service. It does not include your email, account identifier, lesson content, IP address, credentials or raw error messages. Error buckets are scheduled for deletion once their last occurrence is more than 30 days old; cleanup may be delayed during outages. Backup retention is separate.

Social sign-in

If you choose Facebook sign-in, we request your public profile and email address. Facebook may return your name; we use the provider account identifier and email to link your sign-in to a LanguageRecap account. We do not request permission to post to Facebook. Other social sign-in providers similarly supply identity information for authentication.

Why and where data is processed

We use account data to authenticate you, lesson data to create learning material, and review history to schedule practice and show progress. Security and usage records help prevent abuse and maintain the service.

The service is hosted on DigitalOcean. Lesson content submitted for AI parsing is sent to Google Gemini for generation and verification. Resend processes recipient addresses and verification messages for email delivery. Social sign-in providers process authentication requests under their own policies. These providers may process data outside your country.

When enabled for the website, Cloudflare proxies requests for network protection and country estimation and processes connection information, including IP addresses. Its handling of network data is separate from the country code stored in your account.

Cookies and device storage

We use HttpOnly session cookies for sign-in and browser storage for preferences and consent choices. First-party activity records help us understand use of the service. On supported mobile devices, smart study reminders are off by default; you can enable them in Review settings, where the app requests notification permission. Reminders are scheduled only after you enable them and begin reviewing.

Retention and your choices

Account and learning data are retained to provide your account until deletion is requested. Operational logs and backup copies may remain separately from the live account. Depending on applicable law, you may request access, correction, export or deletion of your personal data, or object to certain processing.

Privacy contact

See data deletion instructions for how to request account deletion. Removing the app from Facebook alone does not delete your LanguageRecap account.