Contexte
Audit SDK : replay en record-by-default (seuls les passwords masqués via maskInputOptions:{password:true}). Tous les SOTA masquent par défaut.
Scope
- Passer
maskAllText / maskAllInputs / blockAllMedia à true (options rrweb record), opt-out par sélecteur unmask.
- Honorer
navigator.doNotTrack / globalPrivacyControl (skip capture sauf config).
⚠️ Changement de comportement
Les replays des builds existantes vont soudain masquer le texte. Prévoir un rollout : flag remote-config par build + comms builders, sinon perçu comme une régression.
Références
Sentry Replay (maskAllText/maskAllInputs/blockAllMedia = true par défaut), PostHog (maskAllInputs), OpenReplay (respectDoNotTrack).
Effort : S-M — Valeur : Haute (RGPD).
Sources d'analyse. Née d'un audit de conception du SDK @bworlds/launchkit v1.15.0 vs état de l'art (benchmark open-source de la capture d'infos).
Références comparées en source réelle : rrweb (rrweb-io/rrweb), PostHog (PostHog/posthog-js), Sentry (getsentry/sentry-javascript — packages/browser, packages/replay-internal), OpenReplay (openreplay/openreplay), Datadog RUM (DataDog/browser-sdk), Grafana Faro (grafana/faro-web-sdk), lib GoogleChrome/web-vitals. Contrainte transport (plafond 64 KiB partagé sendBeacon/keepalive) : Fetch spec + Sentry #1464.
Note honnêteté : la CSP est vérifiée chez Faro (enableContentSecurityPolicyInstrumentation), pas Sentry ; les défauts PostHog dead-clicks/exceptions sont remote-config-gated (non hardcodés).
Contexte
Audit SDK : replay en record-by-default (seuls les passwords masqués via
maskInputOptions:{password:true}). Tous les SOTA masquent par défaut.Scope
maskAllText/maskAllInputs/blockAllMediaàtrue(options rrwebrecord), opt-out par sélecteur unmask.navigator.doNotTrack/globalPrivacyControl(skip capture sauf config).Les replays des builds existantes vont soudain masquer le texte. Prévoir un rollout : flag remote-config par build + comms builders, sinon perçu comme une régression.
Références
Sentry Replay (
maskAllText/maskAllInputs/blockAllMedia= true par défaut), PostHog (maskAllInputs), OpenReplay (respectDoNotTrack).Effort : S-M — Valeur : Haute (RGPD).
Sources d'analyse. Née d'un audit de conception du SDK
@bworlds/launchkitv1.15.0 vs état de l'art (benchmark open-source de la capture d'infos).Références comparées en source réelle : rrweb (
rrweb-io/rrweb), PostHog (PostHog/posthog-js), Sentry (getsentry/sentry-javascript—packages/browser,packages/replay-internal), OpenReplay (openreplay/openreplay), Datadog RUM (DataDog/browser-sdk), Grafana Faro (grafana/faro-web-sdk), libGoogleChrome/web-vitals. Contrainte transport (plafond 64 KiB partagésendBeacon/keepalive) : Fetch spec + Sentry #1464.Note honnêteté : la CSP est vérifiée chez Faro (
enableContentSecurityPolicyInstrumentation), pas Sentry ; les défauts PostHog dead-clicks/exceptions sont remote-config-gated (non hardcodés).