How auto-categorization works.
Holdfast categorizes your transactions using a mix of rules and AI. Your corrections train it. Here’s what’s happening under the hood and how to fix a mis-categorized one.
The two-stage flow
Every transaction goes through two checks before it lands in a category:
- Rules first.If we’ve already seen this merchant before (either from a built-in list or your own corrections), we apply that category instantly.
- AI fallback. If the merchant is unfamiliar, we send the merchant string and amount to Claude Haiku for a category suggestion. We never send your account number, identity, or balance.
Accuracy is around 85% out of the box for typical U.S. consumer transactions and improves as you correct categories — your overrides become rules for that merchant.
Changing a category
You can change any transaction’s category from the Transactions page. Tap the row, pick a new category from the dropdown, save. The change applies to this transaction and any future transactions from the same merchant.
Editing a row
Tap to change · future Trader Joe’s transactions follow the new category
The “changed” badge
Once you’ve overridden a category, the row shows a small “changed” badge instead of “auto”. This is just a heads-up that the category came from your manual choice, not the automatic suggestion. It has no functional effect.
Hiding a transaction from your budget
Some transactions shouldn’t count against your budget at all — a Venmo to a friend that’s really just splitting a bill, a credit card payment that’s already counted in the underlying purchases, a transfer between your own accounts.
For these, use Hide from budgeton the row’s menu. The transaction stays visible in Transactions (it’s your history), but it’s excluded from drift and pace calculations.
Tip
Internal transfers (savings → checking, etc.) are detected automatically when both accounts are connected to Holdfast. You shouldn’t need to hide them manually.
Categories you can use
The built-in category set:
- Groceries— grocery stores, farmers’ markets, food co-ops
- Dining— restaurants, cafes, takeout, delivery apps
- Transport— gas, transit, ride-shares, parking
- Housing— rent, HOA, repairs (mortgage usually under Fixed)
- Utilities— electric, water, gas, internet, phone
- Subscriptions— streaming, software, memberships
- Health— pharmacy, copays, mental health
- Personal— clothes, haircuts, gym, hobbies
- Other— the catch-all
Custom categories are on the roadmap but not yet shipped. For now, the built-in set covers most situations. If a transaction doesn’t fit, either pick the closest match or use “Other” — the narration adapts.
What we do not send to AI
The AI categorizer gets the merchant name and amount, nothing else. It does not see your name, your bank, your account number, your balance, or your other transactions. The model is queried statelessly per transaction and Anthropic does not train on the data.