I believe there should be a few requires to avoid overwriting of information if make call to contract directly.
I sent a tx to your contract on the Mumbai testnet and overwrote the information for an address for which I am not the controller.
Tx example: https://mumbai.polygonscan.com/tx/0xce2400b997424e78f3b1419402873bdf12895d046a7418dc261a173d22bd7ba9
Also there are no validation for DIDdoc, so You want to be sure, that the caller of function, validated this string.