What is the best way to create identity contracts for organisations based on their information like name, address, organisation type(buyer/seller) etc. I have tried using factory pattern to create these identity contracts , i have also looked into ERC725 implementation.
725 v2 definitely works, each entity will be able to execute arbitrary bytecode and to store data. However, they will be able to change that data as well. Of course, these changes will be visible in the transactions but then this should be monitored all the time
You may create a modified version where some of the parameters are set in stone when the identity contract is deployed, such that the identity cannot be changed. The functionality of executing arbitrary bytecode should be included as in ERC725.
Hope this helps.
You may just issue ERC-721 non-fungible tokens and log company information together with token ID at the moment each token is issued. This way you will associate company info with token ID and benefit from following widely adopted standard.