주권

하나의 InterMIND 회의가 구축되는 방식

런타임 맵의 보조 자료: 회의가 실행되는 위치가 아닌, 무엇으로 구축되는지를 설명합니다. 계층별 스택 — 자체 코드 또는 오픈소스 소프트웨어를 실행하는 부분, 독점 SaaS를 실용적으로 활용하는 부분, 그리고 대부분의 데이터가 통과하는 엔진이 자체 코드인 이유와 공개된 BSD 라이선스 클라이언트 SDK를 다룹니다.

The Mind.com Team

하나의 InterMIND 회의가 구축되는 방식

하나의 InterMIND 회의가 구축되는 방식

거의 모든 제품은 사람들이 기본적으로 선택하는 동일한 기본 스택, 즉 독점적인 대형 SaaS 기본값들로 구축됩니다. 이들은 마찰이 없는 가장 쉬운 경로입니다. 회의 데이터가 실제로 머무는 모든 계층에서 우리는 다른 길을 택했습니다. 우리의 자체 코드이거나, 자체 호스팅할 수 있는 오픈소스입니다.

이 글은 각 서비스가 어디서 실행되고 어떤 데이터가 통과하는지라는 지리적 위치를 매핑한 Where one InterMIND meeting actually runs의 후속편입니다. 이 게시물은 보안팀이 이어서 묻는 질문, 즉 *이것은 무엇으로 만들어졌으며, 우리가 읽고, 감사하고, 교체할 수 있는가?*에 답합니다.

어디서 실행되는지가 아니라, 무엇으로 만들어졌는지를 계층별로 살펴봅니다.


기본값들과 그 대가

모든 제품은 선택의 스택입니다. 대부분의 제품에서 그 선택의 대부분은 기본값으로 이루어집니다. Google Analytics, Firebase, Google Translate API, Auth0, React. 이들은 마찰이 없는 경로이며, 대부분의 팀에게 합리적인 결정입니다. 그 대가는, 각 선택이 스택의 일부를 읽을 수도, 감사할 수도, 재작성 없이는 떠날 수도 없는 벤더 뒤에 놓는다는 것입니다.

회의 데이터가 실제로 머무는 모든 계층에서 우리는 다른 선택을 했습니다. 우리의 자체 코드이거나, 자체 호스팅할 수 있는 오픈소스 소프트웨어. 계층이 회의 내용을 만지지 않는 곳에서는 실용적으로 접근하며 이를 명시합니다. 전체 그림은 다음과 같습니다.


핵심: 엔진은 서드파티가 아닌 우리 코드

회의의 대부분이 통과하기에 가장 중요한 계층부터 시작하겠습니다. 실시간 전송과 음성/챗 번역은 모두 mind-sdk + Mind API — OVH France 기반의 자체 엔진에서 실행됩니다. 번역되는 회의를 구축하는 기본 방식은 실시간 SaaS(LiveKit)를 번역 API(DeepL, Google)에 연결하는 것이지만, 우리는 라이브 경로에서 둘 다 사용하지 않습니다. 서드파티 번역 모델은 루프에 없습니다. (DeepL을 사용하긴 하지만, 챗에 드롭된 문서에만 사용하며 라이브 음성/챗 경로에는 사용하지 않습니다. 런타임 맵을 참조하십시오. 파이프라인 메커니즘은 Inside the four translation pipelines에서 다루었습니다.)

런타임 맵에 없는 부분은 다음과 같습니다. 회의가 실행되는 SDK는 BSD 3-Clause 라이선스에 따른 오픈소스입니다. mind-sdk 클라이언트는 gitlab.com/mindlabs/api/sdk에 공개되어 있으며, 저작권은 우리의 에스토니아 IP 법인인 MindMeeting OÜ에 있습니다. 이는 우리가 OVH France에서 직접 운영하는 api.mind.com의 Mind API와 통신합니다.

이는 "볼 수는 있지만 만지지는 마라" 식의 소스 공개 방식이 아닙니다. BSD 3-Clause는 관대하고 OSI 승인을 받은 라이선스입니다. 보안팀은 SDK를 클론하여 오디오와 텍스트가 어떻게 캡처되고, 프레임화되고, 스트리밍되는지 정확히 읽고, 자체 요구사항에 맞춰 해당 통합을 감사할 수 있습니다. 통신하는 서버 측 엔진은 우리의 것입니다. 서드파티의 블랙박스가 아닙니다. 필요로하는 테넌트를 위한 완전히 자체 호스팅 가능한 엔진은 로드맵에 있으며, 오늘 당장 제공하는 것은 아닙니다. 이 제품이 출시되는 순간 이 게시물을 업데이트할 것입니다.


계층별: 기본값 vs 우리의 실행 방식

계층일반적인 기본값우리의 실행 방식중요한 이유
실시간 + 번역 엔진 (음성 + 챗)LiveKit + 번역 API (DeepL / Google)mind-sdk (BSD-3-Clause 클라이언트) + 자체 Mind API, OVH France가장 무거운 데이터 흐름은 서드파티 모델이 아닌 자체 엔진이며, 클라이언트 SDK는 오픈되어 있고 감사 가능합니다
프론트엔드 프레임워크React (Meta) / Next.jsVue + Nuxt커뮤니티가 관리하는 OSS — UI가 의존하는 프레임워크를 단일 기업이 소유하지 않습니다
제품 분석Google AnalyticsPostHog오픈소스, EU 클라우드, 자체 도메인을 통한 퍼스트파티 프록시 — 사용 데이터가 서드파티 광고 플랫폼으로 흘러가지 않습니다
폰트Google Fonts CDN자체 호스팅 (@nuxt/fonts)사용자가 로드하는 페이지에서 서드파티 폰트 콜아웃이 없습니다 — 반복적인 GDPR 발견 사항을 방지합니다
인증Auth0 / Clerk / Firebase Auth자체 OIDC 실행, Google / Microsoft에 페더레이션인증 중개자가 세션을 보유하지 않습니다 — 자체 ID 공급자를 가져옵니다
문서 번역Google TranslateDeepL (Cologne)전문 EU 벤더, 독일 처리
AI 기능 (요약, 문서 요약, 작성 도우미, Ask AI, Mia)자체 API 뒤에 있는 단일 벤더의 모델조직이 선택하는 AI 게이트웨이 — Azure OpenAI EU Data Zone(기본값), Vertex AI EU, Amazon Bedrock Frankfurt — 또는 자체 OpenAI 호환 엔드포인트모델은 선택하고 호스팅할 권한이 사용자에게 있습니다. AI 끄기는 설정 사항입니다
콘텐츠 / 문서Contentful / Sanity (헤드리스 CMS)Nuxt Content (git 추적 markdown)사이트의 글은 벤더의 데이터베이스가 아닌 우리 리포지토리에 있습니다
애플리케이션 데이터베이스Firestore / DynamoDB (독점)Postgres (Neon 기반)오픈 표준 — 재작성해야 할 독점적 쿼리 API 없이 모든 Postgres 호스트로 이동 가능합니다
오브젝트 스토리지독점적 blob APITigris (S3 호환)오픈 프로토콜 — 녹음 및 내보내기가 모든 S3 스토어로 이동 가능합니다
CRM / 영업Salesforce / HubSpotPipedrive (에스토니아)고객 및 거래 기록이 US 영업 플랫폼이 아닌 EU에 본점을 둔 CRM에 있습니다

이 표에는 두 가지 흐름이 관통합니다. 도구가 데이터를 처리하는 곳, 즉 감사하고 원칙적으로 자체 호스팅할 수 있도록 오픈소스를 사용합니다. 인프라에 의존하는 곳, 즉 어느 것도 단일 벤더의 가격 책정이나 compliance 태도에 종속되지 않도록 오픈 표준(Postgres, S3 API, OIDC)을 사용합니다. Postgres는 모든 Postgres 호스트로 이동할 수 있고, 스토리지는 모든 S3 스토어로 이동할 수 있으며, 인증은 이미 운영 중인 ID 공급자에 페더레이션됩니다. 마지막 행은 세 번째 축에 있습니다. 고객 기록을 보유하는 CRM은 US 영업 플랫폼이 아닌 EU에 본점을 둔(Pipedrive, 에스토니아) CRM입니다. 오픈소스는 아니지만, US 관할권에 있지도 않습니다.

몇 가지는 한 문장을 더 할애할 가치가 있습니다. PostHog는 오픈소스이며 자체 호스팅이 가능합니다. 우리는 PostHog의 EU 클라우드에서 이를 실행하고 자체 오리진을 통해 퍼스트파티로 프록시하므로, 이벤트가 광고 차단기에 의해 조용히 삭제되지 않고 서드파티 분석 도메인을 통과하지도 않습니다. 인증은 사용자와 세션 사이에 위치할 서드파티 인증 SaaS로 절대 전달되지 않습니다. 우리는 OIDC 흐름을 직접 실행하고 기존 Google 또는 Microsoft ID에 페더레이션합니다. 그리고 모든 페이지의 폰트는 우리 자체 도메인에서 제공됩니다. Google Fonts가 우리 코드베이스에 나타나는 유일한 곳은 오프라인 브랜드 자산 스크립트이며, 사용자가 로드하는 앱에는 절대 사용되지 않습니다.


실용적으로 접근하는 부분 — 분명히 말씀드리며

전체 스택이 손수 제작되었거나 비미국적이라고 주장하지 않습니다. 그렇지 않으며, 그렇게 주장하는 게시물은 우리 자신의 런타임 맵에 의해 반박될 것입니다.

인프라 — 호스팅 및 SSR(Vercel), 회의 서버의 컴퓨팅(Fly.io), 결제(Stripe), 트랜잭션 이메일(Resend) — 는 미국에 본점을 둔 SaaS에서 실행됩니다. Stripe와 Resend는 결제 및 초대를 처리하며 회의 내용은 절대 보지 않습니다. Vercel과 Fly는 임대한 컴퓨팅입니다. 우리의 자체 코드가 그 위에서 실행되며, Fly의 회의 서버는 라이브 세션과 우리 요약이 읽는 전사를 처리하지만, 이는 회의를 수집하는 벤더 제품이 아니라 그들의 머신에서 실행되는 우리 코드입니다. 이 모든 것은 런타임에 EU에서 실행됩니다 (the runtime map의 주제).

이것은 의도적이고 한정된 절충안입니다. 데이터 플레인은 자체 및 오픈소스화하고, 컨트롤 플레인에는 사용 가능한 최고의 SaaS를 사용합니다. 이를 명시하는 것이 핵심입니다. 예외가 성과와 함께 테이블에 놓이지 않으면 "주권"은 의미가 거의 없습니다.


AI 단계와 출시된 계획

언어 모델 단계 — AI digest(주제, 결정, 액션 아이템), 문서 요약, AI note-editor의 생성 작업, Ask AI 및 Mia — 는 조직이 선택하는 AI 게이트웨이에서 실행됩니다. 기본적으로 EU Data Zone의 Azure OpenAI, 선택에 따라 EU 멀티 리전 엔드포인트의 Vertex AI 또는 Frankfurt의 Amazon Bedrock이며, 각각은 고객 콘텐츠를 보유하지 않고 학습하지 않는 자체 테넌트에 있습니다. 또는 모델을 제어할 수 있는 인프라에 유지하는 자체 OpenAI 호환 엔드포인트입니다. 회의 후 요약과 편집기의 번역 작업은 언어 모델이 아닌 번역 파이프라인을 통과합니다. 실시간 음성, 챗, 노트 및 문서는 애초에 범용 LLM 근처에도 가지 않았습니다.

이 계층의 정직한 형태는 다음과 같습니다. 모델은 독점적이며 해당 벤더는 EU 리전을 운영하는 미국 기업입니다. 이는 위의 인프라와 동일한 절충안이며, 숨기지 않고 명시되어 있습니다. 자체 호스팅 모델 대신 출시된 것은 선택입니다. 조직은 AI를 완전히 끌 수 있으며(전사 및 번역은 계속 작동합니다), 모든 AI 기능을 자체 엔드포인트로 지정할 수 있습니다. 자체 데이터 센터의 vLLM, 자체 테넌트의 배포 — 이는 이 계층을 나머지 데이터 플레인과 동일한 오픈 및 자체 호스팅 가능한 축에 놓습니다. 우리의 공개 번역 벤치마크는 고정된 FLORES-200 참조 문장에 대해 LLM 판사(Gemini, Claude를 폴백으로 사용)가 점수를 매깁니다. 결코 누구의 회의도 아닙니다.


우리를 넘어 왜 중요한가

이것은 단순히 엔지니어링을 위한 엔지니어링이 아닙니다. 이런 식으로 스택을 구축하는 이유는 계약의 당신 측면에 나타납니다.

  1. 감사 가능(Auditable). 회의가 실행되는 SDK는 보안팀이 읽을 수 있는 오픈소스 코드이며, 그 뒤의 엔진은 서드파티의 블랙박스가 아닌 우리 자체입니다.
  2. 이식 가능(Portable). 모든 데이터 계층의 오픈 표준 — Postgres, S3, OIDC — 은 독점적 종속을 의미하지 않습니다. 이동할 수 있는 것은 단일 벤더에 묶이지 않습니다.
  3. 자체 호스팅 가능(Self-hostable). 오픈 표준 데이터 계층 — Postgres, S3, OIDC — 은 이미 제어할 수 있는 인프라에서 실행됩니다. 필요로하는 테넌트를 위한 완전히 자체 호스팅 가능한 번역 엔진은 로드맵에 있습니다.

이것은 2026-06-07 기준의 그림입니다. 스택이 변경될 때 — 벤더 교체, 계층 재구축, 요약 모델 교체 — 업데이트할 것입니다. 현재 구성은 우리의 공개 vercel.json, nuxt.config.ts, 그리고 위에 링크된 BSD-3-Clause mind-sdk 리포지토리에서 검증할 수 있습니다.

여기서 어떤 계층이 잘못 보이거나, 보안 검토에 이 맵이 제공하지 않는 답변이 필요하다면 저희에게 편지를 보내주십시오. 당신이 코드 감사에서 그것을 발견하기보다, 누락된 세부 사항을 수정하겠습니다.


*출처: mind-sdk repository (BSD-3-Clause), FLORES-200; 스택 팩트는 배포된 구성(vercel.json, nuxt.config.ts)

이메일로 새 게시물 및 제품 업데이트 받기

새 글 및 제품 업데이트가 포함된 이메일을 매월 한 번 발송합니다. 언제든지 구독을 취소할 수 있습니다.