# Cookie Policy

# Cookie Policy

_Ultimo aggiornamento: 27/10/2026_

## 1. Introduzione

La presente Cookie Policy descrive i tipi di cookie e tecnologie simili utilizzati da **Placeful**, gestita da **Andrea Faccioli** (di seguito "Titolare"), nonché le modalità di gestione del consenso dell'utente.

Per "cookie" si intendono sia i cookie HTTP tradizionali sia altre tecnologie di tracciamento equivalenti (localStorage, sessionStorage, fingerprinting) ove applicabili.

## 2. Titolare del trattamento

Il Titolare del trattamento dei dati è **Andrea Faccioli**, con sede in **Via Madonnina 2505A, 40024, Castel S. Pietro Terme (BO), Italia**, Codice Fiscale **FCCNDR89E12A944E**, e-mail **info@placeful-app.com**.

## 3. Categorie di cookie utilizzate

L'applicazione classifica cookie e storage del browser in quattro categorie:

### Cookie essenziali (tecnici)

Necessari al corretto funzionamento dell'applicazione: autenticazione, sessione, sicurezza CSRF. Non richiedono consenso ai sensi dell'art. 122 del Codice Privacy (D.Lgs. 196/2003) e del GDPR.

### Storage funzionale

Memorizzazione di preferenze e personalizzazioni (tema, layout, stato dell'interfaccia). Questi elementi non contengono identificatori, non sono mai letti da terze parti e sono trattati come strettamente necessari alla funzionalità richiesta. Laddove un elemento sia effettivamente opzionale, la voce "funzionali" del banner lo governa.

### Cookie analitici

Raccolgono informazioni aggregate sull'utilizzo dell'applicazione per migliorarne le prestazioni e l'usabilità. Vengono attivati solo previo consenso. **Nessuno attualmente installato.**

### Cookie marketing

Utilizzati per tracciare l'utente su più siti al fine di mostrare annunci pertinenti. Vengono attivati solo previo consenso. **Nessuno attualmente installato.**

### 3.1 Cookie di prima parte effettivamente impostati

| Cookie | Categoria | Finalità | Durata |
|---|---|---|---|
| `placeful-session` | essenziale | sessione autenticata (il nome deriva dal nome dell'app) | 30 minuti, persistente |
| `XSRF-TOKEN` | essenziale | protezione CSRF per form e richieste AJAX | legato alla sessione |
| `app_cookie_consent` | essenziale | memorizza le scelte espresse nel banner cookie | 180 giorni |
| `remember_web_*` | essenziale | login persistente "ricordami" (solo se l'utente lo richiede) | 5 anni |
| `remember_device` | essenziale | dispositivo fidato che consente di saltare la verifica in due passaggi | 30 giorni |
| `widget_auth_cc_{id}` | essenziale | passaggio monouso che completa il login social nel widget di prenotazione | 10 minuti, limitato a `/auth` |

Tutti i cookie di prima parte sono `HttpOnly`, eccetto `XSRF-TOKEN` (JavaScript deve leggerlo per gli header CSRF). Negli incorporamenti cross-site del widget, i cookie che lo supportano sono inviati con attributo `Partitioned` (CHIPS) per restare confinati a quel contesto.

### 3.2 Storage del browser utilizzato

L'applicazione scrive inoltre le seguenti chiavi in `localStorage` / `sessionStorage`. Nessuna è accessibile a terze parti né usata per tracciamento.

| Chiave | Store | Finalità |
|---|---|---|
| `theme` | localStorage | preferenza aspetto chiaro/scuro |
| `booking-widget:view-mode` | localStorage | vista calendario/lista nel widget di prenotazione (anche negli embed) |
| `planner.layers` | localStorage | selezione dei livelli nel planner tavoli dello staff |
| `nav.rail`, `nav.closed`, `nav.scroll.{context}` | localStorage / sessionStorage | stato della barra di navigazione e ripristino dello scroll |
| `dashboardChartMetrics`, `dashboardChartTypes`, `dashboardTableColumns` | localStorage | personalizzazione della dashboard staff |
| `app.install.dismissed` | localStorage | chiusura del banner "installa app" |
| `pwa.fromApp`, `pwa.lastShell` | sessionStorage | rilevamento della shell PWA installata |
| `pwa.mediaPerm.v2.dismissed.{kind}`, `pwa.mediaPerm.v2.prompts.{kind}` | localStorage | conteggio dei prompt per permessi fotocamera/microfono |
| `placeful-push-synced-{user}` | sessionStorage | marcatore di sincronizzazione dell'iscrizione push |
| `passkey_signin_hint` | localStorage | ricorda che è stato usato un accesso con passkey |
| `radio-sound`, `radio-room:{company}`, `radio-ptt-tap:{company}` | localStorage | muto radio staff, ultima stanza, modalità push-to-talk |

## 4. Base giuridica

- Cookie essenziali: esecuzione di un contratto o adempimento di obblighi legali (art. 6, c. 1, lett. b e c del GDPR) e art. 122 del Codice Privacy.
- Cookie funzionali, analitici e marketing: consenso libero, specifico, informato e revocabile (art. 6, c. 1, lett. a del GDPR e art. 122 del Codice Privacy).

## 5. Modalità di consenso

Al primo accesso viene mostrato un banner che permette all'utente di:

- accettare tutti i cookie
- rifiutare tutti i cookie opzionali
- personalizzare le preferenze per singola categoria

Le preferenze vengono memorizzate nel cookie `app_cookie_consent` per un periodo di 180 giorni. L'utente può modificare le proprie preferenze in qualsiasi momento tramite il link "Preferenze cookie" presente nel footer.

Il consenso può essere revocato in qualsiasi momento senza pregiudizio della liceità del trattamento basato sul consenso prestato prima della revoca.

## 6. Cookie di terze parti e contatti del browser

L'applicazione può integrare servizi di terze parti (es. login social tramite Google o Facebook, provider di pagamento, provider di e-mail transazionali) che possono impostare propri cookie. Tali servizi operano come titolari autonomi per i trattamenti effettuati attraverso le rispettive piattaforme.

Il browser dell'utente contatta inoltre direttamente i seguenti servizi di terze parti durante l'uso dell'applicazione:

| Servizio | Quando viene contattato | Cosa invia il browser |
|---|---|---|
| `js.stripe.com` | pagine di pagamento e fatturazione | script/iframe Stripe per l'input della carta (possibili cookie propri di Stripe) |
| `stun.l.google.com` | radio staff (WebRTC push-to-talk) | indirizzo IP per l'attraversamento NAT |
| `ui-avatars.com` | documenti/ricevute quando il locale non ha un logo | iniziali del locale o del tavolo (richiesta immagine) |
| `cdn.enablebanking.com`, `cdn.nordigen.com` | viste di riconciliazione bancaria | richieste di immagini dei loghi bancari |
| `*.googleusercontent.com` | profili con accesso Google | richiesta dell'immagine avatar Google |

Si invitano gli utenti a consultare le informative dei singoli provider:

- [Google Privacy Policy](https://policies.google.com/privacy)
- [Facebook Privacy Policy](https://www.facebook.com/privacy/policy)
- [Stripe Privacy Policy](https://stripe.com/privacy)

### 6.1 Widget incorporato

Il widget di prenotazione può essere incorporato in siti di terze parti tramite iframe. All'interno dell'incorporamento la piattaforma imposta solo cookie tecnicamente necessari (sessione, registrazione del consenso) in forma partizionata (CHIPS) — funzionano nel contesto dell'incorporamento e non possono tracciare il visitatore tra siti diversi. I siti che incorporano il widget dovrebbero menzionarlo nella propria informativa sui cookie.

## 7. Gestione dei cookie tramite browser

L'utente può gestire o disabilitare i cookie direttamente tramite le impostazioni del browser. Si segnala che la disabilitazione dei cookie essenziali può compromettere il funzionamento dell'applicazione.

Informazioni su come gestire i cookie nei principali browser:

- [Google Chrome](https://support.google.com/chrome/answer/95647)
- [Mozilla Firefox](https://support.mozilla.org/kb/cookies-information-websites-store-on-your-computer)
- [Apple Safari](https://support.apple.com/guide/safari/manage-cookies-and-website-data-sfri11471/mac)
- [Microsoft Edge](https://support.microsoft.com/microsoft-edge/delete-cookies-in-microsoft-edge-63947706-40ac-c3b8-57b9-76a258fd7aca)

## 8. Periodo di conservazione

- il cookie di sessione (`placeful-session`) dura 30 minuti di attività secondo la durata di sessione configurata — non viene eliminato alla chiusura del browser
- le chiavi `localStorage` persistono finché l'utente non cancella i dati del sito; le chiavi `sessionStorage` scadono con la scheda
- il cookie di consenso (`app_cookie_consent`) ha durata di 180 giorni
- il cookie del dispositivo fidato (`remember_device`) dura 30 giorni; i cookie "ricordami" durano fino a 5 anni
- gli eventuali cookie opzionali, se introdotti, seguono le durate specifiche di ciascun provider e si attivano solo previo consenso

## 9. Diritti dell'utente

Ai sensi del GDPR e del Codice Privacy, l'utente ha diritto di:

- accedere ai propri dati personali
- richiedere la rettifica o la cancellazione
- opporsi al trattamento o richiederne la limitazione
- revocare il consenso prestato
- proporre reclamo al Garante per la protezione dei dati personali

Per esercitare i diritti, scrivere a: **info@placeful-app.com**.

## 10. Modifiche

Il Titolare si riserva di aggiornare la presente Cookie Policy. Le modifiche saranno pubblicate su questa pagina con data di aggiornamento revisionata.


---
> Source: https://placeful-app.com/cookie-policy
