SecAppDev original

Secure by Design — Ideas and Techniques

Video and handoutsSecAppDev 2026

Secure designDomain-driven design

Abstract

Most security vulnerabilities aren’t introduced by careless developers. They’re made possible by design decisions that nobody flagged as security decisions at the time.

This session introduces Secure by Design as a way of thinking, not a checklist. We’ll look at how everyday design choices — how you model your domain, define your types, draw your boundaries — can close down attack surfaces. The same thinking that makes code correct and maintainable tends to make it secure. Security becomes a property that emerges from good design rather than a layer bolted on afterwards.

Handouts available for this lecture

Download

Chapters

  1. Introduction, agenda, and goals
  2. Bank robbery and security as a concern
  3. Digital security and the CIA+T triad
  4. Secure by Design as a method
  5. Integrity: modeling a hotel room
  6. Domain primitives and semantic validation
  7. Domain primitives as intelligent building blocks
  8. Applying domain primitives to legacy code
  9. Confidentiality and implicit data leakage
  10. Read-once pattern for sensitive values
  11. Traceability and logging as a subsystem
  12. Second-order injection and domain-oriented logging APIs
  13. Availability and advanced persistent threats
  14. Cloud patterns for flexible systems
  15. Rotate, repave, repair, and final takeaways

In-person course

Dan Bergh Johnsson and Daniel Deogun taught at a previous edition of SecAppDev

SecAppDev is an immersive course in secure application development, running annually since 2005. World-renowned faculty from industry and academia deliver in-depth 90-minute lectures and full-day workshops in an intimate setting, typically in early June.

More about SecAppDev

Regular updates, at most twice a month

We will email you about new talks on the SecAppDev Academy, along with updates on the annual in-person course. No tracking, and you can unsubscribe at any time.