tools.totp_tools module

Per-user TOTP (time-based one-time password) accounts.

Secrets are stored in Redis encrypted with the same stack as API keys (api_key_encryption: per-user keys in SQLite, API_KEY_MASTER_KEY).

Redis: stargazer:user_totp:{user_id} — hash field = account label, value = encrypted JSON with secret (base32) and optional metadata.