Privacy Policy
The developer of "Taigi" (the "App") respects user privacy and has designed the App to handle as little data as possible. This policy describes how the App handles personal information.
1. Personal information we collect
The App does not collect any personally identifying information.
- No user account is required.
- Search history, favorites, view history, and learning progress are stored only on the user's device and are never transmitted externally.
- The App does not obtain the user's name, email, phone number, location, contacts, or any similar information.
- There are only two exceptions: the information sent when the user taps a report button themselves (see section 3), and the anonymous events sent for the purchase flow, which is on by default and can be turned off at any time (see section 4). Neither contains anything that identifies an individual.
2. Network requests
The App makes HTTPS requests to a distribution origin operated by the developer (Cloudflare R2) in order to download audio for words and example sentences. These requests carry the following standard network information:
- IP address (required for any internet communication)
- User-Agent (a standard header containing OS version, etc.)
- The audio file name being requested
This information is temporarily logged by Cloudflare. The App's developer does not access or analyse these logs for the purpose of identifying individual users. Cloudflare's privacy policy is available at https://www.cloudflare.com/privacypolicy/.
If the user does not download audio (the dictionary text itself is bundled with the App), does not tap the report button described in section 3, and has turned off the anonymous measurement described in section 4, the App performs no network communication.
3. Reporting incorrect content
The App has one-tap report buttons in two places: "回報:這裡有誤 (this is incorrect)" on the "認證700" study cards in the Study tab, and "找不到?回報這個詞 (not found? report this word)", which appears when a search returns nothing. Only when the user taps one of those buttons does the App send the following information over HTTPS to the developer's server (a Cloudflare Worker), for the purpose of correcting errors in the dictionary content and learning which words are missing from it. Nothing is sent automatically or in the background.
The information sent is limited to:
- The dictionary entry ID
- The reported characters or word (e.g. "茉莉"; for a not-found report, the term being searched for at that moment)
- A source tag (e.g. "cert700", "missing")
- The app version (e.g. Taigi 2.1.0 (6))
- The OS version (e.g. iOS 18.5)
What is not sent:
- Name, email address, phone number, location, or contacts
- User content such as photos
- Identifiers such as user IDs or device IDs
IP addresses are processed transiently by Cloudflare for rate limiting (to prevent abuse and repeated submissions), but they are not stored in the database.
Submitted data is stored in Cloudflare D1 (a database), and the notification email to the developer is delivered via Resend (an email delivery service). The data is used only to correct incorrect content; it is not used to identify individuals and not used for tracking. Because a report contains no information that identifies an individual, it is retained without a set time limit as a record of dictionary corrections. Note that, as there is nothing indicating who submitted a given report, reports cannot be singled out and deleted for a particular user.
Under Apple's App Privacy categories this corresponds to Diagnostics (Other Diagnostic Data) and Usage Data (Product Interaction), in both cases "Not Linked to You", not used for tracking, and used for App Functionality.
Separately from the above, the "意見、回報問題 (feedback and bug reports)" link on the Info screen opens the mail app on the device. The draft it prepares contains only the app version, the OS version, and the language; whether to send it is the user's decision, and the App never sends it automatically. If the user does send it, the developer receives that email address and the message body, in order to reply and to improve the App.
4. Anonymous measurement of the purchase flow
To understand where people stop in the purchase flow — how many open the purchase screen, how many start the trial — the App can send a very small number of anonymous events.
- On by default, and can be turned off at any time. Turning off "Help improve the purchase flow" under Info → Help improve in the App stops the sending at that moment; nothing is sent after that, and nothing that happens after you turn it off is sent retroactively.
- What is sent: the name of the step (app launched — used as the denominator for these ratios, purchase screen opened, plans screen reached, trial started, purchase completed, closed without buying), which entry point it came from, the app version, and the OS version.
- What is not sent: any identifier (there is no install identifier and no session identifier), search terms, dictionary content, browsing history, or purchase amounts.
- Because no identifier is included, the server cannot link two records from the same device; only population-level counts are visible. For the same reason, records already sent cannot be selected and deleted for an individual user.
- Events go to Cloudflare Workers and D1, the same destination as the reports described in section 3. IP addresses are processed only for rate limiting and are not stored in the database.
- No third-party analytics service is used, and the data is never used for advertising or cross-app tracking.
Under Apple's App Privacy categories this falls under the same categories as section 3 — Diagnostics (Other Diagnostic Data) and Usage Data (Product Interaction) — in both cases "Not Linked to You", not used for tracking, and used for App Functionality and Analytics.
5. Third parties
The App does not share or sell user data to third parties for advertising, analytics, or similar purposes. No advertising or tracking SDKs are included in the App, and no third-party analytics service is used. The transmissions described in sections 3 and 4 are implemented by the App itself: section 3 happens only when you tap the button, and section 4 is on by default and can be turned off in the App at any time.
The following service providers (subprocessors) are used to operate the reporting feature, the anonymous measurement, and the audio delivery described above:
- Cloudflare (hosting and storage for Workers, D1, and R2) — privacy policy
- Resend (delivery of report notification emails) — privacy policy
6. Crash reports
If the user has enabled "Share with App Developers" in iOS → Settings → Privacy & Security → Analytics & Improvements, Apple may forward anonymized crash logs to the developer. This sharing is controlled entirely by the iOS system settings and is not a collection mechanism specific to this App.
7. Children's personal information
The App has no age restriction, but as stated above it collects no personally identifying information. Accordingly, it does not collect personal information from users under 13 either. The reporting feature does not ask for any personal information.
8. Changes to this policy
This policy may be revised in response to changes in applicable law or in the App's specification. Significant changes will be announced on this page.
9. Contact
For questions about this policy:
- Email: noform.dev@gmail.com