At a minimum:
Use popular and well-vetted standards whenever possible, such as OpenZeppelin’s vast repository of smart contracts.
If implementing a special feature, such as off-chain signing or transaction hooks, use EIPs as guidance.
Limited scope for privileged roles
Do not allow any roles to freeze, burn, or otherwise modify user funds without permission.