Ching (清數理財) · Last updated: 29 September 2026 · Effective: 29 September 2026
Ching (清數理財) is developed and maintained by I Love Working Limited, based in Hong Kong ("we", "us", "our").
Contact: hello@chikching.app
Ching is a local-first personal finance app. Your financial data (transactions, accounts, budgets, stock holdings) is stored in a SQLite database on your device only. No account or login is required.
Importing from another app. When you use "Import from another app", the file you select (a Money Manager backup or a 錢家有道 backup) is read and processed on your device only. It is never uploaded to our servers or to any third party. The password required for a 錢家有道 backup is used solely to decrypt that file on your device; it is not stored and never leaves your device. Before an import begins, Ching saves a backup of your existing data on your device as an unencrypted .chingbackup file for you to keep or delete.
Your financial records never leave your device by default. The optional features below transmit data only when you enable them. Like most apps, Ching also performs a small number of routine service connections (see "Basic App Service Connections") and collects anonymous usage statistics and crash reports (see "Analytics" and "Crash Diagnostics"). Firebase Analytics does not receive your financial data; a crash report may include the transaction amount and merchant name present in the error message at the moment of a crash, used only for debugging.
If you have switched on your phone's own system backup (Google or iCloud), your phone may include Ching's data in that backup, stored to your own account and outside our control.
When you enable the AI Spending Insights feature and give consent, a summary of your financial data is sent to our server for analysis:
Settings > AI & Privacy lets you exclude budget, investment and couple data from the snapshot. Grouped balances, the transaction list, merchant totals and category names are always included while the feature is enabled. Use "View Data Sent to AI" in the same screen to see the exact data before it is sent.
AI category suggestions. When AI Spending Insights is enabled (and, for captured payments, the category-suggestion option is on), the app may also send an individual transaction's merchant name and amount, together with your list of expense category names, to the same AI service to suggest a category. No other transaction details are sent for this purpose.
Images you share into Ching (receipt reading). When you share an image into Ching, Ching treats it as a receipt you want recorded: the image is uploaded over an encrypted connection to a cloud AI service, which reads the text and amounts to build a draft entry for you. Cloud receipt reading has its own consent switch, separate from AI Spending Insights: no image is uploaded until you give it, and the first time an upload would happen Ching asks you and keeps the image on your phone until you agree. Once you have agreed, the upload happens the moment you share — there is no preview step first. Unless you separately enable the optional failure diagnostics described below, Ching does not store your image on its servers: no copy is kept once reading completes. The image is processed by an AI model provider as described in Section 4. We use these services under API terms that prohibit use of your image for model training and for advertising, and we keep their optional data-sharing and training settings switched off — your image is used for receipt reading and, only with your separate diagnostic consent, investigating reading failures. If you do not want an image uploaded, do not share it into Ching — once you have agreed to cloud receipt reading, sharing an image is your instruction to upload it. Taking a photo with the in-app camera option, or choosing one from your photo library, is equally your instruction to upload that image.
Optional failure diagnostics. If you separately agree in the app, failed or apparently failed cloud readings (including a failed first model attempt rescued by a backup model) automatically retain the exact uploaded image, request settings, model responses, processing errors, app version and random request identifiers in a private Cloudflare R2 bucket. Images and responses can contain names, amounts, account details or other information visible in your image; they are readable by the developer solely to investigate and fix reading failures, not for advertising, profiling or model training. Access through our diagnostic tools expires seven days after the original request. Automatic deletion follows, normally within 24 hours. Declining does not prevent cloud reading. You can stop future collection in Settings > AI & Privacy; already retained evidence follows the same expiry. Earlier cloud-reading consent does not grant diagnostic retention. A voluntarily submitted problem report is a separate collection under Section 6 and its 90-day retention. Your phone also keeps the failed staged image and a local trace reference for up to 14 days, unless the image is still needed for a pending or saved entry. Runtime or network failures can prevent evidence from being saved.
Development and test builds only: a shared image the reading service could not parse may additionally be forwarded to the private developer notification channel described in Section 6, so the fault can be diagnosed; this never happens in the production build.
When you use an AI feature, the data it needs is passed through our servers and service providers to an AI model provider (currently Anthropic and Google) for processing. It is used only to produce your result, and not to train models.
What each AI feature sends. AI Spending Insights sends the financial snapshot described in Section 3. Asking the AI a question sends the question you type, together with the earlier messages in that conversation. A category suggestion sends one transaction's merchant name and amount with your list of category names. Receipt reading sends the image you shared.
AI processing takes place outside Hong Kong. AI responses are cached on your device for up to 24 hours. To avoid re-processing identical requests, a copy of the AI-generated response (which may quote your merchant names and amounts) is also cached on our server for up to 4 hours and then deleted; the raw financial snapshot itself is never stored on our servers. To operate rate limits and quotas, our server keeps a registration record for your installation (a random install identifier, device model, app version, language, usage counters, and a shortened cryptographic hash of your IP address). Your full IP address is processed by our network provider to deliver the request and for short-term rate limiting.
If you enable "Auto-Capture Payments", the app uses Android's Notification Listener Service to read payment notifications from supported apps (Octopus, AlipayHK, Alipay, Google Pay, PayMe, HSBC, Hang Seng, BOCHK, Citibank HK, Samsung Pay, Standard Chartered, DBS Compass, ether.fi Cash, WeChat Pay, Futubull, Mox, PayPay).
If you use the "Report Issue" feature in Settings, the following data is sent to our Cloudflare Worker for debugging purposes:
This data is stored in Cloudflare KV for support purposes and is retained for up to 90 days, after which it is automatically deleted. The logs are sanitized so that account and card numbers, phone numbers, and email addresses are masked, but they may still include transaction amounts, balances, budget figures, and notification text such as merchant names, and your account and category display names. This information is used only to diagnose and fix the issue you report — never for advertising or profiling.
So we can respond quickly, a copy of your report text, contact handle and device summary is also delivered to a private developer notification channel, visible only to the developer. That channel is a messaging webhook we configure: it is currently a private Telegram chat (Telegram FZ-LLC, outside Hong Kong), and it can be pointed at another messaging provider (for example Discord or Slack) without changing what is sent. Any screenshot you attach is uploaded to the channel only while it is a Telegram chat; with any other provider the channel receives the text alert alone, which states only whether a screenshot was attached. Your per-install identifier is never sent to this channel, and the log file itself stays in the Cloudflare record described above — only a short technical status line may be quoted from it, when that line reports a data-repair problem we need to see immediately.
If you enable Partner Mode, selected transactions are synced between you and your partner via Cloudflare Workers. You choose whether to share all transactions or only split expenses.
Partner Mode is transmitted over encrypted HTTPS (TLS), but — unlike Cloud Backup — it is not end-to-end encrypted. The shared data is readable on our Cloudflare server while it is in transit to your partner. We do not use it for any purpose other than delivering it to your partner, and it is deleted once delivered.
The following data is stored on our Cloudflare database while the partnership is active and is readable on the server:
This data is deleted when either partner disconnects. Undelivered transactions are cleaned up after 24 hours. Inactive devices are purged after 30 days.
The in-app Feature Request Board ("許願池") lets you suggest features and vote on suggestions. Submitting and voting send different things; both are stored in a Cloudflare D1 database (Cloudflare, Inc., USA / global network).
When you submit a wish, we receive and store:
When you vote, we receive and store only the identifier of the wish you voted for, the same per-install identifier, the time of the vote, and whether your installation has Pro. A vote carries no free text, and no device model, app version, build number, language setting or distribution channel is sent or stored for a vote.
The per-install identifier, and what it can be connected to. This is a randomly generated value created on first use and kept for as long as the app stays installed; it lets the server recognise your own submissions and votes. It is the same random identifier used by the Report Issue feature and by Partner Mode. It is not a login account — Ching has none — it is never shown to other users, and it is not linked to your billing identity or to your financial records. But the same value is stored beside the contact handle you may give in a bug report, and beside the display name you choose in Partner Mode, so we can connect your wishes and votes to that contact handle or partner display name. If you would rather your board activity could not be connected that way, do not give a contact handle when you report an issue.
Approved wishes are public. Once a wish is approved onto the board, its title, description, status and vote count are visible to all users. Please do not include your name, phone number, email address or any other personal details in a wish.
When a new wish is submitted (and when it reaches vote milestones), its title and an excerpt of its description are forwarded to a private developer notification channel, visible only to the developer, so we can review it promptly. That channel is the same one described in section 6 — a messaging webhook we configure, currently a private Telegram chat (Telegram FZ-LLC, outside Hong Kong).
Opening the board sends your identifier so the server can show you your own wishes that are still under review; no board activity is recorded server-side when you only read the board (standard short-lived request logs aside). While a wish is still under review, you can edit or delete it yourself in the app. Once a wish has been declined you can still delete it in the app, but it can no longer be edited. Once a wish is on the public board, you can no longer edit or delete it in the app — contact us and we will delete it and its associated data for you.
We use Firebase Analytics (operated by Google LLC, USA) to understand app usage patterns. Firebase collects:
Firebase Analytics does not receive your financial data. We do not use analytics data for advertising or user profiling. You can review Firebase's privacy documentation.
We use Firebase Crashlytics (operated by Google LLC, USA) to detect and fix app crashes and unhandled errors. When the app encounters a crash or uncaught error, a crash report is sent to Google/Firebase. This is active for all non-debug builds and helps us keep the app stable.
We never attach your transaction list, balances, accounts or stock holdings to a crash report. The error message is sanitized before upload so account and card numbers, phone numbers, and email addresses are masked, but it may still include the transaction amount and the merchant name being processed at the moment of the crash — those are preserved deliberately, because they are the diagnostic payload that lets us find the fault. Crash reports are used only for debugging. They are not used for advertising or profiling. You can review Firebase's privacy documentation.
If you enable Cloud Backup, an encrypted copy of your data is stored on Cloudflare R2 (Cloudflare, Inc., USA) so you can restore it on a new device.
End-to-end encrypted. Your backup is encrypted on your device using AES-256-GCM before any bytes leave it. The encryption key is derived from your passphrase and never leaves your device in usable form. Neither we nor Cloudflare can read the contents of your backup — we only ever receive encrypted bytes.
What leaves your device for Cloud Backup:
The manifest contains no transaction amounts, merchant names, account names, or balances — only counts. If you lose your passphrase, your backup cannot be recovered, because we do not hold the key.
For security monitoring, backup operations are recorded in a server-side audit log containing the request's IP address and technical metadata.
If you record stock holdings, the app fetches current market prices to show their value. These price and symbol-lookup requests are sent to Yahoo Finance (a third-party market-data service operated by Yahoo) directly from your device, which returns the requested quote.
We use Firebase Cloud Messaging (FCM) to deliver push notifications (e.g., partner sync alerts). When you grant notification permission, a unique device token is generated by Firebase and sent to Google's servers to route notifications to your device. This token does not contain personal or financial information. You can disable push notifications at any time in your device settings.
If you purchase the Pro subscription through Google Play, payment is handled entirely by Google — we never see your payment card or billing details. To activate and maintain Pro, the app sends the store-issued purchase token and product ID to our billing server (Cloudflare Workers), which verifies them with Google Play and stores the resulting subscription state (active / expired) and expiry date. Google also notifies our server when your subscription changes (renewal, cancellation, refund). This processing is necessary to deliver the subscription you purchased.
When your subscription changes state — a new purchase, a cancellation (auto-renew turned off), a restart, or a revocation such as a refund or an expiry — a short alert is also delivered to the same private developer notification channel described in section 6. That alert carries the product ID, the resulting subscription state and expiry date, and a shortened one-way hash of the store purchase token. It never carries the purchase token itself or payment details. If you separately choose to submit subscriber feedback and consent to follow-up, the alert may also include that feedback and your chosen contact details, as described below.
After subscribing, or when you return after choosing not to renew, you may share a main reason and optional comments. You may skip this without affecting your purchase, cancellation or remaining paid access. If you separately opt in, you may provide an email address or Threads handle for the developer to contact you about your experience. A reason-only update preserves an earlier contact choice; use the withdrawal control to remove it.
Your submitted reason, comments, consent choice and contact details are linked to a one-way hash of the verified subscription and stored on Cloudflare KV for up to 365 days after your latest submission. Feedback is delivered to the developer's private notification channel (currently Telegram); a later cancellation alert may include the saved purchase reason and consented contact. These submissions contain no ledger entries, balances or transaction history, and contact details and free text are not sent to Firebase Analytics. Store ownership proofs and a separate deletion credential are kept in device secure storage and are excluded from Ching ledger backups.
In Settings > Ching Pro feedback, you can withdraw permission to contact you and delete stored contact details and comments, including after your subscription expires. Reason codes may remain until the retention period ends. Copies already delivered to the developer's notification channel cannot be recalled automatically; contact hello@chikching.app to request their deletion or deletion of all feedback. Sharing contact details is optional and does not sign you up to a marketing list.
Like most apps, Ching makes a small number of routine network requests that do not depend on any optional feature: checking our server for the minimum supported version, feature availability and service announcements; fetching published exchange rates from the Hong Kong Monetary Authority's public API; and downloading the Noto Sans TC font from Google Fonts when first needed. These requests carry no financial or personal content. Like any internet request, they necessarily expose your device's IP address and standard request metadata to the responding server.
When you use optional features that transmit data, your information may be processed outside Hong Kong:
These transfers are necessary to provide the services you have opted into. Our service providers maintain appropriate security safeguards for cross-border data processing.
The following table summarises all third-party services that may process your data when you use optional features:
| Service | Provider | Purpose | Data Processed | Privacy Policy |
|---|---|---|---|---|
| Cloudflare Workers, R2 & D1 | Cloudflare, Inc. (USA) | AI request routing, Partner Mode sync, Report Issue, encrypted Cloud Backup storage, Feature Request Board storage | Financial snapshot, bug reports, end-to-end-encrypted backup blob + count-only manifest, IP address, request metadata, feature requests (title, description, install identifier, device context) | Link |
| Yahoo Finance | Yahoo Inc. (USA) | Stock price & symbol lookup | Stock symbol (ticker), IP address | Link |
| AI service providers (currently Anthropic and Google) | Anthropic, PBC (USA); Google LLC (USA) | AI Spending Insights, answering the questions you ask the AI, category suggestions, and reading images you share | Financial snapshot (grouped balances, transactions), the questions you ask and the earlier messages in that conversation, merchant name and amount, shared images | Anthropic · Google |
| Firebase Analytics | Google LLC (USA) | App usage analytics | Interaction events, device info, app-instance ID | Link |
| Firebase Crashlytics | Google LLC (USA) | Crash diagnostics | Crash stack traces, device-model bucket, build source, app version (the error message may include the transaction amount and merchant name present at the moment of a crash) | Link |
| Firebase Cloud Messaging | Google LLC (USA) | Push notifications | Device token (FCM token) | Link |
| Developer alert channel | Configurable messaging webhook — currently Telegram (Telegram FZ-LLC, outside Hong Kong); may be pointed at another provider such as Discord or Slack | Instant notification to the developer of new bug reports, new feature requests, and Pro subscription events (purchase, cancellation, restart, refund/revocation) | Bug-report text, contact handle, device summary and screenshot (the screenshot only while the channel is Telegram); feature-request title and description excerpt; subscription product ID, subscription state and expiry date, a shortened one-way hash of the purchase token (never the token itself), voluntarily submitted subscriber feedback and separately consented follow-up contact details | telegram.org/privacy |
| Google Play Billing | Google LLC (USA) | Pro subscription purchase verification | Purchase token, product ID, subscription state and expiry | Link |
| Google Fonts | Google LLC (USA) | Font delivery (Noto Sans TC) | IP address, standard request metadata | Link |
| HKMA Open API | Hong Kong Monetary Authority (Hong Kong) | Published exchange rates | No user data; IP address as part of the request | Link |
We do not use any advertising networks, social media SDKs, or other third-party tracking services beyond those listed above.
Ching is a native mobile application and does not use cookies. All app preferences are stored locally on your device using standard Android/iOS storage mechanisms (SharedPreferences / UserDefaults). We do not set cookies or run tracking scripts on this privacy policy page; our hosting provider may set strictly necessary operational cookies.
Ching has never sold your data and has never used your data for advertising — and we have no plans ever to do so. In particular:
AI Insights provides automated analysis based on your transaction data. Output is informational only and is not an investment recommendation, solicitation, or a substitute for advice from a licensed professional. Ching does not hold any Hong Kong SFC licence and does not provide regulated advisory services. No automated decisions with legal or similarly significant effects are made about you.
Under the Hong Kong Personal Data (Privacy) Ordinance (Cap. 486) and applicable data protection laws, you have the right to:
To exercise these rights, contact us at hello@chikching.app. We will respond within 40 days as required by Hong Kong law.
If you believe your data privacy rights have been violated, you may lodge a complaint with the Office of the Privacy Commissioner for Personal Data (PCPD).
Ching is not directed at children under the age of 13. We do not knowingly collect personal information from children. If you believe a child has provided us with personal data, please contact us and we will delete it.
We protect your data through: local-first architecture (data stays on your device by default), encrypted API key storage (Flutter Secure Storage), client-side AES-256-GCM end-to-end encryption for Cloud Backup (so backup contents are unreadable by us or Cloudflare), encrypted HTTPS connections for all server communications, and API key authentication for server endpoints.
This policy may be updated to reflect changes in our practices or legal requirements. We encourage you to review this page periodically. The "Last updated" date at the top indicates when the policy was last revised. Continued use of the app after changes constitutes acceptance of the updated policy. If an update would involve using personal data we have already collected for a new purpose, we will ask for your express consent before doing so, as the Ordinance requires.
For questions, data access requests, deletion requests, or concerns:
Email: hello@chikching.app
For formal data access or correction requests under the Personal Data (Privacy) Ordinance (Cap. 486), we will respond within 40 days as required by law.
In the event of any inconsistency between the English and Chinese versions of this policy, the English version shall prevail.
Ching(清數理財)· 最後更新:2026 年 9 月 29 日 · 生效日期:2026 年 9 月 29 日
Ching(清數理財)由 I Love Working Limited 開發及維護(下稱「我們」)。
聯絡方式: hello@chikching.app
Ching 是一個本地優先的個人理財應用程式。你的財務資料(交易、帳戶、預算、股票持倉)儲存在你裝置上的 SQLite 資料庫中。不需要帳戶或登入。
從其他 App 匯入。如你使用「從其他 App 匯入」功能,所選檔案(Money Manager 備份檔或錢家有道備份檔)只會在你的裝置上讀取及處理,不會上載至我們或任何第三方的伺服器。錢家有道備份檔所需的密碼僅用於在裝置上解密該檔案,不會被儲存,亦不會離開你的裝置。匯入開始前,Ching 會先在你的裝置上備份現有資料,該備份為未加密的 .chingbackup 檔案,供你自行保留或刪除。
你的財務記錄預設絕不會離開你的裝置。以下可選功能只會在你啟用後才傳送資料。與大多數應用程式一樣,Ching 亦會進行少量例行服務連線(見「基本服務連線」),並收集匿名使用統計及崩潰報告(見「分析」及「崩潰診斷」)。Firebase Analytics 不會收到你的財務資料;崩潰報告則可能包含崩潰當刻錯誤訊息中的交易金額及商戶名稱,僅用於除錯。
如你已開啟手機本身的系統備份(Google 或 iCloud),手機可能會把 Ching 的資料納入該備份,存入你自己的帳戶,這不在我們的控制範圍內。
當你啟用 AI 消費洞察功能並表示同意後,你的財務資料摘要會傳送到我們的伺服器進行分析:
你可以在設定 > AI 與私隱中將預算、投資或伴侶資料剔出快照。功能啟用期間,分組餘額、交易清單、商戶總額及分類名稱必定包含在內。你可使用同一頁面的「查看傳送到 AI 的資料」,在傳送前查看實際內容。
AI 分類建議。當你啟用 AI 消費洞察(以及擷取付款的分類建議選項)後,應用程式亦可能將個別交易的商戶名稱及金額,連同你的支出分類名稱清單,傳送到同一 AI 服務以建議分類。此用途不會傳送其他交易細節。
你分享給 Ching 的圖片(單據讀取)。當你將圖片分享至 Ching,Ching 會將其視為你希望記帳的單據處理:圖片會經加密連線上傳至雲端 AI 服務,讀取當中的文字及金額,用以為你建立記帳草稿。雲端單據讀取設有獨立的同意按鈕,與 AI 消費洞察分開:在你同意之前不會上傳任何圖片,首次需要上傳時 Ching 會先向你查詢,圖片會留在你的裝置上直至你同意。你同意之後,上傳會在你按下分享時立即進行,並沒有「先預覽、後上傳」的步驟。除非你另外啟用下述可選的失敗診斷功能,Ching 不會在伺服器上儲存你的圖片:讀取完成後不會保留任何副本。圖片會交由 AI 模型供應商處理,詳見第 4 節。我們按禁止將你的圖片用於訓練模型及廣告的 API 條款使用這些服務,並已關閉其可選的資料共享及訓練設定——你的圖片只會用於單據讀取,以及在你另行同意診斷後調查讀取失敗。如不希望圖片被上傳,請勿將其分享至 Ching——你同意雲端單據讀取之後,分享圖片即代表你指示上傳。透過應用程式內「影相」功能拍攝或從相簿選擇圖片,同樣屬於你指示上傳該圖片。
可選的失敗診斷。如你在應用程式內另行同意,雲端讀取失敗或疑似失敗時(包括首次模型失敗、其後由後備模型成功讀取),系統會自動將實際上傳的圖片、請求設定、模型回應、處理錯誤、應用程式版本及隨機請求識別碼保留在私人 Cloudflare R2 儲存空間。圖片及回應可能包含圖片上可見的姓名、金額、帳戶資料及其他內容;開發者可以讀取,僅用於調查及修正讀取問題,不用於廣告、分析個人行為或訓練模型。診斷工具的存取權在原始請求起七天後到期,其後自動刪除,通常在 24 小時內完成。不同意不影響雲端讀取。你可在「設定 > AI 與私隱」停止日後收集;已保留的資料仍按原有期限到期。較早授予的雲端讀取同意不包括診斷保留。你自行提交的問題回報屬第 6 節的獨立收集,保留期為 90 天。手機亦會保留失敗的暫存圖片及本地追蹤參考最多 14 天,但仍供待確認或已儲存記錄使用的圖片除外。執行環境或網絡故障可能令診斷資料無法儲存。
僅限開發及測試版本:讀取服務無法解析的分享圖片,可能會另行轉發至第 6 節所述的開發者私人通知頻道,以便診斷問題;正式版本絕不會如此。
使用 AI 功能時,所需的資料會經我們的伺服器及服務供應商,交給 AI 模型供應商(目前為 Anthropic 及 Google)處理。資料只用於產生結果,不會用於訓練模型。
各項 AI 功能傳送的資料。AI 消費洞察傳送第 3 節所述的財務快照。向 AI 提問會傳送你輸入的問題,以及該次對話中較早的訊息。分類建議傳送單一交易的商戶名稱及金額,連同你的分類名稱清單。單據讀取傳送你分享的圖片。
AI 處理在香港以外進行。AI 回覆會在你的裝置上暫存最多 24 小時。為避免重複處理相同請求,AI 生成的回覆副本(可能引用你的商戶名稱及金額)亦會在我們的伺服器暫存最多 4 小時,之後刪除;原始財務快照本身絕不會儲存在我們的伺服器上。為執行速率及用量限制,我們的伺服器會為你的安裝保留一筆註冊記錄(隨機安裝識別碼、裝置型號、應用程式版本、語言、用量計數,以及你 IP 位址的截短加密雜湊值)。你的完整 IP 位址會由我們的網絡供應商用於傳遞請求及短期速率限制。
如果你啟用「自動擷取付款」功能,應用程式會使用 Android 的通知監聽服務讀取支援的應用程式(八達通、AlipayHK、支付寶、Google Pay、PayMe、滙豐、恒生銀行、中銀香港、花旗銀行、Samsung Pay、渣打、DBS Compass、ether.fi Cash、微信支付、富途牛牛、Mox、PayPay)的付款通知。
如果你使用設定中的「回報問題」功能,以下資料會傳送到我們的 Cloudflare Worker 以供除錯:
此資料儲存在 Cloudflare KV 中供支援用途,保留最多 90 天,之後自動刪除。日誌在上傳前會經過處理,帳戶及卡號、電話號碼、電郵地址會被遮蔽,但仍可能包含交易金額、餘額、預算數據及通知文字(例如商戶名稱),以及你的帳戶和分類顯示名稱。這些資料僅用於診斷及修正你所回報的問題,絕不會用於廣告或用戶分析。
為使我們能盡快回應,你的報告文字、聯絡帳號及裝置摘要的副本,亦會傳送到僅開發者可見的私人通知頻道。該頻道是我們自行設定的訊息 webhook:目前設定為 Telegram 私人對話(由 Telegram FZ-LLC 營運,香港以外),亦可在不改變傳送內容的前提下改為指向其他訊息服務供應商(例如 Discord 或 Slack)。你所附的截圖,只在該頻道為 Telegram 對話時才會上載到該頻道;如改用其他供應商,該頻道只會收到文字通知,當中僅註明是否附有截圖。你的安裝識別碼絕不會傳送到此頻道;日誌檔案本身亦只保留在上述 Cloudflare 記錄中,只有當其中一行技術狀態訊息報告資料修復問題、需要我們即時知悉時,該一行才會被引述。
如果你啟用伴侶模式,所選交易會透過 Cloudflare Workers 與你的伴侶同步。你可以選擇分享所有交易或只分享拆帳項目。
伴侶模式透過加密的 HTTPS(TLS)傳輸,但與雲端備份不同,並非端對端加密。共享資料在傳送給你的伴侶途中,於我們的 Cloudflare 伺服器上是可讀的。除了將其傳送給你的伴侶外,我們不會將其用於任何其他用途,並會在送達後刪除。
在合作關係有效期間,以下資料會儲存在我們的 Cloudflare 資料庫中,並於伺服器上可讀:
任何一方斷開連接時,此資料會被刪除。未送達的交易會在 24 小時後清除。非活躍裝置會在 30 天後清除。
應用程式內的「許願池」功能讓你提出功能建議並為建議投票。提交願望與投票所傳送的內容並不相同,兩者均儲存在 Cloudflare D1 資料庫(Cloudflare, Inc.,美國/全球網絡)。
當你提交願望時,我們會接收並儲存:
當你投票時,我們只會接收並儲存你所投願望的編號、同一個安裝識別碼、投票時間,以及你的安裝是否為 Pro。投票不含任何自由文字,亦不會傳送或儲存裝置型號、應用程式版本、組建編號、語言設定或發佈渠道。
關於安裝識別碼,以及它可以連繫到什麼。這是首次使用時隨機生成的數值,並在應用程式保持安裝期間持續保留,讓伺服器辨認你自己的提交及投票。此識別碼與「回報問題」功能使用同一個隨機識別碼,伴侶模式亦使用同一個。它並非登入帳戶(Ching 沒有帳戶制度),不會向其他用戶顯示,亦不會連結到你的付款身份或財務記錄。但由於同一數值會與你在錯誤報告中提供的聯絡帳號,以及你在伴侶模式中設定的顯示名稱一併儲存,我們因此可以將你的願望及投票與該聯絡帳號或伴侶顯示名稱連繫起來。如你不希望許願池活動可被如此連繫,請在回報問題時不要提供聯絡帳號。
獲批准的願望屬公開內容。願望獲批准上板後,其標題、描述、狀態及票數會向所有用戶公開顯示。請勿在願望內容中包含你的姓名、電話號碼、電郵地址或其他個人資料。
每當有新願望提交(以及願望達到投票里程碑時),其標題及描述摘錄會轉發到僅開發者可見的私人通知頻道,以便我們及時審閱。該頻道與第 6 節所述的是同一個——由我們自行設定的訊息 webhook,目前設定為 Telegram 私人對話(由 Telegram FZ-LLC 營運,香港以外)。
開啟許願池時,應用程式會連同上述識別碼向伺服器查詢,以顯示你自己仍在審閱中的願望;純粹瀏覽不會在伺服器端留下任何許願池記錄(一般短暫的網絡請求日誌除外)。願望在審閱期間,你可以在應用程式內自行編輯或刪除。願望被拒絕後仍可在應用程式內自行刪除,但已無法再編輯。願望上板後即無法在應用程式內編輯或刪除——如需刪除,請聯絡我們,我們會為你刪除該願望及其相關資料。
我們使用 Firebase Analytics(由 Google LLC 營運,美國)了解應用程式使用模式。Firebase 會收集:
Firebase Analytics 不會收到你的財務資料。我們不會將分析資料用於廣告或用戶分析。詳見 Firebase 私隱文件。
我們使用 Firebase Crashlytics(由 Google LLC 營運,美國)偵測並修復應用程式崩潰及未處理的錯誤。當應用程式發生崩潰或未捕捉的錯誤時,崩潰報告會傳送到 Google/Firebase。此功能在所有非除錯版本中均為啟用狀態,協助我們維持應用程式穩定。
我們絕不會將你的交易清單、餘額、帳戶或股票持倉附加到崩潰報告中。錯誤訊息在上傳前會經過處理,帳戶及卡號、電話號碼、電郵地址會被遮蔽,但仍可能包含崩潰當刻正在處理的交易金額及商戶名稱——這些資料是我們刻意保留的,因為它們正是讓我們找出問題所在的除錯內容。崩潰報告僅用於除錯,不會用於廣告或用戶分析。詳見 Firebase 私隱文件。
如果你啟用雲端備份,你資料的加密副本會儲存在 Cloudflare R2(Cloudflare, Inc.,美國),讓你可以在新裝置上還原。
端對端加密。你的備份在任何位元組離開裝置之前,已在你的裝置上使用 AES-256-GCM 加密。加密金鑰由你的密碼衍生,絕不會以可用形式離開你的裝置。我們和 Cloudflare 都無法讀取你備份的內容 — 我們只會收到加密後的位元組。
為雲端備份而離開你裝置的資料:
清單不包含任何交易金額、商戶名稱、帳戶名稱或餘額 — 只有數量。如果你遺失密碼,由於我們並不持有金鑰,你的備份將無法復原。
為安全監察,備份操作會記錄於伺服器端審計日誌,內含請求的 IP 位址及技術元資料。
如果你記錄股票持倉,應用程式會擷取當前市場報價以顯示其價值。這些報價及代號查詢請求會由你的裝置直接傳送至 Yahoo Finance(由 Yahoo 營運的第三方市場數據服務),由它回傳所查詢的報價。
我們使用 Firebase Cloud Messaging(FCM) 傳送推送通知(例如伴侶同步提醒)。當你授予通知權限時,Firebase 會生成一個裝置令牌並發送到 Google 的伺服器以將通知傳送到你的裝置。此令牌不包含個人或財務資訊。你可以隨時在裝置設定中停用推送通知。
如你透過 Google Play 購買 Pro 訂閱,付款過程完全由 Google 處理——我們不會接觸你的付款卡或帳單資料。為啟用及維持 Pro,應用程式會將商店發出的購買令牌及產品編號傳送到我們的帳單伺服器(Cloudflare Workers),由其向 Google Play 核實,並儲存所得的訂閱狀態(有效/已到期)及到期日。你的訂閱有變動(續訂、取消、退款)時,Google 亦會通知我們的伺服器。此處理是提供你所購買訂閱所必需的。
當你的訂閱狀態出現變動——新購買、取消(關閉自動續訂)、重新啟用,或撤銷(例如退款或到期)——一則簡短通知亦會傳送到第 6 節所述的同一私人通知頻道。該通知包含產品編號、變動後的訂閱狀態及到期日,以及商店購買令牌的截短單向雜湊值;絕不包含購買令牌本身或任何付款資料。如你另行自願提交訂閱回饋並同意接受聯絡,通知亦可包含下述回饋及你選擇提供的聯絡資料。
你可在訂閱後或選擇不續訂後分享主要原因及補充意見,亦可略過,不影響購買、取消續訂或剩餘的已付款使用期。你可另行同意提供電郵或 Threads 帳號,讓開發者就使用體驗聯絡你。只更新原因會保留原有聯絡選擇;撤回同意須使用下述功能。
原因、意見、同意選擇及自願提供的聯絡資料會與已驗證訂閱的單向雜湊識別碼連結,在 Cloudflare KV 儲存至最近一次提交後最多 365 日,並傳送至開發者的私人通知頻道(目前為 Telegram)。日後的取消續訂通知亦可能包含已儲存的購買原因及經同意提供的聯絡資料。提交內容不會附帶帳目、餘額或交易紀錄;聯絡資料及自由填寫文字不會傳送至 Firebase Analytics。商店購買證明及獨立刪除憑證保存在裝置安全儲存空間,不會納入 Ching 帳目備份。
你可在「設定 › 醒目的Ching 使用回饋」撤回聯絡同意並刪除已儲存的聯絡資料及補充意見,訂閱到期後仍可使用。原因代碼可保留至期限結束。已傳送至私人通知頻道的副本無法自動收回;如需刪除副本或全部回饋,請聯絡 hello@chikching.app。提供聯絡資料屬自願,不會令你加入推廣郵件名單。
與大多數應用程式一樣,Ching 會進行少量例行網絡請求,與你是否啟用任何可選功能無關:向我們的伺服器查詢最低支援版本、功能開關及服務公告;從香港金融管理局的公開 API 取得公佈匯率;以及在首次需要時從 Google Fonts 下載思源黑體(Noto Sans TC)字型。這些請求不包含任何財務或個人內容。如同任何互聯網請求,你裝置的 IP 位址及標準請求元資料會被回應的伺服器看到。
當你使用傳送資料的可選功能時,你的資訊可能在香港以外處理:
這些傳輸是為了提供你已選擇啟用的服務而必要的。我們的服務提供者對跨境資料處理維持適當的安全保障。
下表列出使用可選功能時可能處理你資料的所有第三方服務:
| 服務 | 提供者 | 用途 | 處理的資料 | 私隱政策 |
|---|---|---|---|---|
| Cloudflare Workers、R2 及 D1 | Cloudflare, Inc.(美國) | AI 請求路由、伴侶模式同步、回報問題、加密雲端備份儲存、許願池儲存 | 財務快照、錯誤報告、端對端加密的備份檔及僅含數量的清單、IP 位址、請求元資料、功能願望(標題、描述、安裝識別碼、裝置資訊) | 連結 |
| Yahoo Finance | Yahoo Inc.(美國) | 股票報價及代號查詢 | 股票代號(ticker)、IP 位址 | 連結 |
| AI 服務供應商(目前為 Anthropic 及 Google) | Anthropic, PBC(美國);Google LLC(美國) | AI 消費洞察、回答你向 AI 提出的問題、分類建議,以及讀取你分享的圖片 | 財務快照(分組餘額、交易)、你提出的問題及該次對話中較早的訊息、商戶名稱及金額、分享的圖片 | Anthropic · Google |
| Firebase Analytics | Google LLC(美國) | 應用程式使用分析 | 互動事件、裝置資訊、應用程式實例 ID | 連結 |
| Firebase Crashlytics | Google LLC(美國) | 崩潰診斷 | 崩潰堆疊追蹤、裝置型號分組、版本來源、應用程式版本(錯誤訊息可能包含崩潰當刻的交易金額及商戶名稱) | 連結 |
| Firebase Cloud Messaging | Google LLC(美國) | 推送通知 | 裝置令牌(FCM 令牌) | 連結 |
| 開發者通知頻道 | 可設定的訊息 webhook — 目前為 Telegram(Telegram FZ-LLC,香港以外);亦可改為指向 Discord 或 Slack 等其他供應商 | 即時通知開發者新的錯誤報告、新的功能願望,以及 Pro 訂閱事件(購買、取消、重新啟用、退款/撤銷) | 錯誤報告文字、聯絡帳號、裝置摘要及截圖(截圖只在該頻道為 Telegram 時傳送);願望標題及描述摘錄;訂閱產品編號、訂閱狀態及到期日、購買令牌的截短單向雜湊值(絕非令牌本身),以及自願提交的訂閱回饋及另行同意提供的聯絡資料 | telegram.org/privacy |
| Google Play 帳單 | Google LLC(美國) | Pro 訂閱購買核實 | 購買令牌、產品編號、訂閱狀態及到期日 | 連結 |
| Google Fonts | Google LLC(美國) | 字型下載(思源黑體) | IP 位址、標準請求元資料 | 連結 |
| 金管局開放 API | 香港金融管理局(香港) | 公開匯率數據 | 不含用戶資料;請求附帶 IP 位址 | 連結 |
除上述列出的服務外,我們不使用任何廣告網絡、社交媒體 SDK 或其他第三方追蹤服務。
Ching 是原生流動應用程式,不使用 cookies。所有應用程式偏好設定均使用標準的 Android/iOS 儲存機制(SharedPreferences / UserDefaults)儲存在你的裝置上。我們不會在本私隱政策頁面設置 cookies 或使用追蹤腳本;託管服務商可能設置嚴格必要的運作性 cookies。
Ching 從未出售你的資料,亦從未將你的資料用於廣告——我們亦沒有任何計劃這樣做。具體而言:
AI 洞察根據你的交易資料提供自動分析。輸出僅屬資料參考,並非投資推薦或招攬,亦不能取代持牌專業人士的意見。Ching 並未持有任何香港證監會牌照,亦不提供受規管的意見服務。我們不會對你作出具有法律效力或類似重大影響的自動化決定。
根據香港《個人資料(私隱)條例》(第 486 章)及適用的資料保護法律,你有權:
如需行使上述權利,請聯絡 hello@chikching.app。我們會按香港法律規定在 40 天內回覆。
如你認為你的資料私隱權利受到侵犯,可向個人資料私隱專員公署(PCPD)投訴。
Ching 不面向 13 歲以下的兒童。我們不會故意收集兒童的個人資料。如你認為有兒童向我們提供了個人資料,請聯絡我們,我們會予以刪除。
我們透過以下方式保護你的資料:本地優先架構(資料預設留在你的裝置上)、加密的 API 密鑰儲存(Flutter Secure Storage)、雲端備份採用裝置端 AES-256-GCM 端對端加密(使備份內容無法被我們或 Cloudflare 讀取)、所有伺服器通訊均採用 HTTPS 加密連接,以及伺服器端點的 API 密鑰驗證。
本政策可能會因應我們的做法變化或法律要求而更新。我們建議你定期查閱本頁面。頁首的「最後更新」日期標示政策的最近修訂時間。在更新後繼續使用應用程式即表示接受更新後的政策。如更新涉及將我們已收集的個人資料用於新目的,我們會按條例規定,在此之前先徵求你的明確同意。
如有問題、資料查閱請求、刪除請求或其他疑慮:
如為根據《個人資料(私隱)條例》(第 486 章)提出的正式資料查閱或更正要求,我們會按法律規定在 40 天內回覆。
如本政策的中文版本與英文版本有任何不一致之處,概以英文版本為準。