Cookies and local data
Version 2026-10-22 · Effective from 22 October 2026
The Italian text is the binding one. This page translates it as a courtesy: the original is Cookie e dati locali.
This page lists the cookies and the data the CantiereGo site and app keep in your browser: what they hold and when they are deleted. Who processes them, and why, is explained in the Privacy notice.
1. The site
This site sets no cookie and writes nothing to the browser’s storage: no local storage, no database. It runs no script and loads nothing from third parties: fonts and images come from the site itself. The browser only keeps, in its ordinary cache, copies of the site’s pages and files, as it does for any site. That is why the site asks for no consent: there is nothing to accept.
2. The app: the session cookie
When you sign in to the app (app.cantierego.it), the server sets one cookie only, __Host-session; on development installations it is called session.
- It holds a random session identifier, of which the server keeps only a hash.
- It is
Secure, so it travels only over encrypted connections;HttpOnly, so the page’s scripts cannot read it; andSameSite=Lax, so it does not go with the requests another site makes to the app in the background. It applies to the whole app. - It lasts as long as a session can last at most: ninety days, twenty-four hours for a platform administrator. The server ends an idle session sooner, and logging out deletes the cookie.
It is a technical cookie, strictly necessary to provide the service you asked for, and so it needs no consent (Article 122 of the Italian data protection code, the Codice in materia di protezione dei dati personali, Legislative Decree no. 196 of 30 June 2003). The app sets no other cookie. A plan’s payment happens on Stripe’s pages (checkout.stripe.com and billing.stripe.com), which have their own cookies and their own notice; the app loads nothing from Stripe.
3. The app’s local data
The app can be installed on a phone or a tablet and works offline too; to do so it keeps some data in the device’s browser. None of this data is used to track you, and none of it holds coordinates: when a position is needed, the app turns it at once into a distance and an accuracy and discards it.
In the browser’s local storage
cg.locale: the language chosen on this device,itoren. It applies until you sign in; after signing in, your account’s language applies.cg.lastWorkspace: the short address of the last workspace you opened, to reopen it at your next sign-in.cg.authGeneration: the sign-in in progress on this browser, that is, the user’s identifier, a random identifier of the sign-in and a timestamp. It is deleted when you log out or when the session expires.cg.signedOut: the time of the last log-out. While it is there, this browser stays signed out even if the cookie were still valid; it is deleted at the next sign-in.cg.offlineCleanup: a clean-up still to finish after a log-out or an expiry, with the time and the reason; it is deleted when the clean-up is done.cg.logout: the notice to the other open tabs that you logged out or that the session expired, with the time and the reason.cg.offline.persisted: whether the browser agreed not to delete the queued punches when space runs short (grantedordenied).cg.gate.site:<scope>: at the gate, the identifier of the chosen site, and nothing else;<scope>names the sign-in or the kiosk link.cg.gate.revoked:<fingerprint>andcg.gate.blocked:<fingerprint>: on a tablet used as a kiosk, the mark that the link was revoked or that its site is archived.<fingerprint>is the link’s fingerprint, never the link itself.
In the browser’s databases (IndexedDB)
cg-offline-v1, tableoutbox: the punches made offline and waiting to be sent. For each: the site, entry or exit, the device’s time, an identifier, the fingerprint of the badge or of the site code (never the badge or the code) and, where the site’s perimeter is on, the distance, the accuracy and the perimeter’s version. A punch leaves the queue as soon as it has been sent; a punch the server refuses stays in the queue panel until you remove it.cg-offline-v1, tablerosters: for an offline gate, the list of a site’s workers for the day: name, employer, role on the site, the badge’s verdict with its codes and dates, the badges’ fingerprints. Never the tax code, the date of birth, the phone or free-text notes. A list is valid for twenty-four hours at most, and never beyond the site’s working day or the expiry of the kiosk link.workbox-expiration, tablecache-entries: for thecg-qr-wasm-v1cache, the address of the QR reader’s file and the time it was stored, used to keep at most two versions of it. No personal data.
In the service worker’s cache
cg-api-auth: the server’s answer about your account (name, email or phone, language, workspaces and roles), to open the app offline.cg-api-wallet: for a worker, the day’s sites, the badge and the wallet’s photo.cg-api-gate: for the gate and the kiosk, the link’s data, the list of sites and the photos of the day’s workers.cg-api-control-v1: the service worker’s register of which sign-ins and links are open and which have been closed. It stays after a log-out on purpose: it is what stops an answer that arrives after the log-out from being kept.cg-qr-wasm-v1: the QR code reader, a WebAssembly file downloaded only the first time it is needed. No personal data.- The app’s installation cache, which Workbox names
workbox-precache-v2-followed by the app’s address: the app’s files (scripts, styles, fonts, pages) to start it offline. No personal data.
Every entry of cg-api-auth, cg-api-wallet and cg-api-gate belongs to the sign-in or the link that downloaded it and is never served to another. It is valid for no more than twenty-four hours, nor beyond the day or the expiry of the link it refers to.
When you log out and when the session expires
When you press “Log out”, if punches are waiting to be sent the app tells you how many and asks you to confirm. It then deletes from the device the waiting punches and the site lists of your sign-in, your sign-in’s entries in the three caches cg-api-auth, cg-api-wallet and cg-api-gate, and cg.authGeneration; it writes cg.signedOut, and the service worker marks in cg-api-control-v1 that the sign-in is closed. The device’s preferences (cg.locale, cg.lastWorkspace, cg.gate.site:<scope>, cg.offline.persisted) stay, and so does the data of any kiosk on the same tablet.
If the session expires without you logging out, the app does the same except for one thing: the punches still waiting stay on the device, paused, and the notice tells you how many. When you sign in again with the same account they resume, and the server judges each of them again; if another account signs in on the device, they are deleted.
When a kiosk link is revoked or expires, the tablet deletes that link’s data, that is, its waiting punches, its lists and its photos, as soon as it learns so from the server.
4. No tracking
Neither the site nor the app uses analytics, advertising or profiling tools, nor device fingerprinting, and no third party reads the data listed here. The app sends Sentry only its error reports, without cookies, without the content of the requests and without the parameters of the addresses.
5. How to manage them
You can see and delete the cookies and data of app.cantierego.it in your browser’s settings. Deleting them logs you out of the app and also deletes the punches not yet sent: before doing it, let them go out or check the queue. If you block cookies for app.cantierego.it you cannot sign in to the app. The simplest way to remove your sign-in’s data from the device is “Log out”.