That is a logical solution and it is in fact the preferred solution.
However it is only safe if the helper tool is a specific tool doing a
specific task.
OK, so let's make the specific task be "checking signatures of and
launching other programs". If necessary you can check for rights
using AuthorizationCopyRights() as well.
I'm not sure what the security advantage is in not doing it that
way? Perhaps you're worried that the signature checks could be
compromised somehow? But if you run them as a non-root user, then
surely it's easier for someone else to interfere with the checks?