Privacy Policy

Last updated: August 26, 2026

SlimBooks (“we,” “us”) is a bookkeeping app for freelancers and small businesses, operated by Indie CFO LLC. This policy explains what information we collect, how we use it, and the choices you have. We’ve tried to keep it in plain English.

What we collect

Account information. Your email address and sign-in identities, used to authenticate you. If you sign in with Google or Apple, we receive your email and basic profile information from that provider. Authentication is handled by Supabase.

Transaction data. The bookkeeping records you create in SlimBooks. Transactions enter the app three ways: you type them in, you import a CSV file from your bank, or you connect a bank account (see the next section). For each transaction we store the date, a cleaned-up description, the amount, and the category it ends up in. For transactions that arrive from a connected bank we also store the raw descriptor text your bank sent, the category Plaid assigned and how confident Plaid was about it, an identifier for the merchant, the payment channel (in person, online, and so on), and whether the transaction is still pending.

Bank account connections (Plaid). If you choose to link a bank account, we use Plaid to connect to your financial institution. Through Plaid we receive your institution’s name, the names, types, and last four digits of the accounts you choose to share, account balances, and transaction history. For each account you link we store its name, type, last four digits, and its current and available balances, which we refresh every time we sync. We never see or store your bank username or password — you enter those directly with your bank inside Plaid’s secure interface. Plaid provides us an access token, which we encrypt (AES-256-GCM) before storing. We keep only the fields listed above: we no longer retain the full raw data payload Plaid sends us, because nothing in the product read it and it was the largest pile of personal information in our database. You can read how Plaid handles your data in Plaid’s End User Privacy Policy. Linking a bank is optional, requires your explicit consent in the app, and requires that you first set up two-factor authentication on your SlimBooks account. You can disconnect a bank at any time in Settings, which revokes our access at Plaid.

Bank connections end with your paid plan. Bank syncing is a paid feature, so when a paid subscription ends we automatically disconnect your banks. That happens if you cancel, if you downgrade to the free Manual plan, or if the subscription lapses because a payment failed. We call Plaid to revoke our access and we delete the stored connection. Transactions already imported stay in your books; new ones simply stop arriving. If you want syncing back later, you will need an eligible plan and you will need to link the bank through Plaid again.

Payment information (Stripe). Paid subscriptions are processed by Stripe. When you subscribe, checkout and billing management happen on Stripe’s own pages — your card number never touches SlimBooks systems. We store only Stripe’s identifiers for your customer and subscription, along with your plan, its price, and your billing status.

Consent records. When you agree to this policy at signup, or authorize a bank connection, we record that consent with a timestamp and the policy version, so we can demonstrate what you agreed to and when.

App settings. Your in-app preferences, such as theme.

Push notification tokens. If you allow notifications, your device gives us a push token — an anonymous address for your specific installation of the app — which we store so we can tell you when a bank needs reconnecting or an import has finished. It is deleted when you sign out, when you turn notifications off, or when your account is deleted.

Diagnostic logs. When something goes wrong — a failed bank sync, a billing error, an app crash — we record a log entry so we can find and fix it. These entries include what happened, when, and which account it happened to. We don’t log your bookkeeping data as a matter of design, and bank access tokens are stripped out of logs before they are written.

Product analytics and crash diagnostics. The mobile app uses PostHog to understand which features get used, and Sentry to find out when the app crashes. Both are deliberately narrow. PostHog only receives a fixed, pre-approved list of properties for each event — things like whether a report was generated, or how many banks are connected — and anything not on that list is stripped out before the event is sent. It never receives transaction descriptions or amounts, merchant names, account numbers or balances, the name of your bank, or your name or email address. You are identified to PostHog only by your internal SlimBooks account ID. We do not use session replay, and we do not send PostHog error reports. Sentry is used only for crash and error diagnostics; we send it the same internal account ID so we can tell whether a crash hit one person or everyone, and we strip out the network and console breadcrumbs that would otherwise carry transaction rows or sign-in tokens.

Our public web pages. The home page and these policy pages send PostHog a page view, and record whether the App Store link was clicked, so we can tell whether the site is doing its job. That is the entire list. These events carry no account identifier, and nothing is stored in your browser between page loads — so they cannot be tied to you, or to each other, or to your SlimBooks account. The signed-in parts of the site — signing in, your account, billing and subscription pages — send nothing at all.

We do not use advertising trackers, we do not use tracking cookies, and we do not sell your data or share it for advertising. Beyond what’s described above, we don’t collect information we don’t need to run the service.

How we use your information

To authenticate your account, store and categorize your transactions, sync transactions from banks you’ve connected, generate your tax reports, process your subscription, send you service messages about your account and your bank connections, provide support, fix bugs and crashes, and keep the service secure.

We also use transaction records to improve SlimBooks’ automatic categorization. Categorizing well means learning from how people actually label their spending, so the categories you confirm or correct feed a combined dataset drawn from across accounts, which we use to tune the categorization engine and to build shared signals about how a given merchant tends to be classified. That combined dataset does not carry your account identifier, but it does include the descriptions and bank descriptor text from transactions, so we treat it as personal information and keep it under the same access controls as everything else. We use it only to make categorization better inside SlimBooks. We do not sell it, hand it to advertisers, or publish it.

Who we share it with

We do not sell, rent, or trade your personal information — to anyone, ever.

We share data only with the service providers that operate SlimBooks on our behalf, each limited to what their role requires:

  • Plaid — connects to your bank when you choose to link an account
  • Stripe — processes subscription payments and hosts checkout and the billing portal
  • Supabase — hosts our database and handles authentication
  • Vercel — hosts our website and API
  • Resend — sends transactional email, such as your welcome message
  • Expo — delivers push notifications to your device
  • Sentry — collects crash and error diagnostics from the app
  • PostHog — product analytics, limited to the events described above

One thing worth calling out about push notifications: when we tell you that a bank needs reconnecting, or that an import is ready to review, the notification text names the institution — for example, “Your Chase transactions are ready to review.” To reach your phone, that text passes through Expo’s push service and then through Apple’s or Google’s notification service, and it can appear on your lock screen. If you’d rather it didn’t, turn off notifications for SlimBooks in your device settings.

These providers are based in the United States and may process and store information in the United States or in other countries, so your information may leave the country you live in and be handled somewhere with different data protection laws. Each of these providers publishes its own data processing terms and transfer safeguards, and we rely on the mechanisms they make available. SlimBooks is a US business serving US customers; if you are in the UK, the EEA, or Switzerland and need details of the safeguards that apply to your information, email us at gustavo@getslimbooks.com.

We may also disclose information if required by law, or to protect the rights, safety, or security of SlimBooks and its users. If SlimBooks is ever part of a merger, acquisition, or sale of assets, your information may transfer with the business; we’ll tell you before it becomes subject to a different privacy policy.

How we protect it

All data is encrypted in transit (TLS 1.2 or better) and at rest. Bank access tokens receive an additional layer of application-level encryption (AES-256-GCM) before storage. Our database enforces row-level security, meaning your account can only ever access your own records. Access to our production systems requires multi-factor authentication.

Who at SlimBooks can see your records. Row-level security governs what one user account can reach. It is not a promise that nobody here can see your data, and we would rather say so than let you assume otherwise. SlimBooks is run by one person, and our server holds a privileged key that row-level security does not restrict. That access is what lets us investigate a failed bank sync or a billing problem you write to us about, and what lets us check how well automatic categorization is performing — a review that reads transaction descriptions, bank descriptor text, amounts, and the categories people chose. Those review screens and the file they export do not carry your account identifier, your name, or your email. We do not read accounts for any other reason, we do not sell what we see, and everything in “How we use your information” above still applies to it.

Some specifics worth naming, because they’re the ones that matter for financial data:

  • Two-factor authentication is required before you can link a bank. Connecting a bank account is the highest-stakes thing you can do in SlimBooks, so we require you to set up a second factor and pass it first. If you sign in with Apple, Apple’s own two-factor requirement covers this.
  • Our website and API are served over HTTPS only, and we send HTTP Strict Transport Security so browsers refuse to fall back to an unencrypted connection.
  • We enforce a Content Security Policy that restricts where the site may load code from and blocks it from being embedded in another site, which limits the damage any injected script could do.
  • Our database connection verifies the server’s certificate, so the connection carrying your data can’t be silently intercepted.
  • Incoming webhooks from Stripe and Plaid are cryptographically signature-verified before we act on them, and repeated or replayed events are rejected.
  • Sensitive account and billing endpoints — account deletion, two-factor reset, account lookup, checkout, and the billing portal — are rate limited.
  • The most sensitive tables are reachable only by our server. The keys that ship inside the mobile app and the website can neither read nor write them.
  • Bank access tokens are scrubbed out of error reports and logs, so they can’t leak through a stack trace.

No system is perfectly secure and we won’t pretend otherwise. If you find a vulnerability, please email us at gustavo@getslimbooks.com and we’ll work with you on it.

How long we keep it

We keep your bookkeeping data — transactions, categories, linked account records, and settings — for as long as your account is active, because that data is the product. The rest has its own clock:

  • Diagnostic logs are purged on a rolling schedule, currently about 90 days.
  • Crash reports are kept by Sentry for 30 days, and product analytics events by PostHog for 1 year. Neither one stores your IP address — we’ve turned that off in both. Sentry also scrubs passwords and card-like values on their side as well as ours.
  • Billing records are kept for as long as we need them to meet tax and accounting obligations. Stripe separately retains records of your payments on its own schedule, and deleting your SlimBooks account does not erase Stripe’s copy.
  • Consent records are kept while your account exists, so we can show what you agreed to and when. They are deleted with your account.
  • Push notification tokens are deleted when you sign out, turn notifications off, or delete your account, and we drop them automatically once a device stops accepting notifications.

How to delete it

You’re in control:

  • Individual transactions can be deleted in the app at any time.
  • Bank connections can be disconnected in Settings, which revokes our access at Plaid and deletes the stored connection. Previously imported transactions stay unless you delete them.
  • Your entire account can be deleted from Settings in the app, or from the account page on our website.

What account deletion actually does depends on your subscription, so here are all three cases:

  • No active subscription. Deletion runs immediately.
  • Active subscription, and you choose to delete now. We cancel your subscription immediately — you give up any remaining paid time and it isn’t refunded — and then delete your data right away.
  • Active subscription, and you choose to delete at the end of your billing period. Nothing is deleted yet. You keep using SlimBooks and your data stays on our systems until the period you’ve already paid for runs out — on an annual plan, that can be up to a year away. Deletion then completes automatically. You can call it off at any point before then by reactivating your subscription from the billing portal.

Whenever deletion does run, the first thing we do is revoke our access at Plaid, so your bank connections are severed before anything else is touched. If that step fails we stop and do not report the deletion as complete, rather than leave a live bank connection behind. After that we permanently remove your transactions, linked accounts, settings, consent records, push tokens, and your login itself.

Two things survive deletion, and you should know about them. Diagnostic logs are anonymized rather than erased — we detach them from your account so error trends survive you leaving, but they no longer point at you. And a billing record stays behind, with your email and payment identifiers stripped out of it, so we can meet tax and accounting obligations; Stripe keeps its own record of past payments regardless. Deleted data also lingers briefly in our encrypted database backups, which are taken daily and kept for 7 days, so it ages out within a week.

Your rights

Most of these you can exercise yourself, right now, without asking us:

  • Access and portability. View everything we hold about your bookkeeping in the app, and export your transactions and reports as files you keep.
  • Correction. Edit any transaction, category, or setting that’s wrong.
  • Deletion. Delete individual records, disconnect banks, or delete your entire account, as described above.

Depending on where you live you may have further rights under local privacy law — to know what we hold and why, to get a copy in a portable format, to have it corrected or erased, to object to or restrict certain processing, and to complain to your data protection authority. To exercise any of them, or just to ask, email us at gustavo@getslimbooks.com. We’ll acknowledge you promptly and respond within 45 days; if a request is genuinely complicated we may need longer, and we’ll tell you why before that window is up. We may need to verify that you are who you say you are before we act on a request about a financial account, and you can use an authorized agent if the law where you live allows it. We’ll never treat you worse — degraded service, a higher price, fewer features — for exercising a privacy right.

If you live in California. Under the CCPA and CPRA: we do not sell personal information, and we do not share it for cross-context behavioral advertising — not now and not in the preceding twelve months. We don’t knowingly sell or share the personal information of anyone under 16. We collect the categories described in “What we collect” above, for the purposes described in “How we use your information,” and we disclose them only to the service providers listed above. Your financial account information — linked accounts, balances, and transactions — is sensitive personal information under those laws. We use it to provide and improve SlimBooks and for nothing else, so there is no additional use for you to limit, and you can still exercise your rights to know, delete, and correct it.

If there’s a breach. If we discover a security incident that has compromised your personal information, we’ll notify you and the relevant regulators without undue delay, and within whatever deadline applicable law sets. We’ll tell you what happened, what information was involved, what we’ve done about it, and what we recommend you do.

Children

SlimBooks is not directed to children. We don’t knowingly collect personal information from anyone under 13, and if we learn that we have, we’ll delete the account and its data. The parts of SlimBooks that handle money — buying a subscription and connecting a bank account — require you to be at least 18, or the age of majority where you live if that is higher.

We don’t ask for your date of birth, so we can’t verify age. If you believe a child has given us personal information, email us at gustavo@getslimbooks.com and we’ll remove it.

Changes to this policy

When we change this policy, we’ll update the date at the top and the policy version we record alongside your consent. For material changes — collecting a new category of data, or using what we already have for a new purpose — we’ll ask you to accept the updated policy the next time you sign in, before the change applies to you.

Contact

Questions about privacy & security issues:

gustavo@getslimbooks.com