Your financial data stays on your computer. That's the core of Solid Accounting: the app is local-first, and by default your books never leave your machine. We built it because we believe your business data should be under your control, not ours.
Some optional, opt-in features do send data off your device when you turn them on — bank feeds pull transactions through a third-party aggregator, cloud backup stores an encrypted copy of your books off-site, and the online invoicing portal processes invoices on our servers. Each of these is off by default, and each is described in full below. Where your data leaves your device, we tell you exactly what leaves, why, who touches it, and how long we keep it.
Here's exactly what we do and don't collect.
Your name, email, and payment info. Stripe handles the payment — we never see your credit card number. We use this to send your license key and provide support.
Why we can do this: We need it to fulfill your purchase (this is "contractual necessity" under GDPR, and "performing a contract" under general privacy law).
Your license key, a machine identifier, and the random install ID described under What the app always sends. We use this to verify your license and count activations. No financial data is sent.
Starting a trial needs an internet connection. The app sends our license server a computer signature, the app version, your operating system and the plan you're trying. The computer signature is a one-way code the app makes from your computer's own ID. It can't be turned back into that ID, and the ID itself never leaves your computer. We don't receive your name, your email or anything from your books.
We use the signature to allow one free trial per computer. If this computer has already had a trial, we won't start another one. We also keep a scrambled code for the network the trial started from (not your IP address), so we can spot many trials started from one place. While the trial runs, the app also tells us how many Local API calls and file exports it has used that month, because trials have monthly limits on both.
This happens whether or not you allow usage data, because it's how a trial is checked, in the same way as license activation.
Why we can do this: it's needed to provide the trial on the terms we offer it (contractual necessity), and to prevent misuse of free trials (legitimate interest).
We use two kinds of website analytics. Neither uses cookies, and neither follows you to other sites.
The visit gets a random ID that exists only in that browser tab and is discarded when the tab closes. We don't recognize you when you come back later. We use this to see which pages help and where people get stuck.
If your browser sends Do Not Track or Global Privacy Control, our analytics records nothing.
Links from our team. If you've spoken with someone at Solid Accounting, the link they send you afterward may include a short code (the part after ?l=). That code is tied to our record of the conversation. When you visit through that link, we can see which pages you looked at during that visit, so our follow-up is useful. We never sell or share this information. To opt out, remove the code from the link, turn on Do Not Track, or email us.
Referral links. If you arrive through an accountant's referral link, we set one first-party cookie, sa_partner_code. It holds that partner's code for 90 days so the referral is credited if you buy. It contains no personal information and is used for nothing else.
The first time you open Solid Accounting (version 26.10.0 and later), we ask: "Help improve Solid Accounting?" Nothing optional is sent until you answer. If you choose Don't send, or close the question without answering, nothing is sent; if you close it without answering, we ask again the next time you open the app. One answer covers both usage data and error reports, and it applies to the computer you answer on (every company file on it). You can change it any time in Settings → Privacy → Send usage data and error reports.
If you used an early-access build that sent this data without asking, you'll be asked once when you first open the new version. Nothing optional is sent until you answer, and nothing recorded before you say yes is ever sent.
If you say yes, the app sends:
Every one of these reports carries a random install ID created when you install the app. It stays the same until you uninstall, and it's the same ID the app sends when your license is activated. So while these reports don't contain your name, email, or books, they can be linked to your installation and, through it, to your license.
We never receive your transactions, amounts, account balances, customer or vendor names, or files through usage data or error reports, except as described for error messages above.
We keep usage data and error reports for 90 days, then delete them. In Settings → Privacy, See what's been sent shows what this computer has sent, and Delete it deletes it from this computer and asks our server to delete everything it has from this computer.
Why we can do this: you said yes (consent). You can change your answer any time in Settings → Privacy; that stops future reports and doesn't affect reports already sent, which you can delete as described above.
Some things are needed for the app to work, so they're sent whatever you answer to the question above:
Optional services you turn on separately — bank feeds, cloud backup, the invoicing portal, and AI Training Contribution — each have their own section below.
| Info | Why we need it | How long we keep it |
|---|---|---|
| Name and email | Send your license, provide support | As long as your license is active |
| Payment info | Process your purchase | We never store it (our payment processors do) |
| Machine ID and install ID | Verify your license | As long as your license is active |
| Website analytics | See which pages help and where visitors get stuck; follow up after a conversation with our team | Page events 90 days; visit summaries 13 months |
| Usage data and error reports | Fix bugs, decide what to build next, detect tampered copies | 90 days, then deleted |
We never use your info for ads, profiling, or selling to anyone.
If you purchase the bank feed add-on, Solid Accounting connects to your bank through a third-party aggregator (currently Plaid or Yodlee) to download transactions into your books.
How it works:
What we see:
What we don't see:
How long we keep it:
Your bank's data stays on your computer. Once transactions are imported into Solid Accounting, they live in your local database. The server cache is temporary and exists only to make the sync reliable.
Our role: For bank feed data, we act as a data processor — we receive the data from the aggregator, pass it to your desktop, and delete the server copy. Plaid and Yodlee are sub-processors operating under our data processing agreements. See the Data Processing Agreement and Subprocessor List for details.
Not currently enabled. On-device AI is coming soon. In the current version of Solid Accounting it is switched off and shown as "Coming soon", and no model is downloaded. When it is enabled, it will run on your computer and work as described in this section.
Solid Accounting includes an on-device AI model for PDF extraction (audit logs, user lists, custom reports that your cloud software doesn't expose via API). The AI runs entirely on your computer. Your books, the PDFs you extract, and your corrections never leave your machine unless you explicitly enable one of the opt-in features below.
You can optionally opt in to contribute your AI corrections (your edits of model outputs) to improve future releases of our AI adapters.
What leaves your device (only when opted in):
What does NOT leave your device:
Governance:
When available, you can opt in to route AI extraction requests to Solid Accounting's servers instead of running them locally, if your hardware is too slow to run AI efficiently. This feature is off by default and clearly labeled in the UI. When enabled, the PDF text leaves your device to our servers for extraction, and we return the structured result. No content is retained on our servers past the request-response cycle (typical: < 60 seconds).
This feature is not yet available; when it ships, we'll update this policy.
AI features don't have separate switches for usage data or crash reports. They follow your one answer to "Help improve Solid Accounting?", described under Usage data and error reports above.
Your answer about usage data and error reports, See what's been sent, Delete it, and your Training Contribution settings all live in Settings → Privacy.
If you enable cloud backup, Solid Accounting keeps encrypted, off-site copies of your company file so you can recover your books if your computer is lost, stolen, or damaged. Cloud backup is off by default — you turn it on, and you choose where the backups go.
Cloud backup is a one-way backup (copies out for disaster recovery). You can use it or not — it's entirely optional.
What gets backed up:
Where your backups go — you choose:
How it's protected:
How long we keep it (managed backup only):
Our role: For managed cloud backup we act as a data processor. Because backups are end-to-end encrypted with keys that never leave your device, we are a "zero-knowledge" processor — we store your encrypted data but cannot access its contents. Backblaze B2 is a sub-processor for managed backup storage. See the Subprocessor List, the Data Processing Agreement, and our Security Practices for details.
Our website does not use advertising or cross-site tracking cookies, and both of our analytics tools are cookieless. The one cookie that isn't strictly necessary is the sa_partner_code referral cookie described under Website visits. It's set only when you arrive through a referral link. If we add any other cookie, we'll update this section and notify you.
Our website may use essential cookies for security purposes (CSRF protection) if you interact with forms. These are strictly necessary and don't track you.
We honor the Do Not Track and Global Privacy Control browser signals. When either is on, our own website analytics records nothing about your visit.
If you use the optional invoicing portal, we do process some data on our servers — your customers' names and email addresses, invoice contents and amounts, and payment status. This is only used to send invoices and collect payments. Customer names, email addresses and invoice contents are encrypted on our server. We delete it 90 days after you close your account.
Our role: For the invoicing portal, we act as a data processor on your behalf (you are the data controller). We process your customers' data only as needed to provide the invoicing service, and only according to your instructions (sending the invoices you create).
See the Payment Service Agreement and Data Processing Agreement for details.
These companies process data on our behalf. We've chosen them carefully and have agreements in place with each.
| Service | What it does | What it sees |
|---|---|---|
| Stripe | Processes purchases | Your payment |
| PayPal | Processes invoice payments | Invoice payments |
| Square | Processes invoice payments | Invoice payments |
| Plaid | Bank feed aggregation (add-on) | Your bank credentials (direct, not through us), transaction data |
| Yodlee | Bank feed aggregation (add-on, backup provider) | Your bank credentials (direct, not through us), transaction data |
| Plausible | Website analytics | Aggregate page views, no personal info |
| OVH | Hosts our one production server — website, license server, payment endpoints, bank feed process | Server infrastructure; the data those services hold |
| Hetzner | Encrypted off-site copy of that server's nightly backups | Encrypted backup archives |
| Backblaze B2 | Managed cloud backup storage (opt-in) | Encrypted backup data only (zero-knowledge — we and B2 hold ciphertext we can't read) |
| Postmark | Sends emails | Email addresses, invoice notifications |
| SendGrid | Sends emails (standby provider — not currently engaged) | Email addresses |
| Sentry | Tracks errors in our server-side services (not currently engaged) | Error logs |
| Modal | GPU compute for training AI adapters (no customer data — only data you've opted in to contribute, anonymized first) | Tokenized training pairs when you've opted in to Training Contribution |
| Anthropic | Internal-only: we use Claude to draft labeling templates for our engineering team. Customer data does not flow through Anthropic. | No customer data |
We don't sell or share your personal info with anyone else. We don't allow our service providers to use your data for their own purposes.
We may create anonymized, aggregated data from usage patterns that cannot identify any individual user. We may use this data for product improvement, industry benchmarks, and marketing (e.g., "Solid Accounting users process 2 million invoices per month"). Once data is truly anonymized, it is no longer personal data and this privacy policy does not restrict its use.
For contributed AI training data (see "Training Contribution" above) we specifically target the CCPA aggregated and deidentified standard:
If Solid Accounting is acquired, merged with another company, or sells all or substantially all of its assets, your personal information may be transferred to the new owner as part of the transaction. Why we can do this: This transfer is based on our legitimate interest in conducting normal business operations (GDPR Art. 6(1)(f)). We'll notify you by email at least 30 days before such a transfer, and the new owner will be bound by the terms of this privacy policy until they notify you of changes.
We may disclose your personal information when we believe in good faith that disclosure is necessary to:
If we receive a law enforcement request for your data, we'll notify you before disclosing unless we're legally prohibited from doing so (e.g., by a gag order or national security letter).
As of March 2026, Solid Accounting has not experienced a data breach or security incident involving user personal information. If this changes, we'll update this section and follow the notification process described in our Security Practices.
Solid Accounting is business software. You must be 18 to purchase it (see Terms of Service), and we don't knowingly collect personal information from anyone under 16 (the GDPR minimum age for data processing consent). If a child provides us personal info, let us know and we'll delete it promptly.
We're based in the United States. If you use Solid Accounting from another country, your info may be transferred to and processed in the US.
For EU/EEA users: We rely on Standard Contractual Clauses (SCCs) as our legal mechanism for cross-border data transfers. You can request a copy by emailing privacy@solidaccounting.com.
We protect your data the same way regardless of where you are.
Everyone can:
EU/EEA residents (GDPR) also have the right to:
California residents (CCPA/CPRA) can:
Virginia (VCDPA), Colorado (CPA), Connecticut (CTDPA) residents have similar rights to access, correct, delete, and port their data, and to opt out of targeted advertising (which we don't do). Contact us using the email below.
To exercise any of these rights, email privacy@solidaccounting.com. We may ask you to verify your identity before processing your request (typically by confirming your email address and purchase details). We'll respond within 30 days for GDPR requests, or 45 days for CCPA/state privacy law requests. If we need an extension, we'll notify you with a reason.
If we make a material change to this policy, we'll email you at least 30 days before it takes effect. We'll also post a summary of changes in our legal changelog.
Solid Accounting does not use automated decision-making or profiling that produces legal effects or similarly significant effects on you (as described in GDPR Art. 22). Our invoicing portal includes automated abuse monitoring (described in the Acceptable Use Policy) that flags unusual invoice patterns for review, but flagged accounts are always reviewed by a human before any action is taken. No account is suspended, terminated, or restricted based solely on automated processing.
For all data protection inquiries, data subject requests, and privacy concerns, contact our data protection lead at privacy@solidaccounting.com. We do not currently appoint a formal Data Protection Officer (DPO) as we do not engage in large-scale systematic monitoring or processing of special category data. If this changes, we'll update this section.