Salli’s categorization is intentionally inspectable. It does not send raw financial activity to a remote classifier.

Decision order

  1. Built-in safety and sender gates.
  2. User-created ignore rules.
  3. User-learned merchant/category rules.
  4. Local imported corpus overrides.
  5. Bundled exact and whole-phrase aliases.
  6. Conservative bundled fuzzy matching.
  7. Review when confidence is not sufficient.

Automation rules screen

Open More → Automation rules to inspect:
  • bundled corpus version;
  • personal merchant rules;
  • ignore rules;
  • local imported rules;
  • queued privacy-safe feedback; and
  • unmatched recognized-bank evidence.
Deleting a personal rule affects future suggestions; it does not recategorize past confirmed transactions.

Import and export packages

Salli uses two explicit JSON package types:
  • salli-corpus-update for reviewed rules imported to a device; and
  • salli-corpus-feedback for rules the user explicitly chooses to share.
Imports validate schema version, IDs, categories, duplicate values, string lengths, entry count, and a 1 MiB size cap.

What feedback excludes

The feedback package does not contain raw SMS, values, balances, account numbers, transaction history, or device identifiers. Nothing leaves the phone until you copy and share the package yourself.

Current limitation

The package format is validated but not cryptographically signed. A future “official update” mechanism must add signature verification before automatic distribution is trusted.