Privacy Policy

Last updated: November 1, 2026

Coretrix Technology Limited ("we", "us") respects your privacy. This policy explains how the SAT Vocab Boost app ("the app") collects, uses, stores, and protects your personal information.

1. What we collect

(a) Learning data (on-device)

  • Words you've browsed, review history, wrong-answer log, study plan settings
  • This data is stored locally in SQLite on your device.

(b) Sync and anonymous usage data (server-side, first-party)

  • Visitor ID: an anonymous, randomly-generated UUID stored on your device. While you are not signed in, it is not linked to your name, email, Apple ID, Google account, or any other personal identifier. (Once you sign in, see (c) below.)
  • Word-view events: when you read or quiz a word, we record the word ID, timestamp, a source tag (learn / review / quiz), and your visitor ID. This is used to deduplicate views and measure engagement (DAU/WAU/MAU) so we can improve the app.
  • Learning-progress sync: the IDs and timestamps of words you've browsed, the IDs of words you've marked for review, your wrong-answer log (word ID, wrong-answer count, first and most recent wrong-answer time), your study plan settings (daily new words, daily review count, total goal, mode), and your language preference. All of it is sent as word IDs, timestamps and setting values, so we keep a copy of your learning record on our server as well as on your device.
  • Which option you pick in a quiz is not uploaded; we only record that a word was answered incorrectly, so it can be scheduled for review. Any text you enter is not uploaded.

(c) Account data (optional)

We collect account data only when you choose to sign in. What each sign-in method actually gives us:

  • Username and password: the username and email address you enter; the password is stored only as a one-way hash (bcrypt). We never keep your plaintext password.
  • Apple: the stable identifier (sub) from Apple's identity token; an email address and name only if you chose to share them. We never receive your Apple ID password, your contacts, your purchases, or your activity in other apps.
  • Google: the stable identifier (sub) from Google's ID token, plus an email address and name only when that particular authorization includes them. We never receive your Google password, your contacts, or your activity in other apps.
  • WeChat: your WeChat openid — an identifier that is unique to this app. We never receive your nickname, avatar, Moments feed, friend list, or account password.
  • We never call WeChat's user-profile endpoint, so we never obtain your nickname or avatar.
  • An email address is not guaranteed: Apple usually supplies one only on your first sign-in, and Google only when the authorization includes it. When there is no email address we generate a non-deliverable stand-in (for example wechat+8f3a…@private.placeholder) purely to satisfy a uniqueness constraint. It is not a real email address, and we never send mail to it.
  • Display name: the name you shared with Apple; the name carried in Google's token when there is one; otherwise a generated handle (for example u_1a2b3c4d5e6f) for WeChat or for a sign-in that shared no name.
  • We store identifiers, not tokens: Apple's and Google's identity tokens and WeChat's single-use code are used only to verify the sign-in at that moment, then discarded.
  • After signing in, the session token (JWT) is kept in the device's secure system storage (Keychain on iOS, EncryptedSharedPreferences on Android).

Once you sign in, your visitor ID becomes linked to your account. The learning record on this device is moved onto your account (re-keyed from "visitor ID" to "account"), which is what makes cross-device sync possible and also means that record is now identifiable. After you sign out the app returns to visitor mode and new records are uploaded under the visitor ID again.

(d) Connection information (observed server-side)

On top of the fields the app itself sends, the server records the following whenever your device connects:

  • IP address: the network address your device connected from.
  • Country / region code: a two-letter code derived from that IP address (for example TW, HK, JP), used to chart where our users are. We store it at country / region level only and make no finer-grained location inference.
  • Last used: the most recent time you used the app.
  • App version, platform and device model: on every connection the app also sends its own version string (for example 1.1.0 (68)), platform (iOS or Android), device brand and model (Apple plus a hardware identifier such as iPhone15,2; or a brand plus a model such as samsung / SM-G991B), and operating system version (for example 17.4), so we can see which build runs on which kind of phone and diagnose problems specific to a model. None of these is a device identifier: no IDFA, IDFV, serial number or anything that could track you across apps.

(e) Technical info we collect automatically

The following is provided by the operating system and the app store platform (Apple App Store / Google Play) through their standard mechanisms. The app does not upload it separately, and it is used for bug triage:

  • Device model, operating system version, app version
  • Crash logs

In addition, from version 1.0.5 the app sends its own version string, platform (iOS / Android), device brand and model, and operating system version with every API request, so we can see how each release is used, which kinds of phones our users have, and diagnose problems specific to a build or a model.

(f) Subscription and purchase data (the paid "Daily Word Email")

Only if you subscribe to "Daily Word Email" do we collect the following:

  • Delivery email address: used to send the daily word email. If you sign in with Apple's "Hide My Email", this is a relay address; we use it only to send the email and account notifications, never marketing.
  • Purchase history: the store you subscribed through (Apple App Store or Google Play), the product id, the purchase date, the subscription expiry date, and whether auto-renew is on. We use it to tell whether the subscription is still active, to stop sending once it expires, and to handle refunds or cancellations.
  • Delivery preferences: the send time and time zone you chose, how many words per email, and your target word count and target date.
  • The list of words you have already learned: used only so we do not email you words you already know.

Billing and payment are handled by the store, so we never see your credit card details. We do not use purchase history for advertising or marketing, and deleting your account deletes it too.

2. How we use it

• Learning data: on-device storage is the source of truth. A minimal copy is also synced to our server (see (b) above). The anonymous identifier used to recognise you lives in the device's encrypted storage — if it is removed along with the app, a reinstall is treated as a new learner and your previous progress does not come back automatically.

• Visitor ID + word-view events: used to deduplicate views and measure engagement so we can improve content quality and prioritize features.

• Learning-progress sync: lets us keep a copy of your learning record on our server; once you sign in, that copy also follows you across your devices.

• Account data: used to let you sign in, to sync your learning record across devices, and to let you switch between sign-in methods on the same account. We never use account data for advertising or marketing.

• Connection information: used to count how many devices are using the app, chart which countries / regions our users are in, and see when each user last used it. It is not linked to a name, an email address, or any other identifying data, is not used for advertising or marketing, and is not shared with any third party.

3. What we don't do

• We do not track your study behavior for advertising or marketing.

• We do not share your visitor ID, word-view events, learning progress, or connection information with any third party. (The one exception is the Meta SDK described under "Third-party services" below, which receives only counts with no personal content, and with advertiser-identifier collection switched off.)

• We do not sell your personal information to data brokers.

• We do not secretly read your contacts, photos, location, or other unrelated data.

• We never force you to create an account: every feature of the app is available without signing in.

• We do not collect precise location, device identifiers for advertising (IDFA), or biometric data. We record only the IP address and the country / region code derived from it, and make no finer-grained location inference.

• We do not collect precise location, device identifiers for advertising (IDFA), or biometric data. We record only the IP address and the country / region code derived from it, and make no finer-grained location inference.

• We do not collect any device identifiers (IDFA, IDFV, advertising ID, serial number); we record only device brand, model, and operating system version. The Meta SDK's advertiser-identifier collection is also switched off.

• We do not collect email addresses from you, other than the one you enter yourself when registering with a username and password, or one that Apple / Google provides when you authorize it.

• We never store your social account passwords and never access third-party services on your behalf.

4. Third-party services

All learning data is handled by our own backend (api-satvocabboost.coretrix-tech.com). We do not embed a third-party advertising SDK.

From 1.1.0 the app uses the following official sign-in SDKs — for sign-in only, with no advertising or analytics:

From 1.2 the app also embeds the Meta SDK (Facebook App Events), used solely for advertising measurement (install attribution and launch counts). It is configured as follows:

  • Events only, never identity: we disable advertiser-identifier collection (IDFA / Google Advertising ID), so no event carries an identifier usable to track you across apps. The app also shows no ATT (tracking authorisation) prompt.
  • No screen title, no URL: by default the Meta SDK attaches "the URL that most recently opened the app" to every event; we disable that, because for this app that URL is a sign-in callback that can carry an authorisation code.
  • Measurement use only: the event data is restricted to advertising measurement and optimisation, and is never used to build audiences or to target ads at you.
  • We never send Meta your learning records, word-browsing activity, or account data. The only events sent are counts such as app install / launch / first launch / setup completed, with no personal content.
  • Some conversion events are also relayed by our server (the app's "first launch" and "setup completed"). The server calls Meta's Conversions API using the Meta App Secret, and the App Secret lives only in our server's environment variables — it is never packaged into the app (anyone can read a value embedded in an APK, so a secret credential must never go in one). The relayed event carries an event_id so Meta can deduplicate it (so one conversion is not counted twice); that id is a one-way hash of the identity key and the event name, so it reveals nothing about who you are and contains no name, email, or account data.

Meta's data use policy: https://www.facebook.com/privacy/policy/

If you use Apple's "Hide My Email", Apple gives us a relay address. We use it only to identify your account and never send marketing mail to it.

5. Your rights

• Delete your account in the app: open the app → Settings → Account → Delete account. This removes your account, its linked sign-in methods, and every learning record keyed to that account from our server. This cannot be undone. Data already on your device is not remotely erased, and you can keep using the app in visitor mode.

• Access / correct / delete: email support@coretrix-tech.com at any time. We will respond within 30 days. When you ask us to delete, we also delete the connection information linked to your visitor ID (IP address, country / region code, last-used time).

• Reset on-device data: open the app → Settings → Data & Privacy → Reset learning data.

• Uninstall: removes all on-device data and disconnects your visitor ID from future uploads.

6. Children's privacy

The app is not directed at children under 13. We do not knowingly collect personal information from children under 13. If you believe we have inadvertently collected such information, please contact support@coretrix-tech.com and we will delete it within 7 days.

7. Storage and security

We use HTTPS / TLS for all network requests, industry-standard server hardening, and access controls to limit who can view stored records. Visitor IDs, word-view events, learning-progress sync data and connection information (IP address, country / region code, last-used time) are kept in our own infrastructure (Alibaba Cloud ECS) and are not transmitted to any third party. Passwords are kept as one-way hashes and cannot be recovered.

8. Policy updates

We may update this policy from time to time. Updates will trigger an in-app notice and the "Last updated" date on this page will be refreshed. Material changes will be posted on this page.

9. Contact us

Coretrix Technology Limited

📧 support@coretrix-tech.com

🌐 www.coretrix-tech.com