Saltar al contenido
Privatus Analytics

Privacidad

Cómo mide la analítica sin cookies sin rastrear a las personas

Cada afirmación que hacemos sobre privacidad tiene una explicación técnica. Esta página describe exactamente qué ocurre con una vista de página, qué almacenamos, qué no almacenamos nunca y cómo puedes comprobarlo tú mismo.

No te fíes solo de nuestra palabra

Estas herramientas las gestionan otras organizaciones. Cada enlace analiza este sitio web en el momento, así que ves el resultado de hoy, no una captura que hayamos elegido.

El recorrido de los datos

Todas las solicitudes de los visitantes, incluidas las de la UE, el EEE, el Reino Unido y Suiza, se procesan en nuestra región de EE. UU. La dirección IP y el user agent se usan en memoria mientras se atiende la solicitud y se descartan antes de almacenar el evento minimizado.

  1. Paso 1 · En cualquier lugar
    Navegador del visitante
    • URL de la página y referente
    • Parámetros UTM
    • Ancho de pantalla e idioma
    • Tus propiedades de eventos personalizados
    • Sin cookies ni almacenamiento local, salvo la decisión de exclusión del propio visitante
    • Sin API de fingerprinting
    • Sin solicitudes a terceros
  2. Paso 2 · Estados Unidos
    Ingesta, en memoria
    • País a partir de la cabecera de Cloudflare
    • User agent → navegador, sistema operativo, dispositivo
    • Comprobaciones de bots y tus reglas de tráfico
    • Clave de visita en memoria
    • Dirección IP descartada tras la solicitud
    • User agent completo descartado tras la solicitud
    • Datos personales limpiados, cadenas de consulta recortadas
  3. Paso 3 · En cola en la región de EE. UU.
    Evento minimizado
    • Solo el evento minimizado
    • Sin dirección IP
    • Sin user agent sin procesar
    • Sin clave de visita ni sal
  4. Paso 4 · Estados Unidos
    Almacenamiento y panel
    • Páginas, fuentes, campañas
    • País y categorías de dispositivo
    • ID de visita aleatorio (un día como máximo)
    • Propiedades de eventos
    • Nada que identifique a una persona
    • Nada que vincule días, sitios o dispositivos

Qué recopilamos y qué no recopilamos nunca

Recopilado (tras la minimización)

  • Página. Nombre de host y ruta. Se eliminan las cadenas de consulta, salvo los parámetros de campaña y tu lista de permitidos. Se elimina el fragmento, salvo que uses enrutamiento por hash.
  • Referente. Dominio y ruta de la página de referencia. Se elimina la consulta y se vacían los referentes internos.
  • Campaña. Parámetros UTM y ref. Los ID de clic de anuncios (gclid, msclkid, fbclid) se reducen a un indicador de sí o no.
  • Ubicación. Solo el país, a partir de la cabecera de país que nuestro proveedor de red (Cloudflare) añade a cada solicitud. Sin región, ciudad ni coordenadas.
  • Tecnología. Navegador, sistema operativo (familia y versión principal), tipo de dispositivo, rango de tamaño de pantalla e idioma.
  • Interacción. Tiempo visible en la página y profundidad de desplazamiento en tramos del 10%.
  • Zona horaria. El nombre de la zona horaria del navegador, como America/Denver. Un navegador que se ejecuta en un servidor rara vez está configurado con la zona horaria del país de donde viene su solicitud, así que comparamos ambas para ayudar a distinguir los bots de las personas. Eso ocurre en memoria y luego la zona horaria se descarta. Nunca se usa como ubicación y nunca se almacena con una visita ni con un evento. Solo se conserva durante 12 meses en los registros de entrenamiento de bots de la detección avanzada de bots (visitas a honeypots y muestras de nuestros propios sitios).
  • Eventos. Nombres y hasta 30 propiedades tipadas que tú decides enviar, tras la limpieza de datos personales.

Nunca recopilado ni almacenado

  • Direcciones IP. Se usan en memoria para las comprobaciones de bots y la clave diaria de visita, y luego se descartan. Nunca se escriben en disco, registros, colas ni bases de datos, ni siquiera en el caso de los bots.
  • User agents completos. Se convierten en categorías en memoria y luego se descartan.
  • Cookies y almacenamiento del dispositivo. Sin cookies, localStorage, sessionStorage ni IndexedDB (salvo la decisión de exclusión del propio visitante).
  • Huellas digitales. Sin API de canvas, WebGL, fuentes, audio ni batería, y sin client hints adicionales.
  • Identificadores persistentes. Nada que dure más de un día ni que vincule sitios o dispositivos. Sin perfiles de usuario.
  • Ubicación precisa. Sin coordenadas.
  • Solicitudes a terceros. El rastreador solo se comunica con Privatus Analytics.

Limpieza de datos personales. Antes de almacenar nada, se revisan las rutas, los referentes, los títulos y las propiedades de los eventos en busca de direcciones de correo, identificadores largos, cadenas con aspecto de token y secuencias largas de dígitos, como números de teléfono o de tarjeta. Las coincidencias se sustituyen por marcadores como [redacted-email], y cada sitio ve cuántas redacciones se han hecho para poder corregir las fugas en su origen.

Cómo se cuentan las visitas

  1. Cada día UTC generamos una sal aleatoria de 256 bits. Solo existe en memoria y se destruye al final del día, más un periodo de gracia de 30 minutos.
  2. Para cada solicitud calculamos HMAC(daily salt, site, IP, user agent) en memoria y lo buscamos en un almacén que solo vive en memoria, con un tiempo de inactividad de 30 minutos y un tope a medianoche UTC.
  3. Una visita nueva recibe un ID de visita aleatorio que no se deriva de esa clave. Solo se almacena el ID aleatorio.
  4. Cuando se destruye la sal, nada puede vincular las visitas almacenadas con un dispositivo ni entre sí de un día a otro.

Son datos seudónimos: muy minimizados y no vinculables más allá de un día. No los describimos como anónimos.

Todos los campos que almacenamos

Añadir un campo almacenado exige una revisión por escrito de su finalidad, minimización y conservación. Esta es la lista actual.

CampoFinalidadMinimizaciónConservación
Nombre de host, rutaPáginasConsulta eliminada salvo la lista de permitidos, datos personales limpiados, máscaras de rutaPlan
Host y ruta del referenteFuentesSe quitan www. y m., se descarta la consulta, se vacían los internosPlan
Parámetros UTM, ref, clic de pagoCampañasLos ID de clic se reducen a un indicador de sí o noPlan
PaísUbicaciónA partir de la cabecera de país de Cloudflare, IP descartadaPlan
Dispositivo, navegador, sistema operativo (con versiones principales), rango de pantallaTecnologíaUser agent sin procesar descartado, pantalla agrupada en rangosPlan
ID de visitaVisitasUUID aleatorio, un día UTC como máximoPlan
Propiedades de eventosEventosHasta 30 claves, tipadas, datos personales limpiadosPlan
Nombre de la zona horariaEntrenar la puntuación de botNunca se almacena con una visita ni con un evento. Solo se conserva con una visita a un honeypot o una muestra de nuestros propios sitios12 meses
Contadores de filtrosBots, reglas, redaccionesSolo agregados, sin IP13 meses
Clave de visita (almacén en memoria)Continuidad de la visitaClave HMAC, tiempo de inactividad de 30 minutosUn día como máximo
Sal diaria (almacén en memoria)Clave de visitaNunca se persiste1 día + 30 minutos

Conservación “Plan”: 3 meses en Free, ilimitada mientras dure la suscripción en los planes de pago, con excepciones por sitio.

Verifícalo tú mismo

  1. Abre las herramientas para desarrolladores en esta página y ve a la pestaña Application (o Storage). No encontrarás cookies ni nada en el almacenamiento local del rastreador. Lo único que el rastreador almacena es la decisión de exclusión del propio visitante. Este sitio también guarda ahí tu tema claro u oscuro si lo cambias.
  2. Cambia a la pestaña Network, filtra por /api/event y recarga. Verás una solicitud pequeña por cada vista de página.
  3. Abre el contenido de la solicitud. Solo contiene los campos que se enumeran abajo: sin identificadores y sin huella digital.
  4. Añade data-debug="true" a la etiqueta script de tu propio sitio y observa la Console. Cada solicitud se registra con el prefijo [privatus], exactamente como se enviaría, y nada sale del navegador. Una solicitud que se omite registra el motivo, y funciona en localhost. Consulta Prueba sin enviar nada.
  5. Lee el código fuente del rastreador. Tiene licencia MIT y es lo bastante corto para leerlo de una sentada. Consulta código abierto.

Prueba también el escáner de cookies y rastreadores en tu propio sitio.

Qué contiene una solicitud

Estos ejemplos muestran todos los campos que pueden aparecer en cada tipo de solicitud. La mayoría llevan muchos menos. La tabla de abajo indica cuándo se envía cada campo.

Una vista de página
{
  "s": "pa_7Q2K9XH3AB",
  "t": "pageview",
  "u": "https://example.com/app?utm_source=newsletter#/pricing",
  "l": "en-US",
  "w": 1440,
  "i": 0,
  "r": "https://news.example.org/",
  "h": 1,
  "d": 1,
  "g": 1,
  "hp": 1,
  "a": "webdriver",
  "tz": "America/Denver",
  "xp": "var_4M8T2KQ9ZD",
  "p": { "plan": "pro" }
}
Una solicitud de interacción
{
  "s": "pa_7Q2K9XH3AB",
  "t": "engagement",
  "u": "https://example.com/app?utm_source=newsletter#/pricing",
  "l": "en-US",
  "w": 1440,
  "i": 1,
  "r": "https://news.example.org/",
  "h": 1,
  "d": 1,
  "g": 1,
  "hp": 1,
  "a": "webdriver",
  "tz": "America/Denver",
  "e": 48210,
  "sd": 80
}
Un evento personalizado
{
  "s": "pa_7Q2K9XH3AB",
  "t": "event",
  "u": "https://example.com/app?utm_source=newsletter#/pricing",
  "l": "en-US",
  "w": 1440,
  "i": 1,
  "r": "https://news.example.org/",
  "h": 1,
  "d": 1,
  "g": 1,
  "hp": 1,
  "a": "webdriver",
  "tz": "America/Denver",
  "n": "signup",
  "p": { "plan": "pro" }
}
CampoSignificadoCuándo se envíaQué pasa con él de nuestro lado
sID del sitioCada solicitudSe usa para encontrar el sitio. Se almacena como el sitio al que pertenece el evento.
tTipo de solicitud: pageview, engagement o event. Los módulos opcionales de Web Vitals y mapa de clics añaden vital y click.Cada solicitudSe almacena como el tipo de evento.
uURL de la página, con los parámetros de consulta que no son de campaña ya eliminados en el navegadorCada solicitudEl nombre de host y la ruta se almacenan tras las máscaras de ruta y la limpieza de datos personales. Los parámetros de campaña se almacenan, los ID de clic de anuncios pasan a ser un indicador de sí o no y el resto de la consulta se descarta.
lIdioma del navegadorCada solicitudSe almacena, recortado a 16 caracteres.
wAncho de pantalla en píxelesCada solicitudSe almacena solo como un rango de tamaño. Se lee en memoria para la puntuación de bot. El ancho exacto se descarta.
i1 tras la primera entrada real en la página (puntero, teclado, táctil o rueda), si no 0Cada solicitudSe almacena como un sí o un no en la visita. No se envía nada sobre la entrada en sí.
rReferenteSolo cuando hay unoEl host y la ruta se almacenan tras la limpieza de datos personales. Se descarta la consulta y se vacía un referente de tu propio sitio.
h1 cuando se usa enrutamiento por hashSolo cuando el fragmento forma parte de la dirección de la páginaSe usa en memoria para conservar el fragmento como parte de la ruta. No se almacena.
d1 cuando el navegador envía Do Not TrackSolo cuando está activadoSi el sitio respeta Do Not Track (desactivado por defecto), la solicitud se descarta y no se almacena nada. En caso contrario, se ignora. El indicador nunca se almacena.
g1 cuando el navegador envía Global Privacy ControlSolo cuando está activadoSi el sitio respeta Global Privacy Control (activado por defecto), la solicitud se descarta y no se almacena nada. En caso contrario, se ignora. El indicador nunca se almacena.
hp1 en una página que el propietario del sitio marcó como honeypot, 0 en una página marcada como accesible solo para personasSolo en páginas marcadas para la detección avanzada de botsUna solicitud con 1 nunca se convierte en visita ni en evento. Se cuenta como bot y, en los planes con detección avanzada de bots, se conserva como visita a un honeypot. Una solicitud con 0 se cuenta como de costumbre, y solo nuestros propios sitios conservan una copia como muestra de entrenamiento.
ch1 en una página de "confirma que eres humano" que un sitio muestra a unos pocos visitantes al azar, personas y bots por igualSolo en páginas marcadas con data-hp="ch"Una solicitud con 1 nunca se convierte en visita ni en evento y no se cuenta como bot. En los planes con detección avanzada de bots se conserva junto a las visitas a honeypots, marcada como desafío.
aNombre de la automatización: webdriver, phantom, nightmare o cypressSolo en una página honeypot o de desafío, cuando se detecta un navegador automatizadoSe conserva con la visita al honeypot. Se ignora en cualquier otro lugar.
tzNombre de la zona horaria, como America/DenverCada solicitud, cuando el navegador informa de unaSe compara en memoria con el país de la solicitud para la puntuación de bot y luego se descarta. Nunca se almacena con una visita ni con un evento y nunca se usa como ubicación. Solo se conserva con una visita a un honeypot o una muestra de entrenamiento.
xpValor de vista previa del experimento, de pa_preview en la direcciónSolo vistas de página, cuando la dirección tiene pa_previewSe usa en memoria para mostrar la versión previsualizada. La vista de página no se cuenta para el experimento. No se almacena.
pPropiedades personalizadasVistas de página y eventos personalizadosSe almacenan hasta 30 tras la limpieza de datos personales. Los ingresos y la moneda se almacenan como campos propios.
eTiempo visible en la página, en milisegundosSolicitudes de interacciónSe almacena, con un tope de 4 horas.
sdProfundidad de desplazamiento, en porcentajeSolicitudes de interacciónSe almacena en tramos del 10%.
nNombre del eventoEventos personalizadosSe almacena, recortado a 120 caracteres.
vValor de Web VitalSolicitudes de vital (módulo Web Vitals)Se almacena con el nombre del vital, para una muestra de solicitudes.
cSelector CSS corto del elemento en el que se hizo clic, o el nombre que le dio el sitioSolicitudes de clic (módulo de mapa de clics)Se almacena, recortado a 512 caracteres. Sin coordenadas ni texto.

El módulo opcional de encuestas envía sus propias solicitudes pequeñas. Se enumeran en la referencia completa de la documentación. Lo que conserva una visita a un honeypot se describe en Detección avanzada de bots.

Dónde están tus datos

Almacenamiento y procesamiento en EE. UU., y garantías para las transferencias.

Centro de cumplimiento

RGPD, ePrivacy, leyes estatales de EE. UU. y más.

Acuerdo de tratamiento de datos

Incluido en nuestros términos.

Empieza a medir sin cookies

Sin cookies, sin fingerprinting y sin necesidad de banner de consentimiento para medir.

Tu primer espacio de trabajo empieza con 14 días de Pro, gratis. Después pasa al plan gratuito, con 10k eventos al mes, 3 sitios y 3 meses de historial. Sin tarjeta.