Customer support best practices

Are there any best practices around providing support for customer issues when we need to work with a copy of their data? For example, if a client has a data-related issue that I can’t reproduce, what should happen when they ask for help, if they’re willing to share their data?

One approach would be to create a SupportRequest object containing the user’s id, then I can have a trigger that watches for these objects, gets all the objects owned by the user from the database and exports a local Realm to be used for debugging.

Another way would be to save a local copy on the user’s device and upload it, then fetch for debugging.

Is there a better, more streamlined way, or can there be any issues with these approaches? In my app most of the data is user-generated, if this matters.