Privacy Policy
Tour Leader Assistant Last updated: 2026-10-30
Other languages: 繁體中文 · 简体中文 · English · 日本語 · 한국어
This policy explains what data the "Tour Leader Assistant" app (the "Service") collects, why, where it is stored, how long it is kept, and how you can delete it. The Service is built and run independently by an individual developer, Liu Chih-Kang. Contact: chikang.liu@gmail.com.
The Service is currently in Google Play closed testing and is available only to invited tour leaders.
1. What data we collect
| Data | What it is and what it is used for | Where it is stored |
|---|---|---|
| Basic Google account data | Email address, display name, and a stable account identifier. Used to confirm who you are and keep each account's data separate. | Verified live by Google at each sign-in; the server uses the account identifier to keep your data separate |
| Itineraries, receipts, traveler lists, room assignments, daily reports, headcount records | Data you enter in the app, or that you confirm after AI parsing. | Only on your own phone (local database). It is not uploaded to our server. |
| Files sent for AI parsing: receipt photos, itineraries, contracts, rosters, rooming lists, voice recordings | When you tap parse, the file content is sent to an AI service to produce the result. | Relayed through our server at that moment and discarded once parsing finishes; not retained |
| Trip registration | The tour name, start date and end date you register in the app. Used to decide in which period AI can be used and which plan applies. | Our backend server, stored separately per account |
| Purchase and plan data | The single-trip passes and monthly multi-trip plan you buy: product type, Google Play order ID, purchase token, purchase / refund / subscription status and expiry; redeem-code usage; which trip a pass was used for (tour name and dates); a simple ledger. Payment itself is handled by Google Play, and we do not receive your card number or payment account details. | Our backend server, stored separately per account |
| Daily AI usage count | How many AI recognitions you used today, to enforce the daily limit. | Our backend server |
| Expense-report templates, tracked flights | Template files you upload from your travel agency, and flight codes you choose to track. | Our backend server, stored separately per account |
| Push-notification device token (FCM token) | Used to send flight status notifications. | Our backend server |
| AI call operation logs | Time, feature name, model, duration, usage, success or failure and the reason for each AI parse. Never photos, text, voice or results; the account appears only as an irreversible hash. Used for troubleshooting and cost estimates. | Our backend server; automatically deleted after 60 days |
| Problems you report | Uploaded only when you tap "Report a problem": category, your description, app version, phone model and Android version, and recent operation records (which feature succeeded or failed, duration, error reason). No photos, rosters, receipts or itinerary content. Please do not write passport numbers, phone numbers or other personal details in the description. | Our backend server; automatically deleted after 30 days |
| AI correction statistics (only with your consent) | Sent only after you agree in the app: which field names in AI results you changed (unchanged, edited, filled in, cleared). Never the field contents. You can turn it off any time in "More settings". | Our backend server; automatically deleted after 90 days |
Location data: GPS proximity reminders are optional. Comparing your position with itinerary locations happens on your phone; your coordinates are not uploaded to our server. The place-name text from your itinerary is sent to Google's geocoding service to get coordinates. When you turn this feature on, the system asks for location permission (including background location, so reminders can work when the app is not open). Other features work without it.
Microphone and camera: used only when you use voice input or take receipt photos.
The Service has no ads and no third-party behavioral analytics or tracking tools, and we do not sell or rent your data.
2. How we use the data
Only to provide the Service itself: sign-in and data separation, AI-assisted parsing, place coordinate lookup, flight status notifications, calculating and verifying the plan you bought, enforcing the daily AI limit, reconciliation and refunds, and troubleshooting. We do not use it for anything else.
3. Third-party services
| Service | Purpose |
|---|---|
| Google (sign-in, geocoding, Firebase push, Google Play and the Google Play Developer API) | Account verification, place coordinates, push notifications, payments and subscriptions, verifying purchase and refund status |
| OpenRouter and its upstream AI models | AI parsing of receipts, itineraries, rosters, voice, etc. |
| AviationStack, FlightAware | Looking up the status of flights you choose to track |
| Exchange-rate service (open.er-api.com) | Foreign currency conversion (only currency codes are sent, no personal data) |
| Render (server hosting, Singapore) | Running the backend and storing its data |
These services have their own privacy policies, which apply to data sent to them.
4. Retention and deletion
- Data on your phone is managed by you; uninstalling the app removes it.
- Backend data: you can delete it any time in the app under "More settings → Expense category settings → Delete my data", or email chikang.liu@gmail.com to request deletion. See Delete your account and data.
- Data kept after deletion: for payment reconciliation, handling refund disputes, and preventing a one-time feedback pass from being claimed again after deleting data, the following is kept even after you delete your data: records of passes bought or redeemed (product type, Google Play order ID, purchase token, the tour name and dates a pass was used for), subscription status and expiry date, the ledger, and redeemed codes. Retention period: 5 years from the date of purchase, or the period required by tax and accounting rules, whichever is longer; deleted afterwards.
- Your Google account itself is not data of the Service and we cannot delete it; manage it in your Google account settings.
5. Security
All communication with our server uses encrypted connections. Data on the server is stored separately per account and is not visible across accounts. AI services and other third parties are governed by their own privacy policies.
6. Children
The Service is designed for adult tour leaders and does not knowingly collect children's personal data.
7. Your travelers' data
Traveler data you enter (rosters, passport, diet and health notes) stays on your phone and is sent for processing only when you tap AI parsing or export (and is not retained). You are responsible for the traveler data you enter; please comply with personal data protection laws.
8. Changes to this policy
When features or pricing change we will update this page and its "Last updated" date; significant changes will be clearly shown in the app or on this page.
9. Contact
chikang.liu@gmail.com