Data
What we collect, field by field.
No small print. This is the complete list of what leaves your visitor's browser, what our server derives, and what ends up written to disk.
Last updated: 9 September 2026
What the key sends
A single POST per event, as plain text. This is literally the whole request body.
| Field | Example | What for |
|---|---|---|
Event namen | "pageview" | To tell a room view from a doorbell. You choose it on custom events. |
URLu | "https://example.com/precios?utm_source=news" | To know which room was seen. On the server it is split into hostname and path, and the entire query string is dropped except the utm parameters. |
Flat domaind | "example.com" | To know which flat the event belongs to. If it matches none, the event is dropped. |
Referrerr | "https://www.google.com/" | To know how the visit arrived. We store the host and the classified source, never the referrer's query string. |
Window width and heightw / h | 1440 · 900 | To classify the device when the User-Agent is ambiguous, and to group by screen size. |
Browser languagel | "es-ES" | The language breakdown. It is the value of navigator.language, nothing more. |
Event propsp | { "plan": "pro" } | Only exists if you send them. We never read the contents of your forms or of your page. |
Visible time and scrolle / s | 42 · 78 | Only on the engagement event: seconds with the tab visible and the maximum scroll percentage. |
What the server reads and does not store
These two arrive in the request headers, are used in memory and discarded before anything is written. There is no column where they live.
| Data | Example | What we do with it |
|---|---|---|
| IP address | 203.0.113.42 | Used to derive country, region and city, and as an ingredient of the daily identifier. Then discarded. It is never written to a table or to any log older than 24 hours. |
| User-Agent | Mozilla/5.0 (Macintosh…) Chrome/141.0 | Turned into browser, major version, operating system and device type. The full string is not stored. |
What actually gets stored
This is what sits in the database for each event. None of it identifies a person.
| Field | Example | What it is |
|---|---|---|
| Visitor identifier | 8231145907712340 | A 64-bit number: SHA-256 of the daily salt, the flat, the IP and the User-Agent. The salt is destroyed every night, so tomorrow the same browser yields a different number. |
| Visit identifier | 4102998877654321 | Groups the rooms of a single visit. It closes after 30 minutes of inactivity. |
| Timestamp | 2026-09-09T10:14:03Z | When the event happened, in UTC. Dashboard days are computed in your flat's time zone. |
| Host and path | example.com · /precios | The room. No query, no fragment, no trailing slash. |
| Source and medium | Google · organic | The classified referrer (Google, Reddit, Direct / None) and its medium (organic, social, email, referral, cpc). |
| Country, region and city | ES · ES-VC · Valencia | From GeoIP, derived from an IP that no longer exists. We never store coordinates. |
| Browser, OS and device | Chrome 141 · macOS 15 · desktop | Major version only: Chrome 141, not 141.0.7390.55. Type is desktop, mobile or tablet. |
| Screen size | 1440 × 900 · Desktop | The window width and height, grouped into four buckets for the breakdown. |
What we never collect
It is not that we do not use it: it does not exist. There is no column, no log and no process that touches it.
- Cookies, localStorage, sessionStorage or any other write into your visitor's browser.
- Your IP in any table or any backup.
- The full User-Agent string.
- Canvas, WebGL, installed fonts, plugin or audio-device fingerprints.
- Full query strings: only the five utm parameters and campaign ones survive.
- Cross-site or cross-device identifiers. A visitor of flat A and the same visitor of flat B are two unrelated numbers.
- Emails, names, your customers' user IDs, or anything else out of your database.
- Session recordings, heatmaps or click logs.
- Data sold, shared, joined across customers or used to train anything.
How long it lasts
Raw events live 30 days and are deleted by dropping the whole day's partition, not row by row. Hourly and daily aggregates live 24 months.
When you delete a flat it is marked as deleted and, 30 days later, purged completely, aggregates included.
Where it lives
In the European Union, always: database in eu-west and edge configured with European data centres. The full list of sub-processors is in the privacy policy.
If you are a visitor
We cannot tell you what data we hold about you, because we cannot tell which data would be yours. We do not store your IP, there is no cookie carrying your identifier, and the salt used to compute your visitor number was destroyed that same night.
There is nothing to switch off and nothing to erase. It is explained more calmly on the opt-out page.