Trust center

What Cuebased collects, where it goes and how to remove it

A precise reference for the SDK, consent, retention, processing regions, subprocessors, security and deletion. Cuebased is in a private pilot; where something is planned rather than live, this page says so.

This page describes the product’s design. It is not legal advice; customers remain the controller for their website analytics.

What the SDK collects

Sanitized interaction metadata, sent only after the visitor grants analytics consent. The SDK never reads page text, and debug mode shows you the exact payloads that leave the browser.

Sent after consent

Signals the SDK sends after consent
SignalWhat leaves the browser
Page pathThe path only, with identifiers replaced: /orders/10482391 becomes /orders/:id. Query strings and fragments are dropped.
NavigationHow the page was reached: a load, reload, back or forward, or a route change in a single-page app.
ReferrerThe referring host only, such as news.example.com, or that the visitor came from another page of your site.
CampaignUTM source, medium and campaign when they look like slugs, such as spring_launch. Values that look like identifiers are dropped.
Device and page contextThe device class, one of desktop, tablet or mobile, plus the pointer type and the page’s declared language.
ClicksThe element’s role and approved data-cb-* keys, such as a button in pricing.plans. For links, only an internal path, an external host, or the fact that it was a mailto: or tel: link. Also the input method, and whether the page visibly responded.
Section exposureHow long annotated sections were in view, and their largest visible share. Exposure approximates visibility; it is not proof of reading.
Scroll depthScroll segments as percentages of the page, with direction and duration.
Hover dwellPauses over interactive elements, on pointing devices only, after a 300 ms threshold.
Form interactionFocus, blur and submit as booleans and counts: whether a field was filled or invalid, and how many fields a form has. Never values.
Expand and collapseThe open or closed state of disclosures such as FAQ items.
VisibilityWhether the tab is visible or hidden, and page lifecycle changes.
Web VitalsLCP, INP, CLS, FCP and TTFB measurements with their rating.
Goal attemptsRegistered goal keys such as demo_request, recorded as attempts until your server confirms them, and custom events you registered.
Technical envelopeRandom visit, tab and page identifiers created after consent, timestamps, SDK version, configuration revision, sampling rate and counts of dropped events.
Password fields, hidden inputs, payment fields marked with autocomplete="cc-…" and one-time-code fields are private automatically, as is anything inside an element marked data-cb-private. Events from private regions are discarded entirely. Inspect the payloads yourself.

Never sent

  • Page text

    No headings, copy, labels or button text. The SDK never reads page text.

  • Input values

    No values, keystrokes, selections or text lengths from any field.

  • Accessible names

    No aria-label values or other accessible names.

  • Arbitrary attributes

    No class names, element IDs or other attributes: only approved data-cb-* keys.

  • Query strings and fragments

    Dropped from every URL before anything is sent.

  • mailto: and tel: addresses

    Only the fact that such a link was clicked, never the address or number.

  • IP-based company lookup

    Cuebased does not identify companies or people from IP addresses.

  • Cross-site identifiers

    No cookies and no identifiers shared across websites or devices.

  • Fingerprinting

    No device or browser fingerprinting of any kind.

  • Screen recordings

    No video, screenshots or page snapshots in the core SDK.

Retention

Proposed defaults. Evidence and the stories built on it expire together: a story is never shown after the evidence behind it has expired.

Proposed retention defaults and deletion behavior by data class
Data classProposed defaultDeletion behavior
Browser memory bufferUntil acknowledged or the page endsCleared immediately on revocation; bounded size
Optional recovery storageDisabled; at most 24 hours if enabledConsent-gated and cleared on revocation
Free-plan events, states and stories7 daysExpire together, including evidence references
Paid-plan events, states and stories30 daysConfigurable shorter; 90-day option only where justified
Optional replay (not yet available)7 days, sampledIndependent controls, same erasure index
Known-lead links (not yet available)Off by default; at most the evidence retentionDeleted on revocation, unlinking or erasure
Operational logs14 daysNo raw visitor payloads or secrets
Administrative audit records12 months, minimizedOnly justified account and security records
Rolling encrypted backupsUp to 35 daysRestricted access; erasure tombstones re-applied on restore

Processing regions

Primary processing is planned in Frankfurt, Germany, in the EU.

Frankfurt, Germany (EU)

Planned region for event ingestion and storage, the control database and application processing.

The SDK script is public code and may be served from a global CDN. Its URL never contains visitor identifiers, and visitor events go directly to the EU ingestion endpoint.

Not every subprocessor processes data only in the EU. Authentication metadata, billing, support and any future model provider can involve other processing locations and access arrangements. For that reason, Cuebased does not claim end-to-end EU-only processing.

No AI model provider is enabled. A provider would only be used after contractual and technical review, including a data processing agreement, retention terms and a transfer assessment where required. The product works without one: deterministic analytics, factual timelines and template stories need no model.

Subprocessors

A data processing agreement will be provided before paid production use.

Planned for production, subject to DPA and review
Subprocessors planned for production, subject to DPA and review
SubprocessorPurposeProcessing location
SupabaseAuthentication and control databaseFrankfurt (EU)
RenderApplication computeFrankfurt (EU)
Amazon Web ServicesQueue, sanitized event archive and transactional emailFrankfurt (EU)
ClickHouse CloudEvent analyticsAWS Frankfurt (EU)
StripeBillingCan include processing outside the EU
AI providersNone enabled. Any future provider only after review, and listed here first.Not applicable

Security

  • Tenant isolation

    Every record belongs to one workspace. Access derives from membership, with PostgreSQL row-level security as defense in depth.

  • Server keys

    Shown once, stored only as a hash and revocable. Public project keys identify a project and are not secrets.

  • Signed webhooks

    Planned

    Deliveries will carry a timestamped HMAC signature and a stable delivery ID, so receivers can reject forgeries and replays.

  • Audit log

    Configuration, member and key changes, exports and deletion requests are recorded. Support access tooling is planned and will be recorded in the same log.

  • Deletion tombstones

    Erasures are recorded outside the data they remove and re-applied before any restored data is served.

  • Abuse limits

    Per-project rate limits and quotas protect the public ingestion endpoint. They reduce forged traffic; they cannot rule it out.

Responsible disclosure

Report a vulnerability to security@cuebased.com. Please include enough detail for us to reproduce the issue.

Deletion requests

Delete a single visit, by its visit reference, or a whole project from the dashboard. Deletion covers stories and every derived record, not only raw events.

  1. 1

    Immediately

    Suppressed

    The visit or project disappears from every dashboard view and API read as soon as you make the request.

  2. 2

    Within 7 days (target)

    Erased from live systems

    Events, archives, visit states, stories, derived caches and pending jobs are removed, and affected opportunities are recomputed.

  3. 3

    Up to 35 days

    Backups age out

    Rolling encrypted backups expire. If a backup is ever restored, erasure tombstones are re-applied before any data is served.

If a visitor who submitted one of your forms asks for erasure, the cb_visit_ref value stored with their submission identifies their visit. Cuebased holds no names or email addresses to search by. Once a visit is erased, new data for that visit reference is rejected.

The seven-day figure is an implementation target, not a substitute for legal deadlines or a claim of instant removal from backups.

The waitlist

Joining the waitlist stores your email address, and your website if you add it. We use them only to invite you when there is a spot, and delete them when you ask.

Kept

  • Your email address
  • Your website, if you add it
  • Which form you used, and when
  • The version of this notice you saw

Never kept or shared

  • Your IP address or browser details
  • Cookies, analytics or tracking IDs
  • Anything else from the page
  • Your address, with anyone else

Signups are stored in a private file store on our hosting provider, Vercel, in Frankfurt. Only the Cuebased team can read them.

To be removed, email hello@cuebased.com from the address you signed up with. Joining twice changes nothing, and the form never reveals whether an address is already listed. We will set a fixed retention period before launch and update this section.