Chống lộ dữ liệu khi dùng AI lập trình: 6 điều quyết trước
Tóm tắt: Trước khi đưa dữ liệu khách hoặc mã nguồn cho AI, cần quyết sáu việc: công cụ nào, dữ liệu nào, cài đặt huấn luyện, nội dung NDA và hợp đồng, khách đã cho phép chưa, và phương án nếu khách không cho phép. Quyết trước rẻ hơn nhiều so với xử lý sau khi dữ liệu đã đi.
Mục lục
- Cần quyết những gì trước khi đưa dữ liệu khách hoặc mã nguồn cho AI?
- Nên dùng công cụ AI nào, gói nào, và cài đặt huấn luyện ra sao?
- Dữ liệu nào không được đưa vào AI, dữ liệu nào cần điều kiện?
- NDA và hợp đồng cần thêm gì về AI?
- Khách chưa cho phép AI trên mã nguồn của họ thì làm thế nào?
- Khi nào các cách này không đủ?
- Câu hỏi thường gặp
1. Cần quyết những gì trước khi đưa dữ liệu khách hoặc mã nguồn cho AI?
Có sáu quyết định, và nên có câu trả lời bằng văn bản trước khi kỹ sư mở công cụ AI đầu tiên trên mã của khách. Lộ thông tin khi dùng AI hiếm khi do kẻ tấn công. Thường là một kỹ sư dán đoạn mã, bản ghi lỗi hoặc dữ liệu thật vào một công cụ mà chưa ai quyết là có được phép không.
| # | Quyết định | Câu hỏi cần trả lời |
|---|---|---|
| 1 | Công cụ | Công cụ nào, gói nào, tài khoản của công ty hay của cá nhân |
| 2 | Dữ liệu | Loại dữ liệu nào được đưa vào, loại nào tuyệt đối không |
| 3 | Cài đặt | Có dùng để huấn luyện không, lưu bao lâu, tắt được ở đâu |
| 4 | Hợp đồng | NDA và hợp đồng đã nói gì về AI, về bên xử lý thay |
| 5 | Phép của khách | Khách đã đồng ý chưa, đồng ý cho kho mã nào, ai ký |
| 6 | Phương án thay | Nếu khách không đồng ý, phần việc đó làm bằng cách nào |
Sáu việc này không cần phần mềm mới, chỉ cần một trang thoả thuận ngắn đầu dự án và vài dòng cấu hình.
2. Nên dùng công cụ AI nào, gói nào, và cài đặt huấn luyện ra sao?
Điều quyết định dữ liệu có bị dùng để huấn luyện hay không là loại gói, chứ không phải tên công cụ. Với Claude Code, theo tài liệu data usage của Anthropic (đọc 17/10/2026), tài khoản Free, Pro và Max có tuỳ chọn cho phép dữ liệu dùng để cải thiện mô hình. Khi tuỳ chọn đó bật, dữ liệu được dùng để huấn luyện và lưu 5 năm. Khi tắt, lưu 30 ngày. Với gói thương mại (Team, Enterprise, API và nền tảng bên thứ ba), Anthropic không huấn luyện mô hình sinh văn bản bằng mã hay prompt gửi qua Claude Code, trừ khi khách hàng tự chọn tham gia chương trình chia sẻ dữ liệu. Thời gian lưu chuẩn của gói thương mại là 30 ngày, và chế độ không lưu (zero data retention) chỉ dành cho một số tài khoản Enterprise đủ điều kiện.
Ba hệ quả thực tế cho một công ty phát triển phần mềm:
- Tài khoản cá nhân của kỹ sư là rủi ro lớn nhất. Dùng gói cá nhân với tuỳ chọn mặc định trên mã của khách là điều cần cấm bằng quy định, không chỉ nhắc miệng.
- "Không huấn luyện" không có nghĩa là "không lưu". Gói thương mại vẫn gửi nội dung lên máy chủ nhà cung cấp và lưu 30 ngày. Máy kỹ sư cũng giữ bản ghi phiên làm việc dạng văn bản thường trong
~/.claude/projects/, mặc định 30 ngày. - Mỗi công cụ một chính sách riêng. GitHub Copilot cũng chia theo gói. Khi hỏi nhà cung cấp, hỏi theo từng công cụ và từng gói, không hỏi chung "có dùng AI không".
3. Dữ liệu nào không được đưa vào AI, dữ liệu nào cần điều kiện?
Khoá bí mật không bao giờ được đưa vào AI. Dữ liệu cá nhân và mã nguồn của khách chỉ đi vào khi có điều kiện rõ ràng. Bảng dưới là cách phân loại VAON khuyến nghị cho đội lập trình có AI.
| Loại | Mặc định | Điều kiện để đưa vào |
|---|---|---|
Khoá API, mật khẩu, token, file .env |
Không bao giờ | Không có. Chặn bằng cấu hình, không dựa vào nhắc nhở |
| Dữ liệu cá nhân của người dùng cuối | Không | Mục đích nằm trong phạm vi đã nêu, nhà cung cấp không dùng để học máy; ưu tiên dữ liệu đã che |
| Dữ liệu vận hành thật | Không | Thay bằng dữ liệu mẫu hoặc dữ liệu đã che |
| Mã nguồn và tài liệu đặc tả của khách | Không | Khách cho phép, trên công cụ và gói đã thống nhất |
| Mã nguồn mở, tài liệu công khai | Có | Không có điều kiện đặc biệt |
Về dữ liệu cá nhân, Uỷ ban Bảo vệ Thông tin Cá nhân Nhật Bản (PPC) đã có chỉ dẫn từ ngày 02/06/2023. Chỉ dẫn nói rằng nếu doanh nghiệp đưa prompt chứa dữ liệu cá nhân vào dịch vụ AI tạo sinh mà không có sự đồng ý của người đó, và dữ liệu bị xử lý cho mục đích khác ngoài việc trả kết quả, doanh nghiệp có thể vi phạm Luật Bảo vệ Thông tin Cá nhân (APPI). Vì vậy cần xác nhận kỹ rằng "当該生成AIサービスを提供する事業者が、当該個人データを機械学習に利用しないこと等" (nhà cung cấp dịch vụ không dùng dữ liệu đó để học máy). Từng trường hợp cụ thể nên để luật sư đánh giá.
Chặn bằng cấu hình thì cụ thể hơn nhắc nhở. Tài liệu cài đặt của Claude Code có ví dụ dùng permissions.deny với Read(./.env) và Read(./.env.*) để AI không đọc file môi trường. Phía GitHub Copilot, tính năng loại trừ nội dung dành cho gói Business và Enterprise, nhưng tài liệu ghi rõ hiện chưa hỗ trợ chế độ Edit và Agent của Copilot Chat trong Visual Studio Code và một số trình soạn thảo khác, và không áp dụng cho symlink. Ai đang tin rằng "đã loại trừ file rồi" nên đọc kỹ phần này.
4. NDA và hợp đồng cần thêm gì về AI?
NDA và hợp đồng nên ghi rõ AI được dùng thế nào, vì NDA soạn trước thời AI thường không nhắc đến công cụ AI. Bốn mục nên có: nhóm công cụ được phép (đổi công cụ thì báo khách); loại dữ liệu được đưa vào và loại bị cấm; nhà cung cấp AI xử lý dữ liệu ở đâu, lưu bao lâu, có huấn luyện không; và việc cuối dự án, gồm thu hồi quyền, bàn giao hoặc xoá dữ liệu theo yêu cầu.
Với dữ liệu cá nhân, nhà cung cấp AI có thể trở thành một khâu trong chuỗi xử lý. Điều này cần pháp chế hoặc luật sư của khách xác nhận, không nên để đội kỹ thuật tự kết luận.
Trải nghiệm của VAON theo vòng đời dự án: trước khi bắt đầu, hai bên ký NDA và thống nhất dữ liệu nào được dùng, ai được xem. Trong lúc làm, quyền được cấp theo vai trò, mã có thể đặt trên kho mã của khách, và VAON không đưa dữ liệu hay mã vào công cụ AI khi chưa được phép. Khi kết thúc, VAON thu hồi quyền, bàn giao hoặc xoá dữ liệu theo yêu cầu. Cấu hình Claude Code chung do công ty quản lý, trong đó không đặt khoá thật ở môi trường phát triển.
5. Khách chưa cho phép AI trên mã nguồn của họ thì làm thế nào?
Nếu khách chưa cho phép, VAON không đưa mã của họ vào công cụ AI, và phần việc đó chạy bằng quy trình không có AI. Bước AI rà bảo mật không chạy; còn lại là ba cổng tự động trên mỗi pull request (quét secret, quét dependency, phân tích tĩnh) cộng người review. Các cổng này được mô tả đầy đủ trong bài "Bảo mật lập trình với AI: Nhật yêu cầu gì ở công ty phần mềm" của cùng đợt.
Những việc AI vẫn hỗ trợ trên mã khác, như đọc lại mã, sinh test và đồng bộ tài liệu, không áp dụng cho phần mã chưa được phép. Việc đó chuyển sang người, nên kế hoạch cần tính lại. Nói trước với khách, kèm lựa chọn, dễ hơn nói sau.
Khi xin phép, nên đưa lựa chọn thay vì một câu hỏi có/không: không dùng AI trên mã này (tiến độ tính theo làm tay), hoặc dùng AI trên các kho mã nêu tên, với công cụ và gói đã thống nhất. Một số khách còn muốn dữ liệu đi qua tài khoản đám mây của chính họ. Theo tài liệu, Claude Code chạy được qua Amazon Bedrock, Google Cloud's Agent Platform hay Microsoft Foundry, nên đáng đưa vào cuộc bàn.
6. Khi nào các cách này không đủ?
Các biện pháp trên giảm khả năng lộ thông tin, không đưa khả năng đó về không. Bốn giới hạn nên nói rõ với khách:
- Dữ liệu đã gửi thì không rút lại được. Cài đặt đúng chỉ ngăn lần sau. Nội dung đã gửi vẫn nằm trong thời gian lưu của nhà cung cấp.
- Cấu hình chặn có kẽ hở. Sandbox của Claude Code chỉ bao lệnh shell. Theo tài liệu, công cụ file, MCP server và hook nằm ngoài sandbox, và Windows bản gốc không có sandbox. Loại trừ nội dung của Copilot có thể vẫn nhận thông tin gián tiếp qua IDE, theo chính tài liệu của GitHub.
- Dữ liệu tuyệt đối không được ra khỏi mạng nội bộ. Khi đó dùng AI của nhà cung cấp bên ngoài không phù hợp, kể cả gói thương mại. Cần hệ thống chạy trong mạng của khách, như chatbot RAG không dùng dữ liệu để huấn luyện.
- Quy chế không thay thế được con người. Một kỹ sư chủ ý làm sai thì không quy chế nào chặn hết. Quyền cấp theo vai trò và hồ sơ review giúp phát hiện, không đảm bảo ngăn chặn.
7. Câu hỏi thường gặp
Bật "không dùng dữ liệu để huấn luyện" là đủ an toàn chưa? Chưa đủ. Tuỳ chọn đó chỉ nói nhà cung cấp có dùng nội dung để huấn luyện hay không. Nội dung vẫn được gửi đi và lưu theo thời hạn của gói, 30 ngày với gói thương mại của Claude Code. Dữ liệu cần giữ kín tuyệt đối thì không nên gửi.
Kỹ sư có được dùng tài khoản AI cá nhân trên mã của khách không? Không nên. Gói cá nhân có thể cho phép dùng dữ liệu để huấn luyện, và công ty không kiểm soát được cài đặt. Quy định nên yêu cầu tài khoản do công ty cấp, thuộc gói thương mại, trên công cụ đã được khách chấp thuận.
NDA cũ đã ký có cần sửa không? Nên rà. NDA soạn trước thời AI thường chỉ nói về việc không tiết lộ cho bên thứ ba, không nói về việc đưa nội dung vào dịch vụ AI. Cách làm gọn là thêm một phụ lục ngắn về AI thay vì ký lại toàn bộ.
Khách cho phép rồi thì cần ghi lại gì? Ghi bốn thứ: công cụ và gói đã thống nhất, kho mã hoặc loại dữ liệu được phép, người bên khách đã đồng ý, và ngày đồng ý. Khi nhân sự bên khách đổi, bản ghi này giúp cả hai bên khỏi tranh cãi.
Bạn đang cân nhắc cho một công ty phần mềm dùng AI trên mã nguồn hoặc dữ liệu của mình? Trong buổi trao đổi 60 phút có CEO dự, VAON trình bày cách thoả thuận đầu dự án và các lựa chọn khi bạn chưa muốn cho dùng AI. Đặt lịch trao đổi 60 phút miễn phí
Xem thêm: Quy tắc dùng Claude Code trong công việc, Bảo mật khi đưa AI chatbot vào doanh nghiệp, và bài tổng hợp 12 điều cần kiểm tra khi thuê ngoài phát triển có AI.
Tài liệu tham khảo
- Anthropic, Claude Code Docs, Data usage: https://code.claude.com/docs/en/data-usage (đã mở 17/10/2026)
- GitHub Docs, Content exclusion for GitHub Copilot: https://docs.github.com/en/copilot/concepts/context/content-exclusion (đã mở 17/10/2026)
- 個人情報保護委員会, "生成AIサービスの利用に関する注意喚起等" (02/06/2023): https://www.ppc.go.jp/files/pdf/230602_alert_generative_AI_service.pdf (đã mở 17/10/2026)
Tác giả: Đoàn Minh Hoàng, Co-Founder & CTO, VAON.