getsentry / getsentry/sentry-react-native
Mobile App Session Replay: Ability to disable or mask touch capture per screen
- Langage dominant
- TypeScript
- Étoiles
- 1.8k
- Forks
- 366
- Merge moyen
- 1 j 6 h
- PR mergées (30 j)
- 94
Description
### Problem Statement
Currently, mobile Session Replay captures raw tap and drag gesture coordinates globally via the native touch tracker. While this is incredibly useful for debugging user flows, it introduces security/privacy risk on sensitive screens. Even when the mask strategy is strict and the keyboard doesn't show, the global touch overlay still records and displays the exact coordinates of user taps/drags over the relay. If a user is typing on a standard QWERTY keyboard or a fixed-layout numeric keypad, an observer can easily deduce inputs (passwords, PINs, or PII etc) just by looking at the tap indicator positions on the masked replay.
I would like to see the ability to drop touches for components/views.
### Solution Brainstorm
- Extend `Sentry.Mask` with a prop to disable touches? Or maybe a new wrapper `Sentry.MaskTouches`?
- Failing that, we'd be better off with a global way to pause/unpause or just don't record any at all
### Are you willing to submit a PR?
None
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par suivre le traqueur tactile natif et l’API Sentry.Mask existante. Comparez le masquage proposé par composant, un wrapper Sentry.MaskTouches et les options de pause globales. La tâche est terminée lorsque les écrans ou composants sensibles n’exposent plus les coordonnées des appuis et des glissements dans Session Replay, et que le comportement a été vérifié sur les plateformes mobiles concernées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- react-native, typescript
- Domaine
- mobile-dev, security
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 48/100