PIN layer 는 어떤 웹 프레임워크 뒤에든 들어맞는 작은 self-contained 인증 시스템. trusted perimeter (Tailscale) 안에 per-request 인증을 추가해서, perimeter 가 깨져도 자물쇠가 남아있게 해.
구성요소
| 컴포넌트 | 하는 일 | 위치 |
|---|---|---|
| Middleware | 모든 요청 게이트: bypass / session-check / login redirect | 웹 프레임워크 요청 파이프라인 |
| SQLite 테이블 | Config (PIN hash, settings), session, blacklist, retry attempt | 디스크의 파일 하나 |
| Login 엔드포인트 | PIN 검증, session 쿠키 발급, 실패 시 retry counter 증가 | POST /login |
| Logout 엔드포인트 | session row 삭제, 쿠키 clear | POST /logout |
| Admin 엔드포인트 | session 리스트, blacklist 관리, "Revoke All" killswitch | /admin/security/* (Track 8) |
스키마 전체
테이블 4개, join 없음, 마이그레이션 필요 없음. 다음 레슨들이 요청이 만지는 순서로 각 컴포넌트 walk through.