We all know someone who has had their private key stolen and all their assets (NFT and tokens) taken.
The power of the Blockchain is at the same time its weakness, giving the user full responsibility for their data.
I believe that with a small modification of the ERC721 standard we could add an optional validation step for transfer or approve transactions.
This step could be regulated in different ways, for example from a centralized server the user could validate his transactions, giving the security of web2 to web3.
I did an example implementation where there is an address validator that could be executed from a centralized server when the user validates his transactions.
I have also added a Smart Contract Permission so that the user can choose if he wants to use this new system or control his NFTs in the traditional way.
Having a separate Smart Contract Permission would allow to have the same preference settings for multiple NFT Smart Contracts.
Github link: GitHub - eduardfina/ERC721V: ERC721 implementation with a validation step
I have also done the same implementation but with ERC-20 tokens: GitHub - eduardfina/ERC20V: ERC20 implementation with a validation step
I think it would be a good EIP, what do you think?