https://blog.stackademic.com/java-security-best-practices-for-protecting-your-applications-e25696b9ecd7