frontend/src/pages/applications/Users/settings/SecurityTab.js:99 posts to POST /auth/reset-password, supplying the current password plus new/confirm values.
Formik validation enforces strength rules client-side; backend validation in backend/r/auth_all.js:273 repeats the same constraints before authController.resetPassword updates credentials.
frontend/src/pages/applications/Users/settings/DeactivateUser.js:25 invokes POST /u/deactusr to suspend the account while preserving data.
frontend/src/pages/applications/Users/settings/DeleteUser.js:53 starts deletion with POST /u/delusrp (preflight) and confirms via POST /u/delusr once the emailed key is provided.
Routes are registered in backend/r/users.js:226 (/u/deactusr), :247 (/u/delusrp) and :252 (/u/delusr), each debounced to avoid accidental double submissions.
All security forms share the same snackbar pattern: success responses show green notices, while API errors bubble up the msg field returned by the controller for precise feedback.
The deletion flow prevents submission until a valid confirmation key is entered, minimising accidental account loss.