# 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 |
