"Can you explain the main principles of secure coding, including input validation, secure defaults, least privilege, and safe error handling?"