Charles Proxy has a feature that it can automatically configure your system proxy settings when it starts.
Every programmatic way I've found of changing these settings (e.g. networksetup) requires raised privileges to use, however this app somehow manages to do this with standard user permissions. The only time it requires raised privileges is on the very first time it runs.
Where can its permissions be managed for making changes in future for e.g., making it ask for privileges again?
Best Answer
Privileged Helper
If Charles Proxy is following Apple's recommendations, the permissions gained during the initial set-up will be encoded as a Privileged Helper.
On macOS the folder
/Library/PrivilegedHelperTools
contains tools that have previously authenticated and authorised with the user.The folder
/Library/LaunchDaemons
contains thelaunchd
files that launch and determine access to the tools.There are other approaches, such as: