我们是谁
本隐私政策适用于由 吴煌全 发布的 iOS 应用 CardMate。CardMate 是一款本地优先的会员卡与交易管理工具,
用于管理卡包、卡片、余额、交易记录、二维码、扫码历史、会员预约以及 Apple Wallet 导出。
根据当前版本实现,CardMate 不要求您注册账户即可使用主要功能。如果您在应用中录入他人的信息
(例如持卡人姓名或手机号),请确保您已获得必要授权并遵守适用法律。
我们收集哪些信息
CardMate 主要处理您主动输入、扫描生成或导出时产生的数据,包括:
- 卡包信息:卡包名称、备注、归档状态。
- 卡片信息:卡号、发卡标识、持卡人姓名、手机号、初始余额、当前余额、状态、自定义属性。
- 交易信息:充值、扣费、退款、调整记录,以及金额、备注、时间、余额快照等。
- 扫码历史:二维码内容、扫码时间、结果类型、错误信息、关联金额等。
- 预约信息:关联会员卡与服务项目、预约时间、时长、状态、备注和关联交易。
- 偏好设置:部分应用偏好,例如首页固定卡包和您手动选择的门店天气地区;主题、预约提醒提前量、日历同步开关及日历事件 ID 保存在设备本地。
- 天气信息:应用把您手动选择地区的坐标发送给 Apple WeatherKit 以即时获取逐小时预报。CardMate 不读取设备定位,天气预报本身不写入业务数据库,也不参与 iCloud 同步。
- 订阅信息:当您购买、恢复购买、管理或刷新高级版订阅状态时,Apple 的 App Store / StoreKit 服务可能向应用返回与订阅状态相关的最小必要信息,例如订阅商品、当前权益状态与交易确认结果;CardMate 不运营自建账单服务器。
- 导出数据:当您主动导出 Wallet 通行证时,应用会生成包含卡片信息和二维码的
.pkpass 文件。
信息如何使用
这些信息仅用于实现和支持 CardMate 的核心功能,包括:
- 创建、编辑、搜索和管理卡包及会员卡。
- 生成和显示二维码,支持扫码识别与扣费流程。
- 记录和展示交易、余额变化及当前经营所需的轻量汇总。
- 创建和管理会员预约;在您启用相应 Pro 功能后安排本地提醒、向系统日历单向写入预约,并展示排期天气与坏天气提示。
- 生成 Apple Wallet 通行证,并在您主动发起时通过系统分享能力导出。
- 在您拥有有效高级版订阅并启用 iCloud 同步时,在您的 Apple 账户下同步相关业务数据。
- 在您购买、恢复购买或管理高级版订阅时,判断是否解锁 iCloud 同步等高级功能。
根据当前实现,二维码识别、卡片管理和多数数据处理逻辑都在设备本地完成,未发现为这些核心流程或订阅账单流程接入自建业务后端。
权限说明
- 相机权限:用于扫描会员卡二维码,完成识别与扣费相关操作。
- 读取相册权限:用于从您选择的图片中识别二维码内容。
- 写入相册权限:用于在您主动选择保存时,将会员卡二维码图片写入系统相册。
- 通知权限:用于按您设置的提前量在本机发送预约提醒,不使用远程推送。
- 日历完整访问:在您主动开启“同步到系统日历”后,用于创建、更新和删除 CardMate 创建的预约事件。CardMate 不会把其他日历内容用于导入、分析或广告。
您可以随时在 iOS 系统设置中撤回这些权限。拒绝相应权限后,扫码、图片识别或保存二维码等相关功能可能无法正常使用,
提醒、日历同步或保存二维码等相关功能可能无法正常使用,但不影响应用中其他无需该权限的本地管理功能。
CardMate 不申请设备定位权限;排期天气使用您在设置中手动搜索并选择的门店地区。
存储与同步
默认情况下,CardMate 会将您的数据保存在当前设备本地数据库中。根据当前版本代码,应用采用本地存储作为默认模式。
如果您主动启用 iCloud 同步,应用会将卡包、项目模板、卡片、卡内项目、自定义属性、交易记录、扫码历史、会员预约,
以及首页固定卡包和门店天气地区等可同步偏好,同步到您自己的 iCloud / CloudKit 私有数据库,以支持跨设备同步。
显示主题、预约提醒提前量、日历同步开关和日历事件 ID 保持在设备本地,不随 iCloud 同步。
iCloud 同步当前属于 CardMate 高级版功能。没有有效高级版订阅时,应用不会继续执行新的自动同步、立即同步或云端重建;
但已存在于本地设备或您 iCloud 私有数据库中的数据不会因为订阅失效而被静默删除。
截至本政策生效日,未发现已实现的外部业务服务器传输流程;与 Apple 提供的 iCloud、CloudKit、Wallet 相关服务,
以及 App Store / StoreKit 提供的订阅购买与恢复购买服务,均受 Apple 自身条款和隐私政策约束。
分享与披露
我们不会出售、出租您的个人信息。根据当前版本实现,CardMate 未集成第三方广告 SDK、第三方统计分析 SDK,
也未启用跨应用跟踪技术。
仅在以下情况下,相关数据可能离开您的设备或被第三方接收:
- 您主动使用系统能力导出
.pkpass Wallet 通行证或二维码图片到您选择的目标。
- 您主动启用 iCloud 同步时,相关数据同步到您本人的 iCloud / CloudKit 私有数据库。
- 您使用排期天气时,Apple WeatherKit 根据您手动选择地区的坐标提供天气预报。
- 您主动启用预约提醒或系统日历同步时,iOS 本地通知与 EventKit 在设备上处理相应提醒和 CardMate 创建的日历事件。
- 您购买、恢复购买或管理高级版订阅时,相关订阅状态与账单处理由 Apple 的 App Store / StoreKit 服务负责,包括 App Review、TestFlight 或 Sandbox 测试场景下的订阅流程。
- 适用法律、法规、司法程序或监管要求要求披露时。
数据保留与删除
我们会在实现应用功能所需的期间内保留您的数据。对本地数据而言,通常会持续保留到您自行删除、清空或卸载应用为止。
- 您可以在应用内删除预约、卡片或卡包,清空扫码历史,或使用“清除所有数据”功能清除本地数据库内容。
- 如果您启用了 iCloud 同步,您可以关闭同步,并使用应用内的 iCloud 管理能力清空云端私有数据后重建。
- 如果高级版订阅失效,应用会停止新的同步动作,但不会自动删除当前设备本地数据或静默清空已存在的 iCloud 私有数据库数据。
- 卸载应用可能会移除本地数据,但已同步到您 iCloud 私有数据库中的内容仍可能受 Apple 云端保留机制影响。
儿童隐私
CardMate 并非专门面向 13 岁以下儿童设计。我们不会故意通过本应用向儿童收集个人信息。
如果您认为有儿童信息在未经适当授权的情况下被录入到本应用中,请通过下方联系方式联系我们。
政策更新
如果 CardMate 的数据处理方式发生变化,我们会更新本页面内容并调整生效日期。重大变更会在合理情况下通过应用版本更新或页面更新方式提示。
Who We Are
This Privacy Policy applies to the iOS app CardMate, published by Wu Huangquan.
CardMate is a local-first tool for managing card packages, membership cards, balances, transactions, QR codes,
scan history, member appointments, and Apple Wallet exports.
Based on the current implementation, CardMate does not require account registration for its primary features.
If you enter information about other individuals, such as a cardholder's name or phone number, you are responsible
for obtaining any necessary authorization and complying with applicable laws.
Information We Process
CardMate primarily processes information that you enter, generate, scan, or export through the app, including:
- Package data, such as package names, notes, and archive status.
- Card data, such as card number, issuer identifier, cardholder name, phone number, initial balance, current balance, status, and custom attributes.
- Transaction data, such as recharge, spend, refund, and adjustment records, including amounts, notes, timestamps, and balance snapshots.
- Scan history, such as QR code content, scan time, result type, error details, and related amount data.
- Appointment data, such as the related member card and service item, start time, duration, status, notes, and linked transaction.
- Preference data, including a pinned home package and the shop weather area you manually select. Theme, reminder lead time, Calendar sync switch, and Calendar event identifiers remain on the device.
- Weather data, requested from Apple WeatherKit using the coordinates of the area you manually select. CardMate does not access device location, and forecast data is not stored in the business database or synced through iCloud.
- Subscription data, when you purchase, restore, manage, or refresh CardMate Premium, such as the minimum subscription state information returned by Apple's App Store / StoreKit services for entitlement verification. CardMate does not operate its own billing backend.
- Export data generated when you choose to create an Apple Wallet pass, including a
.pkpass package with selected card details and QR code data.
How Information Is Used
We use this information only to provide and support CardMate's core functionality, including to:
- Create, edit, search, and manage packages and cards.
- Generate and display QR codes and support scan-based recognition and charging workflows.
- Record and display transactions, balance changes, and lightweight operational summaries available in the app.
- Create and manage member appointments and, when you enable the relevant Pro features, schedule local reminders, write appointments one-way to Calendar, and show schedule weather and bad-weather notices.
- Generate Apple Wallet passes and export them through system sharing actions when you choose to do so.
- Sync supported app data across your devices when you have an active Premium subscription and enable iCloud sync.
- Determine whether Premium-only features such as iCloud sync should be unlocked when you purchase or restore a subscription.
Based on the current codebase, QR recognition, card management, and most data processing are performed on-device,
and no implemented self-hosted business backend was found for these core flows or for subscription billing.
Permissions
- Camera: used to scan QR codes for card recognition and charge-related actions.
- Photo Library (read): used to recognize QR code content from images you choose.
- Photo Library (add): used to save membership QR code images to your photo library when you choose to save them.
- Notifications: used for on-device appointment reminders at the lead time you choose. CardMate does not use remote push notifications.
- Full Calendar access: after you enable Calendar sync, used to create, update, and delete appointment events created by CardMate. CardMate does not use unrelated Calendar content for import, analytics, or advertising.
You can revoke these permissions at any time in iOS Settings. If you deny a permission, related features such as
scanning, image recognition, reminders, Calendar sync, or saving QR images may not work, while other local app features that do not require
that permission may remain available.
CardMate does not request device location permission. Schedule Weather uses the shop area you manually search for and select in Settings.
Storage and iCloud Sync
By default, CardMate stores your data in the app's local database on your device. Based on the current implementation,
local storage is the default operating mode.
If you choose to enable iCloud sync, the app may sync packages, item templates, cards, card items, custom attributes,
transactions, scan history, appointments, and syncable preferences such as the pinned home package and shop weather area
to your own iCloud / CloudKit private database. Theme, reminder lead time, Calendar sync switch, and Calendar event identifiers remain local to the device.
iCloud sync is currently a CardMate Premium feature. Without an active Premium subscription, the app stops performing
new automatic syncs, manual syncs, or cloud rebuild operations, but it does not silently delete existing local data or
data already stored in your private iCloud database.
As of the effective date of this policy, no implemented external business-server transmission flow was found.
Apple services such as iCloud, CloudKit, Wallet, and App Store / StoreKit subscription services are subject to Apple's own terms and privacy practices.
This page is intended to serve as the public Privacy Policy URL referenced in App Store Connect. For CardMate Pro subscription terms, see
CardMate Subscription Terms. If the app uses Apple's standard license terms, see the
Apple Standard EULA.
Sharing and Disclosure
We do not sell or rent your personal information. Based on the current implementation, CardMate does not include
third-party advertising SDKs, third-party analytics SDKs, or cross-app tracking technologies.
Your data may leave your device or be received by third parties only in limited cases, such as:
- When you actively use system features to export a
.pkpass Wallet pass or QR image to a destination you choose.
- When you enable iCloud sync and supported data is synced to your own iCloud / CloudKit private database.
- When you use Schedule Weather, Apple WeatherKit provides a forecast for the coordinates of the area you manually selected.
- When you enable appointment reminders or Calendar sync, iOS local notifications and EventKit process the corresponding reminders and CardMate-created events on your device.
- When you purchase, restore, or manage CardMate Premium, related billing and subscription handling is performed by Apple's App Store / StoreKit services, including subscription flows used during App Review, TestFlight, or Sandbox testing.
- When disclosure is required by applicable law, regulation, legal process, or governmental request.
Retention and Deletion
We retain data for as long as needed to provide the app's functionality. For local data, this generally means until
you delete it, clear it, or remove the app.
- You can delete appointments, cards, or packages, clear scan history, or use the app's "Clear All Data" feature to remove local database content.
- If you enabled iCloud sync, you can disable sync and use the app's iCloud management controls to clear private cloud data and rebuild it from local data.
- If your Premium subscription expires, the app stops new sync activity but does not automatically delete local data or silently wipe data already stored in your private iCloud database.
- Removing the app may delete local data, while data already synced to your private iCloud database may remain subject to Apple's cloud retention behavior.
Children's Privacy
CardMate is not directed to children under 13. We do not knowingly collect personal information from children through this app.
If you believe information relating to a child has been entered without appropriate authorization, please contact us using the email below.
Changes to This Policy
If CardMate's data practices change, we will update this page and revise the effective date.
Material changes may be reflected through app updates or updates to this public page when appropriate.