Skip to content
WeBudget

DRAFT — not ready to publish

This document describes how the app really works, but the controller's details and a professional review are still missing. Parts in square brackets must be completed or checked.

Missing details: controller, legal form, address, privacy email, domain, governing law, competent court, retention after deletion, effective date.

Cookie Policy

Text last revised: 2026-10-18

This page lists the cookies and other tools WeBudget stores on or reads from your device, taken from the app's code. Where a detail depends on an external provider we mark it as "to check".

What they are

Cookies are small files a website stores in your browser. Similar tools include the browser's local storage (localStorage, sessionStorage, IndexedDB), the service worker cache and third-party scripts. The law treats them alike: necessary technical tools need no consent, the others do (Art. 122 of the Italian Privacy Code, Italian DPA cookie guidelines of 10 June 2021).

Categories

Necessary: needed to sign in, keep your account secure, remember your language, the preferences you choose and your cookie choice. Always on.

Advertising: Google AdSense banners for people using the app for free. They stay off until you turn them on; without consent Google's script is not even downloaded.

We use no statistics (analytics) or profiling tools of our own: that's why there are no other categories.

Advertising is not active today (Google AdSense is not configured): the site uses only necessary technical tools and no banner is shown.

Tools on your device
NamePurpose and when it startsProviderCategoryDuration
NEXT_LOCALEcookie · first-partyRemembers your language (Italian or English). Set on your first visit.WeBudget (next-intl)Necessaryuntil you close the browser
wb_consent_v1cookie · first-partyRemembers your cookie choice, with a random ID for that choice. Set when you choose in the banner.not active nowWeBudget (Consenti)Necessary180 days
authjs.session-token, __Secure-authjs.session-tokencookie · first-partyKeeps you securely signed in (encrypted session, not readable by scripts). Renewed while you use the app.WeBudget (Auth.js)Necessary30 days
authjs.csrf-token, __Host-authjs.csrf-token, authjs.callback-url, __Secure-authjs.callback-urlcookie · first-partyProtects sign-in forms against forged requests and remembers where to return after signing in.WeBudget (Auth.js)Necessaryuntil you close the browser
authjs.pkce.code_verifier, authjs.state, authjs.noncecookie · first-partyOnly while signing in with Google or Facebook: checks the provider's answer is the expected one.WeBudget (Auth.js)Necessary15 minutes
wb-devicecookie · first-partyRecognises a device you've used before, so we can email you when someone signs in from a new one. Set on first sign-in.WeBudgetNecessary400 days
wb-theme, wb-group-closed-*, wb-proposal-dismissed-*, wb-rebalance-dismissed-*, wb-donate-hidden-untillocal storage · first-partyPreferences you choose: light or dark theme, groups collapsed on Home, suggestions you've hidden, donation reminder hidden.WeBudgetNecessaryuntil you remove it (or clear the cache)
wb-lock, wb-unlocked, wb-hidden-atlocal storage · first-partyOnly if you turn on the Face ID or fingerprint lock: remembers which device key to use and whether the app is unlocked in this session.WeBudgetNecessaryuntil you remove it (or clear the cache)
wb-*service worker cache · first-partyThe "you're offline" page and the installable app icon. None of your data is stored here.WeBudgetNecessaryuntil you remove it (or clear the cache)
keyval-storeIndexedDB · first-partyOnly if you read a photo or scan: the text-recognition engine and languages, so they aren't downloaded again. None of your data.WeBudget (Tesseract.js)Necessaryuntil you remove it (or clear the cache)to check
PushSubscriptionscript / browser service · first-partyOnly if you turn on notifications: the subscription managed by your browser to receive them.WeBudgetNecessaryuntil you remove it (or clear the cache)
challenges.cloudflare.comscript / browser service · third-partyOnly if enabled: Cloudflare's anti-spam check on the sign-up, sign-in, password-reset and support forms.Cloudflare, Inc.Necessaryset by the provider, to checkto check
__gads, __gpi, __eoi; google.com, doubleclick.netcookie · third-partyOnly if enabled and only with your consent: shows and measures Google AdSense ads at the bottom of Home and Activity.not active nowGoogle Ireland Ltd. (Google AdSense)Advertisingset by the provider, to checkto check

How to choose, change or withdraw consent

On your first visit the banner offers "Accept all", "Reject all" and "Customise", with equal weight. You can change your mind at any time from "Cookie preferences" at the bottom of every page and in the app's Settings: withdrawing consent stops advertising and reloads the page without Google's script. Your choice lasts 6 months, then we ask again; we ask sooner only if purposes or providers change.

You can also delete cookies in your browser settings and turn on the Global Privacy Control signal, which we honour by switching advertising off.

The banner uses Consenti, free software (Apache 2.0 licence) that runs in your browser without sending data to third parties. Each choice is also recorded on our server, without the IP, so we can demonstrate it.

More information

To learn how we process personal data, read the Privacy policy. Controller: [TO COMPLETE: name or company name of the controller], [TO COMPLETE: email for privacy requests].