You can deploy it directly, no one is in charge of officially verifying contracts in the network. However, your users will be reassured of your seriousness if you share the actual code of your contract. To be sure that the code you posted as "your contract code" is the same as the actual contract in the network, you could verify it, this can be done using Etherscan code source verification. https://ethereum.stackexchange.com/questions/51998/smart-contract-verification
https://etherscan.io/verifyContract
https://blog.fundrequest.io/verifying-your-truffle-solidity-contracts-on-etherscan-87cb374e2adc
To sum up, the verification in etherscan is: etherscan translates the solidity code given by users to see whether the output bytecode is identifical to the bytecode that was put in the blockchain.