open atlas

security

Security

The ways real apps get attacked and how to defend them — safe login and sessions, validating input, and the common mistakes that leak data.

9 units·46 lessons·~39 h

Start track
00

Start from zero

Before the senior material: what web security even is, and the handful of words the rest of the track assumes you already know.
01

Owasp modern

Coming soon — Web security
02

OAuth 2.1 and OIDC: delegated authorization that does not leak

PKCE everywhere, exact redirect match, refresh rotation, sender-constrained tokens. Skipping any one mandatory check is a CVE.
03

Jwt pitfalls

Coming soon — Web security
04

Csrf

Coming soon — Web security
05

Password hashing

Coming soon — Web security
06

Secrets

Coming soon — Web security
07

Supply chain

Coming soon — Web security
08

Putting it together

Coming soon — Web security

Build with this track

Guided projects that exercise what you learn here.

◆ Projects

A Next.js app to production

Build a multi-tenant content app on the App Router — then run it: lock down auth and secrets, layer the caches, decide every edge-vs-node call, and work the incident when one tenant poisons a shared ISR page.

◆ Projects

Mini OAuth 2.0 + PKCE login

Implement the authorization-code + PKCE flow end to end against a real provider, so you understand every redirect and token instead of trusting a library.

◆ Projects

Presigned upload flow

Direct-to-storage uploads via presigned URLs with size/content-type limits and a completion webhook that verifies the object actually arrived — so your API server never touches file bytes.

◆ Projects

Distributed rate limiter

Build a token-bucket limiter that holds across many app instances by keeping the counter in Redis, not in process memory.

◆ Projects

Threat-Model and Harden a Small App

Take a small app you fully own and run it through the loop a real security engineer lives in: first map how an attacker would actually break it, then close those paths one by one. You build an attack tree against your own service, then fix authentication, authorization, secrets handling, security headers, and input validation — and write down which fix kills which branch of the tree. This is the whole craft of defensive security in miniature: not a checklist, but a chain from threat to mitigation you can defend out loud.

◆ Projects

URL shortener at scale

Build a URL shortener that survives real traffic — then run it: deploy it, watch it, and work the incident when one hot link melts your cache.

Next track

Observability

How to see what your running system is doing — through logs, metrics, and traces — so that when something breaks at 3am you can actually find out why.