In this chapter, we discussed different aspects of a secure system. Since security is a complex topic, you cannot approach it only from the angle of your own application. All applications nowadays function in some environment and it is important to either control this environment and shape it according to your requirements or to shield yourself from the environment by sandboxing and isolating the code.
Having read this chapter, you are now ready to search for the vulnerabilities in your dependencies and in your own code. You know how to design systems for increased security and what tools to use in order to find possible flaws. Maintaining security is a constant process but a good design can reduce the work further down the road.
The next chapter will deal with scalability and the various challenges that we may face when growing our system.