Protection: Plaintext passwords must not be exposed in public repositories (e.g., GitHub upstream), even for development. Storing them as bcrypt hashes eliminates this risk.
User Experience: Users can use plaintext passwords naturally when making API calls.
2. Implementation Requirements
Secure Transmission: Since the API receives plaintext passwords, End-to-End Encryption (e.g., HTTPS) is mandatory to ensure secure delivery.
Special Character Handling: Bcrypt hashes contain special characters (e.g., $). These must be escaped differently depending on the configuration format.