User model already includes :lockable (DB columns are migrated) but the
config block in `devise.rb` was entirely commented out, so the strategy
defaulted to :none — no lockout, no rate limit, nothing standing between
the internet and Devise's bcrypt loop.
Self-hosted deployments expose docuseal.<apex>/users/sign_in publicly
(the embedded builder requires an admin session). Lock the account on
10 failed attempts, recover via email OR 1-hour wait.