I don't undestand. If you are online, you are prone to attacks. Cold storage means offline.
Does Trezor keep private keys offline, while being able to be online (create new keys and receive payments) how does it do it?
Trezor keeps the keys in itself separated from the online environment to which it is connected to. Transactions are signed on the device and sent to the online computer. Exactly the same as Cold Storage, but with the convenience of being able to be online.
For info on how it does it you'd probably have to review its code
Most likely in a similar way Trezor communicates with MyTrezor. There's a plugin for Electrum that allows you to control your Trezor.
Ok so private keys never touch the internet... but you need to enter MyTrezor to generate new receiving keys yes? Why can't I generate new receiving keys offline?
Also it works in a way that generates the wallet with a seed phrase. Im paranoid of this method... im used to using Bitcoin Core with wallet.dat knowing that no one can generate my wallet through brute force (im paranoid about methods like this since the brainwallet scandal), also I don't need to store some really long seed.. this is giving me a headache. Im just so used to Bitcoin qt for years that everything else makes me paranoid and confused to deal with it.