Open format

The .smartded file

When you choose Save to file, Smart Deductions writes your work to a .smartded file on your computer. It’s plain JSON, documented here in full, so it stays readable with or without Smart Deductions. No yearly software to buy, no account to keep alive.

What’s in it

  • results: one entry per statement, each with its transactions.
  • transactions: date (YYYY-MM-DD), description as printed, amount (charges positive, credits negative), category, and whether you confirmed it.
  • merchantRules: categories you chose per merchant, so the next upload is labeled the same way.
  • profile: business type (sole, smllc, scorp, partnership) and vehicle method (none, standard, actual).
{
  "format": "smart-deductions",
  "version": 1,
  "savedAt": "2026-10-23T14:02:11.000Z",
  "app": "https://smartdeductions.app",
  "profile": { "entity": "sole", "vehicle": "standard" },
  "merchantRules": { "starbucks store": "Meals" },
  "results": [
    {
      "sourceFile": "chase_2026.csv",
      "accountName": "CSV Import",
      "statementPeriod": "2026-01-01 – 2026-12-31",
      "transactions": [
        {
          "id": "5b1f0c9e-…",
          "date": "2026-03-04",
          "description": "STARBUCKS STORE 12345",
          "amount": 6.85,
          "category": "Meals",
          "source": "chase_2026.csv",
          "edited": false,
          "confirmed": true
        }
      ]
    }
  ]
}

Categories

A transaction’s category is one of these exact strings. Only confirmed transactions count toward the Schedule C summary.

Business Income · Advertising · Car & Truck · Contract Labor · Insurance · Interest · Legal & Professional · Office Expense · Rent or Lease · Repairs & Maintenance · Supplies · Taxes & Licenses · Travel · Meals · Phone & Internet · Software & Subscriptions · Bank & Payment Fees · Education · Other Business Expense · Personal · Transfer / Card Payment · Needs Review

Password-protected files

If you set a password, the whole plain file above is encrypted on your device with the browser’s built-in Web Crypto API before it’s saved. Only this envelope stays readable:

{
  "format": "smart-deductions",
  "version": 1,
  "encrypted": {
    "cipher": "AES-256-GCM",
    "kdf": "PBKDF2-SHA256",
    "iterations": 600000,
    "salt": "<16 random bytes, base64>",
    "iv": "<12 random bytes, base64>",
    "data": "<ciphertext of the plain file's JSON, base64>"
  }
}

To decrypt: derive a 256-bit key with PBKDF2-SHA256 from the UTF-8 password, the salt, and the iteration count; then AES-GCM-decrypt data with that key and iv. The result is the plain JSON file. A wrong password or any change to the file makes decryption fail.

There is no recovery. If the password is lost, nobody can open the file, including us.

Compatibility

version increases only when the format changes in a way older readers can’t handle. Smart Deductions will keep opening every earlier version. The Smart Deductions MCP server for AI assistants reads unencrypted .smartded files too.