AnyBot/docs
AnyBot Dev b23ac40c0b Relay 2FA: TOTP + recovery codes, argon2id, one-page logout (S2)
- login with 2FA on returns a 5-minute challenge, not a session; the session
  comes from /relay/2fa/verify with an authenticator code — or one of eight
  recovery codes, each good once (hash slot emptied)
- /relay/2fa/enroll hands out the secret (QR) + codes once; enabling completes
  only when a real code proves the app has the secret; disable proves the code
- /relay/sessions/logout kicks every device of the account from one page
- password hashes are argon2id (memory-hard, OWASP parameters); stored PBKDF2
  hashes still sign in — no forced reset, upgrade on next password change
- TOTP is RFC 6238 (vectors pinned in tests); mobile page prompts for the
  second step; protocol.md documents the endpoints
- fixes a double-lock in /relay/me found by the flow test (handlers hold one
  data guard: read through it)
2026-11-09 17:52:42 +08:00
..
specs Rewrite decompilation comments as behaviour specs; move reverse-engineering docs out of the repo; drop third-party marks from UI strings (i18n tables synced) 2026-11-09 16:37:33 +08:00
architecture.md Merge harness-durable: the work log and 「繼續」 card join the planned, quick-model turn 2026-11-09 09:02:46 +08:00
install.md One-step install: install.sh, fixed Linux and server builds, clearer README 2026-11-05 00:52:10 +08:00
multi-device.md HTTPS on the local network's own IP, with a certificate the server signs itself 2026-11-07 21:27:07 +08:00
plan-2026-11-computer-use.md Plan: smoother computer use and box logins that survive a rebuild 2026-11-06 22:06:49 +08:00
plan-2026-11-improvements.md Plan: M3 done (C3/C4/C7/S3) 2026-11-09 17:20:15 +08:00
protocol.md Relay 2FA: TOTP + recovery codes, argon2id, one-page logout (S2) 2026-11-09 17:52:42 +08:00
release.md make, README and docs: build and install from source 2026-11-04 22:16:45 +08:00