class SecuVaultError(Exception): """Base exception for all SecuVault domain errors.""" class AuthenticationError(SecuVaultError): """Bad credentials or inactive account.""" class AccessDeniedError(SecuVaultError): """User is not authorised to access the requested resource.""" class SecretNotFoundError(SecuVaultError): """Requested secret does not exist.""" class TeamNotFoundError(SecuVaultError): """Requested team does not exist.""" class ConflictError(SecuVaultError): """Optimistic-locking detected a concurrent modification conflict."""