LEGAL
Cookies & Local Storage
This notice explains how GroovyShelves (“we”, “us”) use cookies, browser storage and similar device technologies on the GroovyShelves website, installed web app and supported mobile app experiences.
GroovyShelves does not currently use advertising pixels or third-party web analytics. We use browser storage for authentication, requested features, user preferences, app integration and limited technical caching.
1. Cookies
GroovyShelves’s own web application does not currently set first-party cookies through its application code. Authentication in the browser is handled by Supabase using browser local storage rather than a GroovyShelves authentication cookie.
If GroovyShelves later introduces optional analytics, advertising or another technology that requires consent before information is stored on or accessed from your device, we will ask for that consent before activating the technology.
2. Supabase authentication storage
When you sign in, the Supabase JavaScript client stores session information in your browser’s local storage so that you can remain signed in and access authenticated parts of GroovyShelves.
- Type: local storage.
- Purpose: authentication, session continuity and secure access to signed-in features.
- Information: authentication session data, including access and refresh-token information managed by Supabase.
- Duration: the session is updated and rotated as required by the authentication service and is removed when you sign out or clear GroovyShelves’s site data. Sessions can also become invalid or be revoked server-side.
3. GroovyShelves preference storage
GroovyShelves stores a small number of preferences locally so that requested settings remain consistent between visits.
groovy-install-dismissed: records when you dismiss the web-app install prompt. The value is treated as active for up to 30 days and may remain in local storage until it is replaced or you clear site data.groovy-marketplace-currency-v1: remembers the currency you selected for marketplace prices. Kept until you change it or clear site data.groovy-price-alert-currency-v1: remembers the display currency selected for Watchlist prices. Kept until you change it or clear site data.
4. Local technical caches
GroovyShelves uses limited local storage to avoid unnecessary repeated requests and to make requested record and marketplace information load more efficiently. These entries are not used for advertising, cross-site tracking or behavioural profiling.
groovy-fx-v1-*: stores a currency conversion rate and the time it was fetched. A stored rate is treated as fresh for up to 12 hours. An older entry may remain on the device until replaced or site data is cleared.groovy-track-durations:v2:*: caches track-duration information used in album details. It remains until replaced or you clear site data.groovy-style-v2-refresh-*: records when GroovyShelves last refreshed Discogs style information for a collection or wishlist entry. The timestamp is used to avoid repeating the same refresh for 30 days; an older entry may remain until replaced or site data is cleared.
5. Android app and push-notification storage
When GroovyShelves is used through the supported Android app experience, additional browser storage is used to connect the web application to the native app and its push-notification registration.
groovy-native-push-device-v1: local storage containing the Android push registration payload, including the device push token, app identifier and app version needed to keep native push notifications registered. It is removed when the registration is disabled or cleared by GroovyShelves, and can also be removed by clearing app/site data.groovy-native-app-context-v1: session storage containing temporary Android app context such as app version and push-registration state. Session storage is normally cleared when the relevant browser/app session ends.- Android private app preferences (
groovy_native_push): the Android wrapper stores whether native push is enabled and the most recent Firebase Cloud Messaging token in private app storage so notification registration can survive ordinary app restarts. The token is removed when native push is disabled. Clearing or uninstalling the app removes local app data; Android device-backup behaviour can additionally depend on the user’s device and backup settings.
Your browser or operating system also maintains service-worker and push-subscription state needed to deliver web or app notifications when you enable them. Push notification preferences and registration information stored on GroovyShelves’s servers are described in the Privacy Policy.
6. Temporary session and routing storage
GroovyShelves uses limited sessionStorage values for temporary state that should not persist as a long-term preference.
groovy-password-recovery: marks the current browser tab as being in a verified password-recovery flow so the temporary recovery session cannot fall through into the normal signed-in interface. It is removed when the password is changed, the recovery flow is cancelled or closed, or the tab session ends.redirect: may be used when a direct route needs to be restored after the static-site fallback page loads. The value is read and deleted immediately on the next application load.
7. Service worker and browser caching
GroovyShelves registers a service worker for installed-web-app and push-notification functionality. The current service worker does not maintain an offline content cache: old GroovyShelves PWA caches are removed during activation and page, script and stylesheet requests are fetched without using a stale application cache.
Your browser may still use its normal HTTP cache for images or other resources according to browser and server caching rules. You can clear this through your browser or device settings.
8. Third-party services and external links
Cloudflare Turnstile is loaded on production login and signup forms as an anti-abuse security check. It may access browser, device, network and challenge information necessary to determine whether a security challenge is required. It is not used by GroovyShelves for advertising or behavioural profiling.
GroovyShelves uses or links to third-party services including Supabase, TIDAL, Discogs, Cover Art Archive, Wikipedia/Wikimedia, Tradera and eBay. TIDAL catalog matching is requested server-side through GroovyShelves, while TIDAL-sourced artwork and some other remotely hosted resources can be loaded directly by your browser. A third party serving a requested resource may therefore receive ordinary connection information such as your IP address, browser headers and request information, as explained in the Privacy Policy.
If you follow a link away from GroovyShelves, the destination website may use its own cookies or similar technologies under its own policies. GroovyShelves does not control storage used by a third-party website after you leave GroovyShelves.
9. Consent and future optional technologies
GroovyShelves currently does not deploy optional advertising or web-analytics technologies. The storage described above is used for authentication, functionality you request, preferences you set, app integration or technical delivery of those features.
If GroovyShelves introduces a technology for which consent is required, it will not be activated before you are given an appropriate choice. Where consent applies, you will also be able to withdraw it as easily as you gave it.
10. Clearing browser storage
You can remove GroovyShelves’s local data through your browser’s site-data controls or, for an installed app, through the relevant browser or operating-system app-storage settings. Clearing storage can sign you out, reset preferences and remove locally cached information.
Signing out of GroovyShelves removes the active Supabase authentication session from browser storage. Some non-authentication preferences or cache entries can remain until you clear site data or they are replaced by later use.
11. Changes to this notice
This notice is versioned and will be updated if GroovyShelves changes the browser or device storage technologies it uses. If a future change introduces storage that requires consent, the required consent mechanism will be provided before that technology is activated.
12. Contact
GroovyShelves is operated by Jeff Sundin in Sweden. Questions about cookies, browser storage or privacy can be sent to groovyshelves@proton.me.
Privacy Policy · Terms of Service · Community Guidelines · Report illegal content · Legal & DSA Contact
Back to GroovyShelves