Cookie Policy
An itemised list, not a vague category. Everything non-essential stays off until you switch it on.
Last updated: 5 September 2026 · Policy revision 1
This policy lists every cookie and equivalent storage technology used on keupera.com and app.keupera.com, what each one does, who provides it and how long it lasts. It supplements our Privacy Policy.
Under § 25(1) of the German Telecommunications Digital Services Data Protection Act (TDDDG), and Art. 5(3) of the ePrivacy Directive, storing information on your device or reading information already stored there requires your consent, unless it is strictly necessary to provide a service you expressly requested. Anything below that is not marked strictly necessary is off until you switch it on.
Strictly necessary
Required to deliver the service you asked for. No consent is required and these cannot be switched off — if you block them, the site will not work correctly.
| Name | Provider & type | Purpose | Duration |
|---|---|---|---|
| cc_cookie | Keupera Cookie, .keupera.com | Stores your cookie choices, including the consent identifier, the time of your decision and the policy revision in force. Shared between keupera.com and app.keupera.com. | 1 year |
| sb-*-auth-token | Keupera / Supabase Cookie, app.keupera.com | Keeps you signed in. Without it the application cannot authenticate you. | Rolling session, approx. 1 week |
| keupera_guest_token | Keupera localStorage, keupera.com | An anonymous identifier that lets us apply fair rate limits to the free SEO tools and keep your results between steps. | Until browser storage is cleared |
| selectedOrganizationId, selectedWebsiteId | Keupera localStorage, app.keupera.com | Remembers the workspace and project you last worked on, so you land in the right place. | Until browser storage is cleared |
| keupera-onboarding-storage | Keupera localStorage, app.keupera.com | Holds your progress through the onboarding steps so you can resume where you stopped. | Until onboarding is complete |
| keupera_support_consented, keupera_support_sessions, keupera_support_history | Keupera localStorage, app.keupera.com | Records that you agreed to use the support assistant, and keeps your conversation available to you. | Until browser storage is cleared |
| calendar_guide_viewed, calendar_auto_warning_hidden | Keupera localStorage, app.keupera.com | Remembers interface hints you have dismissed so they are not shown again. | Until browser storage is cleared |
Analytics
Set only if you accept the analytics category. Legal basis: your consent, Art. 6(1)(a) GDPR read with § 25(1) TDDDG.
| Name | Provider & type | Purpose | Duration |
|---|---|---|---|
| ph_*_posthog | PostHog, Inc. (EU Cloud) Cookie + localStorage, .keupera.com | Assigns a pseudonymous identifier so we can see which features are used and which errors occur. | 1 year |
| ph_*_window_id | PostHog, Inc. (EU Cloud) Cookie, .keupera.com | Distinguishes browser windows within one analytics session. | Session |
| ph_*_session_id | PostHog, Inc. (EU Cloud) Cookie, .keupera.com | Identifies the current analytics session. | 30 minutes, rolling |
| TWIPLA visitor cookies | Visitor Analytics GmbH, Germany Cookie | Produces visitor statistics for keupera.com and app.keupera.com — visits, pages, sources, devices. | Up to 1 year |
Marketing and affiliate
Set only if you accept the marketing category. We run no advertising networks and no retargeting pixels; this category exists solely so that partners who refer customers to us are paid correctly.
| Name | Provider & type | Purpose | Duration |
|---|---|---|---|
| affonso_referral | ZASolution (Affonso), Germany Cookie, .keupera.com | Records which partner referred you, so that the correct commission is paid if you subscribe. | 30 days |
Statistics without cookies
keupera.com also uses Simple Analytics B.V. (Netherlands), which produces aggregate traffic statistics without setting cookies, without any cross-site identifier and without profiling. Because it neither writes to nor reads from your device beyond what the page request itself requires, it does not fall under § 25(1) TDDDG. We mention it here because you should know it exists.
Your record of consent
When you make a choice we store a consent identifier, the time of your decision, the policy revision in force and the categories you accepted or rejected. We keep that record to demonstrate compliance with Art. 7(1) GDPR, and it is held in our product-analytics system, PostHog. We keep it for the duration of the consent and three years afterwards.
Scope and revisions
Your choice applies across keupera.com and app.keupera.com and lasts for one year, or until you change it. If we change our use of cookies materially we increase the policy revision number shown at the top of this page, and you will be asked to review your choices again. A previous consent does not carry over to a new revision.
Withdrawing consent
Withdrawal is as easy as giving consent. Use the button above, or the “Manage preferences” link in the banner, at any time. Withdrawal takes effect immediately for the future and does not affect the lawfulness of processing carried out before it. When you withdraw consent for a category, the cookies in that category are cleared automatically.
You can also block or delete cookies in your browser settings. Doing so will also delete the record of your preferences, so you will be asked again on your next visit.
The analytics script we give to customers
Keupera customers can install our analytics script on their own websites. That script is not covered by this policy and contains no consent mechanism of its own. If you are a customer deploying it, you are the controller: you must obtain consent under § 25 TDDDG before the script loads. Our Data Processing Agreement sets this out at § 8.3.
Questions
Write to legal@keupera.com. Your rights, and the supervisory authority you may complain to, are set out in §§ 18 and 21 of our Privacy Policy.