If you don't colocate your Studio Schemas with your GROQ queries it might be hard to make sense of sourcePath,
as it operates on the original shape of a document.
In that case resultPath can be used, as it mirrors the path to the value in the result.
For example in a query like this:
*[_type == "author"][0]{"slug": slug.current}
The resultPath for result.slug would be ['slug'], while sourcePath will be ['slug', 'current'].
If sourcePath alone isn't enough to tell you if it's safe to contain stega strings, then you can use sourceDocument
for additional metadata.
It'll always have a _type property, which can be used to trace it to the Studio Schema that were used initially.
It also has _id to help you debug and look at the whole document when troubleshooting.
Finally, if the document origins in a Cross Dataset Reference you'll also have _projectId and _dataset properties to help you trace it.
The path to the value in the source document, for example if you queried for a document like this:
*[_type == "author"][0]{"slug": slug.current}
Then the sourcePath for result.slug would be ['slug', 'current'].
You can also use your own string validation logic to determine if it's safe.
If you want to keep the default filtering behavior, but only override it for a specific path, you can use
filterDefaultto do that. For example, here all "icon" documents in a Page Builder skips encoding: