Changelog
Cambios del SDK y de la plataforma.
Cambios del SDK y de la plataforma. El SDK sigue versionado por ruta (/sdk/v1/); un cambio incompatible publicaría /sdk/v2/ sin romper las instalaciones existentes.
SDK 1.0.0
Primera versión estable.
Bundles
| Archivo | gzip | Carga |
|---|---|---|
bootstrap.js |
2.41 KB | Siempre |
experiments.js |
6.35 KB | Si hay experimentos activos y el kill switch está apagado |
analytics.js |
2.28 KB | Siempre |
replay.js |
57.16 KB | Solo con grabación activa y consentimiento de replay |
shopify.js |
0.95 KB | Solo con el adaptador activado |
editor.js |
3.61 KB | Solo con un token de editor válido |
Los tamaños se verifican en cada build contra un presupuesto. Excederlo falla el build; no es un aviso. El peso del SDK lo paga cada visitante de cada cliente y solo empeora si nadie lo vigila.
Cada bundle publica su hash SHA-384 en /sdk/v1/size-report.json para quien quiera fijar la integridad.
Comportamiento
- Asignación determinística con murmur3, estable entre navegador y servidor.
- Espacios de hash separados para inclusión y variante: ampliar tráfico no reasigna.
- Anti-parpadeo selectivo con límite de 1.5 s. Nunca oculta
<body>. - Reversión a control si una variante no puede aplicarse; se reporta
sdk_errory no se registra exposición. - Exposición registrada una sola vez por vista de página, después de aplicar los cambios.
- Selectores resilientes con selector principal, alternativos, atributos, texto, ruta DOM y fingerprint, con umbral de confianza.
- Soporte SPA vía
historyyMutationObserver. - Envío por lotes con
sendBeaconal ocultarse la página, reintento con backoff y jitter, y deduplicación en cliente y servidor. - Consentimiento independiente para analítica y replay.
- Objetivos de compatibilidad: Chrome 80+, Firefox 78+, Safari 15+, Edge 88+.
Privacidad
- Todos los inputs enmascarados por defecto en replay.
- Contraseñas y campos de pago bloqueados siempre.
- Checkout, cuenta y admin excluidos de grabación por defecto.
- Barrido de PII en el servidor sobre los chunks: correos, tarjetas Luhn-válidas, teléfonos, IBAN, CURP.
- URLs filtradas por lista blanca de parámetros; fragmentos y credenciales eliminados.
identifyhasheado con sal por sitio.
Plataforma 1.0.0
Análisis
- Beta-Binomial para conversión, con Monte Carlo de semilla fija para que la cifra no cambie al recargar.
- Bootstrap sobre visitantes (no sobre pedidos) para revenue por visitante.
- Detección de SRM con chi-cuadrado a α = 0.001.
- Guardrail automático sobre revenue por visitante al −2%.
- Nunca se declara un ganador solo por un porcentaje mayor: hacen falta muestra, duración, probabilidad, riesgo aceptable y ausencia de SRM.
- Desglose por dispositivo como tasas crudas, sin posterior por segmento: calcular la posterior en cada slice invita a elegir el segmento que casualmente parece significativo.
Infraestructura
- PostgreSQL para configuración y tenencia; 23 tablas con aislamiento por organización verificado en pruebas.
- ClickHouse para eventos, con vistas materializadas para experimentos, heatmaps, scroll, tráfico y uso.
- Redis para colas BullMQ, caché, rate limiting, deduplicación y locks.
- Bucket S3 privado para chunks de rrweb, capturas y exportaciones, con URLs firmadas de 5 minutos.
- Migraciones aplicadas en pre-deploy con verificación de esquema: si el esquema aplicado no coincide con el esperado, el despliegue se aborta.
Integraciones opcionales
Gemini, OAuth de Google, SMTP y proveedor de pagos son opcionales. Su ausencia deshabilita la función correspondiente y se reporta como false en /v1/auth/me; el núcleo funciona sin ninguna de ellas.