Chính sách bảo vệ dữ liệu cá nhân

Cập nhật lần cuối: 29 tháng 10, 2026 · Có hiệu lực từ: 28 tháng 10, 2026

Chính sách này mô tả cách website https://ngochuydo.com và hệ thống quản trị https://cms.ngochuydo.com (gọi chung là "Dịch vụ") thu thập, sử dụng, lưu trữ, cung cấp và bảo vệ dữ liệu cá nhân.

Dịch vụ gồm website portfolio công khai và hệ thống CMS dùng để quản lý nội dung, tài khoản quản trị và các chức năng liên quan. Người chịu trách nhiệm vận hành Dịch vụ là Đỗ Ngọc Huy.

Chúng tôi xử lý dữ liệu cá nhân theo pháp luật Việt Nam hiện hành, bao gồm Luật Bảo vệ dữ liệu cá nhân số 91/2025/QH15 và các văn bản hướng dẫn.

Việc truy cập website không đồng nghĩa với việc bạn đồng ý cho mọi hoạt động xử lý dữ liệu. Mỗi hoạt động dưới đây chỉ được thực hiện cho đúng mục đích bạn chủ động sử dụng.

1. Dữ liệu cá nhân được xử lý

1.1. Đăng nhập và tài khoản CMS

CMS cho phép tự đăng ký bằng email và mật khẩu, hoặc đăng nhập bằng Google hoặc GitHub. Tài khoản mới không có quyền quản trị cho đến khi được quản trị viên cấp.

Khi đăng nhập bằng Google, Dịch vụ chỉ yêu cầu các quyền openid, email và profile. Khi đăng nhập bằng GitHub, Dịch vụ chỉ yêu cầu quyền read:user và user:email. Từ nhà cung cấp, chúng tôi chỉ lưu địa chỉ email đã được xác minh và tên hiển thị; không lưu mã định danh tài khoản, ảnh đại diện hay token của Google/GitHub.

Khi đăng ký bằng email và mật khẩu, chúng tôi lưu email, tên người dùng, mật khẩu dưới dạng giá trị băm (không lưu văn bản thuần), trạng thái tài khoản và mã xác minh tạm thời dùng để xác minh email hoặc đặt lại mật khẩu.

Khi bạn tạo, sửa hoặc xóa dữ liệu trong CMS, hệ thống ghi nhật ký thao tác gồm tên tài khoản, thao tác, bản ghi bị tác động, các trường thay đổi và thời điểm, để quản trị viên truy vết khi cần. Mỗi lần lưu bài viết cũng tạo một phiên bản để có thể khôi phục.

Chúng tôi không yêu cầu quyền truy cập danh bạ, lịch, tệp, email hay tin nhắn trong tài khoản Google/GitHub của bạn.

1.2. Biểu mẫu liên hệ

Khi bạn gửi biểu mẫu liên hệ, chúng tôi lưu tên, địa chỉ email, tiêu đề và nội dung tin nhắn để tiếp nhận và phản hồi yêu cầu của bạn, đồng thời xử lý hành vi lạm dụng biểu mẫu khi cần.

1.3. Đăng ký nhận bản tin

Bản tin dùng cơ chế xác nhận hai bước (double opt-in): sau khi bạn nhập email, chúng tôi gửi một liên kết xác nhận và chỉ gửi bản tin sau khi bạn bấm xác nhận. Chúng tôi lưu địa chỉ email, thời điểm xác nhận và mã dùng cho liên kết xác nhận/hủy đăng ký.

Mọi email bản tin đều có liên kết hủy đăng ký. Khi bạn hủy, địa chỉ email của bạn bị xóa hoàn toàn khỏi danh sách nhận tin.

1.4. Chat và tin nhắn

Chức năng chat do chúng tôi tự xây dựng và lưu trên máy chủ của Dịch vụ, không dùng dịch vụ chat bên thứ ba. Chúng tôi lưu nội dung tin nhắn, tên và email nếu bạn chọn cung cấp, cùng ngôn ngữ giao diện. Trình duyệt của bạn giữ một mã cuộc trò chuyện trong localStorage để bạn tiếp tục cuộc trò chuyện khi quay lại.

Vui lòng không gửi dữ liệu cá nhân nhạy cảm hoặc thông tin bí mật qua chat.

1.5. Dữ liệu kỹ thuật, nhật ký máy chủ và thống kê

Máy chủ web (Nginx) ghi nhật ký truy cập theo định dạng chuẩn, gồm địa chỉ IP, user-agent, URL được yêu cầu, mã phản hồi và thời điểm truy cập, để vận hành, xử lý lỗi và phát hiện tấn công.

Để chống spam, một số chức năng (đăng nhập, chat, biểu mẫu) giới hạn số lần gửi theo địa chỉ IP. Bộ đếm này chỉ nằm trong bộ nhớ và tự hết hạn sau tối đa 10 phút.

Thống kê website chỉ ghi loại sự kiện (ví dụ lượt xem trang hoặc bài viết), mã nội dung và ngôn ngữ. Bản ghi thống kê không chứa địa chỉ IP, cookie hay bất kỳ mã định danh người dùng nào, nên không thể liên kết với một cá nhân. Trình duyệt chỉ giữ danh sách trang đã xem trong sessionStorage để không đếm trùng, và danh sách này tự xóa khi đóng tab.

2. Mục đích và căn cứ xử lý

Chúng tôi chỉ xử lý dữ liệu cho mục đích cụ thể, rõ ràng và trong phạm vi cần thiết.

Hoạt độngMục đíchCăn cứ xử lý
Đăng nhập CMSXác thực, quản lý tài khoản, bảo vệ quyền truy cậpSự đồng ý của bạn khi chủ động đăng ký hoặc đăng nhập
Biểu mẫu liên hệTiếp nhận và phản hồi yêu cầuSự đồng ý của bạn khi chủ động gửi biểu mẫu, chỉ cho mục đích phản hồi
Bản tinGửi bản tin bạn đã đăng kýSự đồng ý được xác nhận qua email (double opt-in), rút lại bằng liên kết hủy
ChatTrao đổi và trả lời tin nhắnSự đồng ý của bạn khi chủ động gửi tin nhắn
Nhật ký kỹ thuật, giới hạn tần suấtBảo mật, xử lý lỗi, ngăn chặn lạm dụngBảo đảm an ninh, an toàn hệ thống theo quy định pháp luật
Thống kê websiteĐánh giá mức độ quan tâm nội dungKhông xử lý dữ liệu cá nhân

3. Thời hạn lưu trữ

  • Tài khoản CMS: lưu đến khi tài khoản bị xóa. Tài khoản đã xóa được xóa vĩnh viễn khỏi cơ sở dữ liệu sau 15 ngày.
  • Mã xác minh email và đặt lại mật khẩu: tự động xóa sau khi hết hạn.
  • Nhật ký thao tác trong CMS: tự động xóa sau 1 năm.
  • Biểu mẫu liên hệ: lưu đến khi được xử lý và xóa; bản ghi đã xóa được xóa vĩnh viễn sau 15 ngày.
  • Bản tin: lưu đến khi bạn hủy đăng ký hoặc yêu cầu xóa; khi hủy, email bị xóa ngay.
  • Chat: lưu đến khi cuộc trò chuyện bị xóa hoặc bạn yêu cầu xóa.
  • Nhật ký Nginx: xoay vòng hằng ngày và tự xóa sau 14 ngày.
  • Thống kê: lưu lâu dài vì không chứa dữ liệu cá nhân.

Chúng tôi không duy trì bản sao lưu tự động định kỳ của cơ sở dữ liệu, vì vậy dữ liệu đã xóa không tồn tại trong bản sao lưu cũ. Nếu sau này áp dụng sao lưu, chính sách này sẽ được cập nhật kèm thời hạn lưu bản sao.

4. Bên tiếp nhận dữ liệu và dịch vụ bên thứ ba

Dữ liệu chỉ được chia sẻ với các nhà cung cấp cần thiết để Dịch vụ hoạt động:

Nhà cung cấpVai tròDữ liệu liên quan
GoogleXác thực đăng nhập; máy chủ SMTP Gmail gửi emailEmail, tên hiển thị khi đăng nhập; email người nhận và nội dung email hệ thống/bản tin
GitHubXác thực đăng nhậpEmail, tên hiển thị
Amazon Web Services (S3, khu vực Singapore ap-southeast-1)Lưu trữ tệp tải lên (ảnh, CV)Tệp do quản trị viên tải lên; không chứa dữ liệu của khách truy cập
  • Chúng tôi không bán dữ liệu cá nhân và không cung cấp dữ liệu cho bên thứ ba để quảng cáo.
  • Dữ liệu nhận được từ Google API chỉ được dùng để đăng nhập và tuân thủ Google API Services User Data Policy, bao gồm các yêu cầu Limited Use. Dữ liệu này không được dùng cho quảng cáo, không được chuyển cho bên khác và không được dùng để huấn luyện mô hình AI.

5. Chuyển dữ liệu ra nước ngoài

Google và GitHub xử lý dữ liệu xác thực trên hạ tầng toàn cầu của họ (chủ yếu tại Hoa Kỳ); email gửi qua Gmail SMTP cũng được xử lý trên hạ tầng của Google. Tệp tải lên được lưu trên AWS tại Singapore. Cơ sở dữ liệu chính của Dịch vụ (tài khoản, liên hệ, bản tin, chat) được lưu trên máy chủ do chúng tôi quản lý.

Chúng tôi chỉ chuyển dữ liệu tối thiểu cần thiết cho các chức năng trên và thực hiện các nghĩa vụ về chuyển dữ liệu cá nhân ra nước ngoài theo pháp luật Việt Nam.

6. Cookie và lưu trữ trên trình duyệt

Dịch vụ chỉ dùng cookie và bộ nhớ trình duyệt thiết yếu, không dùng cookie quảng cáo hay theo dõi của bên thứ ba:

TênNơi dùngMục đíchThời hạn
tokencms.ngochuydo.comPhiên đăng nhập CMS (HttpOnly, Secure, SameSite=Strict)30 ngày, hoặc đến khi đóng trình duyệt nếu không chọn ghi nhớ
oauth_statecms.ngochuydo.com, đường dẫn /api/auth/callbackChống giả mạo trong quá trình đăng nhập Google/GitHub (HttpOnly, Secure, SameSite=Lax)10 phút, xóa ngay khi đăng nhập xong
NEXT_LOCALEngochuydo.com, cms.ngochuydo.comGhi nhớ ngôn ngữTheo phiên trình duyệt
theme (localStorage)ngochuydo.com, cms.ngochuydo.comGhi nhớ giao diện sáng/tốiĐến khi bạn xóa dữ liệu trình duyệt
chat-token, chat-profile (localStorage)ngochuydo.comTiếp tục cuộc trò chuyện chatĐến khi bạn xóa dữ liệu trình duyệt
tracked-page-views (sessionStorage)ngochuydo.comTránh đếm trùng lượt xemĐến khi đóng tab
  • Bạn có thể xóa hoặc chặn cookie trong cài đặt trình duyệt. Chặn cookie token hoặc oauth_state sẽ khiến bạn không đăng nhập được CMS.
  • Nếu sau này dùng cookie không thiết yếu, chúng tôi sẽ cập nhật chính sách và xin sự đồng ý trước.

7. Bảo mật dữ liệu

  • Toàn bộ kết nối dùng HTTPS.
  • Mật khẩu được băm, không lưu văn bản thuần.
  • Cookie phiên là HttpOnly, Secure, SameSite=Strict; đăng nhập Google/GitHub được bảo vệ bằng tham số state chống giả mạo.
  • Quyền trong CMS được phân theo vai trò; tài khoản mới không có quyền quản trị.
  • Các chức năng công khai có giới hạn tần suất để chống spam và dò mật khẩu.

Không hệ thống nào an toàn tuyệt đối. Nếu xảy ra sự cố lộ lọt dữ liệu, chúng tôi sẽ khắc phục, thông báo cho cơ quan có thẩm quyền và cho người bị ảnh hưởng theo thời hạn pháp luật quy định.

8. Quyền của chủ thể dữ liệu

Theo pháp luật, bạn có quyền:

  • Được biết về hoạt động xử lý dữ liệu cá nhân của mình.
  • Đồng ý hoặc không đồng ý, và rút lại sự đồng ý bất cứ lúc nào.
  • Xem, chỉnh sửa hoặc yêu cầu chỉnh sửa dữ liệu.
  • Yêu cầu cung cấp, xóa hoặc hạn chế xử lý dữ liệu.
  • Phản đối việc xử lý trong các trường hợp pháp luật quy định.
  • Khiếu nại, tố cáo, khởi kiện và yêu cầu bồi thường theo quy định.
  • Thu hồi quyền truy cập của Dịch vụ trong tài khoản Google (myaccount.google.com/permissions) hoặc GitHub (Settings → Applications).

9. Hủy nhận bản tin

Bạn có thể hủy bằng liên kết hủy đăng ký có trong mọi email bản tin, hoặc liên hệ với chúng tôi. Việc hủy có hiệu lực ngay và email của bạn bị xóa khỏi hệ thống.

10. Trẻ em và liên kết bên ngoài

Dịch vụ là website portfolio cá nhân, không hướng đến trẻ em dưới 16 tuổi. Chúng tôi không cố ý thu thập dữ liệu của trẻ em; nếu phát hiện, dữ liệu đó sẽ được xóa.

Website có liên kết đến dịch vụ bên ngoài (GitHub, LinkedIn…). Các dịch vụ đó có chính sách riêng mà chúng tôi không kiểm soát.

11. Liên hệ về dữ liệu cá nhân

Để thực hiện các quyền ở trên, hãy gửi yêu cầu kèm email bạn đã dùng với Dịch vụ. Chúng tôi có thể xác minh danh tính ở mức hợp lý trước khi cung cấp hoặc xóa dữ liệu, và sẽ phản hồi trong thời hạn pháp luật quy định. Yêu cầu xóa có thể bị giới hạn nếu pháp luật bắt buộc lưu trữ.

12. Thay đổi chính sách

Chúng tôi có thể cập nhật chính sách khi Dịch vụ hoặc quy định pháp luật thay đổi. Ngày cập nhật và ngày hiệu lực luôn ghi ở đầu trang. Nếu thay đổi làm thay đổi đáng kể mục đích xử lý, chúng tôi sẽ thông báo và xin lại sự đồng ý khi pháp luật yêu cầu.

Nếu có khác biệt giữa bản tiếng Việt và bản tiếng Anh, bản tiếng Việt được ưu tiên áp dụng.