(In progress. Last Updated 2022-12-10.)
I spent a fair amount of time working on my Discord Server to make it secure, functional, and fun.
Here's a general guide to how I have mine setup.
Hopefully you'll find something in here beneficial for your own setup.
Remove all permissions from Everyone role. (I also explicitly deny Everyone the View Channel permission on every channel)
Create a basic role with appropriate default permissions.
Add the basic role permissions to the appropriate public channels. (I explicitly set the permissions on each channel category, but that's probably overkill)
Setup a Rules channel and give Everyone role View Channel and View Message History permissions.
Setup a Rules message with a reaction role to accept the rules and get the basic permissions role.)
If you are doing this on an existing server, you should probably add the new role to your existing users before locking down the Everyone role, unless you want to force them to all accept the new rules.