Privacy policy

Last updated: 11 October 2026

This policy applies to the site budget-mensuel.ch and its API. It follows the Swiss Federal Act on Data Protection (FADP), the General Data Protection Regulation (GDPR, EU 2016/679) and the French Data Protection Act.

Controller

Josué Voeffray, [Postal address to be completed], Switzerland. Contact: aide@budget-mensuel.ch or the contact form.

Without an account, your budget is not collected

If you are not signed in, the amounts, accounts, banks and categories you enter stay in your browser's local storage. They are sent to no one. You delete them with "Delete everything" in the settings or by clearing the site's data in your browser.

Files you import (bank statements, backups) and files you export are read and created in your browser. They are sent to no server, with or without an account. Only the lines you choose to add go into your budget.

With an account

The account is optional. If you create one, your budget is saved in a Cloudflare D1 database located in the European Union, so you can find it on your devices. Your password is never sent: your browser computes a fingerprint of it (PBKDF2, 600,000 iterations), the server transforms it again with a random salt, and only that result is stored. The publisher has no access to your password.

Data processed

DataPurposeLegal basisRetention
IP address, page requested, date, browser (host logs)Serve the site and protect it from abuseLegitimate interest (Art. 6(1)(f) GDPR)According to GitHub's policy
IP address, used to work out the country (not stored)Suggest your country on first useLegitimate interest; you can choose another countryNot kept
Currency codes of your accounts (for example EUR, USD)Get exchange ratesLegitimate interestNot kept
If you create an account: email address, password fingerprint, Google identifier if you use it, creation date, last sign-in dateProvide the account and syncingPerformance of a contract (Art. 6(1)(b) GDPR)Until the account is deleted, or 24 months without sign-in (warning email 30 days before)
Email address confirmation linkCheck that the address belongs to youPerformance of a contractLink valid for 7 days
Attempt counters (fingerprint of the IP address or email, never in clear)Limit password guessing and abusive sendingLegitimate interest (security)1 hour at most, erased every night
If you are signed in: the content of your budget (accounts, banks, amounts, categories, change log)Make it available on your devicesPerformance of a contractUntil you erase it or delete the account
Session cookie (sign-in)Keep you signed inPerformance of a contract30 days at most
Email address when you forget your passwordSend the reset linkPerformance of a contractLink valid for 60 minutes
Email address, subject and message of the contact formAnswer youLegitimate interest12 months at most after the last exchange
Page viewed, referring site, browser and device type, countryVisitor statisticsConsent (Art. 6(1)(a) GDPR, Art. 82 French Data Protection Act)According to Cloudflare; your choice is kept for 6 months

No data is sold, used for advertising or used for an automated decision about you. The publisher never looks at your budget, unless you ask for help with a problem.

Service providers

Transfers outside Switzerland and the European Union

GitHub, Cloudflare and Google are certified under the EU-US Data Privacy Framework and its Swiss-US extension, recognised as adequate by the European Commission (decision of 10 July 2023) and by the Swiss Federal Council (since 15 September 2024). The public list of certified companies is available at dataprivacyframework.gov. Transfers to Resend are covered by the European Commission's standard contractual clauses in its data processing agreement.

Representative in the European Union

The publisher is established in Switzerland and has not appointed a representative in the European Union. People living in the Union can exercise all their rights directly with the publisher, at the address given above.

Inactive accounts

An account with no sign-in for 24 months is deleted with the budget it holds. A warning email is sent 30 days before: simply sign in to keep the account.

Minimum age

Accounts are for people aged 16 or over. Under 16, the agreement of a parent or legal guardian is needed. Using the site without an account has no age limit, since no data is collected.

Your rights

You can ask for access to your data, its correction or deletion, restriction of processing, object to processing based on legitimate interest, ask for data portability and withdraw your consent at any time ("Manage cookies" link at the bottom of every page).

For any other request, write to aide@budget-mensuel.ch. You will get an answer within 30 days.

You can also contact a supervisory authority:

Security

The site and the API are served over HTTPS only. The sign-in cookie cannot be read by JavaScript (HttpOnly) and is sent over secure connections only. Sign-in attempts are limited. Deleting the account requires the password. The contact form only collects what is needed to answer.

Changes

This policy may change. The date of the last update is shown at the top of the page.