Cookie and Local Storage Notice
Effective: 3 October 2026Version: 1.5
On this page
This notice covers everything we store on your device or read back from it. The governing rule is Article 5(3) of the ePrivacy Directive as transposed into Hungarian law, which applies not only to cookies but to any information stored on terminal equipment - including browser local storage. That is why the list below contains several items most cookie notices leave out.
The In short summaries are informational and are there to help you follow the section. The full text always prevails legally.
This document is available in Hungarian and English. In case of any discrepancy, the Hungarian version prevails, except where the English version is more favourable to a Consumer.
1. Strictly necessary items
Without the items below, sign-in, security or an operation already in progress would break. The consent requirement does not extend to them; the duty to inform does.
| Item | Where stored | Purpose | Lifetime |
|---|---|---|---|
| Sign-in session (sb-…-auth-token, split into .0, .1 parts where needed) | Cookie | Keeps you signed in and refreshes the session securely (Supabase Auth). The cookie is sent only to the Service's own server. | Until the authentication token expires or you sign out |
| Wedding check cache (w_ok) | Cookie | Avoids a database query on every page load. | 15 minutes |
| Active client (active_wedding) | Cookie | Planner accounts only: which client the planner is currently viewing. | Until the session ends |
| Cookie decision record | Local storage | Your choice and the moment you made it. Never sent to the server. This is what lets us honour and evidence the decision. | 12 months, then we ask again |
| Dismissed information bars (wcp_getting_started_dismissed, wcp:lapsed-banner-dismissed) | Local storage | Whether you closed the getting-started bar or the expired-plan notice, so that it does not reappear. Never sent to the server. | Until you clear it |
| Guest photo upload limit (wcp_uploader_key:<collection>) | Local storage | On the guest photo upload page only: a random identifier, separate for each collection, so that one device cannot upload an unlimited number of photos. The server stores only a hashed form of it and does not use it for tracking. | Until you clear it |
| Selected plan (wcp_pending_plan) | Local storage | If you start a subscription but need to register first, we keep the plan name, and whether you asked on the pricing page for the service to start immediately, and resume checkout after sign-in. | Until checkout starts |
| Budget calculator result (wcp_pending_budget) | Local storage | The values from the public calculator (guest count, total, currency) so we can carry them into your wedding profile if you register. The data leaves the browser only if you register: it is then stored with your account data and removed from there once your wedding profile is created. | 7 days |
| Saved checklist tool state (wcp_pending_checklist) | Local storage | Created only when you press Save my checklist: the IDs of the ticked tasks, the active filters and the date you entered, so that your checklist starts from it if you register and your ticks are not lost when you go back. On registration it is also stored with your account data, and removed from there once your wedding profile is created. | 7 days, or until your wedding profile is created |
| Sign-up confirmation in progress (wcp_pending_signup) | Session storage | The email address you registered with and the time, so that a reload (for example after switching to your email app) does not remove the code entry screen before you type the confirmation code. It does not leave the browser. | Until confirmation, at most 1 hour; deleted when the browser tab is closed |
- ItemSign-in session (sb-…-auth-token, split into .0, .1 parts where needed)Where storedCookiePurposeKeeps you signed in and refreshes the session securely (Supabase Auth). The cookie is sent only to the Service's own server.LifetimeUntil the authentication token expires or you sign out
- ItemWedding check cache (w_ok)Where storedCookiePurposeAvoids a database query on every page load.Lifetime15 minutes
- ItemActive client (active_wedding)Where storedCookiePurposePlanner accounts only: which client the planner is currently viewing.LifetimeUntil the session ends
- ItemCookie decision recordWhere storedLocal storagePurposeYour choice and the moment you made it. Never sent to the server. This is what lets us honour and evidence the decision.Lifetime12 months, then we ask again
- ItemDismissed information bars (wcp_getting_started_dismissed, wcp:lapsed-banner-dismissed)Where storedLocal storagePurposeWhether you closed the getting-started bar or the expired-plan notice, so that it does not reappear. Never sent to the server.LifetimeUntil you clear it
- ItemGuest photo upload limit (wcp_uploader_key:<collection>)Where storedLocal storagePurposeOn the guest photo upload page only: a random identifier, separate for each collection, so that one device cannot upload an unlimited number of photos. The server stores only a hashed form of it and does not use it for tracking.LifetimeUntil you clear it
- ItemSelected plan (wcp_pending_plan)Where storedLocal storagePurposeIf you start a subscription but need to register first, we keep the plan name, and whether you asked on the pricing page for the service to start immediately, and resume checkout after sign-in.LifetimeUntil checkout starts
- ItemBudget calculator result (wcp_pending_budget)Where storedLocal storagePurposeThe values from the public calculator (guest count, total, currency) so we can carry them into your wedding profile if you register. The data leaves the browser only if you register: it is then stored with your account data and removed from there once your wedding profile is created.Lifetime7 days
- ItemSaved checklist tool state (wcp_pending_checklist)Where storedLocal storagePurposeCreated only when you press Save my checklist: the IDs of the ticked tasks, the active filters and the date you entered, so that your checklist starts from it if you register and your ticks are not lost when you go back. On registration it is also stored with your account data, and removed from there once your wedding profile is created.Lifetime7 days, or until your wedding profile is created
- ItemSign-up confirmation in progress (wcp_pending_signup)Where storedSession storagePurposeThe email address you registered with and the time, so that a reload (for example after switching to your email app) does not remove the code entry screen before you type the confirmation code. It does not leave the browser.LifetimeUntil confirmation, at most 1 hour; deleted when the browser tab is closed
2. Statistics
PostHog measures which features people use and where they get stuck. This informs product development, not advertising.
Until consent is given, the library loads in a mode that writes nothing to your device and reads nothing from it. In that state two things can happen: errors that break the Service are reported, and a few named product events are measured (as described in Section 2.10 of the Privacy Policy, with fingerprint-like attributes filtered and no IP storage) - both without any persistent identifier, on the basis of legitimate interest. Choosing Only the necessary stops the product event measurement immediately, as an objection. After consent the full measurement runs, and PostHog stores an identifier that lets a returning visit be recognised: a ph_<project key>_posthog cookie and a local storage item of the same name, for up to 12 months. Withdrawing consent deletes them.
Vercel Web Analytics counts page visits in aggregate without writing to or reading from your device (Privacy Policy Section 2.11). It runs before your decision on the basis of legitimate interest, and choosing Only the necessary stops it from the next page view.
PostHog runs in identified mode only: it does not track anonymous visitors, and records only in-app events of signed-in users. Details are on the subprocessor list.
3. Marketing measurement (consent required)
| Tool | What it measures | Without consent |
|---|---|---|
| Google Analytics 4 | Where visitors come from (organic search, ads, referring sites) and which pages they open. | Does not load. The Service uses Google Consent Mode v2. |
| Meta advertising pixel | Effectiveness of Facebook and Instagram ads (for example whether a visitor from an ad created an account) and retargeting. | Does not load, and no request reaches Meta. |
- ToolGoogle Analytics 4What it measuresWhere visitors come from (organic search, ads, referring sites) and which pages they open.Without consentDoes not load. The Service uses Google Consent Mode v2.
- ToolMeta advertising pixelWhat it measuresEffectiveness of Facebook and Instagram ads (for example whether a visitor from an ad created an account) and retargeting.Without consentDoes not load, and no request reaches Meta.
Pages whose URL carries an invitation or upload token (guest page, RSVP, guest photo upload, shared link) are excluded from measurement, and page titles are transmitted with the token stripped. This matters because the token is itself personal-data-like: it identifies the guest it belongs to.
With consent, Google Analytics 4 sets the _ga and _ga_<measurement ID> cookies (up to 2 years), and the Meta pixel the _fbp cookie (90 days) and, when you arrive from an ad, _fbc (90 days). Withdrawing consent deletes them from the Service's domain.
4. Your choice and withdrawal
On the consent bar both buttons appear side by side with equal weight: there is no highlighted Accept and hidden reject. Until you decide, nothing is written to or read from your device beyond the strictly necessary items in Section 1; only the two storage-free measurements described in Section 2 run, and choosing Only the necessary stops them.
Consent can be withdrawn at any time through the Cookie settings link in the footer, and while signed in through the privacy card on the Settings page. Article 7(3) GDPR requires withdrawal to be as easy as giving consent, which is why it is reachable from inside the app and not only from the public footer.
Withdrawal takes effect immediately: the page reloads so that already-loaded measurement scripts stop, and cookies set on the apex domain are removed.
5. Browser settings and automated signals
Every mainstream browser lets you restrict or delete cookies. If you also block the strictly necessary items, sign-in and saving will not work - that is a consequence of the setting, not a fault.
The Service currently does not act on automated browser signals (Do Not Track, Global Privacy Control), because consent is collected per category through an explicit decision, and before that decision nothing beyond the strictly necessary items is stored on your device. If this changes, this section will be updated.
If we introduce a new measurement tool in the future, consent is requested again immediately and this notice is updated before the tool goes live.