Mobile App Session Replay: Ability to disable or mask touch capture per screen
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- react-native, typescript
- Domain
- mobile-dev, security
Research direction
Start by tracing the native touch tracker and the existing Sentry.Mask API. Compare the proposed per-component masking, a Sentry.MaskTouches wrapper, and global pause options. Done means sensitive screens or components no longer expose tap and drag coordinates in Session Replay, with behavior verified on the affected mobile platforms.
Written by the indexing model from the issue text.
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.Maskwith a prop to disable touches? Or maybe a new wrapperSentry.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
- Dominant language
- TypeScript
- Stars
- 1.8k
- Forks
- 367
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 96
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from getsentry/sentry-react-native
-
React-Native
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
getsentry/sentry-react-native#6759 · 1 comment ·
-
React-Native Replays Task
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
getsentry/sentry-react-native#6680 · 1 comment ·
-
Improvement React-Native
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
getsentry/sentry-react-native#6143 · 2 comments ·
-
React-Native Task User Feedbacks
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
getsentry/sentry-react-native#5932 · 2 comments ·
-
React-Native Replays Task
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
getsentry/sentry-react-native#5882 · 1 comment ·
All issues in getsentry/sentry-react-native
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
ontola/atomic-server#1625 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
melgarafael/DeskcommCRM#1451 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 82/100
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bot:ai-assisted component:compact-js status:untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
midnightntwrk/midnight-sdk#403 ·