We run it through the producer in order to re-use the logic for creating the search document, the key is to hide sensitive data that the user performing the search doesn't have access to see. We don't do it for groups because users have completely different privacy handling than groups. You hide sensitive data for users but are still able to see them (e.g., members listing). For groups, you see all or nothing -- the "nothing" part is taken care of by the access-scoping of the queries, so you don't have to do the hiding logic in the transformer.