name: next-actions-2026-06-03 description: To-do aperti a fine sessione 2026-06-03 (post bonifica MAIND + CI gate + infra upgrade) last_update: 2026-06-03 owner: gregorio ref: ops/platform-authorizations-tracker.md · ops/sub-processors.md · execution/spese-mensili.md

Next Actions · 2026-06-03 (fine sessione)

Contesto: sessione bonifica MAIND (PR #150-154 merged, prod verde) + infra potenziata (GitHub Pro + branch protection master, Supabase Pro, Render eliminato).

🔴 Pre-1° cliente pagante (compliance · revFADP CHF 250k)

  • [x] Iubenda · piani acquistati 2026-06-03Essentials su multiverbe.com (landing, annuale €59,88/anno · flow/4534066, ID 92115618) + Advanced su multiverbe.app (app, mensile €21,99 · flow/4553637 · wizard sede CH + utenti mondo + SaaS + IT). Scelta 2 progetti separati (non 1 multi-dominio): piani diversi = progetti diversi, è anche l'architettura più pulita. Resta da fare sul dashboard (gratis, post-acquisto):
    • [x] sub-processor nella policy APP (2026-06-04): 6 inseriti (Stripe·Supabase·Vercel·Brevo email·Anthropic·Mistral — tutti i flussi PII cliente); il resto nella lista canonica /legal/subprocessors (live · #163). Dettaglio: iubenda-subprocessors-turnkey-2026-06-03.md.
    • banner = Klaro (deciso): NON attivare la Cookie Solution Iubenda sull'app (sarebbe doppio banner). Iubenda app = solo policy/cookie-policy/ToS/ROPA/DSR.
    • step "Titolare del sito web" (Iubenda) + ToS → DA FARE quando avremo la ragione sociale registrata in mano (non inventarla). Idem step "Integrazione" (embed policy + link a /legal/subprocessors) e il subset sub-processor sulla landing 92115618.
    • quando ci sono fondi: Advanced app mensile → annuale (-16%).
  • [ ] Brevo a pagamento entro ~8 Giu (free 300 email/giorno insuff. al go-live · piano Lite)
  • [ ] Pianeta Web · compliance dei SITI CLIENTE (gate-relevant: i siti dei primi 5 paganti raccolteranno dati dei LORO visitatori — form, cookie, analytics). ⚠️ La Iubenda di Multiverbe NON copre i siti generati: lì il cliente PMI = data controller, Multiverbe = processor. Ogni sito generato deve uscire con privacy + cookie policy + banner consenso a nome del cliente. Era già flaggato BLOCCANTE GDPR/LPD nel Business_Eye legacy. Decidere il meccanismo: (a) Iubenda agency/API per-sito, (b) generatore proprio + Klaro embedded, (c) ibrido con base legale rivista. + DPA outbound Multiverbe→cliente click-wrap all'onboarding (Multiverbe processor · vedi skill multiverbe-ch-compliance + sub-processors.md). Da formalizzare in canon Pianeta Web. → ANALISI + DECISIONE in pianeta-web-compliance-2026-06-03.md (two-layer model, numeri 5/60/600/10k clienti, raccomandato (c) ibrido-proprietario: Klaro+CookieBanner già in codice, costo marginale €0 vs €180-600k/anno affitto Iubenda a regime; Iubenda solo per le 2 superfici proprie). DPA click-wrap riusa legal_acceptances. canon r.41 già dice (c) proprietario ("il cliente non usa Iubenda a parte") → gate residuo = revisione legale CH del template base (CHF 1-3k una-tantum). P1 (endpoint /legal/subprocessors + 30gg) → PR #163 aperta.
    • ✅ CODICE COMPLETO 2026-06-04 (sessione Pianeta Web compliance): 13 PR atomiche TUTTE MERGIATE in master, CI verde. #163/#178/#181/#182/#186/#191/#192/#194/#196/#197/#201 (macchina base) + #207 (compliance senza avvocato) + #208 (footer per-tenant). Dettaglio completo in pianeta-web-compliance-2026-06-03.md §10.
    • 🟢 NIENTE PIÙ AVVOCATO A PAGAMENTO (decisione founder 2026-06-04 + #207): modello owner-responsibility + fonti ufficiali (SCC UE 2021/915) + carve-out settori regolati + due diligence documentata (legal-templates-no-lawyer-strategy-2026-06-04.md). Standard Wix/Squarespace.
    • 🔴 UNICA AZIONE RESIDUA = founder accende 2 flag (auto-attestazione, reversibile): LEGAL_TEMPLATES_REVIEWED=true + OUTBOUND_LEGAL_REVIEWED=true → tolgono i watermark e accendono P4-live. Niente più codice core, niente avvocato (salvo i ~5% settori regolati, già segnalati da isRegulatedSector, a carico cliente).

🔵 Hygiene / qualità (non bloccante)

  • [ ] 2FA su Vercel · Supabase · Register.it (vedi account-aziendali.md)
  • [x] CI · estendere path-filter Semgrep a api/** + src/** + sites-runtime/**PR #169 (la SAST ora scatta sui cambi di codice, non solo deps/Dockerfile/workflow). Ha subito scovato 1 FP pre-esistente sfuggito al gate (raw-html-format su generate-text.ts:191, prompt LLM rawUserPrompt introdotto da #155) → soppresso nosemgrep documentato. Gate invariato (ERROR+WARNING bloccante, 0 finding). CI verde.
  • [ ] CI · fix blocker Dependabot pnpm-lock stale (ERR_PNPM_OUTDATED_LOCKFILE su #64/#135-139) · pnpm install --lockfile-only o config Dependabot pnpm

✅ Fatto in questa sessione (2026-06-03)

  • Bonifica MAIND completa: PR #150-154 merged, prod Vercel verde
  • GitHub Pro + branch protection master · Supabase Pro · Render servizio+workspace eliminati
  • Gate Semgrep ERROR+WARNING (0 finding) · gitleaks fixato (permessi) · regola permanente "fix warning/blocking alla radice"