Cookie Policy
Last updated: 2 May 2026
This page lists everything Pairly Life stores in your browser, why each item exists, and how you can control or remove it. We deliberately keep this list short. We do not use tracking cookies, advertising cookies, or third-party analytics SDKs.
1. Strictly necessary — to keep you signed in
When you sign in, we store a JSON Web Token (JWT) in your browser's localStorage. This token is sent on every API request so the server knows it's you. Without it, you would be signed out on every page load. It expires after the period configured by the operator (default: 60 minutes of inactivity for non-remembered sessions).
| Storage key | Where | Purpose | Lifetime |
|---|---|---|---|
token | localStorage | Authentication (JWT) | Until you sign out or the token expires |
auth-storage | localStorage | Hydrates the signed-in user state on page load | Until you sign out |
These items are essential for the Service to work and do not require your consent under ePrivacy / cookie-consent law. If you clear them, you will be signed out.
2. Functional — to remember your preferences
These persist your interface preferences so the app feels less amnesiac between visits. None of these are sent to any third party.
| Storage key | Where | Purpose | Lifetime |
|---|---|---|---|
theme | localStorage | Remembers your light / dark / system preference | Until you change or clear it |
board-filters-{id} | localStorage | Remembers per-board filters and sort order | Until you clear filters or browser data |
dashboard_upgrade_banner_dismissed_at | localStorage | Hides the AI upgrade banner for 7 days after you dismiss it | 7 days, then resets |
| Various transient keys | sessionStorage | In-tab state used by individual screens (advisory persistence, draft form data, etc.) | Cleared when you close the tab |
3. Push notification subscriptions
If you opt in to web push notifications, your browser registers a push subscription with its native push service (e.g. Apple Push Service, Firebase, or Mozilla Push) and shares the resulting endpoint with us so we can deliver notifications. The endpoint and cryptographic keys are not cookies, but they are stored by your browser. You can revoke push permission at any time in your browser's site settings.
4. Stripe checkout (only when you upgrade)
When you click “Start Free Trial” or “Buy Lifetime” we redirect you to a Stripe-hosted checkout page. While you are on Stripe's domain, Stripe sets its own cookies (fraud prevention, anti-CSRF, session) governed by Stripe's cookie policy. We do not control these cookies.
5. Third-party content embedded in cards
Cards may embed third-party content (e.g. a YouTube trailer thumbnail, a Spotify track preview, an OpenStreetMap tile). When that content loads, the third-party domain may set cookies according to its own policy. We render only the minimum needed to show the content and never use these embeds for tracking.
6. What we do NOT use
- No advertising cookies.
- No third-party analytics SDKs (Google Analytics, Meta Pixel, etc.).
- No cross-site tracking.
- No fingerprinting.
- No data sold to data brokers.
7. How to control storage
You can clear all of Pairly Life's stored data at any time from your browser's settings (typically: Settings → Privacy → Clear browsing data → Cookies and other site data, scoped to pairlylife.com). Clearing the auth token will sign you out; clearing functional keys will reset your preferences but won't affect server-side data.
You can also revoke notification permission, location permission, and any other site-permission grants from your browser's site-settings panel for pairlylife.com.
8. Changes to this policy
If we add, remove, or change what we store in your browser we will update this page and, where the change is material, surface a notice in-app. The “Last updated” date at the top of this page always reflects the current revision.
9. Contact
Questions about cookies or browser storage: support@pairlylife.com. See also our Privacy Policy and Terms of Service.