C.W.K.
Stream
← C.W.K. Quests
🔐

Solo Auth Quest

Updated: 2026-05-04

Security When You're the Only User (Until You're Not)

A practical, gotcha-first security quest for solo developers — threat models, the 0.0.0.0 decision, Tailscale's real limits, a PIN layer in 100 lines, killswitches for lost devices, admin dashboards that make security visible, and the LLMs in your editor that quietly leak your secrets.

10 tracks · 53 lessons · ~14h · difficulty: intermediate

Level 0Greenhorn
0 XP0/53 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete
Most security writing is for enterprises with security teams and compliance budgets. This is for the rest of us — one developer, side projects, internal tools, an LLM in the editor, and a phone in the pocket that occasionally walks off in a taxi. We build a defensible posture from first principles: threat-model the actual risks (opportunistic scanners + lost devices, not nation-states), name the auth vocabulary cleanly, decide on bind addresses with eyes open, use Tailscale as the first lock and a PIN middleware as the second, defend against brute force with bcrypt + lockout + blacklist, and ship a killswitch you can hit from any device in 15 seconds. Along the way, we cover the security incidents nobody talks about: AI editors leaking your .env into chat transcripts, IPv6 backdoors on services you thought were localhost-only, and the 'I have Tailscale so I'm secure' illusion. Built for the world we actually code in.

Tracks

  1. 01🎯The Threat Model You're Ignoring

    0/6 lessons

    Why solo devs get pwned, and how to think about it instead

    Most security writing assumes nation-state attackers. Almost all real solo-dev compromises are opportunistic scanners or lost devices. This track resets your threat model to the actual one — then introduces STRIDE in 60 seconds and the 3-minute / 30-second rules that govern every later layer.

    Lesson list (6)Quiz · 5 questions
  2. 02📖Auth Vocabulary, Cleanly Distinguished

    0/6 lessons

    AuthN vs AuthZ, sessions vs tokens, identifiers vs credentials vs secrets, perimeter vs per-request, CIA, trust boundaries

    Half of all auth bugs come from confusing two terms that get conflated in the same sentence. This track gives you a clean shared vocabulary so the rest of the quest doesn't talk past you — including why sessions beat JWT for solo apps, why bcrypt and not SHA256, and why 'CIA' has a hidden second A you should care about.

    Lesson list (6)Quiz · 5 questions
  3. 03🌐The 0.0.0.0 Decision

    0/5 lessons

    The single most consequential line in your config — bind addresses, IPv6 twins, UPnP, reverse-proxy traps

    Almost every solo-dev 'I got owned' story starts with the wrong host binding. This track teaches you to read your own listening sockets, see what's actually exposed from outside, and pick a bind address by walking a 30-second flowchart. By the end, '0.0.0.0' will feel like the load-bearing decision it is.

    Lesson list (5)Quiz · 5 questions
  4. 04🛰️Tailscale as First Line — Power and Limits

    0/5 lessons

    Mesh VPN as the perimeter, ACLs to limit blast radius, the lost-device weakness, alternatives

    Tailscale is the closest thing to a free perimeter for solo devs. This track covers what it actually authenticates (devices, not humans), the 60-second setup path, ACLs that shrink blast radius when a phone disappears, and when to reach for Headscale or raw WireGuard instead.

    Lesson list (5)Quiz · 5 questions
  5. 05🔢The PIN Layer — Real Auth in 100 Lines

    0/6 lessons

    Middleware, SQLite tables, bcrypt, IP-bound sessions, login/logout, the killswitch endpoint

    The center-of-mass of the quest. We build a complete, drop-in PIN authentication layer for any FastAPI / Starlette app — middleware, four SQLite tables, login with bcrypt, IP-bound session cookies, logout, and the Revoke All killswitch — about 100 lines, no external dependencies beyond bcrypt.

    Lesson list (6)Quiz · 5 questions
  6. 06🛡️Brute Force Defense

    0/5 lessons

    The math behind 4-digit PINs, lockout cycles, exponential backoff, honeypots, and self-lockout recovery

    Why 4 digits is enough when you stack the right defenses, why per-IP lockout (not per-user), the trade between hard lockout and exponential backoff, and the always-available recovery path so you never permanently lock yourself out.

    Lesson list (5)Quiz · 5 questions
  7. 07🚨The Killswitch & Lost-Device Playbook

    0/5 lessons

    The single most valuable button — fast, complete, recoverable, reachable from any device

    Every layer in this quest serves one moment: the day you realize a device is gone. This track makes that moment survivable — the killswitch endpoint, the 10-minute lost-phone playbook, what to pre-stage before you need it, granular killswitches for lesser incidents, and the post-mortem that turns a near-miss into permanent hardening.

    Lesson list (5)Quiz · 5 questions
  8. 08📊Admin Dashboard — Make Security Visible

    0/5 lessons

    Status header in 3 numbers, active sessions table, attempts log, audit log

    Authentication systems fail silently. The first sign that something is wrong is rarely an alarm — it's a vague feeling on a Tuesday afternoon. The dashboard turns that feeling into evidence in 30 seconds. Four sections, one HTML page, no JavaScript framework needed.

    Lesson list (5)Quiz · 5 questions
  9. 09🤖Don't Trust the LLM in Your Editor

    0/5 lessons

    Why AI assistants leak secrets, the concrete vectors, and the only defense that works

    The most under-appreciated security risk for solo developers in 2026: the AI assistant in your editor is the single biggest secrets-leak surface, and the leak is silent, well-formatted, and looks helpful. This track covers the headline truth, the five concrete leak vectors, the defense (don't let the LLM see the secret), and what to actually do when (not if) a secret leaks.

    Lesson list (5)Quiz · 5 questions
  10. 10⛓️Beyond PIN — When to Add More Layers

    0/5 lessons

    When PIN stops being enough, passkeys, OAuth & magic links, encryption at rest, the stack map

    The PIN layer from Track 5 is the right answer for a startling number of solo apps — but threat models shift. This track teaches you to recognize when PIN is no longer enough, how passkeys / OAuth / magic links solve specific problems, when encryption at rest matters, and how every layer in this quest plugs into a real stack.

    Lesson list (5)Quiz · 5 questions
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.