# Spec 016 — Tasks **Spec:** Pré-preenchimento Self-Service → Wizard **Backlog 2FA export:** [BACKLOG-2FA-BACKUP-EXPORT.md](BACKLOG-2FA-BACKUP-EXPORT.md) --- ## Entregue (core Spec 016) - [x] `beginOnboardingForEmail()` + `ligbox_planned_email` - [x] `setPortalOnboardCredentials()` → sessionStorage senha - [x] `syncWizardWithPlannedEmail()` — prioridade Self-Service - [x] `loadWizardStateForOnboard()` no mount wizard - [x] Fluxo registo → TOTP → redirect `/onboard` - [x] `PortalTotpSetup.jsx` — ecrã «Salve estes códigos» (visual only) --- ## Backlog — Export códigos backup 2FA (Roger 2026-06-19) **Status:** 📋 Aguardando implementação **Prioridade:** P2 ### Fase B1 — Quick wins - [ ] **B1-01** Botão «Descarregar .txt» em `PortalTotpSetup.jsx` - [ ] **B1-02** Botão «Copiar todos os códigos» + toast confirmação - [ ] **B1-03** Formato ficheiro `ligbox-codigos-recuperacao-{login}-{date}.txt` ### Fase B2 — Partilha manual (deep links) - [ ] **B2-01** Botão Telegram → `t.me/share/url` - [ ] **B2-02** Botão WhatsApp → `wa.me/?text=` - [ ] **B2-03** Aviso segurança «não partilhe em grupos públicos» ### Fase B3 — Cofre de senhas (MVP) - [ ] **B3-01** Botão «Guardar no cofre» → copiar Secure Note formatada - [ ] **B3-02** Modal instruções 1Password / Bitwarden / Apple Passwords ### Fase B4 — Google Drive - [ ] **B4-01** OAuth Google + scope `drive.file` - [ ] **B4-02** Upload `.txt` para Drive do utilizador - [ ] **B4-03** Fallback para download local se OAuth falhar ### Fase B5 — Integrações avançadas (opcional) - [ ] **B5-01** Web Share API (mobile) - [ ] **B5-02** Telegram Bot Ligbox (envio directo) - [ ] **B5-03** Paridade export na Spec 004 Desk (`activate.html`) ### Fase B6 — UX / segurança - [ ] **B6-01** Barra de acções responsiva (ícones + labels) - [ ] **B6-02** Badge «✓ Guardado» por canal usado - [ ] **B6-03** Revisão NFR: zero códigos em logs/webhooks --- ## Dependências | Tarefa | Depende de | |--------|------------| | B4 Google Drive | Conta Google Cloud + OAuth client | | B5-02 Telegram Bot | Token bot + política privacidade | | B5-03 Desk paridade | Spec 004 maintainers |