Local-first finance · macOS

Your financial evidence, kept on your Mac.

CanCan turns bank statements into a ledger you control — processed by the local app, reviewed by you, and traceable back to the exact document every record came from. No hosted account. Nothing leaves your Mac by default. No analytics.

First public preview in preparation · macOS 14 or later · Open source, Apache-2.0

From statement to ledger in four calm steps

  1. Collect

    Add statement PDFs, CSVs, or images directly — or save them to your CanCan Inbox folder in iCloud Drive and CanCan picks up new files for you.

  2. Parse

    For the first public preview, CanCan extracts evidence locally, then asks the AI provider you configure to propose structured records. The exact parser and runtime versions stay recorded with every run.

  3. Review

    Records wait in one Review queue. Check details, edit, link related records such as card repayments, then add them together.

  4. Ledger

    Accepted records become your ledger and Money Overview — every value traceable back to the document it came from, with typed Undo.

Statement sources, honestly listed

  • In the current build — review-first

    • DBS bank statements
    • DBS credit-card statements
    • HSBC bank statements

    In current builds, every parsed record waits for your review — nothing enters your ledger automatically. Password-protected eStatements are a first-class case: unlock once, and the password stays in your macOS Keychain.

  • Coming with the first preview

    • UOB statements
    • Gmail statement attachments — pending Google’s verification

    Gmail imports only attachments matching rules you enable, directly from your Mac, and becomes publicly available after Google verifies the app.

  • The listing rule

    A bank appears here only after a real parser profile exists for it — never on a wishlist. Automatic add stays off for every source until its confidence is separately qualified. Coverage grows from what the project actually uses, then from your requests.

    Using POSB, OCBC, Standard Chartered, Citibank, or Wise? Tell us what you use.

Multi-currency is first-class: each account keeps its own currency — SGD, USD, and more. No forced base currency, no exchange-rate guesses.

Add statements without opening the app

Save a statement to the Cancan/Inbox folder in iCloud Drive and it is waiting in CanCan the next time you open the app. CanCan only ever looks at the Inbox child of that folder. It creates or reuses only the Inbox and Backups children, and never modifies, moves, or deletes the statement files you place there.

Prefer manual control? Add files directly in the app. The Inbox is one intake channel, never a requirement.

Review first. Auto-add must earn it.

In the current build, nothing enters your books automatically. A single Review queue lets you check amounts and dates, edit what the parser missed, and link related records — like a card repayment that appears on two statements — before adding them as one event.

The preview adds automatic addition only for records that pass independently qualified confidence gates; everything else still waits for you. Every add is explicit, every undo is typed, and nothing rewrites committed history silently.

A money picture that cites its sources

The Money Overview shows balances per account and currency, derived from your own evidence, with the date behind each balance kept visible. There is no aggregator account in the middle holding your data.

Local-first, verifiably

  • Encrypted Vault

    Documents and data live in a SQLCipher-encrypted Vault on your Mac, unlocked by your password. Secrets stay in the macOS Keychain.

  • No CanCan backend

    There is no account system, no sync service, and no upload pipeline. Optional connections — Gmail, your own AI provider — go directly from your Mac, under your consent.

  • No telemetry

    Neither the app nor this website collects analytics or behavioral data. Crash reporting is separate, opt-in, and off by default.

The first preview, honestly scoped

The first public release is a pre-1.0 preview, not a stability promise. It ships local file ingestion, the CanCan Inbox folder, statement parsing with review-first control, and source-backed money views.

Planned for the preview and gated on their own evidence: Gmail connection for statement attachments and separately consented transaction-notification emails (public availability follows Google’s verification), and source coverage for DBS, HSBC, and UOB — some profiles start Review-only while their automatic-add confidence is calibrated against held-out evidence.

Follow along on GitHub — development, specs, and releases all happen in the open.