I log changes for objects in my application within the processForm function by checking for differences in the object before and after its been saved. I persist that to a log table in my database.
For the sfGuardUser backend, I use the generated admin, which automatically saves changes made to the embedded groups or permissions.
I'd like to log those changes - but where can I add my log process?