Reporting user permissions

For administrative purposes, it would be extremely useful to be able to run a report that includes:
Project ID [database ID], Project Ref, Project Name, Contract ID [database ID], Contract Ref, Contract Name, Client Company, PM Company, Supplier Company, Supervisor Company, Consultant Companies, User Company ID [database ID], User Company Name, User Company ID [database ID], User Name, Username, Email Address, User Type (i.e. at site level), User Party, User Role, date added to contract, added to contract by [name ].

For audit purposes it would be useful to see a separate reports (with broadly the same information as above) showing when a user was deleted from a contract and by whom, including what their party and role was at the point of deletion.

For all users, and particularly useful for those with site level permissions that grant them read access without being added to individual contracts it would be useful to have a separate report including:
User Company ID [database ID], User Company Name, User Company ID [database ID], User Name, Username, Email Address, User Type (i.e. at site level), date created, created by [name ], last updated date, last updated by name

For audit purposes it would be useful to be able to run a report (with broadly the same information as above) showing when a user type was changed, and by whom, including what their type was changed from and to