Chủ quyền

Một cuộc họp InterMIND được xây dựng từ những gì

Bản đồng hành cho sơ đồ thời gian chạy của chúng tôi: không phải nơi cuộc họp của bạn diễn ra, mà nó được xây dựng từ những gì. Ngăn xếp từng lớp một — nơi chúng tôi chạy mã của riêng mình hoặc phần mềm mã nguồn mở, nơi chúng tôi thực dụng với SaaS độc quyền, và lý do tại sao động cơ xử lý phần lớn dữ liệu của bạn là mã của chính chúng tôi, với SDK máy khách công khai theo giấy phép BSD.

The Mind.com Team

Một cuộc họp InterMIND được xây dựng từ những gì

Một cuộc họp InterMIND được xây dựng từ những gì

Hầu hết mọi sản phẩm đều được xây dựng từ cùng một ngăn xếp mặc định — những mặc định SaaS độc quyền lớn mà ai cũng chọn sử dụng. Đó là con đường ít trở ngại nhất. Ở mỗi lớp nơi dữ liệu cuộc họp của bạn thực sự nằm giữ, chúng tôi đã chọn một hướng đi khác: mã của riêng chúng tôi, hoặc phần mềm mã nguồn mở mà chúng tôi có thể tự lưu trữ.

Đây là bài viết đồng hành với Nơi một cuộc họp InterMIND thực sự chạy, bài viết đã lập bản đồ địa lý — nơi mỗi dịch vụ thực thi và dữ liệu nào đi qua nó. Bài đăng này trả lời câu hỏi mà đội ngũ an ninh sẽ hỏi tiếp theo: cái này được xây dựng từ gì — và chúng tôi có thể đọc, kiểm toán, và thay thế nó không?

Không phải nơi nó chạy — mà nó được tạo ra từ gì, từng lớp một.


Các mặc định, và cái giá của chúng

Mỗi sản phẩm là một ngăn xếp của các lựa chọn. Đối với hầu hết các sản phẩm, hầu hết những lựa chọn đó được thực hiện theo mặc định: Google Analytics, Firebase, Google Translate API, Auth0, React. Chúng là con đường ít trở ngại nhất, và đối với hầu hết các đội ngũ, đó là một quyết định hợp lý. Sự đánh đổi là mỗi lựa chọn đặt một phần ngăn xếp của bạn sau một nhà cung cấp mà bạn không thể đọc, không thể kiểm toán, và không thể rời đi nếu không viết lại mã.

Chúng tôi đã đưa ra một lựa chọn khác ở mỗi lớp nơi dữ liệu cuộc họp của bạn thực sự nằm giữ: mã của riêng chúng tôi, hoặc phần mềm mã nguồn mở mà chúng tôi có thể tự lưu trữ. Ở những lớp không chạm vào nội dung cuộc họp của bạn, chúng tôi giữ thái độ thực dụng và nói rõ điều đó. Dưới đây là toàn bộ bức tranh.


Trục cốt lõi: động cơ là mã của chúng tôi, không phải của bên thứ ba

Hãy bắt đầu với lớp quan trọng nhất, vì phần lớn cuộc họp của bạn đi qua nó. Truyền tải thời gian thực và dịch giọng nói/trò chuyện đều chạy trên mind-sdk + Mind API — động cơ của chính chúng tôi, trên OVH France. Cách mặc định để xây dựng một cuộc họp có dịch thuật là ghép một SaaS thời gian thực (LiveKit) vào một API dịch thuật (DeepL, Google); chúng tôi không sử dụng cái nào trong đường dẫn trực tiếp. Không có mô hình dịch thuật của bên thứ ba nào tham gia vào vòng lặp. (Chúng tôi có sử dụng DeepL — nhưng chỉ cho các tài liệu được thả vào trò chuyện, không phải đường dẫn giọng nói/trò chuyện trực tiếp; xem sơ đồ thời gian chạy. Chúng tôi đã đề cập đến cơ chế đường ống trong Bên trong bốn đường ống dịch thuật.)

Đây là phần không có trong sơ đồ thời gian chạy: SDK mà cuộc họp của bạn chạy dựa trên là mã nguồn mở theo giấy phép BSD 3-Clause — máy khách mind-sdk được công khai tại gitlab.com/mindlabs/api/sdk, bản quyền thuộc MindMeeting OÜ, pháp nhân sở hữu trí tuệ Estonia của chúng tôi. Nó giao tiếp với Mind API tại api.mind.com, nơi chúng tôi tự chạy trên OVH France.

Đây không phải là một sự sắp xếp kiểu "chỉ xem, không chạm" mã nguồn có sẵn. BSD 3-Clause là một giấy phép tự do, được OSI phê duyệt. Đội ngũ an ninh của bạn có thể sao chép SDK, đọc chính xác cách âm thanh và văn bản của bạn được thu thập, đóng gói và truyền phát, cũng như kiểm toán sự tích hợp đó dựa trên các yêu cầu của riêng bạn. Động cơ phía máy chủ mà nó giao tiếp là của chúng tôi — không phải một hộp đen của bên thứ ba — và một động cơ có thể tự lưu trữ hoàn toàn cho một khách thuê cần nó nằm trong lộ trình của chúng tôi, chứ không phải thứ chúng tôi cung cấp ngày hôm nay. Chúng tôi sẽ cập nhật bài đăng này ngay khoảnh khắc nó được phát hành.


Từng lớp một: mặc định so với những gì chúng tôi chạy

LớpMặc định thông thườngNhững gì chúng tôi chạyTại sao điều này quan trọng với bạn
Động cơ thời gian thực + dịch thuật (giọng nói + trò chuyện)LiveKit + API dịch thuật (DeepL / Google)mind-sdk (máy khách BSD-3-Clause) + Mind API của chúng tôi, OVH FranceLuồng dữ liệu lớn nhất là động cơ của chính chúng tôi, không phải mô hình bên thứ ba — và SDK máy khách của nó mở và có thể kiểm toán
Khung giao diện người dùngReact (Meta) / Next.jsVue + NuxtOSS do cộng đồng quản lý — không một tập đoàn đơn lẻ nào sở hữu khung giao diện mà UI của bạn đang chạy trên đó
Phân tích sản phẩmGoogle AnalyticsPostHogMã nguồn mở, đám mây EU, ủy quyền bên thứ nhất thông qua tên miền gốc của riêng chúng tôi — dữ liệu sử dụng không chảy vào nền tảng quảng cáo của bên thứ ba
Phông chữGoogle Fonts CDNTự lưu trữ (@nuxt/fonts)Không có lệnh gọi phông chữ của bên thứ ba từ trang mà người dùng của bạn tải — một phát hiện thường xuyên về GDPR, được tránh khỏi
Xác thựcAuth0 / Clerk / Firebase AuthTự chạy OIDC, liên kết với Google / Microsoft của bạnKhông có trung gian xác thực nào nắm giữ phiên của bạn — bạn mang theo nhà cung cấp danh tính của riêng mình
Dịch tài liệuGoogle TranslateDeepL (Cologne)Nhà cung cấp EU chuyên biệt, xử lý tại Đức
Nội dung / tài liệuContentful / Sanity (headless CMS)Nuxt Content (markdown được theo dõi bởi git)Các từ ngữ trên trang web của chúng tôi nằm trong kho lưu trữ của chúng tôi, không phải trong cơ sở dữ liệu của nhà cung cấp
Cơ sở dữ liệu ứng dụngFirestore / DynamoDB (độc quyền)Postgres (trên Neon)Tiêu chuẩn mở — có thể chuyển đến bất kỳ máy chủ Postgres nào, không cần viết lại API truy vấn độc quyền
Lưu trữ đối tượngAPI blob độc quyềnTigris (tương thích S3)Giao thức mở — các bản ghi và tệp xuất có thể chuyển đến bất kỳ kho lưu trữ S3 nào
CRM / doanh sốSalesforce / HubSpotPipedrive (Estonia)Hồ sơ khách hàng và thỏa thuận nằm trong một CRM có trụ sở tại EU, không phải nền tảng doanh số của Mỹ

Hai tuyến chạy xuyên qua bảng đó. Mã nguồn mở ở nơi công cụ xử lý dữ liệu của bạn — để nó có thể được kiểm toán và trên nguyên tắc là tự lưu trữ. Tiêu chuẩn mở (Postgres, API S3, OIDC) ở nơi chúng tôi phụ thuộc vào hạ tầng — để không có gì bị khóa với mức giá hoặc vị thế tuân thủ của một nhà cung cấp duy nhất. Postgres có thể chuyển đến bất kỳ máy chủ Postgres nào; bộ nhớ có thể chuyển đến bất kỳ kho lưu trữ S3 nào; xác thực liên kết với nhà cung cấp danh tính mà bạn đang chạy. Hàng cuối cùng nằm trên một trục thứ ba: CRM nắm giữ hồ sơ khách hàng có trụ sở tại EU (Pipedrive, Estonia) thay vì một nền tảng doanh số của Mỹ — không phải mã nguồn mở, nhưng cũng không thuộc thẩm quyền tài phán của Mỹ.

Một vài mục trong số này đáng để nói thêm một câu. PostHog là mã nguồn mở và có thể tự lưu trữ; chúng tôi chạy nó trên đám mây EU của PostHog và ủy quyền nó dưới dạng bên thứ nhất thông qua tên miền gốc của riêng chúng tôi, để các sự kiện không bị trình chặn quảng cáo gỡ bỏ một cách thầm lặng không đi qua một tên miền phân tích của bên thứ ba. Quá trình xác thực không bao giờ đi đến một SaaS xác thực của bên thứ ba sẽ nằm giữa bạn và các phiên của bạn — chúng tôi tự chạy luồng OIDC và liên kết với danh tính Google hoặc Microsoft hiện có của bạn. Và các phông chữ trên mỗi trang được phục vụ từ tên miền của riêng chúng tôi; nơi duy nhất Google Fonts xuất hiện trong cơ sở mã của chúng tôi là một tập lệnh tài sản thương hiệu ngoại tuyến, không bao giờ là ứng dụng mà người dùng của bạn tải.


Nơi chúng tôi thực dụng — được nói rõ ràng

Chúng tôi không giả vờ rằng toàn bộ ngăn xếp được tự viết tay hoặc phi Mỹ. Thực tế không phải vậy, và một bài đăng tuyên bố ngược lại sẽ bị mâu thuẫn bởi chính sơ đồ thời gian chạy của chúng tôi.

Hạ tầng cơ sở — lưu trữ và SSR (Vercel), sức mạnh tính toán của máy chủ cuộc họp (Fly.io), thanh toán (Stripe), email giao dịch (Resend) — chạy trên SaaS có trụ sở tại Mỹ. Stripe và Resend xử lý thanh toán và lời mời và không bao giờ thấy nội dung cuộc họp. Vercel và Fly là sức mạnh tính toán thuê: mã của riêng chúng tôi chạy trên đó, và máy chủ cuộc họp trên Fly xử lý phiên trực tiếp và bản ghi chép mà bản tóm tắt của chúng tôi đọc — nhưng đó là mã của chúng tôi trên máy của họ, không phải một sản phẩm của nhà cung cấp tiếp nhận cuộc họp của bạn. Tất cả đều thực thi tại EU trong thời gian chạy (chủ đề của sơ đồ thời gian chạy).

Đó là một sự đánh đổi có chủ đích và giới hạn: sở hữu và mở mã nguồn cho mặt phẳng dữ liệu; sử dụng SaaS tốt nhất hiện có cho mặt phẳng điều khiển. Gọi tên nó là điều quan trọng — "chủ quyền" không có ý nghĩa gì nếu các ngoại lệ không được đặt trên bàn cùng với những thành tựu.


Các bước AI sau cuộc họp, và kế hoạch

Không có mô hình độc quyền có trụ sở tại Mỹ nào chạm vào nội dung bắt nguồn từ cuộc họp. Các bước mô hình ngôn ngữ chạy sau cuộc gọi — bản tóm tắt AI (chủ đề, quyết định, mục hành động), tóm tắt sau cuộc họp, và trình soạn thảo ghi chú AI — tất cả đều nằm trên các bộ xử lý EU. Bản tóm tắt và các hành động tạo sinh của trình soạn thảo chạy trên Mistral được lưu trữ tại EU với khả năng không lưu giữ dữ liệu (được tiếp cận qua AI Gateway của Vercel, được ghim cho nhà cung cấp Mistral). Tóm tắt và hành động dịch thuật của trình soạn thảo chạy trên động cơ EU của riêng chúng tôi trên OVH — cùng một động cơ đằng sau giọng nói và trò chuyện trực tiếp. Giọng nói, trò chuyện, ghi chú và tài liệu thời gian thực không bao giờ tiếp cận một LLM mục đích chung ngay từ đầu.

Mô hình Mỹ duy nhất còn nằm trong vòng lặp đánh giá tiêu chuẩn dịch thuật công khai của chúng tôi — chấm điểm các bản dịch máy của các câu tham chiếu FLORES-200 cố định, không bao giờ là cuộc họp của bất kỳ ai.

Chúng tôi vẫn đang tiến xa hơn trên các bước Mistral-EU: một tùy chọn từ chối do chủ sở hữu kiểm soát để tắt hoàn toàn bản tóm tắt, và một mô hình tóm tắt tự lưu trữ, mở trọng số trên OVH (cấp độ Kimi) để thay thế Mistral bên ngoài. Điểm mấu chốt của tuyến trọng số mở không phải là phòng thí nghiệm của ai đã huấn luyện các trọng số — mà là các trọng số mở có thể chạy trên hạ tầng mà chúng tôi kiểm soát, điều này giữ cho nó trên cùng trục mở và có thể tự lưu trữ như phần còn lại của mặt phẳng dữ liệu. Cả hai đều nằm trong lộ trình, chưa được phát hành; chúng tôi sẽ cập nhật bài đăng này khi chúng ra mắt.


Tại sao điều này quan trọng vượt ngoài chúng tôi

Đây không phải là kỹ thuật chỉ để phục vụ chính nó. Lý do để xây dựng một ngăn xếp theo cách này xuất hiện ở phía hợp đồng của bạn:

  1. Có thể kiểm toán. SDK mà cuộc họp của bạn chạy dựa trên là mã nguồn mở mà đội ngũ an ninh của bạn có thể đọc, và động cơ đằng sau nó là của chính chúng tôi — không phải một hộp đen của bên thứ ba.
  2. Có thể chuyển đổi. Tiêu chuẩn mở ở mỗi lớp dữ liệu — Postgres, S3, OIDC — có nghĩa là không bị khóa độc quyền. Những gì có thể di chuyển không bị ràng buộc với một nhà cung cấp duy nhất.
  3. Có thể tự lưu trữ. Các lớp dữ liệu tiêu chuẩn mở — Postgres, S3, OIDC — đã chạy trên hạ tầng do bạn kiểm soát; một động cơ dịch thuật có thể tự lưu trữ hoàn toàn nằm trong lộ trình dành cho khách thuê cần nó.

Đây là bức tranh vào ngày 2026-06-07. Chúng tôi sẽ cập nhật nó khi ngăn xếp thay đổi — đổi nhà cung cấp, xây dựng lại một lớp, thay thế mô hình tóm tắt. Cấu hình hiện tại có thể kiểm chứng trong tệp vercel.json mở, tệp nuxt.config.ts, và kho lưu trữ mind-sdk BSD-3-Clause được liên kết ở trên.

Nếu một lớp ở đây có vẻ sai, hoặc đánh giá an ninh của bạn cần một câu trả lời mà sơ đồ này không cung cấp, hãy viết cho chúng tôi. Chúng tôi thà sửa một chi tiết bị thiếu còn hơn là để bạn tìm thấy nó trong một cuộc kiểm toán mã.


Nguồn: kho lưu trữ mind-sdk (BSD-3-Clause), FLORES-200; các sự kiện về ngăn xếp được xác minh dựa trên cấu hình đã triển khai (vercel.json, nuxt.config.ts) và mã đã phát hành, được kiểm tra vào tháng 8 năm 2026.

Nhận bài viết mới qua email

Chúng tôi sẽ gửi email cho bạn khi đăng bài mới. Bạn có thể hủy đăng ký bất cứ lúc nào.