Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redact Screenshots via View Hierarchy #1956

Open
Tracked by #178
stefanosiano opened this issue Mar 28, 2024 · 14 comments · May be fixed by #2361
Open
Tracked by #178

Redact Screenshots via View Hierarchy #1956

stefanosiano opened this issue Mar 28, 2024 · 14 comments · May be fixed by #2361
Assignees
Labels
dart Pull requests that update Dart code flutter flutter Platform: Dart

Comments

@stefanosiano
Copy link
Member

stefanosiano commented Mar 28, 2024

We have Screenshots, and we have View Hierarchy. For Mobile SR, we use VH to redact SS-based Replays - we should "backport" this functionality to the SS feature.

Rationale: SS can contain PII and other sensitive information, therefore the feature is not viable for some use cases and orgs. Redacting SS via VH enables wider adoption and improves experience for those who already use it.

Let's evaluate:

  1. Implement screeshot redacting and use it for session replay later
  2. Wait for session replay and reuse its implementation for SS and VH
@stefanosiano
Copy link
Member Author

Let's wait for SR plans and prioritize this

@stefanosiano stefanosiano moved this from Needs Discussion to Blocked in Mobile & Cross Platform SDK Mar 28, 2024
@stefanosiano stefanosiano added dart Pull requests that update Dart code flutter flutter Platform: Dart and removed flutter flutter dart Pull requests that update Dart code labels Mar 28, 2024
@kahest kahest added flutter flutter dart Pull requests that update Dart code labels Mar 28, 2024
@kahest kahest changed the title Flutter: Redact Screenshots via View Hierarchy Redact Screenshots via View Hierarchy Mar 28, 2024
@The-RootCause
Copy link

Any update on this feature. It's very important

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 2 Mar 31, 2024
@kahest
Copy link
Member

kahest commented Apr 2, 2024

Hi @The-RootCause thanks for your interest - it's very likely we will implement this in the next few months, we'll keep this issue updated with any progress

@JulianBissekkou
Copy link

I would love to help contribute this feature since we also need this in our app.

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Aug 12, 2024
@vaind
Copy link
Collaborator

vaind commented Aug 13, 2024

This was brought to my attention by @buenaflor yesterday...

We already have screenshot redacting implemented for replay. As soon as #2208 is merged, the code can be adapted/reused for standard screenshots too.

See WidgetFilter which walks the tree and creates a list of bounding rectangles to redact. Then it's just the question of painting them onto the screenshot

@buenaflor
Copy link
Contributor

@vaind do you know the rough timeline for SR? I was thinking if it makes sense to use the WidgetFilter implementation now outside of the SR branch so we can already implement it for screenshots

@vaind
Copy link
Collaborator

vaind commented Aug 13, 2024

@vaind do you know the rough timeline for SR? I was thinking if it makes sense to use the WidgetFilter implementation now outside of the SR branch so we can already implement it for screenshots

I want to make another pre-released today, now that sentry-java has shipped with an update we need. If all goes well, we can merge replay branch to main & still keep it as an alpha feature (i.e. subject to change), since there doesn't seem to be any immediate issue that would require us to roll back these changes. That was the only reason for keeping another branch alive.

@vaind
Copy link
Collaborator

vaind commented Sep 4, 2024

See WidgetFilter which walks the tree and creates a list of bounding rectangles to redact. Then it's just the question of painting them onto the screenshot

This is now merged to main so this issue is unblocked

@kahest kahest moved this from Blocked to Backlog in Mobile & Cross Platform SDK Sep 4, 2024
@martinhaintz martinhaintz self-assigned this Sep 23, 2024
@vaind
Copy link
Collaborator

vaind commented Sep 25, 2024

@martinhaintz I've noticed you've assigned this to yourself. Just be aware there will be changes in the replay redaction logic (thus also in screenshot reduction) in order to support user-configurable widget-level redaction

@buenaflor
Copy link
Contributor

@vaind should we wait here until you've done the changes?

@vaind
Copy link
Collaborator

vaind commented Sep 25, 2024

Not sure how far along @martinhaintz is. If he hasn't started yet then yeah, I think it makes sense to deprioritize this for now.
If a lot of work is already done on screenshot redacting (I haven't found a PR though) then maybe it makes sense to finish and merge that
and I'll fit it together with the changes I'm preparing

@buenaflor
Copy link
Contributor

@martinhaintz wdyt?

@martinhaintz
Copy link
Collaborator

@vaind Sorry, for interrupting your plan. As @buenaflor was on vacation, I spoke with @kahest and he assigned it to me via chat.

I currently have no working code and therefore have not created a branch yet. I haven't invested too much time yet. I started with the issue today.

So I will stop working on it since you are already kind of working on it.

@martinhaintz martinhaintz assigned vaind and unassigned martinhaintz Sep 25, 2024
@vaind
Copy link
Collaborator

vaind commented Sep 25, 2024

Alright, I'll ping you. Sorry for the inconvenience

@martinhaintz martinhaintz assigned martinhaintz and unassigned vaind Oct 14, 2024
@martinhaintz martinhaintz moved this from Backlog to In Progress in Mobile & Cross Platform SDK Oct 14, 2024
@martinhaintz martinhaintz linked a pull request Oct 15, 2024 that will close this issue
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dart Pull requests that update Dart code flutter flutter Platform: Dart
Projects
Status: No status
Status: No status
Status: In Progress
Development

Successfully merging a pull request may close this issue.

7 participants