Privacy Policy
How Cashfulness collects, uses, and protects your personal data under the EU GDPR and the Italian Privacy Code.
This Privacy Policy describes how Vittorio Giusti srl (hereinafter “Cashfulness”, “we”, “Data Controller”) collects, uses, and protects the personal data of users of the Cashfulness service (website cashfulness.com and the mobile/desktop application), under Regulation (EU) 2016/679 (“GDPR”) and Italian Legislative Decree 196/2003 as amended (“Italian Privacy Code”).
For our privacy philosophy in narrative form (why we made certain choices), see the /privacy-radicale page. This document is instead the formal notice.
1. Data Controller
- Company name
- Vittorio Giusti srl
- Registered office
- Via del Campisano 520, 55054 Massarosa (LU), Italy
- VAT / Tax ID
- 12122090967
- Certified email (PEC)
- vittoriogiusti.com@pec.it
- GDPR rights email
- privacy@cashfulness.com
- Legal representative
- Vittorio Giusti, sole shareholder and sole director
Vittorio Giusti srl is the owner of the “Cashfulness” trademark (EUIPO registration no. 019297195).
Data Protection Officer (DPO): not appointed, as Vittorio Giusti srl does not fall under the mandatory appointment cases set out in Art. 37 GDPR (it is not a public authority, and its core activities do not consist of large-scale processing of sensitive data).
2. Quick definitions
- User
- the natural person who signs up to the Cashfulness service.
- Service
- the website
cashfulness.comand the Cashfulness application for mobile (iOS, Android) and desktop (Windows, macOS). - Personal data
- any information relating to an identified or identifiable natural person (Art. 4.1 GDPR).
- Processing
- any operation performed on personal data (collection, recording, storage, processing, deletion, etc.).
- Nickname
- pseudonym freely chosen by the user at signup; it does not identify the real person.
3. Categories of data processed
3.1. Identification data (minimum)
- Email (may also be pseudonymous, e.g.
aurora.at.night@protonmail.com) - Nickname (pseudonym, may be fictional — e.g. “Captain”, “Sail”, etc.)
- Password (stored encrypted, never in clear text)
We do not request or process: first name, last name, tax ID, date of birth, address, phone number, gender, identity document.
3.2. Security data (`login_history` table)
At every new sign-in we record:
- IP address of the session
- User agent of the browser/app
- Device info (operating system, device model where available)
- Date and time of the session
These data are used exclusively for account security (suspicious access detection, anti-abuse). They are always collected and are not subject to the Improvement Programme opt-out (see §3.5).
3.3. Accounting data
- Workspaces (“accounting spaces”) created by the user, with their chart of accounts
- Transactions recorded by the user in double-entry form
- Balances and derived computations (net worth, income statement, etc.)
- Categories and budgets created by the user
These data live on our remote database (Supabase, European servers) associated with the user’s nickname and email. By design they do not contain personal identifying details of the real person, unless the user voluntarily inserts them (e.g. account names including their surname — a discouraged behaviour, see /privacy-radicale).
3.4. Uploaded documents (end-to-end encryption)
- Files uploaded by the user (bank statements, bills, contracts, insurance policies, etc.)
The content of these files is end-to-end encrypted on the user’s device before upload, with a key generated on the device and protected by the document code (separate from the account password); the 24 recovery words (BIP39 seed) are the backup copy of that key. The key never leaves the device in clear: our server only stores its encrypted form, and of the documents’ content we only see blocks of digital noise. The information the user attaches to a file stays readable, so it can be searched and organised: title, notes, date, type and size, warranty and policy details, and the link to transactions.
3.5. Pseudonymous usage logs, to run and improve the app (Improvement Programme, opt-out)
To improve the app we measure:
- Sessions (app opens, duration)
- Feature usage (which sections are used, with what frequency)
- Errors and performance (crashes, response times)
- Device operating system (for beta-tester prioritization and coverage)
This data is pseudonymised at collection and normally analysed in aggregate form (art. 4.5 GDPR). It stays on our European Supabase servers: no third-party service (Google Analytics, Mixpanel, Amplitude, Sentry, Firebase Analytics, etc.).
A technical link to your account remains necessary, and in a limited number of cases a member of our team may look at usage data relating to a single account. This happens for four purposes, all tied to running and improving the service: (a) honouring the per-user opt-out (to stop collecting your account's data we need to know which data is yours); (b) measuring coverage by operating system (beta tester priority and platform support); (c) answering your support requests, where knowing which features you used and which errors you hit is often the only way to understand the problem; (d) diagnosing faults affecting few people, which aggregate numbers hide by definition.
Outside these purposes we do not use this data: no commercial profiling, no advertising, no automated decisions concerning you, no sale or sharing with third parties. Usage data does not affect the price you pay or the terms we offer you, and is not used to build behavioural profiles for marketing.
You can turn off collection at any time in the app settings, under “Improvement Programme” (opt-out).
3.6. Newsletter and waiting-list sign-up data (only if you choose)
- Email + optional name/pseudonym
Processed only if you actively choose to sign up (opt-in). See §5 for the third-party service that hosts them (ActiveCampaign). For the launch waiting list we also keep a row in our European databases — email, language and date — for one reason only: to know how many of the people who signed up then created an account. Nothing else, and no profiling. You can ask for deletion by writing to privacy@cashfulness.com, in addition to the unsubscribe link in every email.
3.7. Payment data
Not processed directly by Cashfulness. Subscription payments go through:
- Apple App Store (for subscriptions purchased on iOS)
- Google Play (for subscriptions purchased on Android)
- Stripe, through Link (for subscriptions purchased via the website)
Apple App Store and Google Play act as merchant of record: they process the user’s name, address, credit card, IBAN, and are responsible for issuing invoices or fiscal receipts to end users according to their own policies and the regulations of each country. For these two channels Cashfulness only receives the net proceeds and an opaque subscription identifier (e.g. sub_abc123): we never see the customer name, address, tax ID, credit card, IBAN.
On the website, too, we are not the seller. For subscriptions purchased via the website the seller is Link (Sold through Link, LLC, a Stripe group company), which acts as merchant of record: it collects the payment, calculates and remits the taxes of the customer’s country, issues receipts and invoices, and handles refunds and disputes. Link and Stripe process these data as the seller, under their own privacy policy. To calculate taxes Stripe asks for name and billing address: Vittorio Giusti srl sees them in the Stripe dashboard, together with the email address, the card network and last 4 digits, the payment outcome and a customer identifier, but name and address never enter the app’s database. We never receive the full credit card number or the security data (CVV). To link the payment to the account, Cashfulness sends Stripe the email address and the user identifier; when the payment is received we store the association between the user and the Stripe customer identifier.
Payment data for the web channel that we see in the Stripe dashboard are processed by Vittorio Giusti srl for the performance of the contract (Art. 6.1.b GDPR) and for the accounting obligations tied to the monthly invoice to Link (Art. 6.1.c GDPR); see §4 and §7.
3.8. Push notification data (iPhone and Android only, only if you turn them on)
If you turn on push notifications, we process:
- the push token of your device, a technical code issued by Google (Firebase Cloud Messaging) and, on iPhone, by Apple, used to deliver the notification to that device and to no other;
- the platform and a device identifier, your notification preferences and the language you want to receive them in;
- the text of the notifications we send you. For the accounting alerts you set up yourself (for example "balance below a threshold") the text may contain the name of an account, a balance or the threshold you chose.
Tokens and the sending queue stay on our Supabase servers in Europe. Delivery goes through Google Firebase Cloud Messaging and, on iPhone, through Apple Push Notification service: both see the token, the title and the text of the notification (see §5). On Mac, Windows and Linux there are no push notifications: reminders are generated on the device and never leave the app.
Legal basis: performance of the contract (art. 6.1.b GDPR), because you request the notifications by turning them on. You can turn them off at any time in the app settings or in the operating system; the token is deactivated and deleted together with the account.
3.9. Support data
When you write to info@, support@ or beta@cashfulness.com, or send a report from the app, we process what you send us: the text of the message, your email address, your nickname, the platform and version of the app, any attachments. How we use them, and with which tools, is described in §5.1.
4. Purposes of processing
Personal data are processed for the following purposes:
| # | Purpose | Data categories involved | Legal basis |
|---|---|---|---|
| 1 | Service delivery (registration, authentication, syncing of accounting data across devices) | 3.1, 3.3, 3.4 | Contract performance (Art. 6.1.b GDPR) |
| 2 | Account security (suspicious access detection, anti-abuse) | 3.2 | Legitimate interest (Art. 6.1.f GDPR) |
| 3 | Product improvement (logs pseudonymised at collection, analysed in aggregate form; the account link serves only for opt-out and operating-system coverage) | 3.5 | Legitimate interest (Art. 6.1.f GDPR), revocable via opt-out |
| 4 | Service communications (email verification, password reset, security notices) and push notifications the user turns on (reminders, accounting alerts) | 3.1, 3.8 | Performance of the contract (art. 6.1.b GDPR) |
| 5 | Educational newsletter and operational tips (only if opted in) | 3.6 | Explicit consent (Art. 6.1.a GDPR), revocable |
| 6 | Compliance with legal obligations (requests from competent authorities or supervisors) | 3.1, 3.2, 3.3 | Legal obligation (Art. 6.1.c GDPR) |
| 7 | Tax and accounting compliance for subscriptions sold via the website (monthly invoice to Link, accounting entries, payment reconciliation) | 3.7 (payment data for the web channel) | Legal obligation (Art. 6.1.c GDPR) |
| 8 | Support: answering requests sent by email or from the app, including classifying the requests and preparing a draft reply with an artificial intelligence tool (see §5.1) | 3.1, 3.9 | Performance of the contract (art. 6.1.b GDPR) for users; legitimate interest (art. 6.1.f GDPR) for people who write to us without having an account |
5. Third-party services (external data processors)
To deliver the service we rely on third-party providers, selected for reliability and GDPR compliance. All of them except Anthropic (see §5.1) have signed a Data Processing Agreement (DPA) with us under Art. 28 GDPR.
| Service | Function | Headquarters | Actual servers | Extra-EU transfer safeguards |
|---|---|---|---|---|
| Supabase (Supabase Inc.) | Database + user authentication | USA | Europe (eu-west) | DPA + SCC + Data Privacy Framework |
| Vercel (Vercel Inc.) | Hosting of cashfulness.com | USA | Europe (Frankfurt) | DPA + SCC + Data Privacy Framework |
| Resend (Resend Inc.) | Transactional email (verification, password reset, notifications) | USA | Europe (EU region) | DPA + SCC + Data Privacy Framework |
| Google Workspace (Google Ireland Ltd) | Human mailboxes (info@, support@, beta@, privacy@) | EU (Ireland) | USA + Europe | DPA + SCC + Data Privacy Framework |
| SiteGround (SiteGround Hosting Ltd) | DNS | EU (Bulgaria) | Europe | DPA (intra-EU processing) |
| ActiveCampaign | Newsletter + beta signup form | USA | USA | DPA + SCC + Data Privacy Framework |
| Apple App Store (Apple Inc.) | iOS subscription payments; delivery of push notifications on iPhone through Apple Push Notification service (APNs) | USA | USA + Europe | Data Privacy Framework + Apple terms |
| Google Play (Google LLC) | Android subscription payments | USA | USA + Europe | Data Privacy Framework + Google terms |
| Google Firebase Cloud Messaging (Google LLC) | Delivery of push notifications on Android and iPhone (device token, title and text of the notification) | USA | Global service (USA and other Google locations), no European region | Firebase Data Processing and Security Terms + SCC + Data Privacy Framework |
| Stripe and Link (Stripe Inc., Sold through Link, LLC) | Sale and payment of web subscriptions (Link is the seller) | USA | USA + Europe | DPA + SCC + Data Privacy Framework |
| Umami Cloud | Privacy-friendly site analytics (no cookies, no profiling) | USA | Europe (EU region) | DPA + SCC + Data Privacy Framework |
| Anthropic (Anthropic Ireland Ltd) | Artificial intelligence tool (Claude) used by our team to classify support requests received by email and from the app and to prepare a draft reply, which a person reviews and sends | EU (Ireland) | USA | No DPA: Anthropic’s individual terms of use, with the use of content for training turned off |
| Tailscale (Tailscale Inc.) | Encrypted connection between our servers and the AI assistant server in Italy. The service cannot read the content of the traffic: it only sees connection data (addresses, times, volumes) | Canada | Canada and USA (connection data only) | DPA + SCC |
We do not use behavioural tracking or commercial profiling systems: no Google Analytics, Firebase Analytics, Mixpanel, Amplitude, Sentry, Meta Pixel, TikTok Pixel, LinkedIn Insight Tag. Of Firebase we use exclusively the Cloud Messaging service, to deliver the push notifications you turn on (see §3.8): no other Firebase component is included in the app, and we verify this on the compiled package at every release.
5.1. Support and artificial intelligence tools
Support requests. The requests that reach info@, support@ and beta@cashfulness.com and the reports sent from the app are read by a person on our team. To classify them and prepare a first draft reply we use Claude, an artificial intelligence tool by Anthropic: the text of the request and, for reports from the app, nickname, email address, platform, app version and any attachments are processed by Anthropic in the United States. We use it with an individual subscription, governed by Anthropic’s terms of use for individual users: there is no data processing agreement (DPA) between us and Anthropic, and in the account settings we have turned off the use of content to train the models. The draft is always reviewed, corrected and sent by a person: no reply goes out automatically. We are moving this processing to a server owned by Vittorio Giusti srl in Italy: once that is done, Anthropic will no longer receive this data and we will update this policy.
In-app assistant. The app contains an assistant that answers questions about using Cashfulness, available depending on your plan. When you ask it a question, the model receives your question, your language, the latest messages of the same conversation and a few excerpts from the manual. It does not receive your accounting data: accounts, balances, transactions and documents stay out. The model runs on a computer owned by Vittorio Giusti srl in Italy, reached through an encrypted connection provided by Tailscale, which cannot read its content (see §5). The text of the question is sent exactly as you write it: do not include personal data you do not want to share. Conversations are stored on our Supabase servers in Europe and are deleted together with the account. The assistant gives guidance on using the app, not financial, tax or legal advice.
Website chat. The chat window on cashfulness.com is not connected to any artificial intelligence service and does not send data to third parties. If we activate it, we will update this policy first.
We do not use your data to train artificial intelligence models, ours or anyone else’s, and we do not hand datasets to AI providers.
6. Affiliate links and commercial referrals
Cashfulness may display links to savings opportunities offered by third parties, from which Vittorio Giusti srl may receive a fee if the User activates a service (see Terms and Conditions, section “Referrals and affiliate links”).
The links are static and identical for every User: they are neither selected nor ordered on the basis of the data held in the workspace, and displaying them involves no profiling within the meaning of Art. 4(4) GDPR and no automated decision-making within the meaning of Art. 22 GDPR.
Cashfulness receives no information from the third party that would allow a single activation to be traced back to an identified or identifiable User: any reporting of the fee is provided in aggregate form.
The moment the User chooses to follow the link, they leave the Cashfulness perimeter: from that point onwards the processing of their data is governed by the privacy notice of the destination site, which acts as an independent controller and over which Vittorio Giusti srl has no control. Any cookies set by the destination site are third-party cookies outside the cashfulness.com domain (see Cookie Policy).
7. Extra-EU data transfers
Some of our providers are companies based in the United States of America (see §5). Such transfers occur with the following safeguards:
- Standard Contractual Clauses (SCC) signed under Implementing Decision (EU) 2021/914.
- EU-US Data Privacy Framework (Implementing Decision (EU) 2023/1795), for providers that have joined it.
- Supplementary technical measures (encryption in transit and at rest, isolation of data in European regions where available).
The user can request a copy of the applied safeguards by writing to privacy@cashfulness.com.
8. Retention periods
| Data category | Retention period |
|---|---|
| User account + accounting data + E2EE documents | For the entire account lifetime; effective deletion within 30 days of the request (the 30 days allow a reversible soft-delete for accidental requests) |
Security logs (login_history, IP, user agent) | 6 months from the session date |
| Pseudonymous usage logs, analysed in aggregate form (Improvement Programme) | 6 months rolling; on opt-out, we stop collecting new ones immediately |
| Automatic backups (Ultra plan only): compressed CSV files, protected by the provider’s encryption at rest, not end-to-end | the last 7 per workspace, never more than 30 days |
| CSV exports requested by the user | deleted after 24 hours; the download link is valid for 15 minutes |
| Newsletter (if subscribed) | Until explicit cancellation by the user (unsubscribe link in every email) |
| Billing data — Apple / Google channels | Not applicable: for subscriptions purchased on the App Store or Google Play, Cashfulness does not issue invoices or fiscal receipts to end users (see §3.7); these are issued by Apple or Google, which act as merchant of record |
| Accounting records for the web channel | 10 years from the document date, as required by Art. 2220 of the Italian Civil Code for accounting records: the company’s monthly invoices to Link and Stripe’s statements. Receipts and invoices to customers are issued and kept by Link (see §3.7) |
9. Data subject rights
Under Articles 15–22 GDPR, the user has the right to:
- Access the personal data concerning them (Art. 15)
- Rectification of inaccurate or incomplete data (Art. 16)
- Erasure of data (“right to be forgotten”, Art. 17)
- Restriction of processing (Art. 18)
- Portability of data in a structured, machine-readable format (Art. 20)
- Objection to processing based on legitimate interest (Art. 21)
- Withdrawal of consent at any time, for processing based on consent (Art. 7.3)
- Complaint to the Italian Data Protection Authority (Garante per la Protezione dei Dati Personali): Piazza Venezia 11, 00187 Rome — tel. +39 06 696771 — PEC protocollo@pec.gpdp.it — web www.garanteprivacy.it
9.1. How to exercise these rights
To exercise any of the rights listed above, the user can:
- Write to
privacy@cashfulness.comindicating the right they intend to exercise, the email associated with the Cashfulness account, and — for deletion — any confirmation of being aware of the irreversibility for E2EE documents. - For the right to erasure (full account deletion): the function is available directly in the app, under “Settings → Account Management → Delete Account”. Effective deletion occurs within 30 days.
- To disable the Improvement Programme (opt-out): from “Settings → Security & Privacy → Improvement Programme” in the app. Immediate effect.
We will respond within 30 days of the request (extendable by a further 60 days for particularly complex requests, under Art. 12.3 GDPR; the user will be informed if so).
10. Data security
We adopt appropriate technical and organizational measures to protect personal data:
- Encryption in transit: all communications use HTTPS/TLS 1.3.
- Encryption at rest: Supabase databases use the provider’s standard at-rest encryption.
- End-to-end encryption for user-uploaded documents (see §3.4).
- Strong authentication: passwords with minimum complexity requirements; biometric support (Touch ID, Face ID) where available on the device.
- Row Level Security (RLS) on all database tables: each user accesses only their own data.
- Access logging: login tracking for suspicious access detection (see §3.2).
- Regular updates of software dependencies to close known vulnerabilities.
No system is 100% invulnerable. In the event of a personal data breach with risk to users, we will notify the Italian Data Protection Authority within 72 hours of discovery (Art. 33 GDPR) and — if the risk is high — we will inform the affected users directly (Art. 34 GDPR).
11. Minors
The Cashfulness service is intended for persons aged at least 18 years (legal capacity threshold under Italian law, Art. 2 of the Italian Civil Code), or the age of majority under the law of the user’s country of residence if higher than 18.
Under the GDPR and Art. 2-quinquies of the Italian Privacy Code, the minimum age for autonomous consent of a minor to personal data processing is lower (14 years in Italy, 16 years as EU default). For Cashfulness, the contractual age limit of 18 years is the one actually enforced, because the relationship with the user is contractual in nature (see Terms and Conditions §4.1) and requires full legal capacity.
We do not intentionally collect data of minors under 18. If we become aware of an account created by a minor without the required legal capacity, we will delete it without delay.
12. Changes to this Privacy Policy
We reserve the right to modify this Privacy Policy over time, for regulatory updates or service changes. Modifications are published on this page with the date updated at the top.
For substantial changes affecting processing purposes or legal bases, we will inform active users by email at least 30 days before the changes take effect, giving them the opportunity to review the new conditions and, if they wish, to delete the account before they become effective.
What changed in version 1.8. Subscriptions purchased on the website are now sold by Link (Sold through Link, LLC, a Stripe group company), which becomes the seller instead of Vittorio Giusti srl and issues receipts and invoices: see §3.7, the table of providers and the retention periods. The payment data we see are the same as before, and name and billing address do not enter the app’s database.
What changed in version 1.7. Version 1.6 described the Ultra plan’s automatic backups as encrypted: they are compressed CSV files, protected by the provider’s encryption at rest and not end-to-end encrypted, and we keep the last 7 per workspace, never more than 30 days (§8). It also said that the key for uploaded documents is derived from the personal password: it is instead generated on the device and protected by the document code, separate from the account password, and the title, notes, date, type and size of files, warranty and policy details and the link to transactions stay readable so they can be searched and organised (§3.4). Finally, we added to §8 the retention of CSV exports requested by the user. No purpose or legal basis of the processing has changed.
What changed in version 1.6. We corrected an error: version 1.5 listed Firebase among the services not used, while the app uses Firebase Cloud Messaging for push notifications on iPhone and Android, as described in §3.8. We also declared Anthropic, the tool our team has used since 18 August 2026 to classify support requests, Tailscale, the encrypted connection to the in-app assistant server, and how the assistant itself works (§5.1). No purpose or legal basis of the processing already described has changed.
13. Contacts
For any question regarding personal data processing:
- Privacy email: privacy@cashfulness.com
- General support email: info@cashfulness.com
- Certified email (PEC): vittoriogiusti.com@pec.it
- Postal mail: Vittorio Giusti srl, Via del Campisano 520, 55054 Massarosa (LU), Italy
14. Applicable law and jurisdiction
This Privacy Policy is governed by Italian law and Regulation (EU) 2016/679.
Court of jurisdiction: Lucca, Italy, except for mandatory consumer protection provisions (Art. 66-bis of the Italian Consumer Code), under which the consumer may turn to the court of their place of residence or domicile.