As developers we need to build secure software, but can’t possibly know everything about security. Secure-by-design is a guiding principle for building software. By tackling security issues when designing the application security is no longer an afterthought after the project has been completed. We’ll learn how good design drives security by using patterns, mindsets, and best practices for real world development. We’ll also discuss how to find and address flaws in existing code and. Most importantly we’ll discuss how good design encourages security by using domain primitives, error handling, and validation.