Mappa unica · TUTTO ciò che manca da agganciare perché Multiverbe performi al meglio
Aggiornata 2026-06-22 · per Gregorio e Loris
Prima di leggere, una cosa importante da capire. Quasi tutto quello che trovi qui sotto è già costruito e testato dentro il codice. Non è roba da scrivere da zero: è roba "spenta" che aspetta solo un interruttore. L'interruttore, nella stragrande maggioranza dei casi, è una variabile d'ambiente (una specie di password o impostazione che il founder incolla nel pannello di Vercel, il servizio che ospita l'app). Solo due o tre voci richiedono vero lavoro di programmazione. Tutto il resto è "accendi e verifica".
Una nota onesta che vale per tutto: nessuna delle tre scansioni ha potuto leggere le impostazioni reali dentro Vercel. Quindi quando si dice "probabilmente non impostata" è una deduzione molto motivata (assenza dai file locali del founder + commenti nel codice + note nel BOS), non una certezza al 100%. Il primo passo pratico per metà di questa lista è semplicemente aprire il pannello Variabili d'Ambiente di Vercel e controllare cosa c'è davvero.
🏆 TOP 5 · Accendi questo prima (massimo impatto, minimo sforzo)
Queste cinque sono il punto di leva più alto: o sbloccano tante altre cose a cascata, o tengono in piedi l'infrastruttura, o si accendono in pochi minuti senza dipendere da nessuno fuori.
1. Pagare la fattura Vercel (rischio spegnimento di TUTTO) · priorità ALTA · urgentissimo. La carta del founder (finale 9808) è stata rifiutata 7 volte. Il prossimo tentativo è il 23 giugno (domani), poi Vercel può spegnere i progetti. Vercel ospita l'app, il BOS e tutti i siti dei clienti. Se si spegne, nessuna delle altre 40 voci di questa lista conta più niente. Azione Gregorio: pagare o aggiornare il metodo di pagamento entro il 23 giugno. Questa viene prima di tutto.
2. OAUTH_TOKEN_ENCRYPTION_KEY (la chiave madre dei connettori) · priorità ALTA. È una chiave segreta con cui l'app cifra i token quando un cliente collega Google, Meta, X o Clarity. Senza, nessun connettore OAuth può salvare la connessione: anche se avessi tutte le altre credenziali pronte, il token ricevuto non si può conservare e tutto fallisce. È il prerequisito trasversale che sblocca un intero gruppo di funzioni. Si genera in trenta secondi (una stringa casuale di 32 byte) e si incolla su Vercel insieme alla gemella OAUTH_STATE_SECRET (che protegge il flusso di login da attacchi). Azione Gregorio: generare e impostare le due chiavi su Vercel.
3. VITE_ONBOARDING_V2 = true (la nuova accoglienza del cliente) · priorità ALTA. È il nuovo flusso di benvenuto dell'app: 18 settori in 5 categorie più un aiuto AI che capisce il settore da una frase libera. È pronto all'80% ma spento di default per sicurezza, quindi oggi i clienti vedono ancora il flusso vecchio. Accenderlo riduce il tempo per arrivare al primo valore da 8-10 minuti a circa 3 (meno 65%), e il founder lo ha già messo tra i compiti urgenti per il dogfooding (cioè per provare l'app in casa) entro il 30 giugno. Nessuna credenziale esterna, solo un interruttore. Azione Gregorio: impostare VITE_ONBOARDING_V2=true su Vercel, prima in Preview poi in Produzione.
4. VITE_POSTHOG_KEY (gli occhi sul comportamento utente) · priorità ALTA. PostHog misura cosa fanno davvero gli utenti dentro l'app: dove si bloccano nell'onboarding, quali pianeti usano, dove abbandonano. Il codice è già integrato (PR #387) ma resta inerte finché manca questa chiave. Senza, si vola alla cieca proprio mentre si fa dogfooding. Si crea un account PostHog regione EU (per la privacy), si copia la chiave e si incolla. Va a braccetto col punto 3: accendere l'onboarding nuovo senza misurarlo sarebbe metà lavoro. Azione Gregorio: creare progetto PostHog EU + impostare VITE_POSTHOG_KEY/HOST/PROJECT_ID su Vercel.
5. Verificare CRON_SECRET (il battito che fa girare le automazioni) · priorità ALTA. I quattro lavori automatici di Vercel (promemoria costi, notifiche, pubblicatore di contenuti programmati, sync Clarity) sono protetti da un segreto. Se questo segreto non è impostato correttamente, i lavori rispondono "401 non autorizzato" e falliscono in silenzio: è esattamente il "pubblicatore automatico che non pubblica" segnalato come collo di bottiglia del 30 giugno. Costa poco verificarlo (controllare le impostazioni e i log di Vercel) e sblocca i loop automatici. Azione Gregorio/Claude: verificare CRON_SECRET su Vercel e controllare nei log che i 4 cron rispondano 200, non 401.
Menzione d'onore appena fuori dalla Top 5: VEO/QStash a parte, le due chiavi Vertex AI EU (vedi sotto, categoria Infra) sono il vero motore di tutta la generazione AI. Sono "alta priorità" ma richiedono creare un service account Google Cloud, quindi un filo più di lavoro: per questo restano subito sotto la Top 5, ma vanno fatte presto perché senza di loro buona parte del prodotto risponde "errore 503".
1 · Integrazioni e connettori (dati che entrano dall'esterno)
Sono i tubi che portano dentro il "cervello" (il Sole, l'AI orchestratrice) i dati reali del cliente: statistiche del sito, social, ricerca web. Quasi tutti dipendono dalla chiave madre OAUTH_TOKEN_ENCRYPTION_KEY del punto 2.
Connettori Google (Analytics + Search Console + Business Profile) · priorità ALTA. Un solo bottone "Collega Google" che porta dentro l'app le visite del sito (Analytics/GA4), il posizionamento sui motori di ricerca (Search Console) e la scheda Google dell'attività con recensioni e orari (Business Profile). È la spina dorsale dati del Pianeta Web. Oggi è tutto dormiente: gli adapter rispondono "non configurato". La buona notizia: la Business Profile API è già stata approvata da Google il 18 giugno (caso 7-0288000041625), e la Search Console di multiverbe.com è già verificata. Cosa serve: creare un client OAuth "Web application" in Google Cloud Console, abilitare la Business Profile API, e impostare su Vercel GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET, GOOGLE_OAUTH_REDIRECT_URI più i due flag GOOGLE_SEARCH_CONSOLE_ENABLED=true e GOOGLE_BUSINESS_PROFILE_ENABLED=true (questi due si accendono solo dopo l'OK Google, quindi sono in pratica già sbloccabili). Impatto: senza, la pagina Analytics resta vuota e il Sole è cieco su una delle fonti di segnale più ricche. Azione Gregorio (credenziali) + un po' di wiring Claude per finire gli adapter oltre lo stub.
Connettore X / Twitter · priorità MEDIA. Il bottone "Collega X" che fa pubblicare e leggere su X per conto del cliente. È il primo canale social che funziona davvero end-to-end senza l'App Review di Meta (X ha barriere più basse), quindi è la via più rapida per chiudere in parte il loop "genera e pubblica". Codice già pronto (risponde 503 finché non configurato). Serve: creare un'app nel developer portal di X, ottenere client id e secret, impostarli su Vercel (più le chiavi OAuth del punto 2). Azione Gregorio.
Connettore Microsoft Clarity (mappe di calore + replay sessioni) · priorità MEDIA / BASSA. Clarity registra dove cliccano e dove abbandonano i visitatori del sito. È già attivo sulla landing (progetto xazmjo2s89) e si auto-inietta nei siti dei clienti generati; manca solo portare i dati dentro l'app col token Data Export, così il Sole li legge. Il cron di sync (alle 3:00) è già in attesa. Serve: incollare in app (Impostazioni → Microsoft Clarity) il Project ID e il token Data Export, impostare OAUTH_TOKEN_ENCRYPTION_KEY (punto 2), aggiungere Clarity alla lista dei subprocessor nella privacy, e togliere il vecchio tag da GTM per evitare il doppio caricamento. Nota: Clarity come tag analytics resta deprecato a favore di PostHog (decisione BOS v135), ma il connettore dati heatmap è un discorso a parte e utile. Azione Gregorio (token + UI). Guida pronta in ops/guida-attivazione-connettori.md.
Insight Meta / Instagram-Facebook · priorità BASSA (bloccato a monte). Porta dentro le statistiche dei social Meta. Oggi è uno scheletro inerte di proposito (flag META_INSIGHTS_ENABLED=1). Il blocco vero non è tecnico: serve prima la verifica business Meta, che richiede l'entità svizzera Sagl (compito di Loris) e poi il superamento dell'App Review Meta. Catena: (1) Loris costituisce la Sagl, (2) verifica Meta, (3) App Review, (4) si collega via OAuth, (5) si accende il flag. Azione Loris (entità) prima di tutto.
Ricerca web esterna (Perplexity / Tavily / Brave / Serper) · priorità MEDIA / BASSA.
Danno al Sole la capacità di "guardare fuori": trend di mercato freschi dal web e il controllo di visibilità AI (cioè se l'attività del cliente viene citata nelle risposte di Perplexity, ChatGPT, AI Overviews). Sono potenziatori, non bloccanti: se spenti, degradano in silenzio (zero snippet). Attenzione a un bug di naming trovato di passaggio: il file .env del founder ha SERPER_KEY ma il codice cerca SERPER_API_KEY (nome diverso), quindi la ricerca web di fatto è scollegata anche se sembra configurata. Per la visibilità AI serve PERPLEXITY_API_KEY (senza, il check post-pubblicazione viene saltato). Serve: scegliere un provider, impostare la chiave col nome ESATTO atteso dal codice, e i tetti di spesa EXTERNAL_SPEND_ALERT_*. Nota compliance: Perplexity diventa subprocessor. Azione Gregorio, post-dogfooding.
2 · Feature di prodotto spente (già costruite, dietro interruttore)
Funzioni vere e proprie dell'app, finite o quasi, tenute spente con un flag.
Onboarding V2 · già coperto nella Top 5 (punto 3).
Telemetria PostHog · già coperta nella Top 5 (punto 4).
Growth Strategist (motore di crescita con modello Opus) · priorità MEDIA. È il cervello strategico premium: parte dal collo di bottiglia del cliente e, con un modello AI potente (Opus, costoso), produce strategie di crescita ricche e creative invece dei consigli base. Cablato e testato (PR #299, 681 test verdi) ma spento di default per non spendere; con il flag OFF restituisce il piano base a costo zero. C'è già un tetto giornaliero (default 3 run al giorno per workspace) e una cache di 24h (un calcolo al mattino). È il differenziatore "AI che fa crescere il business, non solo che osserva". Serve: impostare GROWTH_STRATEGIST_ENABLED=1 su Vercel e verificare la differenza base-vs-strategist su un cliente reale. È una decisione di costo (margine alto, bassa frequenza). Azione Gregorio.
Predittore di abbandono CRM / churn score · priorità MEDIA. Assegna a ogni cliente un punteggio di rischio abbandono da 0 a 100, spiegabile col metodo RFM (recenza, frequenza, valore di spesa). Fa passare il CRM da "mostra i contatti" a "previene la perdita". Attenzione: questo è uno dei pochi casi di vero lavoro di codice, non un semplice flag. Il codice esiste già scritto e testato ma su un branch separato non integrato (claude/crm-churn-score); mancano la tabella sul database, il calcolo mattutino, l'insight nel cervello e il badge nella scheda contatto. Serve: una sessione di sviluppo dedicata e poi il merge. Si incastra coi loop NPS e LTV già live (PR #386/#389). Azione Claude/Gregorio (sviluppo).
Pubblicatore automatico contenuti (loop genera → pubblica) · priorità ALTA. È il vero collo del traguardo del 30 giugno. Oggi il cron content-scheduler trova i post programmati la cui ora è arrivata ed emette solo un promemoria: la pubblicazione vera resta manuale (l'utente segna "pubblicato" a mano). Il loop è chiuso a metà per scelta di onestà, perché servono i connettori social per-workspace ancora da collegare. Per chiuderlo: accendere i connettori social (X è il più vicino, vedi sopra; Meta/LinkedIn dipendono dall'entità Sagl) e innestare l'invio reale nello stesso punto del cron. Questa voce è il risultato a valle di "connettore X" + "CRON_SECRET" più sopra. Azione mista Gregorio (credenziali) + Claude (wiring).
Caselle SMTP del founder per invio email reale (loop genera → invia) · priorità MEDIA. È l'altro loop da chiudere per il 30 giugno. La pipeline Sales (outreach, follow-up) e le azioni email del Sole sono pronte ma fanno un "honest skip", cioè non spediscono, finché manca la cifratura SMTP. Senza, la pipeline si ferma alla bozza. Serve: impostare SMTP_ENCRYPTION_KEY su Vercel e collegare almeno una casella SMTP di prova (Multiverbe HQ) dall'app, poi un invio reale di verifica. Azione Gregorio (env + casella) + verifica Claude.
Satelliti Pianeta Web (Email Hub, Blog, Recensioni, Heatmap) · priorità BASSA. Sono i satelliti che orbitano attorno al Pianeta Web: inbox email centralizzata, motore blog multilingua, aggregatore recensioni Google/Tripadvisor, heatmap. Oggi sono segnaposto visivi senza backend reale (definiti nella scena 3D e nel cantiere, ma il Web Hub è ancora scheletro, rinviato a luglio 2026). Vero lavoro di sviluppo, post-gate. Azione Claude/Gregorio (sviluppo sostanzioso).
Marketing: distribuzione assistita + Ads Advisor LLM · priorità MEDIA. Il cockpit ROI e la misura sono già live (PR #322). Manca: la distribuzione assistita (l'AI prepara il pacchetto pronto da incollare) esiste come logica ma non posta sui canali; l'arricchimento copy degli annunci è dormiente dietro ADS_COPY_LLM_ENABLED (default OFF, ripiega su copy curate); la sync metriche Meta è gated da META_INSIGHTS_ENABLED. Serve: accendere ADS_COPY_LLM_ENABLED=1 dopo un giro di QA sui testi, più Vertex EU per il gateway sovrano. Azione Gregorio (flag) + Claude (adapter distribuzione).
Canali messaggi WhatsApp / SMS / Instagram DM · priorità MEDIA. Oggi funziona solo l'email (via Brevo); gli altri canali rispondono "501 non implementato". WhatsApp e Instagram dipendono dalla verifica Meta, di nuovo gated dall'entità svizzera Sagl (Loris). SMS richiede un provider (Twilio). Acceso, il follow-up del Sole raggiunge il cliente sul canale che usa davvero (WhatsApp in CH/IT), alzando molto il tasso di risposta. Azione Loris (entità) + Claude (i tre dispatcher dietro il 501).
Dettatura vocale sovrana (STT) · priorità BASSA. L'utente parla e l'audio viene trascritto da Mistral (Voxtral, EU). Spento (fail-closed). Serve MISTRAL_API_KEY server-side, STT_ENABLED=true e VITE_STT_SOVEREIGN=true. Comodità/accessibilità, non blocca nulla. Azione Gregorio.
Smistamento modelli AI 60/30/10 · priorità BASSA. La regola di usare Sonnet per il 60% del lavoro, Haiku per il 30% a volume, Opus per il 10% strategico. Il routing esiste ma oggi tutti i carichi reali sono one-shot user-facing, quindi finiscono su Sonnet. I tier Haiku e Opus sono dormienti perché mancano i carichi giusti (il principale, il Growth Strategist Opus, è a sua volta spento). Non è una leva urgente: si accende da sé quando arrivano i carichi. Nessuna azione immediata.
Memoria semantica a piena potenza (pgvector) · vedi categoria Infra (è insieme feature e infra).
Generazione video sovrana (Veo / Synthesia / Runway / Firefly) · vedi categoria Infra.
3 · Infrastruttura e servizi
I motori e le reti di sicurezza sotto il cofano.
Vertex AI EU (Gemini + Imagen) · service account mai creato · priorità ALTA. È il motore AI sovrano europeo: genera testi e immagini tenendo i dati in UE. Tutta la generazione AI dell'app passa da qui; se manca, l'app risponde "503 sovereign_routing_required" (fail-closed, nessun fallback nascosto). Oggi sembra non provisionato, mentre il cantiere lo segna "live 85%": questa incongruenza va riconciliata verificando le env reali su Vercel. Serve: creare un service account su Google Cloud per il progetto Vertex EU (regione europe-west4) con i ruoli Vertex, generare la chiave, e impostare GCP_VERTEX_PROJECT, GCP_VERTEX_LOCATION, GCP_SA_CLIENT_EMAIL, GCP_SA_PRIVATE_KEY su Vercel. Poi smoke-test in produzione di generate-text e generate-image. Sblocca Content Studio, copy del Sole e la pipeline sito. Azione Gregorio (credenziale) + verifica Claude. È il motore di mezza app: da fare subito dopo la Top 5.
Site Builder Stage 4 · immagini AI (vero stub da scrivere) · priorità ALTA. La fase 4 della pipeline che costruisce il sito-cliente dovrebbe generare le immagini reali (hero, sfondi, brand mark). Oggi è uno stub vero: i 4 client immagine lanciano "not yet implemented". È uno dei due-tre punti di vero lavoro di codice, non un flag. Il consiglio architetturale: riscrivere questi client facendoli passare per il gateway sovrano già esistente (Imagen 4 su Vertex EU, lo stesso del Content Studio che invece è già cablato), invece di provider diretti come bfl.ai (che è anche vietato dal registry). Sblocca il vero "wow" del Pianeta Web: siti generati con immagini AI proprie invece di placeholder Unsplash. Dipende da Vertex EU acceso (voce sopra). Azione Gregorio (codice).
QStash / Upstash · coda che avvia la pipeline del sito · priorità ALTA. QStash è la coda che lancia in modo differito e ritentabile la pipeline a 6 fasi che costruisce il sito (è lunga 15-30 minuti, non sta in una singola chiamata). Senza, il bottone "genera sito" non avvia il worker (risponde 503). Codice pronto. Serve: signup gratuito su Upstash QStash (stesso account del KV del BOS), copiare le 3 chiavi (QSTASH_TOKEN, QSTASH_CURRENT_SIGNING_KEY, QSTASH_NEXT_SIGNING_KEY) e SITE_BUILDER_BASE_URL=https://multiverbe.app, impostarle su Vercel, e fare un giro completo start→worker→sito pubblicato. È la spina che fa partire tutto il Pianeta Web generativo. Azione Gregorio (credenziali) + verifica e2e Claude.
CRON_SECRET · già coperto nella Top 5 (punto 5).
Pagamento Vercel · già coperto nella Top 5 (punto 1).
Memoria semantica / Voyage AI (pgvector) · priorità MEDIA. È la "memoria viva" del Sole: ricorda fatti ed episodi su ogni azienda e li richiama per significato, non solo per parola chiave. Qui c'è un'ambiguità da risolvere: il cantiere dice "live 92%" (chiave Voyage attiva, 45/57 ricordi vettorializzati) ma allo stesso tempo segna pgvector "wire 40% — versione ridotta finché non si accende la chiave". Serve: verificare che VOYAGE_API_KEY sia davvero su Vercel Production (non solo testata una volta in locale), far girare il backfill notturno per vettorializzare i 12 ricordi rimasti, e allineare il cantiere alla realtà. Senza, la memoria funziona ma degrada a recenza + keyword. Azione: check env + run sync + correzione BOS.
Sentry · monitoraggio errori · priorità MEDIA. Sentry raccoglie in tempo reale gli errori dell'app (frontend e le ~60 funzioni serverless), così un bug in produzione si vede subito invece di scoprirlo da un cliente. Codice pronto, manca SENTRY_DSN (server) e VITE_SENTRY_DSN (client). La CSP già autorizza sentry.io. È un prerequisito di qualità per un dogfooding serio e per lo standard SaaS pre-lancio. Serve: creare progetto Sentry regione EU, impostare le due env, aggiungere Sentry ai subprocessor. Self-serve, pochi minuti. Azione Gregorio.
Notifiche push web / VAPID · priorità MEDIA.
Mandano notifiche al titolare (nuova prenotazione, trattativa vinta) anche ad app chiusa. La libreria è già installata; il dispatch fa skip soft senza le chiavi. Serve: generare la coppia con npx web-push generate-vapid-keys, impostare VAPID_PUBLIC_KEY/PRIVATE_KEY/SUBJECT su Vercel più VITE_VAPID_PUBLIC_KEY lato client. Piccolo lavoro di codice residuo: completare l'UI di iscrizione e fare un test reale col tap di consenso su un device. Azione Gregorio (env) + UI/test Claude.
Rate-limit e cache Upstash Redis · priorità MEDIA (da verificare). Upstash Redis fa due cose: limita gli abusi sulle generazioni AI costose (protezione "denial-of-wallet", cioè evitare che qualcuno faccia esplodere i costi) e fa cache (es. il piano di crescita del Sole per 24h). Attenzione: è diverso dal KV Redis che già usa il BOS. Va verificato che UPSTASH_REDIS_REST_URL e UPSTASH_REDIS_REST_TOKEN siano su Vercel del progetto multiverbe-app; se mancano, il rate-limit potrebbe degradare o aprirsi. Diventa importante appena Vertex è acceso e si generano contenuti veri. Azione: check env (Claude) + eventuale signup Gregorio.
Generazione video sovrana (Synthesia / Firefly / Veo / Runway) · priorità BASSA. Il video nel Content Studio. I default sovrani EU sono Firefly (richiede DPA enterprise Adobe) e Synthesia (solo SYNTHESIA_API_KEY, il più rapido da accendere); Veo e Runway sono premium US, non sovrani, opt-in esplicito ("qualità mondiale, fuori UE"). Oggi nessun motore acceso, quindi il video fa fail-closed (503). Espande il moat creativo ma non serve per il gate del 30 giugno. Serve: decidere il motore EU, impostare la chiave su Vercel (e VEO_ENABLED=1 solo se si vuole il tier premium US). Azione Gregorio, post-gate.
Brevo · upgrade a piano a pagamento · priorità BASSA. Brevo manda le email di sistema (signup, "sito pronto", notifiche). Il free tier (300 email/giorno + logo Brevo) non basta per il go-live e penalizza la deliverability. L'upgrade a Lite/Starter era previsto intorno all'8 giugno, ora scaduto. Serve: upgrade self-serve e verifica che BREVO_API_KEY/SENDER_* siano coerenti su Vercel. Azione Gregorio, pochi minuti.
Twilio · canale SMS · priorità BASSA. Manderebbe SMS (es. promemoria prenotazione oltre a email e push). Marginale: le notifiche operative vanno già su campanella in-app e push. Solo se si decide di offrirlo: account Twilio + numero mittente CH, impostare TWILIO_ACCOUNT_SID/AUTH_TOKEN/FROM_NUMBER. Azione Gregorio, non prioritaria.
4 · Env e credenziali founder (riepilogo operativo)
Questa è la checklist pratica delle variabili da incollare su Vercel, raggruppata per "quanto sblocca". Molte sono già citate sopra: qui le metto in fila come lista della spesa.
Chiavi che sbloccano interi gruppi (alta leva):
OAUTH_TOKEN_ENCRYPTION_KEY+OAUTH_STATE_SECRET→ tutti i connettori OAuth (Google, X, Meta, Clarity). Prerequisito trasversale.GCP_VERTEX_PROJECT+GCP_VERTEX_LOCATION+GCP_SA_CLIENT_EMAIL+GCP_SA_PRIVATE_KEY→ tutto il motore AI sovrano (testo + immagini Content Studio + pipeline sito).QSTASH_TOKEN+QSTASH_CURRENT_SIGNING_KEY+QSTASH_NEXT_SIGNING_KEY+SITE_BUILDER_BASE_URL→ avvio pipeline Site Builder.CRON_SECRET(verificare) → i 4 lavori automatici, incluso il pubblicatore di contenuti.
Flag che accendono feature pronte (alta leva, zero credenziali esterne):
VITE_ONBOARDING_V2=true→ nuova accoglienza cliente.VITE_POSTHOG_KEY(+ HOST + PROJECT_ID) → misura comportamento utente.
Connettori Google e social:
GOOGLE_OAUTH_CLIENT_ID+GOOGLE_OAUTH_CLIENT_SECRET+GOOGLE_OAUTH_REDIRECT_URIGOOGLE_SEARCH_CONSOLE_ENABLED=true+GOOGLE_BUSINESS_PROFILE_ENABLED=true(dopo OK Google, già arrivato)X_CLIENT_ID+X_CLIENT_SECRETMETA_INSIGHTS_ENABLED=1(solo dopo App Review Meta, gated dalla Sagl)
Loop email e qualità:
SMTP_ENCRYPTION_KEY→ invio email reale Sales + azioni Sole.SENTRY_DSN+VITE_SENTRY_DSN→ monitoraggio errori.VAPID_PUBLIC_KEY+VAPID_PRIVATE_KEY+VAPID_SUBJECT+VITE_VAPID_PUBLIC_KEY→ notifiche push.
Fatturazione (alta priorità, ma dipende dalla Sagl per l'attivazione Stripe):
VITE_STRIPE_PRICE_STARTER/_PROFESSIONAL/_BUSINESS+VITE_STRIPE_PUBLISHABLE_KEY+STRIPE_WEBHOOK_SECRET→ checkout dei tre piani e conferma automatica abbonamento. Sul percorso critico verso i 5 clienti paganti. Catena: KYC/attivazione Stripe (richiede la Sagl, Loris) → creare i Prezzi in Stripe → impostare le env. (LoSTRIPE_SECRET_KEYè già presente.)
Qualità AI e potenziatori (media/bassa):
VOYAGE_API_KEY(verificare in Production) → memoria semantica piena.GROWTH_STRATEGIST_ENABLED=1(+ DAILY_CAP) → strategie di crescita premium.ADS_COPY_LLM_ENABLED=1+AGENT_COPY_LLM=1→ copy più creative dopo QA.INNGEST_EVENT_KEY+INNGEST_SIGNING_KEY→ job in background asincroni.UPSTASH_REDIS_REST_URL+_TOKEN(verificare) → rate-limit e cache.
Provider opzionali (bassa):
MISTRAL_API_KEY+STT_ENABLED+VITE_STT_SOVEREIGN→ dettatura vocale.PERPLEXITY_API_KEY→ check visibilità AI;SEARCH_PROVIDER+ key (occhio al bugSERPER_KEYvsSERPER_API_KEY) → trend web.SYNTHESIA_API_KEY/ADOBE_FIREFLY_*/RUNWAY_API_KEY/FAL_API_KEY/VEO_ENABLED→ video.TWILIO_*→ SMS.C2PA_SIGNING_KEY+C2PA_SIGNING_CERT→ firma di provenienza dei contenuti.
Da NON toccare (già accese, non sono gap): VITE_POSTHOG_KEY è in arrivo/parzialmente accesa secondo status.json (verificare), REPLICATE_API_TOKEN (immagini sito già ON), SUPABASE_*, ANTHROPIC_API_KEY, STRIPE_SECRET_KEY, BREVO_API_KEY (free, da upgradare). VITE_NAVBAR_3D è ON di default: non è una feature dormiente, serve solo come kill-switch della navbar 3D.
Le tre dipendenze trasversali da capire
Tre nodi spiegano perché tante cose sono ferme insieme. Tenerli a mente evita di rincorrere singole voci senza sbloccare la radice.
-
L'entità svizzera Sagl (compito Loris, ~30% nel cantiere). Sblocca a cascata: attivazione Stripe (fatturazione → 5 clienti paganti), verifica Meta (→ WhatsApp, Instagram, IG DM, insight Meta). È il nodo business più impattante. Finché non c'è la Sagl, tutto il ramo "incassare e parlare via Meta" resta bloccato a monte, per quanto il codice sia pronto.
-
OAUTH_TOKEN_ENCRYPTION_KEY (compito Gregorio, 30 secondi). Sblocca a cascata tutti i connettori dati OAuth. È l'opposto della Sagl: minuscolo sforzo, grande sblocco. Per questo è nella Top 5.
-
Vertex AI EU (compito Gregorio, ~1 ora). È il motore di tutta la generazione AI. Senza, Content Studio e pipeline sito rispondono errore. Da fare subito dopo gli interruttori istantanei della Top 5.
Avvertenza di chiusura (onestà sui dati): lo stato "live verificato" di alcuni pezzi (memoria pgvector, Vertex "live 85%", KPI dei pianeti) è dichiarato nel cantiere ma andrebbe ri-controllato in produzione prima del lancio globale. Il Quality Checker (§9) risulta overdue di circa due settimane. Il primo lavoro concreto, prima ancora di accendere, è aprire il pannello Variabili d'Ambiente di Vercel e fare un inventario reale di cosa è già impostato: metà di questa mappa si chiarisce in dieci minuti di verifica.