[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-it-\u002Fwhat-one-intermind-meeting-is-built-from":3},{"page":4,"surround":526},{"id":5,"title":6,"authors":7,"badge":10,"body":11,"date":512,"demo-cta":513,"description":514,"extension":515,"genre":516,"heroOrder":517,"image":518,"meta":519,"navigation":520,"no-translate":513,"path":521,"rank-country":517,"rank-keywords":517,"rank-tag":517,"seo":522,"stem":523,"updated":524,"__hash__":525},"blog_it\u002Fblog\u002Fwhat-one-intermind-meeting-is-built-from.md","Di cosa è composta una riunione InterMIND",[8],{"name":9},"The Mind.com Team","Sovereignty",{"type":12,"value":13,"toc":501},"minimark",[14,18,22,41,44,47,52,55,63,65,69,87,110,113,115,119,312,327,334,336,340,343,366,369,371,375,406,420,431,433,437,440,462,476,479,481],[15,16,6],"h1",{"id":17},"di-cosa-è-composta-una-riunione-intermind",[19,20,21],"p",{},"Quasi ogni prodotto è costruito a partire dallo stesso stack predefinito — i grandi default del SaaS proprietario a cui tutti ricorrono. Sono il percorso senza attrito. A ogni livello in cui risiedono concretamente i dati della tua riunione, ne abbiamo scelto uno diverso: codice nostro, oppure open-source che potevamo auto-ospitare.",[19,23,24,25,33,34,37,38],{},"Questo è il complemento a ",[26,27,29],"a",{"href":28},"\u002Fblog\u002Fwhere-one-intermind-meeting-actually-runs",[30,31,32],"em",{},"Dove si svolge concretamente una riunione InterMIND",", che ha mappato la ",[30,35,36],{},"geografia"," — dove viene eseguito ciascun servizio e quali dati lo attraversano. Questo post risponde a quello che un team di sicurezza si chiede dopo: ",[30,39,40],{},"di cosa è costruito questo oggetto — e possiamo leggerlo, sottoporlo a audit e sostituirlo?",[19,42,43],{},"Non dove viene eseguito — di cosa è fatto, livello per livello.",[45,46],"hr",{},[48,49,51],"h2",{"id":50},"i-default-e-il-loro-costo","I default, e il loro costo",[19,53,54],{},"Ogni prodotto è uno stack di scelte. Per la maggior parte dei prodotti, la maggior parte di quelle scelte è fatta per default: Google Analytics, Firebase, l'API di Google Translate, Auth0, React. Sono il percorso senza attrito, e per la maggior parte dei team è una scelta ragionevole. Il compromesso è che ciascuno mette una parte del tuo stack dietro un vendor che non puoi leggere, non puoi sottoporre a audit e non puoi abbandonare senza una riscrittura.",[19,56,57,58,62],{},"A ogni livello in cui risiedono concretamente i dati della tua riunione abbiamo fatto una scelta diversa: ",[59,60,61],"strong",{},"codice nostro, oppure software open-source che potevamo auto-ospitare."," Dove un livello non tocca il contenuto della tua riunione, restiamo pragmatici e lo diciamo. Ecco il quadro completo.",[45,64],{},[48,66,68],{"id":67},"la-spina-dorsale-il-motore-è-codice-nostro-non-di-una-terza-parte","La spina dorsale: il motore è codice nostro, non di una terza parte",[19,70,71,72,79,80,86],{},"Partiamo dal livello che conta di più, perché la maggior parte della tua riunione lo attraversa. Il trasporto in tempo reale e la traduzione di voce\u002Fchat girano entrambi su ",[59,73,74,78],{},[75,76,77],"code",{},"mind-sdk"," + la Mind API — il nostro motore, su OVH Francia."," Il modo predefinito di costruire una riunione tradotta è agganciare un SaaS in tempo reale (LiveKit) a un'API di traduzione (DeepL, Google); non eseguiamo nessuno dei due nel percorso live. Nessun modello di traduzione di terze parti è nel ciclo. (DeepL lo usiamo — ma solo per i documenti inseriti in chat, non per il percorso live di voce\u002Fchat; vedi la mappa di runtime. Abbiamo trattato la meccanica della pipeline in ",[26,81,83],{"href":82},"\u002Fblog\u002Finside-the-translation-pipelines",[30,84,85],{},"Dentro le quattro pipeline di traduzione",".)",[19,88,89,90,93,94,96,97,103,104,109],{},"Ecco la parte che non è nella mappa di runtime: l'SDK su cui gira la tua riunione è ",[59,91,92],{},"open source con licenza BSD 3-Clause"," — il client ",[75,95,77],{}," è pubblico su ",[26,98,102],{"href":99,"rel":100},"https:\u002F\u002Fgitlab.com\u002Fmindlabs\u002Fapi\u002Fsdk",[101],"nofollow","gitlab.com\u002Fmindlabs\u002Fapi\u002Fsdk",", copyright MindMeeting OÜ, la nostra entità estone per la proprietà intellettuale. Comunica con la Mind API su ",[26,105,108],{"href":106,"rel":107},"https:\u002F\u002Fapi.mind.com",[101],"api.mind.com",", che gestiamo noi stessi su OVH Francia.",[19,111,112],{},"Non è un accordo \"guarda ma non toccare\" con codice solo consultabile. La BSD 3-Clause è una licenza permissiva, approvata da OSI. Il tuo team di sicurezza può clonare l'SDK, leggere esattamente come vengono catturati, impacchettati e trasmessi i tuoi audio e testo, e sottoporre a audit quell'integrazione rispetto ai tuoi requisiti. Il motore lato server a cui si rivolge è nostro — non una scatola nera di terze parti — e un motore completamente auto-ospitabile per un tenant che ne avesse bisogno è nella nostra roadmap, non qualcosa che offriamo oggi. Aggiorneremo questo post non appena sarà disponibile.",[45,114],{},[48,116,118],{"id":117},"livello-per-livello-il-default-vs-cosa-eseguiamo-noi","Livello per livello: il default vs. cosa eseguiamo noi",[120,121,122,141],"table",{},[123,124,125],"thead",{},[126,127,128,132,135,138],"tr",{},[129,130,131],"th",{},"Livello",[129,133,134],{},"Il default consueto",[129,136,137],{},"Cosa eseguiamo noi",[129,139,140],{},"Perché conta per te",[142,143,144,164,180,196,216,232,248,264,280,296],"tbody",{},[126,145,146,153,156,161],{},[147,148,149,152],"td",{},[59,150,151],{},"Motore in tempo reale + traduzione"," (voce + chat)",[147,154,155],{},"LiveKit + un'API di traduzione (DeepL \u002F Google)",[147,157,158,160],{},[75,159,77],{}," (client BSD-3-Clause) + la nostra Mind API, OVH Francia",[147,162,163],{},"Il flusso di dati più pesante è il nostro motore, non un modello di terze parti — e il suo client SDK è aperto e auditabile",[126,165,166,171,174,177],{},[147,167,168],{},[59,169,170],{},"Framework frontend",[147,172,173],{},"React (Meta) \u002F Next.js",[147,175,176],{},"Vue + Nuxt",[147,178,179],{},"OSS governato dalla community — nessuna singola azienda possiede il framework su cui gira la tua UI",[126,181,182,187,190,193],{},[147,183,184],{},[59,185,186],{},"Analytics di prodotto",[147,188,189],{},"Google Analytics",[147,191,192],{},"PostHog",[147,194,195],{},"Open-source, cloud UE, proxato come first-party tramite il nostro dominio — i dati di utilizzo non finiscono in una piattaforma pubblicitaria di terze parti",[126,197,198,203,206,213],{},[147,199,200],{},[59,201,202],{},"Font",[147,204,205],{},"Google Fonts CDN",[147,207,208,209,212],{},"Auto-ospitato (",[75,210,211],{},"@nuxt\u002Ffonts",")",[147,214,215],{},"Nessuna chiamata a font di terze parti dalla pagina che caricano i tuoi utenti — un punto GDPR ricorrente, evitato",[126,217,218,223,226,229],{},[147,219,220],{},[59,221,222],{},"Autenticazione",[147,224,225],{},"Auth0 \u002F Clerk \u002F Firebase Auth",[147,227,228],{},"OIDC gestito in casa, federato con il tuo Google \u002F Microsoft",[147,230,231],{},"Nessun intermediario di autenticazione trattiene le tue sessioni — porti il tuo identity provider",[126,233,234,239,242,245],{},[147,235,236],{},[59,237,238],{},"Traduzione di documenti",[147,240,241],{},"Google Translate",[147,243,244],{},"DeepL (Colonia)",[147,246,247],{},"Vendor UE specializzato, elaborazione tedesca",[126,249,250,255,258,261],{},[147,251,252],{},[59,253,254],{},"Contenuto \u002F docs",[147,256,257],{},"Contentful \u002F Sanity (headless CMS)",[147,259,260],{},"Nuxt Content (markdown tracciato in git)",[147,262,263],{},"Le parole sul nostro sito vivono nel nostro repo, non nel database di un vendor",[126,265,266,271,274,277],{},[147,267,268],{},[59,269,270],{},"Database applicativo",[147,272,273],{},"Firestore \u002F DynamoDB (proprietario)",[147,275,276],{},"Postgres (su Neon)",[147,278,279],{},"Standard aperto — portabile su qualsiasi host Postgres, nessuna API di query proprietaria da riscrivere",[126,281,282,287,290,293],{},[147,283,284],{},[59,285,286],{},"Object storage",[147,288,289],{},"API blob proprietarie",[147,291,292],{},"Tigris (compatibile S3)",[147,294,295],{},"Protocollo aperto — registrazioni ed esporti sono portabili su qualsiasi archivio S3",[126,297,298,303,306,309],{},[147,299,300],{},[59,301,302],{},"CRM \u002F vendite",[147,304,305],{},"Salesforce \u002F HubSpot",[147,307,308],{},"Pipedrive (estone)",[147,310,311],{},"I record di clienti e deal risiedono in un CRM con sede nell'UE, non in una piattaforma di vendite US",[19,313,314,315,318,319,322,323,326],{},"Due fili attraversano quella tabella. ",[59,316,317],{},"Open-source"," dove lo strumento processa i tuoi dati — così può essere sottoposto a audit e, in linea di principio, auto-ospitato. ",[59,320,321],{},"Standard aperti"," (Postgres, l'API S3, OIDC) dove dipendiamo dall'infrastruttura — così nulla è vincolato al prezzo o alla postura di conformità di un solo vendor. Postgres può migrare su qualsiasi host Postgres; lo storage può migrare su qualsiasi archivio S3; l'autenticazione si federa con l'identity provider che già gestisci. L'ultima riga si colloca su un terzo asse: il CRM che trattiene i record dei clienti ha ",[59,324,325],{},"sede nell'UE"," (Pipedrive, estone) invece di essere una piattaforma di vendite US — non è open-source, ma non è nemmeno sotto giurisdizione US.",[19,328,329,330,333],{},"Un paio di queste meritano una frase in più. PostHog è open-source e auto-ospitabile; lo eseguiamo sul cloud UE di PostHog e lo proxiamo come first-party tramite la nostra origine, così gli eventi non vengono silenziosamente scartati dagli ad-blocker ",[30,331,332],{},"e"," non transitano su un dominio di analytics di terze parti. L'autenticazione non passa mai per un SaaS di autenticazione di terze parti che si interpone tra te e le tue sessioni — eseguiamo noi stessi il flusso OIDC e ci federiamo con la tua identità Google o Microsoft esistente. E i font su ogni pagina sono serviti dal nostro dominio; l'unico punto in cui Google Fonts compare nel nostro codebase è uno script offline di brand asset, mai nell'app che caricano i tuoi utenti.",[45,335],{},[48,337,339],{"id":338},"dove-siamo-pragmatici-detto-a-chiare-lettere","Dove siamo pragmatici — detto a chiare lettere",[19,341,342],{},"Non fingiamo che l'intero stack sia scritto a mano o non-US. Non lo è, e un post che sostenesse il contrario sarebbe smentito dalla nostra stessa mappa di runtime.",[19,344,345,346,349,350,353,354,357,358,361,362,365],{},"Il plumbing — hosting e SSR (",[59,347,348],{},"Vercel","), il compute del server delle riunioni (",[59,351,352],{},"Fly.io","), pagamenti (",[59,355,356],{},"Stripe","), email transazionale (",[59,359,360],{},"Resend",") — gira su SaaS con sede negli US. Stripe e Resend gestiscono fatturazione e inviti e non vedono mai il contenuto delle riunioni. Vercel e Fly sono compute in affitto: sopra ci gira codice nostro, e il server delle riunioni su Fly gestisce effettivamente la sessione live e la trascrizione che il nostro digest legge — ma è il nostro codice sulle loro macchine, non un prodotto del vendor che ingerisce la tua riunione. Tutto viene eseguito nell'UE a runtime (l'argomento di ",[26,363,364],{"href":28},"la mappa di runtime",").",[19,367,368],{},"È un compromesso deliberato e delimitato: possedere e rendere open-source il data plane; usare il miglior SaaS disponibile per il control plane. Nominarlo è il punto — \"sovranità\" significa poco se le eccezioni non sono sul tavolo accanto alle vittorie.",[45,370],{},[48,372,374],{"id":373},"i-passi-ai-post-riunione-e-il-piano","I passi AI post-riunione, e il piano",[19,376,377,378,381,382,385,386,389,390,393,394,397,398,401,402,405],{},"Nessun modello proprietario con sede negli US tocca contenuti derivati dalla riunione. I passi basati su modello linguistico che girano ",[30,379,380],{},"dopo"," la chiamata — l'",[59,383,384],{},"AI digest"," (argomenti, decisioni, action item), il ",[59,387,388],{},"post-meeting summary",", e l'",[59,391,392],{},"AI note-editor"," — risiedono tutti su processori UE. L'AI digest e le azioni generative dell'AI note-editor girano su ",[59,395,396],{},"Mistral ospitato nell'UE con zero-data-retention"," (raggiunto tramite l'AI Gateway di Vercel, fissato sul provider Mistral). Il post-meeting summary e l'azione ",[30,399,400],{},"translate"," dell'AI note-editor girano sul ",[59,403,404],{},"nostro motore UE"," su OVH — lo stesso dietro voce e chat in tempo reale. Voce, chat, note e documenti in tempo reale non si sono mai avvicinati a un LLM general-purpose fin dall'inizio.",[19,407,408,409,413,414,419],{},"L'unico modello US ancora nel ciclo giudica il nostro ",[26,410,412],{"href":411},"\u002Fbenchmark","benchmark di traduzione"," pubblico — assegnando punteggi a traduzioni automatiche di frasi di riferimento fisse di ",[26,415,418],{"href":416,"rel":417},"https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fflores",[101],"FLORES-200",", mai alla riunione di qualcuno.",[19,421,422,423,426,427,430],{},"Stiamo andando oltre anche sui passi EU-Mistral: un ",[59,424,425],{},"opt-out controllato dall'owner"," per disattivare del tutto il digest, e un ",[59,428,429],{},"modello di summarization auto-ospitato a pesi aperti su OVH"," (classe Kimi) per sostituire il Mistral esterno. Il punto della via dei pesi aperti non è di quale lab abbia addestrato i pesi — è che i pesi aperti possono girare su infrastruttura che controlliamo, il che la mantiene sullo stesso asse aperto-e-auto-ospitabile del resto del data plane. Entrambi sono in roadmap, non ancora rilasciati; aggiorneremo questo post quando saranno disponibili.",[45,432],{},[48,434,436],{"id":435},"perché-conta-al-di-là-di-noi","Perché conta al di là di noi",[19,438,439],{},"Non è engineering fine a se stesso. Il motivo per costruire uno stack in questo modo si vede dalla tua parte del contratto:",[441,442,443,450,456],"ol",{},[444,445,446,449],"li",{},[59,447,448],{},"Auditabile."," L'SDK su cui gira la tua riunione è codice open-source che il tuo team di sicurezza può leggere, e il motore dietro di esso è nostro — non una scatola nera di terze parti.",[444,451,452,455],{},[59,453,454],{},"Portatile."," Standard aperti a ogni livello di dati — Postgres, S3, OIDC — significano nessun lock-in proprietario. Ciò che può essere spostato non è vincolato a un solo vendor.",[444,457,458,461],{},[59,459,460],{},"Auto-ospitabile."," I livelli di dati a standard aperto — Postgres, S3, OIDC — girano già su infrastruttura che controlli; un motore di traduzione completamente auto-ospitabile è in roadmap per il tenant che ne ha bisogno.",[19,463,464,465,468,469,472,473,475],{},"Questo è il quadro al 2026-06-07. Lo aggiorneremo quando lo stack cambia — un cambio di vendor, un livello ricostruito, il modello del digest sostituito. La configurazione attuale è verificabile nel nostro ",[75,466,467],{},"vercel.json"," pubblico, nel nostro ",[75,470,471],{},"nuxt.config.ts",", e nel repository BSD-3-Clause ",[75,474,77],{}," linkato sopra.",[19,477,478],{},"Se un livello qui sembra sbagliato, o la tua security review ha bisogno di una risposta che questa mappa non dà, scrivici. Preferiamo correggere un dettaglio mancante piuttosto che farti trovarlo in un code audit.",[45,480],{},[19,482,483],{},[30,484,485,486,490,491,494,495,497,498,500],{},"Fonti: il ",[26,487,489],{"href":99,"rel":488},[101],"repository mind-sdk"," (BSD-3-Clause), ",[26,492,418],{"href":416,"rel":493},[101],"; i fatti di stack verificati rispetto alla configurazione distribuita (",[75,496,467],{},", ",[75,499,471],{},") e al codice rilasciato, verificati ad agosto 2026.",{"title":502,"searchDepth":503,"depth":504,"links":505},"",2,3,[506,507,508,509,510,511],{"id":50,"depth":503,"text":51},{"id":67,"depth":503,"text":68},{"id":117,"depth":503,"text":118},{"id":338,"depth":503,"text":339},{"id":373,"depth":503,"text":374},{"id":435,"depth":503,"text":436},"2026-06-07",false,"Un complemento alla nostra mappa di runtime: non dove si svolge la tua riunione, ma di cosa è costruita. Lo stack livello per livello — dove eseguiamo codice nostro o software open-source, dove siamo pragmatici sul SaaS proprietario, e perché il motore attraverso cui passa la maggior parte dei tuoi dati è codice nostro, con un client SDK pubblico con licenza BSD.","md","editorial",null,"\u002Fblog\u002Fwhat-one-intermind-meeting-is-built-from.svg",{},true,"\u002Fblog\u002Fwhat-one-intermind-meeting-is-built-from",{"title":6,"description":514},"blog\u002Fwhat-one-intermind-meeting-is-built-from","2026-08-01","Qv3zSJhzpyLwj15QJ--_zAqP7jhl6mPsCNINeO9bRiE",[527,532],{"title":528,"path":529,"stem":530,"description":531,"children":-1},"Traduzione delle riunioni in tempo reale: come funziona e come valutarne una","\u002Fblog\u002Freal-time-meeting-translation","blog\u002Freal-time-meeting-translation","La traduzione delle riunioni in tempo reale permette a chiunque di ascoltare e leggere una chiamata nella propria lingua, in diretta. Cos'è, come funziona realmente dietro le quinte e le domande da porsi prima di acquistarne una.",{"title":533,"path":28,"stem":534,"description":535,"children":-1},"Dove viene effettivamente eseguita una riunione InterMIND","blog\u002Fwhere-one-intermind-meeting-actually-runs","Una mappa fornitore per fornitore dei servizi esterni che interessano la tua riunione, dove vengono eseguiti e quali dati attraversano ciascuno — inclusi i passaggi AI post-riunione, che ora vengono eseguiti tutti su processori UE."]