but if you are hacked the hacker can pretend to be everyone and raid your custody by spamming you with everyones code they accessed, if you have it all mingled together on your server
If a hacker hacks the server, they can take the money. Whether we use digital signatures or private codes in plain text, the money are sitting on the server and can be claimed if the machine is compromised.
then a hacker cant just spam your mailbox with everyones code, nor get everyones private key from your side
A hacker isn't supposed to steal everyone's codes. They are supposed to compromise the server, and if the server (or the home computer in your analogy) is compromised, digital signatures provide no extra security. The private code is only used to authenticate your account; it is the same as choosing a strong password. If you're concerned about impersonation (e.g., hacker steals your private code and pretends to be you), I can promise to only keep the hash of the codes (which can be verified on the front-end).
This is the same as telling me that a centralized exchange which asks for a public key is more secure than one that asks for a password. Both are central point of failures which can be compromised regardless.
first of all..
CEX at the most basic level do a thing called hot/cold wallet. where they dont keep full stash on the public access server that do order/payment/withdrawal requests.
second of all they FAIL when they get hacked and lose their hotwallet stash because they should keep even the hot wallet stash separate from the public access server
again if you have 2 servers.. one is the public access that takes the user requests and a second one that remotely sniffs the public server to read such requests and perform them separate. you add an extra layer of security.
like i said, the cheap affordable low maintenance approach would be to use the forums PM inbox to take requests and then your home PC does the payments. where you keep your funds separate. and keep your home pc unidentifiable from the forum/extension, thus avoid hacker finding your home pc
if you however want to hotwallet any/all funds on the same server that takes the user requests(public access) then you are not even doing basic security of a CEX.. it shows you are not ready to manage funds
because you prefer not to care about security and are expecting to one day shout "i been hacked"
..
so like i said if users sigup to you a with public address (much like sigcampaign applicants use bitcoin addresses to sign up)
YOU no longer need to create, manage, store, give out private keys/codes.... because doing so is a security risk
and instead you can verify a user is making a genuine request by them sending you a signed message that proves the request is unique, independent and genuine. which stops hackers from just spamming everyones "code" to raid you dry.. and stops hackers getting everyones codes because there is no central store to get codes
much like you proved you didnt sell your account by signing your 'black' vanity address..
without anyone needing to manage your private key centrally