Free course

Security Fundamentals Course

Learn to threat-model software, choose practical controls, protect data and secrets, test important failure paths, and prepare for incidents.

5 modules · 25 lessons · No signup

~~~

Your progress

of lessons completed.

Course completed.

What you'll learn

Review a small product from assets and trust boundaries through prevention, detection, response, and tested recovery.

Take this course offline

Subscribe to my newsletter to get every free book and course in PDF and EPUB format.

Get the downloads

Course contents

  1. Security thinking

    Identify assets, attackers, trust boundaries, and the risks worth addressing first.

    1. Start with assets and harm
    2. Model threats and attackers
    3. Draw trust boundaries
    4. Prioritize real risk
    5. Check your understanding: security thinking
  2. Protect by default

    Apply least privilege, secure defaults, defense in depth, and data minimization.

    1. Apply least privilege
    2. Choose secure defaults
    3. Use defense in depth
    4. Minimize data and authority
    5. Check your understanding: protect by default
  3. Data and secrets

    Separate cryptographic operations, protect transport, manage secrets, and generate tokens safely.

    1. Separate encoding, hashing, and encryption
    2. Protect data in transit
    3. Manage application secrets
    4. Use secure randomness
    5. Check your understanding: data and secrets
  4. Find and fix weaknesses

    Validate boundaries, patch with context, write security tests, and review tool findings.

    1. Validate at the boundary
    2. Patch with context
    3. Write security tests
    4. Use security tools with judgment
    5. Check your understanding: find and fix weaknesses
  5. Detect, respond, and recover

    Create useful evidence, prepare an incident plan, contain harm, restore, and learn.

    1. Log useful security events
    2. Prepare an incident plan
    3. Contain without destroying evidence
    4. Restore and learn
    5. Check your understanding: detect, respond, and recover