We run a function which has access to the customers shipping address and customer tags. However, as the app doesn’t request the read_customer scope, we’ve not been able to support merchants as the logs is completely redacted.
We’ve had to resort to requesting read_customer scope AND protected customer data access just for support purposes.
Logs now show, however the address1 fields are still redacted, even those these are approved.
What other scope do we need to access the address1 field?
The current way logs are restricted still requires us to obtain way more access than we we really need, only a small number of merchants require support. I think perhaps if we have collaborator access to the store with customer access then these fields should be visible automatically, which is the same functionality if we were viewing logs for a development store owned by the same partner account. This will allow us to provide support for merchants when they need it, the merchants can revoke access, and developers won’t need to request more access than otherwise usually be needed.
I’ve confirmed that your app has the correct access scopes and protected customer data approval. No additional scope is needed. The [REDACTED] value isn’t your log view being masked. It’s the value passed to your Function, and I’ve just confirmed the same behavior across Delivery Customization Function runs from multiple apps. I’m checking internally whether this is intentional and will ensure the documentation is updated accordingly.
Your suggestion about collaborator access is already supported today. Staff members and collaborators with store access can view full Function run details regardless of the app’s scopes. That helps when log details are hidden because of missing scopes, but it won’t assist with this particular issue because [REDACTED] is already in the value received by the Function.
What are the reasons why [REDACTED] be passed as the function input for the address1 field? The app already has the correct access and thus this shouldn’t be blocked at all.
Further, collaborator access certainly does not give access to the data, this is the first thing we tried, it only works for development stores owned by the partner account.
in my case is even worse, we don’t need access to products except inside functions for around 2% of users, but because of that we can’t debug functions anymore:
@Min_Liu, I ran some further tests and need to clarify one point from my previous reply. Functions do receive the actual field values at runtime. [REDACTED] appears only in the Function run logs, including your Function’s own log output. So far, the affected fields appear to be address1, zip, phone, latitude, and longitude. I’m continuing to investigate why these fields are redacted in the logs when the app has the required access.
Collaborator access won’t make these fields visible in the logs. It only helps when the full run details are hidden because the app doesn’t have the required scopes.
@David_Arbias, are you debugging your Function generally, or investigating an issue reported by a specific merchant? If you’re supporting an individual merchant and missing scopes are preventing you from viewing their run details, I recommend using the collaborator access approach.
Prior to requesting read_customers and applying for protected customer data access, AND obtaining full collaborator access to a store, this is what we see in the function logs.
So, based on what you’re saying, it sounds like this is a separate bug that needs to be looked into.
This has worked in the past (several months ago), but doesn’t currently work.
Hey folks, we recognise that being unable to inspect the full Function run details is limiting your ability to troubleshoot issues and support merchants. We understand the importance of resolving this.
We’re still investigating both the field redaction and the collaborator-access behaviour reported here. We don’t have a confirmed resolution to share yet, but we’ll keep this thread updated as we have more information.
We’ve now identified what is causing this. The fields confirmed as affected are address1, zip, phone, latitude, and longitude. These fields are currently redacted in Function run logs regardless of the app’s access scopes, protected customer data approval, or the viewer’s staff or collaborator access to the store. This only affects the logs; the Function still receives the actual values at runtime.
We agree this isn’t a good debugging experience and are working toward a solution. For now, these fields will remain redacted in the logs. We’ll update this thread when there’s an update to share.