Critique

Защищённая сессия. Пароли хранятся в виде хеша, секреты — только в переменных окружения.