Bảo mật dữ liệu trong Voice AI: Không lưu ghi âm, không lưu vị trí, duyệt bốn mắt
Công ty TNHH Giải Pháp Phần Mềm Fujigo
Thành viên M&C Holdings (Nhật Bản)

Khi trợ lý giọng nói nghe mọi câu hỏi của bạn, bảo mật không phải tính năng — mà là nguyên tắc thiết kế.
Giới thiệu
Trợ lý giọng nói đặt ra một thách thức bảo mật đặc biệt: thiết bị luôn lắng nghe, ghi lại câu hỏi của bạn — bao gồm cả những thông tin nhạy cảm như «gần đây có phòng khám nào không», «thuốc này uống lúc nào», «tài khoản ngân hàng của tôi».
Các trợ lý phổ biến như Alexa, Google Home lưu ghi âm trên cloud, phân tích để cải thiện dịch vụ, và đôi khi gửi cho bên thứ ba khi có yêu cầu pháp lý. Với du khách, họ không biết dữ liệu của mình đi đâu. Với người cao tuổi, họ không hiểu công nghệ để tự bảo vệ.
Vivi Voice AI thiết kế theo nguyên tắc «privacy by design»: không lưu ghi âm, không lưu lịch sử vị trí, duyệt bốn mắt cho mọi nội dung, nhật ký kiểm toán chống sửa. Bài này giải thích chi tiết cách Vivi bảo vệ dữ liệu người dùng.
1. Không lưu ghi âm, không lưu lịch sử vị trí
Nguyên tắc
Khi bạn nói với Vivi — dù qua app, kiosk hay ESP32 — âm thanh được truyền về máy chủ qua kênh WebSocket bảo mật, chuyển thành text, AI xử lý, và gửi câu trả lời về thiết bị. Sau khi phiên hội thoại kết thúc:
- Ghi âm âm thanh gốc bị xoá — không lưu trên server, không lưu trên thiết bị
- Lịch sử vị trí không được ghi nhận — Vivi biết bạn đang hỏi về «chùa Vàng gần đây» nhưng không lưu toạ độ GPS của bạn
- Nội dung hội thoại không liên kết với danh tính — app du khách dùng ẩn danh, không cần đăng ký
So sánh với Alexa và Google Home
| Tiêu chí | Alexa / Google Home | Vivi Voice AI |
|---|---|---|
| Lưu ghi âm | ✅ Có, trên cloud | ❌ Không |
| Phân tích ghi âm để cải thiện AI | ✅ Có (opt-out) | ❌ Không |
| Lưu lịch sử vị trí | ✅ Có | ❌ Không |
| Yêu cầu đăng ký tài khoản | ✅ Có | ❌ Không (app du khách) |
| Liên kết hội thoại với danh tính | ✅ Có | ❌ Không (ẩn danh) |
2. Duyệt bốn mắt — người tạo không thể tự duyệt
Nguyên tắc
Mọi nội dung hiển thị cho người dùng — địa điểm, giá vé, giờ mở cửa, bản dịch, kịch bản AI — đều phải qua bước duyệt. Và người tạo nội dung không thể tự duyệt nội dung của mình.
Đây không phải là «ẩn nút duyệt trên giao diện» — luật này được enforced ở tầng cơ sở dữ liệu. Dù bạn có quyền admin, bạn vẫn không thể bypass.
Tại sao quan trọng?
- Tránh sai sót một người: một biên tập viên có thể nhập sai giá vé, nhưng nếu cần người thứ hai xác nhận, lỗi sẽ bị phát hiện
- Tránh thiên kiến: người dịch có thể hiểu sai ngữ cảnh, người duyệt biết ngôn ngữ đó sẽ kiểm tra
- Trách nhiệm giải trình: mọi thay đổi đều có người tạo và người duyệt, không ai tự ý thay đổi một mình
Luồng duyệt trên CMS
- Biên tập viên tạo/sửa nội dung (địa điểm, giá vé, bản dịch)
- Nội dung chuyển sang hàng đợi duyệt
- Người duyệt (khác người tạo) xem, so sánh với nguồn, xác nhận hoặc từ chối
- Nội dung đã duyệt mới được đẩy lên app, kiosk, ESP32
Bản dịch máy không tự lên app: phải có người biết ngôn ngữ đó duyệt. Đây là lý do Vivi hỗ trợ 5 ngôn ngữ nhưng chất lượng bản dịch được đảm bảo.
3. Nhật ký kiểm toán chống sửa bằng hash chain
Nguyên tắc
Mọi thay đổi trên CMS — tạo, sửa, duyệt, xoá — đều được ghi vào nhật ký kiểm toán. Nhật ký này:
- Chỉ ghi thêm (append-only): không thể sửa hoặc xoá dòng cũ
- Có chuỗi băm (hash chain): mỗi dòng chứa hash của dòng trước, nếu ai đó sửa dòng cũ, hash sẽ không khớp và toàn bộ chuỗi bị phát hiện là giả mạo
- Lưu 5 năm: đáp ứng yêu cầu pháp lý về lưu trữ dữ liệu
So sánh với hệ thống thông thường
| Tiêu chí | Hệ thống thông thường | Vivi Voice AI |
|---|---|---|
| Nhật ký kiểm toán | ✅ Có | ✅ Có |
| Append-only | ❌ Admin có thể sửa | ✅ enforced ở tầng DB |
| Hash chain | ❌ Không | ✅ Có |
| Thời gian lưu | 1-2 năm | 5 năm |
4. Phân quyền theo vai trò
Các vai trò trên CMS
- Admin: quản lý người dùng, cấu hình hệ thống
- Vận hành: quản lý thiết bị, chiến dịch thông báo
- Biên tập: tạo và sửa nội dung
- Kiểm duyệt: duyệt nội dung do biên tập tạo
Mỗi vai trò chỉ thấy và làm được những gì được phép. Biên tập viên không duyệt được. Người duyệt không tạo được. Admin không bypass được luật duyệt bốn mắt.
Dữ liệu tách theo khách hàng triển khai
Nếu bạn là khách sạn A triển khai Vivi, bạn chỉ thấy dữ liệu của khách sạn A. Bạn không thấy dữ liệu của khách sạn B. Đây là nguyên tắc data isolation, đảm bảo mỗi khách hàng triển khai không truy cập chéo dữ liệu.
5. Bảo mật thiết bị IoT
Xác thực bằng HMAC
Mỗi thiết bị ESP32 được cấp một khoá bí mật khi đăng ký trên CMS. Khi kết nối, thiết bị ký request bằng HMAC (Hash-based Message Authentication Code). Server xác minh chữ ký trước khi chấp nhận kết nối.
Nếu thiết bị bị mất hoặc bị giả mạo, CMS có thể vô hiệu khoá ngay lập tức.
Kênh WebSocket bảo mật
Sau khi xác thực, thiết bị mở kênh WebSocket bảo mật để truyền âm thanh. Âm thanh được nén bằng Opus — codec chất lượng cao, băng thông thấp. Dữ liệu truyền đi không thể bị đọc lén nếu ai đó chặn được gói tin.
Nạp firmware qua USB từ CMS
Khi cần cập nhật firmware, kỹ thuật viên cắm USB vào thiết bị ESP32, mở CMS trên trình duyệt, và nạp firmware mới. Cấu hình WiFi và khoá thiết bị được giữ nguyên — không cần cấu hình lại.
Đang phát triển: cập nhật firmware từ xa (OTA).
6. Bảo vệ cầu thủ trẻ trong Companion
Nguyên tắc
Module Companion cho người cao tuổi tuân theo nguyên tắc tương tự:
- Không lưu tên thật của người được chăm sóc — chỉ dùng biệt danh
- Không lưu ảnh — tránh rò rỉ hình ảnh người cao tuổi
- Dữ liệu chỉ người thân được chỉ định mới thấy — không chia sẻ với bên thứ ba
So sánh với các app chăm sóc khác
Nhiều app chăm sóc người cao tuổi yêu cầu tên thật, ảnh, ngày sinh, địa chỉ, tiền sử bệnh. Dữ liệu này nếu bị rò rỉ sẽ rất nguy hiểm vì người cao tuổi là đối tượng dễ bị lừa đảo.
Vivi chọn cách tiếp cận ngược lại: chỉ thu thập những gì cần thiết để thực hiện chức năng (nhắc thuốc, trò chuyện, cảnh báo), và mã hoá nhận dạng bằng biệt danh.
7. Kiosk an toàn khi đặt nơi công cộng
Không mở trình duyệt web
Kiosk Vivi không chạy trình duyệt web đầy đủ. Khi cần hiển thị link chính thức hoặc chỉ đường, kiosk hiện mã QR — khách quét QR và mở trên điện thoại của mình.
Lý do: trình duyệt web trên kiosk công cộng có nguy cơ bị inject mã độc, bị keylogger, hoặc bị lợi dụng để truy cập vào mạng nội bộ.
Không nhận thanh toán
Kiosk không xử lý thanh toán. Nếu bạn cần mua vé, kiosk chỉ dẫn đến website chính thức qua QR.
Lý do: xử lý thanh toán yêu cầu tuân thủ PCI-DSS, và nếu bị tấn công, dữ liệu thẻ tín dụng của khách có thể bị đánh cắp.
Câu hướng dẫn khẩn cấp là cố định
Khi có tình huống khẩn cấp (hoả hoạn, động đất), kiosk phát câu hướng dẫn cố định — không phải do AI sinh ra.
Lý do: AI có thể «hallucinate» — sinh ra thông tin sai trong tình huống khẩn cấp. Câu cố định đã được kiểm duyệt, đảm bảo chính xác.
8. Tổng kết: Privacy by design
| Nguyên tắc | Cách Vivi thực hiện |
|---|---|
| Không lưu ghi âm | Xoá sau khi phiên hội thoại kết thúc |
| Không lưu vị trí | Không ghi nhận toạ độ GPS |
| Ẩn danh | App du khách không cần đăng ký |
| Duyệt bốn mắt | Người tạo không tự duyệt, enforced ở tầng DB |
| Nhật ký chống sửa | Hash chain, append-only, lưu 5 năm |
| Phân quyền | Role-based, data isolation theo khách hàng |
| Bảo mật thiết bị | HMAC, WebSocket, vô hiệu khoá từ xa |
| Bảo vệ người cao tuổi | Biệt danh, không ảnh, chỉ người thân thấy |
| Kiosk an toàn | Không trình duyệt, không thanh toán, câu khẩn cấp cố định |
Vivi Voice AI không hoàn hảo — không hệ thống nào hoàn hảo. Nhưng chúng tôi thiết kế từ ngày đầu với giả định rằng mọi dữ liệu nhạy cảm đều có thể bị tấn công, và cách bảo vệ tốt nhất là không lưu những gì không cần lưu.