[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-pl-\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_pl\u002Fblog\u002Fwhat-one-intermind-meeting-is-built-from.md","Z czego zbudowane jest jedno spotkanie 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},"z-czego-zbudowane-jest-jedno-spotkanie-intermind",[19,20,21],"p",{},"Prawie każdy produkt jest zbudowany z tego samego domyślnego stosu — z wielkich, zastrzeżonych rozwiązań SaaS, po które sięga każdy. To ścieżka o najmniejszym oporze. Na każdej warstwie, w której faktycznie znajdują się dane Twojego spotkania, wybraliśmy inną: nasz własny kod lub rozwiązanie open-source, które mogliśmy hostować samodzielnie.",[19,23,24,25,33,34,37,38],{},"Towarzyszy temu tekst ",[26,27,29],"a",{"href":28},"\u002Fblog\u002Fwhere-one-intermind-meeting-actually-runs",[30,31,32],"em",{},"Gdzie faktycznie odbywa się jedno spotkanie InterMIND",", w którym zmapowaliśmy ",[30,35,36],{},"geografię"," — gdzie wykonuje się każda usługa i jakie dane przez nią przepływają. Ten wpis odpowiada na pytanie, które zadaje następnie zespół ds. bezpieczeństwa: ",[30,39,40],{},"z czego to jest zbudowane — i czy możemy to przeczytać, poddać audytowi i zastąpić?",[19,42,43],{},"Nie gdzie to działa — z czego jest zrobione, warstwa po warstwie.",[45,46],"hr",{},[48,49,51],"h2",{"id":50},"domyślne-rozwiązania-i-ich-koszt","Domyślne rozwiązania i ich koszt",[19,53,54],{},"Każdy produkt to stos wyborów. W przypadku większości produktów większość tych wyborów jest dokonywana domyślnie: Google Analytics, Firebase, Google Translate API, Auth0, React. To ścieżka o najmniejszym oporze, a dla większości zespołów jest to rozsądna decyzja. Kompromis polega na tym, że każde z nich umieszcza część Twojego stosu za dostawcą, którego nie możesz przeczytać, poddać audytowi ani opuścić bez przepisania kodu.",[19,56,57,58,62],{},"Dokonaliśmy innego wyboru na każdej warstwie, w której faktycznie znajdują się dane Twojego spotkania: ",[59,60,61],"strong",{},"nasz własny kod lub oprogramowanie open-source, które mogliśmy hostować samodzielnie."," Tam, gdzie warstwa nie dotyka treści Twojego spotkania, pozostajemy pragmatyczni i mówimy o tym wprost. Oto cały obraz.",[45,64],{},[48,66,68],{"id":67},"rdzeń-silnik-to-nasz-kod-a-nie-kod-strony-trzeciej","Rdzeń: silnik to nasz kod, a nie kod strony trzeciej",[19,70,71,72,79,80,86],{},"Zacznijmy od warstwy, która ma największe znaczenie, ponieważ przepływa przez nią większość Twojego spotkania. Transport w czasie rzeczywistym oraz translacja głosu\u002Fczatu działają na ",[59,73,74,78],{},[75,76,77],"code",{},"mind-sdk"," + Mind API — naszym własnym silniku, na OVH we Francji."," Domyślnym sposobem na stworzenie tłumaczonego spotkania jest przyłączenie SaaS-a w czasie rzeczywistym (LiveKit) do API tłumaczeń (DeepL, Google); my nie używamy żadnego z nich na ścieżce na żywo. W pętli nie znajduje się żaden model tłumaczeń strony trzeciej. (Używamy DeepL — ale tylko do dokumentów wrzuconych na czat, a nie na ścieżce głosu\u002Fczatu na żywo; patrz mapa środowiska uruchomieniowego. Mechanikę potoku omówiliśmy w tekście ",[26,81,83],{"href":82},"\u002Fblog\u002Finside-the-translation-pipelines",[30,84,85],{},"Wewnątrz czterech potoków tłumaczeń",".)",[19,88,89,90,93,94,96,97,103,104,109],{},"Oto część, której nie ma na mapie środowiska uruchomieniowego: zestaw SDK, na którym działa Twoje spotkanie, jest ",[59,91,92],{},"open-source na licencji BSD 3-Clause"," — klient ",[75,95,77],{}," jest publicznie dostępny na ",[26,98,102],{"href":99,"rel":100},"https:\u002F\u002Fgitlab.com\u002Fmindlabs\u002Fapi\u002Fsdk",[101],"nofollow","gitlab.com\u002Fmindlabs\u002Fapi\u002Fsdk",", prawa autorskie MindMeeting OÜ, nasza estońska jednostka IP. Komunikuje się z Mind API pod adresem ",[26,105,108],{"href":106,"rel":107},"https:\u002F\u002Fapi.mind.com",[101],"api.mind.com",", który samodzielnie prowadzimy na OVH we Francji.",[19,111,112],{},"To nie jest układ typu „patrz, ale nie dotykaj” z dostępem do kodu źródłowego. BSD 3-Clause to permisywna licencja zatwierdzona przez OSI. Twój zespół ds. bezpieczeństwa może sklonować zestaw SDK, dokładnie przeczytać, jak Twoje audio i tekst są przechwytywane, umieszczane w ramkach i przesyłane strumieniowo, oraz poddać tę integrację audytowi pod kątem własnych wymagań. Silnik po stronie serwera, z którym się komunikuje, jest nasz — a nie czarna skrzynka strony trzeciej — a w pełni samodzielnie hostowalny silnik dla najemcy, który go potrzebuje, znajduje się na naszym planie działania, a nie w dzisiejszej ofercie. Zaktualizujemy ten wpis w momencie jego udostępnienia.",[45,114],{},[48,116,118],{"id":117},"warstwa-po-warstwie-domyślne-rozwiązanie-a-to-co-uruchamiamy","Warstwa po warstwie: domyślne rozwiązanie a to, co uruchamiamy",[120,121,122,141],"table",{},[123,124,125],"thead",{},[126,127,128,132,135,138],"tr",{},[129,130,131],"th",{},"Warstwa",[129,133,134],{},"Zwykłe domyślne rozwiązanie",[129,136,137],{},"To, co uruchamiamy",[129,139,140],{},"Dlaczego to ma dla Ciebie znaczenie",[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],{},"Silnik w czasie rzeczywistym + translacja"," (głos + czat)",[147,154,155],{},"LiveKit + API tłumaczeń (DeepL \u002F Google)",[147,157,158,160],{},[75,159,77],{}," (klient BSD-3-Clause) + nasze Mind API, OVH Francja",[147,162,163],{},"Największy przepływ danych to nasz własny silnik, a nie model strony trzeciej — a jego zestaw SDK klienta jest otwarty i audytowalny",[126,165,166,171,174,177],{},[147,167,168],{},[59,169,170],{},"Framework frontendowy",[147,172,173],{},"React (Meta) \u002F Next.js",[147,175,176],{},"Vue + Nuxt",[147,178,179],{},"Zarządzane przez społeczność OSS — żadna korporacja nie jest właścicielem frameworka, na którym działa Twój interfejs",[126,181,182,187,190,193],{},[147,183,184],{},[59,185,186],{},"Analityka produktu",[147,188,189],{},"Google Analytics",[147,191,192],{},"PostHog",[147,194,195],{},"Open-source, chmura UE, proxy first-party przez własną domenę — dane o użyciu nie przepływają do platformy reklamowej strony trzeciej",[126,197,198,203,206,213],{},[147,199,200],{},[59,201,202],{},"Czcionki",[147,204,205],{},"Google Fonts CDN",[147,207,208,209,212],{},"Hostowane samodzielnie (",[75,210,211],{},"@nuxt\u002Ffonts",")",[147,214,215],{},"Brak wywołania czcionek strony trzeciej ze strony ładowanej przez Twoich użytkowników — powtarzający się problem z RODO, uniknięty",[126,217,218,223,226,229],{},[147,219,220],{},[59,221,222],{},"Uwierzytelnianie",[147,224,225],{},"Auth0 \u002F Clerk \u002F Firebase Auth",[147,227,228],{},"Samodzielnie prowadzony OIDC, sfederowany z Twoim Google \u002F Microsoft",[147,230,231],{},"Żaden pośrednik autoryzacji nie przechowuje Twoich sesji — przynosisz własnego dostawcę tożsamości",[126,233,234,239,242,245],{},[147,235,236],{},[59,237,238],{},"Tłumaczenie dokumentów",[147,240,241],{},"Google Translate",[147,243,244],{},"DeepL (Kolonia)",[147,246,247],{},"Specjalistyczny dostawca z UE, przetwarzanie w Niemczech",[126,249,250,255,258,261],{},[147,251,252],{},[59,253,254],{},"Treść \u002F dokumentacja",[147,256,257],{},"Contentful \u002F Sanity (headless CMS)",[147,259,260],{},"Nuxt Content (markdown śledzony w git)",[147,262,263],{},"Słowa na naszej stronie znajdują się w naszym repozytorium, a nie w bazie danych dostawcy",[126,265,266,271,274,277],{},[147,267,268],{},[59,269,270],{},"Baza danych aplikacji",[147,272,273],{},"Firestore \u002F DynamoDB (zastrzeżone)",[147,275,276],{},"Postgres (na Neon)",[147,278,279],{},"Otwarty standard — przenośny na dowolnego hosta Postgresa, brak zastrzeżonego API zapytań do przepisywania",[126,281,282,287,290,293],{},[147,283,284],{},[59,285,286],{},"Pamięć masowa obiektów",[147,288,289],{},"Zastrzeżone API blob",[147,291,292],{},"Tigris (zgodny z S3)",[147,294,295],{},"Otwarty protokół — nagrania i eksporty są przenośne na dowolny magazyn S3",[126,297,298,303,306,309],{},[147,299,300],{},[59,301,302],{},"CRM \u002F sprzedaż",[147,304,305],{},"Salesforce \u002F HubSpot",[147,307,308],{},"Pipedrive (estoński)",[147,310,311],{},"Rekordy klientów i transakcji znajdują się w CRM z siedzibą w UE, a nie w amerykańskiej platformie sprzedażowej",[19,313,314,315,318,319,322,323,326],{},"Przez tę tabelę przebiegają dwa wątki. ",[59,316,317],{},"Open-source"," tam, gdzie narzędzie przetwarza Twoje dane — aby można je było poddać audytowi i, w zasadzie, hostować samodzielnie. ",[59,320,321],{},"Otwarte standardy"," (Postgres, API S3, OIDC) tam, gdzie zależymy od infrastruktury — aby nic nie było przypisane do cen lub postawy compliance jednego dostawcy. Postgres może zostać przeniesiony na dowolnego hosta Postgresa; pamięć masowa może zostać przeniesiona na dowolny magazyn S3; uwierzytelnianie federacyjne łączy się z dostawcą tożsamości, którym już zarządzasz. Ostatni wiersz znajduje się na trzeciej osi: CRM przechowujący rekordy klientów ma ",[59,324,325],{},"siedzibę w UE"," (Pipedrive, estoński) zamiast w amerykańskiej platformie sprzedażowej — nie jest open-source, ale nie podlega również jurysdykcji USA.",[19,328,329,330,333],{},"Kilka z nich zasługuje na jeszcze jedno zdanie. PostHog jest open-source i możliwy do samodzielnego hostowania; uruchamiamy go w chmurze UE PostHog i przekierowujemy przez proxy first-party z naszego własnego źródła, więc zdarzenia nie są po cichu odrzucane przez ad-blockery ",[30,331,332],{},"i"," nie przepływają przez domenę analityczną strony trzeciej. Uwierzytelnianie nigdy nie trafia do SaaS-a uwierzytelniającego strony trzeciej, który znajdowałby się między Tobą a Twoimi sesjami — sami prowadzimy przepływ OIDC i federujemy z Twoim istniejącym systemem tożsamości Google lub Microsoft. A czcionki na każdej stronie są serwowane z naszej własnej domeny; jedyne miejsce, w którym Google Fonts pojawia się w naszej bazie kodu, to skrypt zasobów marki offline, nigdy w aplikacji ładowanej przez Twoich użytkowników.",[45,335],{},[48,337,339],{"id":338},"gdzie-jesteśmy-pragmatyczni-powiedziane-wprost","Gdzie jesteśmy pragmatyczni — powiedziane wprost",[19,341,342],{},"Nie udajemy, że cały stos jest tworzony od zera lub poza USA. Nie jest, a wpis, który twierdziłby inaczej, zostałby zdementowany przez naszą własną mapę środowiska uruchomieniowego.",[19,344,345,346,349,350,353,354,357,358,361,362,365],{},"Infrastruktura towarzysząca — hosting i SSR (",[59,347,348],{},"Vercel","), obliczenia serwera spotkań (",[59,351,352],{},"Fly.io","), płatności (",[59,355,356],{},"Stripe","), e-mail transakcyjny (",[59,359,360],{},"Resend",") — działa na rozwiązaniach SaaS z siedzibą w USA. Stripe i Resend obsługują rozliczenia i zaproszenia i nigdy nie widzą treści spotkania. Vercel i Fly to wynajęte zasoby obliczeniowe: na nich działa nasz własny kod, a serwer spotkań na Fly obsługuje sesję na żywo i transkrypcję, którą odczytuje nasze streszczenie — ale to nasz kod na ich maszynach, a nie produkt dostawcy pochłaniający Twoje spotkanie. Całość wykonuje się w UE w czasie działania (temat ",[26,363,364],{"href":28},"mapy środowiska uruchomieniowego",").",[19,367,368],{},"To celowy, ograniczony kompromis: własność i open-source dla płaszczyzny danych; użycie najlepszego dostępnego SaaS-a dla płaszczyzny sterowania. Wskazanie tego jest punktem — „suwerenność” znaczy niewiele, jeśli wyjątki nie leżą na stole obok sukcesów.",[45,370],{},[48,372,374],{"id":373},"kroki-ai-po-spotkaniu-i-plan","Kroki AI po spotkaniu i plan",[19,376,377,378,381,382,385,386,389,390,393,394,397,398,401,402,405],{},"Żaden zastrzeżony model z siedzibą w USA nie dotyka treści pochodzących ze spotkania. Kroki oparte na modelu językowym, które są uruchamiane ",[30,379,380],{},"po"," zakończeniu połączenia — ",[59,383,384],{},"streszczenie AI"," (tematy, decyzje, elementy akcji), ",[59,387,388],{},"podsumowanie po spotkaniu"," i ",[59,391,392],{},"edytor notatek AI"," — wszystkie znajdują się na procesorach w UE. Streszczenie i działania generatywne edytora działają na ",[59,395,396],{},"hostowanym w UE modelu Mistral z zerowym retencjonowaniem danych"," (dostępnym przez bramkę AI Vercel, przypisaną do dostawcy Mistral). Podsumowanie i działanie ",[30,399,400],{},"tłumaczenia"," edytora działają na ",[59,403,404],{},"naszym własnym silniku w UE"," na OVH — tym samym, który odpowiada za głos na żywo i czat. Głos w czasie rzeczywistym, czat, notatki i dokumenty w ogóle nigdy nie miały kontaktu z ogólnego przeznaczenia LLM-em.",[19,407,408,409,413,414,419],{},"Jedyny model z USA wciąż obecny w pętli ocenia nasz publiczny ",[26,410,412],{"href":411},"\u002Fbenchmark","benchmark tłumaczeń"," — punktując tłumaczenia maszynowe z góry ustalonych zdań referencyjnych ",[26,415,418],{"href":416,"rel":417},"https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fflores",[101],"FLORES-200",", a nigdy czyjekolwiek spotkanie.",[19,421,422,423,426,427,430],{},"Wciąż posuwiamy się dalej w krokach EU-Mistral: ",[59,424,425],{},"kontrolowane przez właściciela wyłączenie (opt-out)",", aby całkowicie wyłączyć streszczenie, oraz ",[59,428,429],{},"samodzielnie hostowany model streszczający z otwartymi wagami na OVH"," (klasy Kimi), aby zastąpić zewnętrznego Mistrala. Sednem drogi otwartych wag nie jest to, czyje laboratorium wytrenowało wagi — lecz to, że otwarte wagi mogą działać na infrastrukturze, którą kontrolujemy, co utrzymuje je na tej samej osi otwartej i samodzielnie hostowalnej co reszta płaszczyzny danych. Obie funkcje znajdują się na planie działania, nie są jeszcze udostępnione; zaktualizujemy ten wpis, gdy zostaną wdrożone.",[45,432],{},[48,434,436],{"id":435},"dlaczego-to-ma-znaczenie-wykraczające-poza-nas","Dlaczego to ma znaczenie wykraczające poza nas",[19,438,439],{},"To nie jest inżynieria dla samej inżynierii. Powód, by budować stos w ten sposób, objawia się po Twojej stronie umowy:",[441,442,443,450,456],"ol",{},[444,445,446,449],"li",{},[59,447,448],{},"Audytowalny."," Zestaw SDK, na którym działa Twoje spotkanie, to kod open-source, który Twój zespół ds. bezpieczeństwa może przeczytać, a znajdujący się za nim silnik jest nasz — a nie czarna skrzynka strony trzeciej.",[444,451,452,455],{},[59,453,454],{},"Przenośny."," Otwarte standardy na każdej warstwie danych — Postgres, S3, OIDC — oznaczają brak zastrzeżonego lock-inu. To, co można przenieść, nie jest przywiązane do jednego dostawcy.",[444,457,458,461],{},[59,459,460],{},"Samodzielnie hostowalny."," Warstwy danych otwartych standardów — Postgres, S3, OIDC — działają już na infrastrukturze, którą kontrolujesz; w pełni samodzielnie hostowalny silnik tłumaczeń znajduje się na planie działania dla najemcy, który go potrzebuje.",[19,463,464,465,468,469,472,473,475],{},"Tak wygląda sytuacja na 2026-06-07. Zaktualizujemy ją, gdy stos ulegnie zmianie — zmiana dostawcy, przebudowa warstwy, zastąpienie modelu streszczeń. Bieżąca konfiguracja jest weryfikowalna w naszym otwartym pliku ",[75,466,467],{},"vercel.json",", naszym ",[75,470,471],{},"nuxt.config.ts"," oraz w powiązanym powyżej repozytorium ",[75,474,77],{}," na licencji BSD-3-Clause.",[19,477,478],{},"Jeśli któraś z warstw wygląda tu niewłaściwie lub Twój przegląd bezpieczeństwa wymaga odpowiedzi, której ta mapa nie udziela, napisz do nas. Wolimy poprawić brakujący szczegół niż sprawić, byś znalazł go podczas audytu kodu.",[45,480],{},[19,482,483],{},[30,484,485,486,490,491,494,495,497,498,500],{},"Źródła: ",[26,487,489],{"href":99,"rel":488},[101],"repozytorium mind-sdk"," (BSD-3-Clause), ",[26,492,418],{"href":416,"rel":493},[101],"; fakty dotyczące stosu zweryfikowane względem wdrożonej konfiguracji (",[75,496,467],{},", ",[75,499,471],{},") oraz dostarczonego kodu, sprawdzone w sierpniu 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,"Uzupełnienie naszej mapy środowiska uruchomieniowego: nie o tym, gdzie odbywa się Twoje spotkanie, ale z czego jest zbudowane. Stos warstwowy warstwa po warstwie — gdzie uruchamiamy własny kod lub oprogramowanie open-source, gdzie jesteśmy pragmatyczni wobec zastrzeżonego SaaS-a i dlaczego silnik, przez który przepływa większość Twoich danych, to nasz własny kod z publicznym, licencjonowanym na BSD zestawem SDK klienta.","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","8y1AEeK7i81hYgkkCe7YvsmFYuYOLXYU7n75r4jEXe8",[527,532],{"title":528,"path":529,"stem":530,"description":531,"children":-1},"Tłumaczenie spotkań w czasie rzeczywistym: jak to działa i jak je ocenić","\u002Fblog\u002Freal-time-meeting-translation","blog\u002Freal-time-meeting-translation","Tłumaczenie spotkań w czasie rzeczywistym pozwala każdemu słyszeć i czytać transkrypcję połączenia we własnym języku, na żywo. Czym to jest, jak to faktycznie działa pod maską oraz jakie pytania zadać przed jego zakupem.",{"title":533,"path":28,"stem":534,"description":535,"children":-1},"Gdzie faktycznie uruchamiane jest jedno spotkanie InterMIND","blog\u002Fwhere-one-intermind-meeting-actually-runs","Mapa z podziałem na dostawców pokazująca, które usługi zewnętrzne wchodzą w interakcję z Twoim spotkaniem, gdzie są wykonywane i jakie dane przepływają przez każdą z nich — w tym kroki AI po spotkaniu, które wszystkie działają teraz na procesorach w UE."]