Tallyscope

Privacy policy

Your bank statements are read in your browser and are not uploaded. This policy explains the small amount of data we do handle, who handles it, and your rights.

Last updated: 2026-10-23

1. Who is responsible

Tallyscope ("we", "us") is the controller of the personal data described here. Contact for any privacy matter: support@tallyscope.app.

2. The short version

3. Data that stays in your browser

When you add a statement, the file is read from your device into your browser's memory. Parsing, OCR, verification, currency conversion and export happen there. We never receive the file, its text, or the extracted transactions through these functions. When you close the tab the data is gone. Your browser's local storage keeps your settings (such as display currency, date format, theme and OCR language) and, if you are signed in, the authentication session issued by our authentication provider. You can clear it at any time in your browser.

4. Data we collect and why

DataPurposeLegal basis (GDPR)
Account email, password hash or Google sign-in identifier, plan and Day pass recordsProvide your account and paid featuresContract (Art. 6(1)(b))
Payment and subscription data held by Stripe (we receive status, plan, customer reference, not your card number)Take payment, manage subscriptions, prevent fraud, meet tax dutiesContract; legal obligation (Art. 6(1)(c))
Aggregate page analytics from Vercel Web Analytics (no cookies, no cross-site tracking)Understand which pages and features are usedLegitimate interests (Art. 6(1)(f))
Error reports (error message cut to 200 characters with digit runs masked, the top five stack frames as function and file name, app version, browser family; never statement content and not the page address)Find and fix bugsLegitimate interests
Technical request data: IP address and user agent in server logs; a salted hash of your IP address for rate limitingSecurity, abuse prevention, fair-use limits on the assistantLegitimate interests
Emails you send to supportAnswer youLegitimate interests; contract

5. The AI assistant

Default behaviour. Answers are calculated in your browser from your table. If the built-in engine cannot understand a question, the wording of that question (and the previous query plan, for follow-ups) is sent to our server function, which forwards it to an AI model to turn it into a structured query. Your transactions are not sent. The AI providers we may use, in turn, are Google Gemini, Groq, GitHub Models, Cloudflare Workers AI and OpenRouter, on their free tiers. Free-tier providers may log prompts and may use them to improve their models, under their own terms. Do not type personal details, account numbers or confidential information into a question.

Advanced AI features: "AI reads my transactions" mode. Off by default and available on the Day pass and Pro plans. If you switch it on, questions that the local engine cannot answer send a masked version of your table (dates, descriptions, amounts, categories) to Google Gemini through our server function, which answers from it. IBANs, card numbers and long account numbers are masked by pattern. Masking is pattern-based. It does not remove names, merchant names or free-text descriptions, which may identify you or other people. Read-mode requests are not cached and their content is not logged by us. Turn the mode off at any time. Answers in this mode are labelled as AI-written, because an AI's arithmetic is not verified.

6. Who receives data (processors and recipients)

7. International transfers

Some providers above are based in, or process data in, countries outside the European Economic Area, including the United States. Where personal data is transferred, we rely on the provider's participation in the EU-US Data Privacy Framework or on Standard Contractual Clauses, as applicable. Ask us for details at the address above.

8. How long we keep data

9. Your rights

Under the GDPR and similar laws you may ask to access your data, correct it, have it erased, restrict or object to processing, receive a copy in a portable format, and withdraw consent where processing is based on consent. Erasure: you can delete your account yourself in the app with Delete account. This removes your account and subscription data and your Stripe customer record on our side, then signs you out; records we must keep by law, such as invoices, are retained. For any other request, email us; we aim to answer within one month. You can also complain to your local data protection authority; you may complain to your local data protection authority.

10. Cookies and similar technologies

We do not use advertising or tracking cookies, and our analytics are cookieless. The site uses your browser's local storage for settings and, if you sign in, your authentication session; these are strictly necessary for the features you request. Stripe's hosted checkout and Google's sign-in page are third-party sites with their own cookie practices, which apply when you visit them.

11. Security

The site is served over HTTPS and uses a strict Content-Security-Policy that limits the hosts your browser may contact. Statement processing in your own browser reduces what can be exposed. No online service is perfectly secure, and you are responsible for keeping your own device and account credentials safe.

12. Children

Tallyscope is not directed at children and we do not knowingly collect their personal data. You must be old enough to enter a contract in your country to buy a plan.

13. Changes

We may update this policy as the product changes. The date at the top shows the latest version; material changes affecting paying customers will be announced in the app or by email.

14. Contact

Tallyscope. Email: support@tallyscope.app. See also the terms, the refund policy and how statements stay in your browser.