生效日 / Effective Date: 2026-04-18 最後更新 / Last Updated: 2026-10-07
FlySP(以下簡稱「本應用程式」)是一款提供 GPS 位置模擬功能的行動應用程式,套件名稱為 com.pcliao.flysp。本政策說明我們如何收集、使用、儲存與保護您的個人資料。
使用本應用程式即表示您同意本隱私權政策之內容。
SharedPreferences),未加密;並會納入 Android Auto Backup 備份到您自己的 Google 帳號(見第 5 節)SharedPreferences;同樣會納入 Android Auto Backup(見第 5 節)purchaseTokenflutter_secure_storage 儲存於 Android Keystore(加密)android.permission.health.WRITE_STEPS,並未取得任何讀取健康資料的權限,無法看到您既有的健康紀錄| 服務 | 用途 | 隱私權政策連結 |
|---|---|---|
| Google Mobile Ads (AdMob) | 顯示廣告;識別已付費移除廣告用戶 | https://policies.google.com/privacy |
| Google Play Billing | 處理「移除廣告」一次性購買 | https://policies.google.com/privacy |
| OpenStreetMap (Nominatim) | 位置搜尋 | https://wiki.openstreetmap.org/wiki/Privacy_Policy |
| OSRM | 路徑規劃 | https://project-osrm.org |
| OpenStreetMap Tiles | 地圖圖磚 | https://operations.osmfoundation.org/policies/tiles |
| Photon (komoot) | 位置搜尋與地名反查 | https://photon.komoot.io |
| Health Connect (Google) | 寫入模擬產生的步數(僅在您開啟步數同步時) | https://policies.google.com/privacy |
| Google ML Kit 文字辨識 | 在裝置上辨識明信片截圖中的文字(圖片不上傳);Google Play 服務可能會傳送裝置資訊與效能數據給 Google,詳見右方連結 | https://developers.google.com/ml-kit/android-data-disclosure |
| Google 地圖 | 僅在您於找不到地點時點選「在 Google 地圖搜尋」:開啟 Google 地圖並帶入地點文字 | https://policies.google.com/privacy |
SharedPreferences);最愛路徑存於本機資料庫 flysp.dbFlutterSharedPreferences.xml 與 flysp.db)。備份由 Android 系統執行與保管,本應用程式無法讀取該備份的內容,我們也從未持有它。flutter_secure_storage;金鑰綁定裝置,還原到新機也解不開),以及懸浮視窗採集 pin 的暫存佇列(pin_queue.json;中繼狀態,還原後沒有意義)。解除安裝本應用程式將刪除所有本機儲存的資料;但已上傳到您 Google 帳號的備份不會隨之刪除,它會一直保留到您自行刪除為止(刪除方式見第 6 節)。
我們不保留您的任何個人資料。 本應用程式沒有後端伺服器,不需要註冊帳號,也不會將您的最愛位置、搜尋歷史、模擬紀錄或任何裝置識別碼傳送到我們持有或控制的系統。我們沒有可以保留這些資料的地方。
下列資料儲存在您的裝置上,保留期間完全由您決定,直到您自行刪除為止(其中多數另有一份 Android Auto Backup 備份在您自己的 Google 帳號,說明見本節後段與第 5 節):
| 資料類別 | 保留位置 | 保留期間 | 刪除方式 |
|---|---|---|---|
| 最愛位置 | 本機 SharedPreferences |
直到您刪除 | App 內逐筆刪除,或解除安裝 |
| 收藏路徑 | 本機資料庫 flysp.db |
直到您刪除 | App 內逐筆刪除,或解除安裝 |
| 搜尋歷史(最多 20 筆,含明信片辨識出的地點文字) | 本機 SharedPreferences |
直到您清除 | App 內清除搜尋歷史,或解除安裝 |
| 明信片截圖 | 辨識期間的暫存空間 | 辨識完成即刪除 | 不需要(不保存) |
| 模擬紀錄 | 本機 SharedPreferences |
直到您刪除 | App 內於模擬歷史清單刪除,或解除安裝 |
| App 偏好設定(語言、功能開關) | 本機 SharedPreferences |
直到您重設 | 系統設定 → 應用程式 → FlySP → 清除資料,或解除安裝 |
購買狀態與 purchaseToken |
Android Keystore(加密) | 直到您解除安裝 | 解除安裝 |
解除安裝本應用程式會一併刪除上述全部儲存在裝置上的資料。 由於我們從未持有這些資料,刪除後我們無從復原,您也不需要向我們提出刪除請求。
但 Google 帳號中的備份是例外。 上表中儲存於 SharedPreferences 與 flysp.db 的項目(最愛位置、收藏路徑、分類、搜尋歷史、模擬紀錄、app 偏好設定)同時會被 Android Auto Backup 複製到您自己的 Google 帳號(見第 5 節)。這份備份不會因為您解除安裝本應用程式而消失——那正是它的用途:讓您換機或重裝時資料回得來。它保留在您的 Google 帳號中,直到您自行刪除;我們無法讀取,也無法代為刪除。
刪除該備份的方式(皆在本應用程式之外,由您直接操作 Google):
| 目的 | 操作路徑 |
|---|---|
| 刪除已存在的備份 | Google One App → 儲存空間 → 裝置備份 → 選擇該裝置 →(選擇本應用程式的資料或整份備份)→ 刪除 |
| 停止之後再上傳 | 系統設定 → Google → 備份 → 關閉「App 資料備份」或整個備份功能 |
若您希望裝置上與備份中都不留下任何資料:先於系統設定關閉備份並刪除既有備份,再解除安裝本應用程式。
位置資訊(見 2.1)不會被保留:僅在您點擊「我的位置」時查詢一次並顯示於畫面,不寫入任何儲存空間。
第三方服務(見第 3 節)依其各自的隱私權政策保留資料,不在我們的控制範圍內;其保留做法請參閱該節所列的政策連結。
本應用程式不針對未滿 13 歲之兒童設計,我們不會刻意收集 13 歲以下兒童的個人資料。若您認為孩童未經同意在本 App 中提供了資訊,請透過下方聯絡方式告知我們刪除。
若您位於歐盟、英國或加利福尼亞州,您享有以下權利:
由於本 App 不在伺服器儲存個人資料,所有資料都在您的裝置本機;您可透過以下方式自行行使權利:
| Android 權限 | 用途 |
|---|---|
ACCESS_FINE_LOCATION / ACCESS_COARSE_LOCATION |
取得您的實際位置(僅於您點擊「我的位置」時) |
ACCESS_MOCK_LOCATION |
讓系統將本 App 列入「選取模擬位置應用程式」選單,需您於開發者選項中主動授權 |
INTERNET / ACCESS_NETWORK_STATE |
地圖圖磚、搜尋、路徑規劃、廣告 |
FOREGROUND_SERVICE / FOREGROUND_SERVICE_SPECIAL_USE |
維持位置模擬在背景持續執行 |
WAKE_LOCK |
避免裝置休眠中止位置模擬 |
POST_NOTIFICATIONS |
顯示背景服務通知與長時間模擬提醒 |
BILLING |
處理「移除廣告」購買 |
AD_ID |
由 AdMob SDK 使用(可於系統設定關閉) |
health.WRITE_STEPS |
將模擬產生的步數寫入 Health Connect(僅在您開啟步數同步時) |
SYSTEM_ALERT_WINDOW |
顯示懸浮控制視窗(懸浮模式) |
VIBRATE |
操作回饋震動 |
我們可能不時更新本政策。重大變更時,將於本網頁更新「最後更新」日期並於應用程式內通知您。
如有任何關於本政策的問題,請透過以下方式聯絡:
Email: sylvia.pc.liao@gmail.com
FlySP (“the App”, package com.pcliao.flysp) is a mobile application that provides GPS location simulation. This policy explains how we collect, use, store, and protect your personal information.
By using the App, you agree to this Privacy Policy.
SharedPreferences (unencrypted); also included in Android Auto Backup to your own Google account (see Section 5)SharedPreferences; also included in Android Auto Backup (see Section 5)purchaseToken for the one-time “Remove Ads” purchase via Google Playflutter_secure_storage (encrypted)android.permission.health.WRITE_STEPS and holds no permission to read health data, so it cannot see your existing health records| Service | Purpose | Privacy Policy |
|---|---|---|
| Google Mobile Ads (AdMob) | Show ads; honor ad-free purchase | https://policies.google.com/privacy |
| Google Play Billing | Process “Remove Ads” purchase | https://policies.google.com/privacy |
| OpenStreetMap Nominatim | Location search | https://wiki.openstreetmap.org/wiki/Privacy_Policy |
| OSRM | Route planning | https://project-osrm.org |
| OpenStreetMap Tiles | Map tiles | https://operations.osmfoundation.org/policies/tiles |
| Photon (komoot) | Location search and reverse geocoding | https://photon.komoot.io |
| Health Connect (Google) | Writing simulated step counts (only when you enable step sync) | https://policies.google.com/privacy |
| Google ML Kit Text Recognition | On-device recognition of text in postcard screenshots (images are not uploaded); Google Play services may send device information and performance metrics to Google, see the link | https://developers.google.com/ml-kit/android-data-disclosure |
| Google Maps | Only when you tap “Search in Google Maps” after a place isn’t found: opens Google Maps with the place text | https://policies.google.com/privacy |
SharedPreferences); saved routes in a local database, flysp.dbFlutterSharedPreferences.xml and flysp.db). The backup is performed and held by Android; the App cannot read its contents, and we never hold it.flutter_secure_storage — the key is device-bound and would not be decryptable after a restore), and the floating-window pin collection queue (pin_queue.json — transient state that means nothing once restored).Uninstalling the App deletes all locally-stored data; however, a backup already uploaded to your Google account is not deleted with it. It remains until you delete it yourself (see Section 6).
We do not retain any of your personal data. The App has no backend server, requires no account, and does not transmit your favorites, search history, simulation records, or any device identifier to any system we own or control. There is nowhere for us to retain it.
The data below is stored on your device. You control how long it is kept; it remains until you delete it. (Most of it also has an Android Auto Backup copy in your own Google account — see the end of this section and Section 5.)
| Data | Where retained | Retention period | How to delete |
|---|---|---|---|
| Favorite locations | Local SharedPreferences |
Until you delete them | Delete individually in-app, or uninstall |
| Saved routes | Local database flysp.db |
Until you delete them | Delete individually in-app, or uninstall |
| Search history (max 20 entries, incl. place text recognized from postcards) | Local SharedPreferences |
Until you clear it | Clear search history in-app, or uninstall |
| Postcard screenshots | Temporary storage during recognition | Deleted once recognition finishes | Not needed (not kept) |
| Simulation records | Local SharedPreferences |
Until you delete them | Delete from the simulation history list in-app, or uninstall |
| App preferences (language, toggles) | Local SharedPreferences |
Until you reset them | System Settings → Apps → FlySP → Clear data, or uninstall |
Purchase status and purchaseToken |
Android Keystore (encrypted) | Until you uninstall | Uninstall |
Uninstalling the App deletes all of the above from the device. Because we never held this data, we cannot recover it after deletion, and you do not need to send us a deletion request.
The backup in your Google account is the exception. The items above that live in SharedPreferences and flysp.db (favorite locations, saved routes, categories, search history, simulation records, app preferences) are also copied to your own Google account by Android Auto Backup (see Section 5). That copy does not disappear when you uninstall the App — that is exactly its purpose: to bring your data back when you reinstall or switch devices. It stays in your Google account until you delete it; we can neither read it nor delete it for you.
How to delete that backup (all of this happens outside the App, directly with Google):
| Goal | Path |
|---|---|
| Delete an existing backup | Google One app → Storage → Device backups → pick the device → (pick this app’s data, or the whole backup) → Delete |
| Stop future uploads | System Settings → Google → Backup → turn off “Backup by Google One” / app data backup |
If you want nothing left either on the device or in the backup: turn backup off and delete the existing backup in system settings first, then uninstall the App.
Location data (see 2.1) is not retained: it is queried once when you tap “My Location”, shown on screen, and never written to storage.
Third-party services (see Section 3) retain data under their own privacy policies, outside our control; see the policy links in that section for their retention practices.
The App is not directed to children under 13. We do not knowingly collect personal information from children under 13. If you believe a child has provided information in the App without consent, please contact us to remove it.
If you reside in the EU, UK, or California, you have the right to:
Since the App does not store personal data on any server, all data lives on your device. You can exercise these rights yourself by:
| Android Permission | Purpose |
|---|---|
ACCESS_FINE_LOCATION / ACCESS_COARSE_LOCATION |
Read your actual GPS (only when you tap “My Location”) |
ACCESS_MOCK_LOCATION |
Let Android list this app in Developer Options → “Select mock location app”; still requires your explicit opt-in |
INTERNET / ACCESS_NETWORK_STATE |
Map tiles, search, routing, ads |
FOREGROUND_SERVICE / FOREGROUND_SERVICE_SPECIAL_USE |
Keep location simulation running in background |
WAKE_LOCK |
Prevent device sleep from interrupting simulation |
POST_NOTIFICATIONS |
Show the background service notification and long-simulation reminders |
BILLING |
Handle “Remove Ads” in-app purchase |
AD_ID |
Used by the AdMob SDK (opt-out available in system settings) |
health.WRITE_STEPS |
Write simulated step counts to Health Connect (only when you enable step sync) |
SYSTEM_ALERT_WINDOW |
Show the floating control window (overlay mode) |
VIBRATE |
Haptic feedback |
We may update this policy from time to time. Material changes will be reflected in the “Last Updated” date above and announced in-app where appropriate.
For any questions about this policy, contact us at:
Email: sylvia.pc.liao@gmail.com
© 2026 FlySP. All trademarks belong to their respective owners.