iPhone 上显示卡片列表与受保护卡片详情的 Holder 卡片保险库。

Holder:面向 iPhone 和 Mac 的私有离线卡片保险库

Holder 用设备端扫描、Keychain 存储和可选的 iCloud Keychain 同步,把支付卡、证件卡、会员卡及其他敏感卡片信息放进一个私有保险库。

要点摘要
  • Holder 是一个聚焦的保险库,用于保存支付卡、证件卡、会员卡、积分卡以及其他类似卡片的信息。
  • 当前 App Store 页面是普通用户的安装路径,支持 iPhone、iPad 和 Mac,要求 iOS 17+、iPadOS 17+ 和 macOS 15.6+。
  • 扫描在设备上完成,敏感字段由最近一次生物识别认证保护;可选的 iCloud Keychain 同步不需要 Holder 自己的服务器账户。
  • 公开仓库适合查看和开发,但 CC BY-NC 4.0 并不是允许商业复用的无限制开源许可证。

一款钱包应用不需要变成银行账户、消费仪表盘,或者另一个云端用户资料。Holder 选择了更窄的路线:它是一个私有的卡片信息存放处,通过设备端扫描、生物识别保护,以及面向 iPhone、iPad 和 Mac 的原生 SwiftUI 界面,让你随手取用需要的卡片信息。

真正安装时,当前 App Store 版本是更实际的 Release。页面显示版本 2.3,并支持 iPhone、iPad 和 Mac;公开仓库的 main 分支则当前声明营销版本 2.5。这个差异值得注意:普通用户应使用 App Store 版本,仓库则用于查看、开发和自行构建。

它能做什么

Holder 把支付卡和其他类似卡片的记录放在一个专用保险库里。项目模型包含信用卡、借记卡和 Other 类型,也可以记录 Visa、Mastercard、American Express、Discover、JCB、UnionPay 等卡组织。会员卡、积分卡、证件卡、保险卡也可以作为参考副本保存,适合那些不想一直携带实体卡的场景。

日常操作刻意保持简单:添加卡片、查看详情、需要时复制卡号或安全码,以及归档不再使用的记录。卡片图片可以作为可选的视觉参考,但真正的核心数据仍然是这些敏感文本字段。

在 iPhone 和 iPad 上,添加流程可以使用设备端 VisionKit 扫描实体卡片。扫描器会先读取卡号、姓名和有效期,再在保存前提供复核步骤。你仍然可以手动输入;Mac 版不会使用 Mac 摄像头扫描卡片,因此桌面端以手动录入为主。

如何安装

请使用官方的 Holder App Store 页面。这是推荐路径,因为它直接提供面向 iPhone、iPad 和 Mac 的已签名生产版本,不需要打开 Xcode。要求是 iOS 17 或更高版本、iPadOS 17 或更高版本,以及 macOS 15.6 或更高版本。

# Install the production app from the App Store:
open https://apps.apple.com/us/app/offline-card-vault-holder/id6475649492

第一次启动后,你可以决定是否启用可选的 iCloud Keychain 同步,以及是否把卡片图片放进 iCloud Documents。这两个选项都不是使用本地保险库的前提。只有在你准备查看或修改 Holder 时才需要从源码构建;对普通用户来说,它不是更好的安装方式。

添加第一张卡片

在 iPhone 或 iPad 上点击添加操作,手边有实体卡时选择 Scan。让卡片保持在取景框内,逐项检查识别结果,并在保存前修正扫描遗漏的内容。VisionKit 只是方便的起点,不能替代对卡号、姓名、有效期和安全码的人工复核。

卡片不在手边、摄像头无法识别,或者你要创建的不是支付卡记录时,可以选择 Manual Entry。在 Mac 上,手动录入就是预期流程。为记录设置容易辨认的名称,选择类型和卡组织;如果需要与其他卡片区分,再补充描述。

# Normal user path:
# App Store → Install Holder → Add a Card
# On iPhone/iPad, choose Scan or Manual Entry.

Holder 把安全码当作受保护字段处理。最近完成认证之前,安全码会保持隐藏;分享卡片数据时,可以不包含安全码,也可以在认证后明确包含它。相比普通文本备忘录,这样更适合快速查阅,同时最终分享什么仍然由你决定。

# Build a development copy only when you need to modify Holder:
git clone https://github.com/swiftlysingh/Holder.git
cd Holder
open cards.xcodeproj

Holder 的日常使用

对于经常使用的卡片,Holder 的价值在于缩短从打开应用到复制所需字段的路径。选择卡片,在请求受保护字段时完成认证,然后使用复制或分享操作。它还提供小组件和原生 Mac 体验,让卡片保持在手边,而不必把主屏幕或菜单栏变成完整的钱包界面。

安全与隐私

Holder 不要求创建 Holder 服务器账户,也不提供远程卡片保险库。卡片记录通过 Apple Keychain 持久化;使用同一 Apple 账户的设备可以选择启用可同步的 Keychain 存储。这是本地优先的设计,但仍然依赖设备、Apple 账户和 Keychain 设置本身的安全性。

扫描器在设备上运行。项目隐私说明表示,扫描时不会把相机图像和识别出的卡片值发送给 Holder 的分析、崩溃报告或购买服务。不过,根据功能和设置,有限的诊断、扫描性能和购买相关元数据可能会发送给 PostHog、Sentry、RevenueCat 或 Apple 等服务。

内部实现

这个项目是 Swift 和 SwiftUI 应用,分别包含 iOS 与 macOS 目标。卡片记录包含卡号、姓名、有效期、安全码、描述、类型、卡组织和归档状态等字段。它有意把模型限制在卡片保险库范围内,而不是扩展成通用的金融数据库。

可选的卡片图片使用与文本字段不同的存储路径:界面会提示图片保存在 iCloud Documents,而不是 Keychain。小组件通过 App Group 只接收精简摘要,例如显示名称、后四位、卡片类型和卡组织;完整卡号、安全码和有效期不会传给小组件。

安全边界

Holder 在敏感操作周围增加了几层小而明确的边界。应用进入后台时会用隐私遮罩覆盖界面,对敏感值的访问也会在短暂的认证窗口后过期。Face ID 或 Touch ID 保护的是应用锁定状态,但当卡号被复制到其他应用后,它就已经进入那个应用的控制范围。

复制操作使用系统剪贴板,项目不会替你自动清空剪贴板。把复制的卡号或安全码当作临时敏感数据:粘贴到需要的位置后,检查目标应用、剪贴板管理器或 Mac 的接力功能是否仍然保留它。

安装前要确认什么

把真实卡片信息放入 Holder 前,先核对 App Store 开发者、设备要求,以及你希望使用的同步选项。可以先添加一张不太重要的卡片,检查扫描后的卡号和有效期是否正确,并确认只有启用了相应 Apple Keychain 或 iCloud 行为的设备才会出现这条记录。

如果你使用小组件,也要查看锁屏或桌面上实际显示的摘要。Holder 有意减少了小组件数据,但后四位和卡片名称仍然可能属于个人信息。不要把截图和卡片图片放到比预期更广泛备份或共享的位置。

它的局限

Holder 不是银行应用、支付应用,也不是自动替代系统钱包的工具。它不会连接银行账户、分析消费、执行支付,也不提供托管式恢复账户。如果你需要交易记录、欺诈提醒、实时余额或发卡机构管理的卡片 provisioning,应该使用真正提供这些能力的银行或支付服务。

本地优先的模型也意味着恢复责任在用户一侧。可选的 Keychain 同步可以帮助 Apple 设备之间保持一致,但它不等同于独立导出,也不是一个能从任意平台恢复的账户。卡片图片有独立的 iCloud Documents 路径,而 Mac 版依赖手动录入,不提供摄像头扫描。

最后,阅读公开仓库时要把许可证一起考虑。它适合查看和开发,但附带的 CC BY-NC 4.0 条款默认禁止商业使用。公开的 GitHub 仓库并不意味着拥有与 MIT 或 Apache 项目相同的复用权利。

许可证

Holder 使用 Creative Commons Attribution-NonCommercial 4.0 International 许可证发布。许可证要求署名,并且默认条款不允许商业使用。如果你要再分发修改版,或把源码用于其他项目,请阅读完整许可证并保留要求的声明。

App Store 页面和源码仓库代表两种不同的分发场景。安装已签名的 App Store 版本是受支持的用户路径;克隆仓库则是在其许可证范围内查看或构建代码。Apple 框架、分析 SDK 和复制的素材也可能分别受到各自条款约束。

适合安装吗

如果你需要的是一个小巧、私有的卡片参考工具,而不是完整的金融仪表盘,Holder 值得一试。建议从 App Store 版本开始:扫描或录入几张卡,检查受保护字段,决定 Keychain 同步和卡片图片是否适合自己的环境,并留意剪贴板与小组件的暴露范围。普通使用不需要源码构建;只有想查看或修改实现时,才需要进入 GitHub 项目。

项目概况

许可证
CC BY-NC 4.0
平台
iOS 17+ / iPadOS 17+ / macOS 15.6+
开发语言
Swift、SwiftUI
查看版本
App Store 2.3;源码 main 的营销版本 2.5(2026-09-21)

安装

# Install the production app from the App Store:
open https://apps.apple.com/us/app/offline-card-vault-holder/id6475649492

许可说明

仓库使用 Creative Commons Attribution-NonCommercial 4.0 International 发布。需要保留署名,默认许可证不允许商业使用。