getsentry / getsentry/sentry-react-native
Mobile App Session Replay: Ability to disable or mask touch capture per screen
- Ngôn ngữ chính
- TypeScript
- Star
- 1.8k
- Fork
- 366
- Merge trung bình
- 1 ngày 6 giờ
- Pull request đã merge (30 ngày)
- 94
Mô tả
### 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
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách truy vết bộ theo dõi thao tác chạm native và API Sentry.Mask hiện có. So sánh phương án che dữ liệu theo từng component được đề xuất, một wrapper Sentry.MaskTouches và các tùy chọn tạm dừng trên toàn cục. Công việc được xem là hoàn tất khi các màn hình hoặc component nhạy cảm không còn để lộ tọa độ chạm và kéo trong Session Replay, đồng thời hành vi đã được xác minh trên các nền tảng di động bị ảnh hưởng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- react-native, typescript
- Lĩnh vực
- mobile-dev, security
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 48/100