EnterpriseSecurityException contains two separate messages: a Log Message (with technical details for debugging, written to logs but unsafe to show users), and a User Message (sanitized, safe to display). This separation prevents information leakage while still providing useful feedback. Single-message exceptions would either leak sensitive info (showing log messages to users) or provide no debugging value.