- Videos page now requires a shared password to access
- Login page repurposed as password entry (password: higgy2024)
- Auth state persisted in localStorage (remembers forever)
- Header shows Client Login / Log Out based on auth state
- Removed signup page (not needed with shared password)
- Password stored as SHA-256 hash (not plaintext)
To change the password:
printf 'newpassword' | sha256sum
Then update VALID_HASH in lib/auth.ts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>