Skip to contentSkip to filters

We use cookies for analytics.

Consent & device storage

Cookie Policy

Effective:
13 October 2026
Version:
2.8 · Earlier versions

In short

World Wide works without any tracking by default. Essential cookies keep you signed in and keep the site secure, and two preference cookies remember the fields you choose. First-party analytics, the limited Google Analytics, PostHog event copies, public-page referral reports, and public-page PostHog session replay described below run only after you explicitly opt in, and you can change that choice on this page or under Settings → Privacy & data at any time. There are no advertising cookies.

Overview and legal framework

Storing information on your device, or reading information from it, requires your consent under § 165(3) of the Austrian Telecommunications Act (TKG 2021, implementing the EU ePrivacy Directive) — unless the storage is strictly necessary to provide a service you have explicitly requested. Any personal data involved is additionally governed by the GDPR and our Privacy Notice.

Accordingly, we separate storage into two classes: essential (sign-in, security, forgery protection, your consent choice itself, and preferences you set yourself, such as your fields, labelled “Preference” below — no consent required) and analytics (set only after you opt in). We use no marketing or advertising storage of any kind.

Cookies we set

All cookies below are first-party (set by world-wide.org for world-wide.org only). In production, most carry the __Host- security prefix, are marked Secure, and — except where noted — are inaccessible to JavaScript (HttpOnly).

First-party cookies
CookiePurposeLifetimeClass
__Host-world-wide.session-token.v2Keeps you signed in (session token)15 minutes; renewed during a valid sign-in sessionEssential
__Host-world-wide.refresh-tokenRenews your session without re-authentication (rotating token)Up to 90 days from sign-in; the session ends after 30 days without activityEssential
__Host-world-wide.session-resume-keyLets a page you open after a pause renew your sign-in in one step, and recover if that renewal is interrupted10 minutesEssential
__Host-world-wide.session-resume-guardStops the same renewal from running twice30 secondsEssential
__Host-authjs.* (csrf-token, state, pkce.code_verifier, nonce, callback-url)Protects the sign-in flow against forgery and replayUp to 15 minutes (state, PKCE verifier, nonce); browser session (CSRF token, callback URL)Essential
__Host-world-wide.csrfRequest-forgery protection for forms and API calls (readable by the page so it can echo the token)24 hoursEssential
__Host-world-wide.webauthn-* (three cookies)Carries the short-lived challenge during passkey registration or sign-in5 minutesEssential
ww_bot_guardDistinguishes browsers from automated scrapers while traffic from your connection is being slowed down (abuse protection)15 minutesEssential (security)
__Host-ww_onboarded_userStores a one-way, pseudonymous hash once account setup is complete, so the setup step is not shown again; it does not contain the account identifier7 daysEssential (functional)
ww_fields, ww_stageRemember the fields and optional career stage you picked, so the home page opens your first field, your field page follows your stage and Jobs and Funding offer it as a filter (set only when you pick one; readable by the page)1 yearPreference
ww_densityRemembers whether you chose cards or a compact list for listings, so pages open in that layout (set only when you choose; readable by the page)1 yearPreference
cookie-consentStores your analytics decision (a versioned “accepted” value or “rejected”)180 days if accepted, 30 days if rejectedEssential (consent record)
cookie-consent-rejection-pendingImmediately blocks analytics while a rejection is being saved on the server (readable by the page)Up to 30 days; removed after the server confirms the rejectionEssential (consent enforcement)
cookie-consent-rejection-session, cookie-consent-rejection-browserRetains existing random analytics identifiers only to finish withdrawing consent for that browser, including after a page reload (readable by the page)Up to 30 days; removed after the server confirms the rejectionEssential (consent enforcement)
session-id, analytics-session-activityRandom analytics session identifier and activity times (readable by the page)30 minutes of inactivity; at most 24 hoursAnalytics — set only after consent
analytics-browser-idRandom identifier recognising this consenting browser across visits; removed on withdrawal, sign-out or account switch (readable by the page)Up to 180 daysAnalytics — set only after consent
_ga, _ga_* (and legacy _gid, _gat)Google Analytics visitor distinction — set by Google’s script, which loads only after consentSet by Google (typically up to 2 years); actively deleted by us if you withdraw consentAnalytics — set only after consent

Browser storage we use

Beyond cookies, the application uses browser storage for small device-side conveniences and consented analytics state. The PostHog entries identified below are the only entries in this table that are read by a third-party analytics library.

Local storage, session storage, and IndexedDB entries
EntryPurposeLifetime
world-wide:cookie-consent-sync and world-wide:cookie-consent-decisionSynchronises the latest consent status, timestamp, and random decision identifier across open tabsUntil you clear site data
Notification marker (world-wide.notifications.lastVersion)Remembers which notifications you have already seenUntil you clear site data
Dismissed sign-up prompt (world-wide.signupNudge.dismissed)Keeps the sign-up prompt closed after you dismiss itSession storage — deleted when the tab closes
Saving before sign-in (world-wide.pending-save)Remembers an item you chose to save before signing in, so it is saved when you returnSession storage — honoured for 30 minutes, deleted when the tab closes
Podcast position (ww:podcast:position:*)Remembers where you stopped listening to an episodeUntil you clear site data
Navigation context (previous page, list and map positions, a visit counter, a reload guard after an update, and a five-minute cache of your job matches)Returns you to where you were and avoids repeated loading in the current tabSession storage — deleted when the tab closes
Sign-in coordination entries (world-wide.auth.refresh.*)Prevents multiple tabs from refreshing your session simultaneouslyUntil you clear site data
Draft autosave and upload recovery (world-wide:draft:v2:*, world-wide:submission-attempt:v1:*, settings and CV editor drafts, world-wide:presigned-upload-recovery:v1:*)Recovers half-finished posts, profile changes and documents, and interrupted file uploads in this tabSession storage — deleted on submit or when the tab closes
Support and error context (last support ticket, incident de-duplication)Shows the reference of a recent failure on the contact page and avoids duplicate reportsSession storage — deleted when the tab closes
ww-analytics-ignorePer-device exclusion flag: while present, this browser sends no analytics, whatever the consentUntil you remove it
world-wide:analytics-principalKeeps consented analytics events assigned to the correct anonymous or signed-in principal; removed if you decline analyticsUntil consent is withdrawn or you clear site data
ww.search.destination.pending.v1 and world-wide:discovery-openLink a consented search, or an item opened from your Library, to the page you then visit; written only after analytics consentSession storage — deleted when the destination page loads or the tab closes
world-wide:posthog-consentRemembers whether the consented PostHog replay library is opted in or out so withdrawal remains effectiveLocal storage — until you change the choice or clear site data
ph_<project-token>_* (PostHog)Keep the anonymous PostHog session and browser window continuous within the current tab; created only after analytics consentSession storage — deleted when the tab closes or when consent is withdrawn
IndexedDB database "ww-analytics"Offline queue for consent-gated analytics events. An empty database can be created without consent; events are queued only after consent and deleted once sentUntil you clear site data; queued events are transient

What analytics collect (with consent)

4.1 First-party analytics

Our own measurement stores its data in our EU-hosted database and is enforced on both sides: the browser sends nothing without consent, and the ingestion APIs reject unconsented requests. With consent, we record: pages viewed (with the names, never the values, of query parameters), the referring site, campaign (UTM) parameters, search terms entered, time on page and scroll depth, product interactions (saving, sharing), audio and video playback, which suggested items were shown and opened, form use and errors, clicks on outbound links (destination site and page only — never query parameters), performance timings, and sanitised failure categories. Error messages and stack traces are stored only as one-way hashes.

Identifiers are pseudonymous: a random browser identifier lasts up to 180 days after you opt in, while activity sessions expire after 30 minutes without activity and last at most 24 hours. We use keyed hashes of that random identifier and, when signed in, your account identifier to measure return visits. We do not construct analytics identities from your network address or device characteristics. Withdrawing consent, signing out or changing account removes the browser identifier. Raw IP addresses are not written to our analytics database. Location is recorded at country level from our content delivery network; no external IP-geolocation service is used.

Separately, the server counts ordinary page-document requests by accepted, rejected or unanswered consent, coarse browser/bot category, and conference versus other pages. These operational counts add no device storage, client beacon or visitor identifier and contain no IP address, page address or account identifier. They measure requests, not individual visitors or behaviour across visits.

4.2 Google Analytics 4

With the same consent, Google Analytics 4 (Google Ireland Ltd / Google LLC) runs alongside. Our configuration is restrictive: Google’s Consent Mode starts with every storage type denied except security storage; advertising storage and ad personalisation remain permanently denied even after you accept; IP anonymisation is on; Google signals and cross-site linking are off; public pages are reported by their address without its query string or fragment, while account, sign-in, Library, calendar, settings, submission and administration pages are reported only as generic route names such as /settings/[item]; page titles are replaced by the kind of page; and no account identifiers are transmitted. Consented GA4 receives page views (with the kind of page, the type of item, its scientific field and how the page was reached), Google’s own engagement timing, outbound-link clicks, and a few outcomes: signing up or signing in (with the method), saving an item, running a search (its filters and a coarse result count, never the words searched for), and clicking to subscribe to, download or copy a calendar feed. It never receives form content. Visits by World Wide’s own operator accounts are marked as internal traffic so that they can be excluded. If you withdraw consent, we instruct Google to stop and delete the Google Analytics cookies from your browser. Google may process this data in the United States under the safeguards described in the Privacy Notice, Section 8.

4.3 PostHog analytics and replay

After the first-party database records a page view or a selected product event, our server may send PostHog US Cloud a minimal pseudonymous copy. It uses separate hashed identities and session identifiers, stable semantic event names, the page address without its query string or fragment for public pages (other pages as generalised route templates), the kind of page, the type of item and its scientific field, how the page was reached, the referring site’s domain and campaign on the first page of a visit, coarse device and source context, and hashed entity references. Search text, form content, query strings, raw World Wide account, session, and content identifiers and email addresses are not sent. Events of a signed-in account, including earlier consented activity associated with the same browser identifier, are linked to one pseudonymous PostHog person record; anonymous events create none. Separately, after the same consent, a PostHog browser library records interaction replays only on approved public, non-sensitive pages, and marks each page of a recording with its address; referrers, search terms, query strings and fragments are not sent with these markers. It masks every form input, select, and textarea before transmission; blocks forms, dialogs, account menus, file and hidden inputs; strips query strings and fragments; and excludes account, sign-in, administration, Library, calendar, settings, employer, submission, upload, contact, and support routes. Network bodies and headers, console logs, canvas content, cross-origin frames, heat maps, and automatic product events are disabled. With the same consent, the library reports unexpected script errors on those pages: the error type, message, and code location. Visible public-page text, layout, pointer interaction, and navigation are recorded. Your browser necessarily exposes its IP address and basic request metadata to PostHog when delivering a recording, but World Wide does not place that IP address in the replay event payload. PostHog sets no cookie; it uses the consent and tab-session storage entries listed in Section 3. A provider outage cannot block the action you take on World Wide. Separately from analytics, our server sends PostHog sanitised reports of its own unexpected errors (error type and message, code location, runtime, and release). They contain no request contents or account details, store nothing on your device, and are sent whatever your analytics choice.

Third-party content your browser loads

The consent banner governs analytics. Independently of it, some pages fetch content directly from third parties, which necessarily reveals your IP address and browser characteristics to that provider:

  • Maps — basemap tiles and the map stylesheet load from CARTO (basemaps.cartocdn.com) and unpkg.com on pages that display a map, including the small maps on listing pages, which load as you scroll to them;
  • Embedded recordings — an external player is not contacted when the World Wide page renders. A labelled placeholder identifies the provider. Only after you choose to load it does your browser contact YouTube (in privacy-enhanced “nocookie” mode), Vimeo, Loom, Crowdcast, Dailymotion, or Spotify; that provider’s own privacy and cookie rules then apply;
  • Address suggestions — posting forms with a location field load Google Maps address suggestions from Google when the form opens;
  • Partner articles — on neuroscience pages, article images in The Transmitter panel load from thetransmitter.org;
  • Profile images — avatars referenced from external services (for example Gravatar or Google) load from those hosts.

None of these providers receives your World Wide account identity from us.

Managing your choice

Give or withdraw analytics consent here, or under Settings → Privacy & data when you are signed in. The control below has exactly the same effect as the banner:

You have not made a choice in this browser yet. Until you do, optional analytics stay off.

Your choice takes effect immediately, applies to this browser, and can be changed here at any time. Withdrawing consent stops future analytics collection; it does not affect the lawfulness of processing that took place while consent was active.

You can additionally clear cookies for world-wide.org in your browser settings at any time; the consent banner will then appear again on your next visit. Essential cookies re-establish themselves as you use the site, because signing in and posting are impossible without them. Note that we periodically version the consent value — after a material change to what analytics collect, earlier acceptances expire and you will be asked again.

How your decision is recorded

Article 7(1) GDPR requires us to be able to demonstrate consent. When you accept or reject analytics we therefore store one consent record — the decision, its timestamp, the policy version, and a decision token — on our servers, for both choices. Withdrawing an existing consent also records a hashed browser reference so delayed analytics can be suppressed. This record is the proof of your decision, not a measurement of your behaviour. The cookie holding your choice on your device is described in Section 2.

Do Not Track and browser signals

Because analytics are off unless you opt in, first-party analytics and Google Analytics do not additionally interpret Do Not Track or Global Privacy Control signals — the default state already is what those signals request. PostHog’s browser library sends nothing while your browser sends Do Not Track or Global Privacy Control, even after consent. Automated browsers (WebDriver) are excluded from browser measurement regardless of consent.

Questions about this policy: info@world-wide.org.

Email info@world-wide.org. The contact page lists what to include for each kind of request.

This policy documents the cookies and the material categories of browser storage used by the current platform release. It is reviewed with changes to the consent or analytics implementation; the formal text of the Privacy Notice governs the underlying data processing.