Skip to main content

Cookie Policy

Last updated: 27/10/2026

1. Introduction

This Cookie Policy describes the types of cookies and similar technologies used by Placeful, operated by Andrea Faccioli (the "Controller"), and how user consent is managed.

"Cookies" refers both to traditional HTTP cookies and to equivalent tracking technologies (localStorage, sessionStorage, fingerprinting) where applicable.

2. Data controller

The data controller is Andrea Faccioli, based in Via Madonnina 2505A, 40024 Castel S. Pietro Terme (BO), Italy, Fiscal Code FCCNDR89E12A944E, e-mail [email protected].

3. Cookie categories

The application classifies cookies and browser storage into four categories:

Essential (technical) cookies

Required for the application to function correctly: authentication, session, CSRF security. These do not require consent under Article 122 of the Italian Privacy Code (D.Lgs. 196/2003) and the GDPR.

Functional storage

Preference and personalisation storage (theme, layout, UI state). These items hold no identifiers, are never read by third parties, and are treated as strictly necessary for the requested functionality. Where an item is genuinely optional the banner's "functional" toggle governs it.

Analytics cookies

Collect aggregated information about how the application is used to improve performance and usability. Activated only with consent. None are currently installed.

Marketing cookies

Used to track users across websites to display relevant advertisements. Activated only with consent. None are currently installed.

3.1 First-party cookies actually set

Cookie Category Purpose Duration
placeful-session essential authenticated session (name derives from the app name) 30 minutes, persistent
XSRF-TOKEN essential CSRF protection for forms and AJAX requests tied to the session
app_cookie_consent essential stores the cookie-preference choices expressed in the banner 180 days
remember_web_* essential "remember me" persistent login (only when the user opts in) 5 years
remember_device essential trusted-device flag that lets a known browser skip two-factor verification 30 days
widget_auth_cc_{id} essential one-shot handoff completing social login inside the booking widget 10 minutes, limited to /auth

All first-party cookies are HttpOnly except XSRF-TOKEN (JavaScript must read it for CSRF headers). Inside cross-site widget embeds, cookies that support it are sent with Partitioned (CHIPS) so they stay confined to that embed.

3.2 Browser storage in use

The application also writes the following localStorage / sessionStorage keys. None of them are accessible to third parties or used for tracking.

Key Store Purpose
theme localStorage light/dark appearance preference
booking-widget:view-mode localStorage calendar vs list view in the booking widget (also inside embeds)
planner.layers localStorage layer selection on the staff seating planner
nav.rail, nav.closed, nav.scroll.{context} localStorage / sessionStorage navigation sidebar state and scroll restore
dashboardChartMetrics, dashboardChartTypes, dashboardTableColumns localStorage staff dashboard customisation
app.install.dismissed localStorage "install app" banner dismissal
pwa.fromApp, pwa.lastShell sessionStorage installed-PWA shell detection
pwa.mediaPerm.v2.dismissed.{kind}, pwa.mediaPerm.v2.prompts.{kind} localStorage camera/microphone permission-prompt bookkeeping
placeful-push-synced-{user} sessionStorage push-notification subscription sync marker
passkey_signin_hint localStorage remembers that a passkey sign-in was used
radio-sound, radio-room:{company}, radio-ptt-tap:{company} localStorage staff radio mute flag, last room, push-to-talk mode

4. Legal basis

  • Essential cookies: performance of a contract or compliance with legal obligations (Art. 6(1)(b) and (c) GDPR) and Art. 122 of the Italian Privacy Code.
  • Functional, analytics and marketing cookies: freely given, specific, informed and revocable consent (Art. 6(1)(a) GDPR and Art. 122 of the Italian Privacy Code).

5. How consent is given

On first access a banner is shown allowing the user to:

  • accept all cookies
  • reject all optional cookies
  • customise preferences per category

Preferences are stored in the app_cookie_consent cookie for 180 days. The user can change preferences at any time via the "Cookie preferences" link in the footer.

Consent may be withdrawn at any time without affecting the lawfulness of processing based on consent given before its withdrawal.

6. Third-party cookies and browser contacts

The application may integrate third-party services (e.g. social login via Google or Facebook, payment provider, transactional email provider) that may set their own cookies. These services act as autonomous controllers for the processing carried out through their respective platforms.

The user's browser also contacts the following third parties directly while using the application:

Service When contacted What the browser sends
js.stripe.com payment and billing pages Stripe script/iframe handling card input (Stripe's own cookies may apply)
stun.l.google.com staff radio (WebRTC push-to-talk) IP address for NAT traversal
ui-avatars.com documents/receipts when a venue has no logo venue or table initials (image request)
cdn.enablebanking.com, cdn.nordigen.com bank-reconciliation views bank logo image requests
*.googleusercontent.com profiles signed in via Google Google avatar image request

Users are invited to consult the individual providers' policies:

6.1 Embedded widget context

The booking widget can be embedded on third-party websites via an iframe. Inside that embed, the platform sets only technically necessary cookies (session, consent record) in browser-partitioned (CHIPS) form — they function within the embed and cannot track the visitor across sites. Websites embedding the widget should disclose it in their own cookie notice.

7. Managing cookies via browser

Users can manage or disable cookies directly through their browser settings. Disabling essential cookies may impair the application's functionality.

Information on managing cookies in major browsers:

8. Retention period

  • the session cookie (placeful-session) lasts 30 minutes of activity per the configured session lifetime — it is not deleted when the browser closes
  • localStorage keys persist until the user clears site data; sessionStorage keys expire with the tab
  • the consent cookie (app_cookie_consent) lasts 180 days
  • the trusted-device cookie (remember_device) lasts 30 days; "remember me" cookies last up to 5 years
  • optional cookies, when introduced, follow each provider's specific durations and activate only with consent

9. User rights

Under the GDPR and the Italian Privacy Code, the user has the right to:

  • access their personal data
  • request rectification or erasure
  • object to processing or request its restriction
  • withdraw consent given
  • lodge a complaint with the Data Protection Authority

To exercise these rights, write to: [email protected].

10. Changes

The Controller reserves the right to update this Cookie Policy. Changes will be published on this page with a revised update date.

Cookies and privacy

We use essential cookies to keep the application secure and working correctly. Optional cookies will only be used with your consent.

Read the privacy policy Read the cookie policy

Essential

Essential cookies are required for the website to function and cannot be switched off.

Always on

Functional

Functional cookies enable enhanced functionality and personalisation, such as remembering your language and preferences.

Analytics

Analytics cookies help us understand how visitors interact with the application so we can improve it.

Marketing

Marketing cookies are used to track visitors across websites to display relevant and engaging advertisements.