https://github.com/FallibleInc/security-guide-for-developers/blob/master/security-checklist.md
Bcrypt (no salt necessary - Bcrypt does it for you).logout.state parameter in OAuth2.OTP based mobile verification, do not send the OTP back in the response when generate OTP or Resend OTPAPI is called.Login, Verify OTP, Resend OTP and generate OTP APIs for a particular user. Have an exponential backoff set or/and something like a captcha based challenge.my cart, my history should check the logged in user's ownership of the resource using session id./me/orders instead of /user/37153/orders. This acts as a sanity check in case you forgot to check for authorization token.Edit email/phone number feature should be accompanied by a verification email to the owner of the account.Profile photo upload feature should sanitize all the EXIF tags also if not required.UUID instead of integers. You can find an implementation for this for your language on Github.salt from payment gateways should not be hardcoded.secret / auth token from 3rd party SDK's should not be hardcoded.server to server should not be done from the app.Add CSP header to mitigate XSS and data injection attacks. This is important.Add CSRF header to prevent cross site request forgery. Also add SameSite attributes on cookies.Add HSTS header to prevent SSL stripping attack.Add your domain to the HSTS Preload ListAdd X-Frame-Options to protect against Clickjacking.Add X-XSS-Protection header to mitigate XSS attacks.Sanitize all user inputs or any input parameters exposed to user to prevent XSS.Sanitize user input for special cases like robots.txt as profile names in case you are using a url pattern like coolcorp.io/username.open ports.databases especially MongoDB & Redis.