1Ai chịu trách nhiệm về dữ liệu
Có hai vai trò khác nhau, và điều này quyết định bạn hỏi ai khi cần:
- Dữ liệu tài khoản của bạn (email, tên, mật khẩu, thiết bị đăng nhập) — Tilio quyết định cách xử lý.
- Dữ liệu học sinh bạn nhập vào (tên, ngày sinh, liên hệ phụ huynh, điểm danh, học phí) — bạn là người quyết định, chúng tôi chỉ lưu giữ và xử lý theo thao tác của bạn. Phụ huynh muốn xem, sửa hay xoá thông tin của con thì liên hệ trực tiếp giáo viên hoặc trung tâm, không phải chúng tôi.
2Dữ liệu chúng tôi lưu
Tài khoản của bạn: email, tên đăng nhập, họ tên, số điện thoại, ngày sinh, ảnh đại diện, email khôi phục, vai trò. Mật khẩu không được lưu ở dạng đọc được — chỉ lưu chuỗi băm bcrypt, chúng tôi không có cách nào biết mật khẩu của bạn.
Dữ liệu nghiệp vụ bạn nhập: lớp học, học sinh (họ tên, ngày sinh, điện thoại, email, địa chỉ, tên phụ huynh, ghi chú), buổi học, điểm danh, điểm số, nhật ký học tập, học phí và giao dịch thanh toán, bảng lương trợ giảng, sổ chi phí, ngày lễ, phần thưởng.
Tệp đính kèm: ảnh đại diện, ảnh trong nhật ký học tập, chứng từ chi phí, ảnh phần thưởng. Các tệp này được lưu trong vùng lưu trữ riêng tư; ứng dụng chỉ cấp liên kết có chữ ký và thời hạn ngắn sau khi kiểm tra quyền truy cập.
Dữ liệu kỹ thuật để bảo mật: mỗi lần đăng nhập chúng tôi ghi lại loại thiết bị, trình duyệt, hệ điều hành, địa chỉ IP và chuỗi user-agent, để bạn xem được danh sách thiết bị đang đăng nhập và đăng xuất từ xa khi thấy lạ. Nhật ký thao tác ghi ai đã làm gì với dữ liệu nào và vào lúc nào.
Khi máy chủ chạy trong mạng nội bộ, địa chỉ trình duyệt gửi lên chỉ là dạng 192.168.x.x nên không nói được gì. Trường hợp đó hệ thống hỏi một trong hai dịch vụ công khai api.ipify.org hoặc ifconfig.me để lấy địa chỉ IP công cộng của mạng. Yêu cầu này chỉ hỏi “IP của tôi là gì”, không gửi kèm bất kỳ dữ liệu nào của bạn hay học sinh.
3Chúng tôi dùng dữ liệu vào việc gì
- Vận hành đúng các chức năng bạn dùng: xếp lịch, điểm danh, tính học phí, chốt lương, in phiếu thu.
- Xác thực đăng nhập và giữ phiên làm việc.
- Cảnh báo khi có đăng nhập từ thiết bị lạ, và cho bạn đăng xuất thiết bị đó từ xa.
- Ghi nhật ký thao tác để truy được nguồn khi số liệu sai lệch.
- Xử lý thanh toán gói cước và gia hạn.
Chúng tôi không bán dữ liệu, không dùng dữ liệu của bạn hay của học sinh để chạy quảng cáo, và không huấn luyện mô hình trí tuệ nhân tạo trên đó.
4Đăng nhập bằng Google, Facebook, Outlook
Nếu bạn chọn cách đăng nhập này, chúng tôi chỉ nhận và lưu: mã định danh của bạn ở nhà cung cấp đó, địa chỉ email, họ tên và ảnh đại diện. Ảnh được tải về một lần để làm ảnh đại diện trong ứng dụng; nếu bạn đã tự đặt ảnh khác thì chúng tôi giữ ảnh của bạn.
Chúng tôi không nhận mật khẩu của bạn ở các dịch vụ đó, và không truy cập danh bạ, bài đăng hay hộp thư của bạn. Bạn gỡ liên kết bất cứ lúc nào ở Cài đặt → Thông tin cá nhân → Tài khoản liên kết.
5Đồng bộ sang Google Calendar và Outlook Calendar
Khi bạn tự bấm kết nối, chúng tôi xin quyền đọc và ghi sự kiện lịch, đồng thời lưu mã truy cập (access token, refresh token) để đồng bộ các buổi học. Cụ thể:
- Quyền xin: https://www.googleapis.com/auth/calendar.events với Google, Calendars.ReadWrite với Microsoft.
- Dữ liệu gửi đi: tên buổi học, tên lớp, ngày giờ bắt đầu và kết thúc, ghi chú buổi học. Không gửi tên học sinh, điểm số hay học phí.
- Phạm vi: các buổi trong khoảng 30 ngày trước tới 120 ngày tới.
- Google Calendar và Outlook được đồng bộ hai chiều, nhưng chỉ đối với những sự kiện do Tilio tạo và liên kết với một buổi học trong hệ thống. Tilio đọc lại tiêu đề, ngày và giờ của các sự kiện này để cập nhật buổi học; nếu sự kiện bị xoá trên Google Calendar hoặc Outlook thì buổi học tương ứng được chuyển sang trạng thái đã huỷ.
- Tilio không đọc, thay đổi hoặc xoá các sự kiện không do Tilio tạo và liên kết. Nếu cùng một buổi học được sửa ở cả Tilio và lịch ngoài, chúng tôi hiển thị xung đột để bạn tự chọn phiên bản muốn giữ.
- Lưu tài liệu giáo án (khi chủ trung tâm tự kết nối): quyền https://www.googleapis.com/auth/drive.file với Google Drive (Tilio chỉ thấy tệp do chính nó tạo hoặc bạn tự chọn), Files.ReadWrite với OneDrive. Tilio chỉ ghi vào thư mục “TilioClass - Giáo án” và chỉ đọc nội dung một tệp khi bạn chọn nhập giáo án từ tệp đó.
- Outlook Calendar hiện chỉ đồng bộ một chiều từ Tilio sang Outlook.
- Ngắt kết nối bất cứ lúc nào ở Thời khoá biểu → Đồng bộ lịch → Ngắt. Khi đó mã truy cập bị xoá khỏi hệ thống.
Cách chúng tôi bảo vệ dữ liệu Google Calendar
- Dữ liệu truyền giữa trình duyệt, Tilio và Google API được bảo vệ bằng HTTPS/TLS.
- Access token và refresh token được mã hóa ở tầng ứng dụng bằng AES-256-GCM trước khi ghi vào cơ sở dữ liệu. Khóa mã hóa nằm trong biến môi trường bí mật của máy chủ, tách khỏi cơ sở dữ liệu và mã nguồn.
- Token chỉ được giải mã tạm thời trong bộ nhớ phía máy chủ khi cần gọi Google API; token không được gửi xuống trình duyệt và không được ghi vào nhật ký ứng dụng.
- Mỗi kết nối lịch được ràng buộc với đúng tài khoản Tilio. Hệ thống kiểm tra phiên đăng nhập và quyền truy cập trước khi đồng bộ hoặc ngắt kết nối.
- Tilio chỉ yêu cầu phạm vi calendar.events và chỉ xử lý những sự kiện do Tilio tạo, thay vì yêu cầu quyền truy cập toàn bộ dữ liệu Google Calendar.
- Khi bạn ngắt kết nối, access token, refresh token và thông tin ánh xạ lịch bị xoá khỏi hệ thống. Nếu phát hiện sự cố, chúng tôi sẽ cô lập sự cố, thu hồi hoặc thay khóa bị ảnh hưởng và thông báo cho người dùng hoặc Google khi pháp luật hay chính sách áp dụng yêu cầu.
Tuân thủ Chính sách dữ liệu người dùng dịch vụ API của Google. Việc Tilio sử dụng thông tin nhận được từ các API của Google tuân theo Google API Services User Data Policy, bao gồm cả các yêu cầu Sử dụng giới hạn (Limited Use). Chúng tôi không chuyển dữ liệu Google cho bên thứ ba trừ khi cần để cung cấp chính tính năng bạn yêu cầu, không dùng dữ liệu đó cho quảng cáo, và không để người khác đọc dữ liệu đó ngoài các trường hợp bạn cho phép rõ ràng, phục vụ mục đích bảo mật, hoặc theo yêu cầu của pháp luật.
6Kênh YouTube của trung tâm (YouTube API Services)
Tilio sử dụng YouTube API Services để giáo viên tải video nhật ký học tập lên kênh YouTube của chính trung tâm. Tính năng này là tuỳ chọn, chỉ bật khi chủ trung tâm bấm Kết nối ở thẻ YouTube trong Cài đặt → Kết nối ứng dụng và đồng ý trên màn hình cấp quyền của Google. Khi dùng tính năng này, bạn đồng ý chịu ràng buộc bởi Điều khoản dịch vụ của YouTube; video trên YouTube còn chịu Chính sách quyền riêng tư của Google.
- Quyền xin: https://www.googleapis.com/auth/youtube.upload (tải video lên kênh) và https://www.googleapis.com/auth/youtube.readonly (biết kênh nào đã được chọn và kiểm tra video vừa tải lên đúng là của kênh đó).
- Dữ liệu nhận và lưu: mã kênh và tên kênh YouTube, email tài khoản Google đã kết nối, access token và refresh token. Với mỗi video được gắn vào nhật ký, Tilio lưu mã video, tên video và trạng thái duyệt của link.
- Dữ liệu gửi sang YouTube: tệp video do giáo viên chọn, tên video giáo viên nhập, mô tả cố định “Tải lên từ TilioClass.”, danh mục Giáo dục, chế độ xem (Không công khai hoặc Riêng tư) và lựa chọn “Dành cho trẻ em”. Tệp video đi thẳng từ trình duyệt tới Google, không đi qua và không lưu trên máy chủ Tilio. Tilio không tự gửi tên học sinh, điểm số, học phí hay dữ liệu học sinh nào khác; hãy tránh ghi họ tên đầy đủ của học sinh vào tên video.
- Dữ liệu đọc từ YouTube: thông tin kênh khi kết nối, và mã kênh, tên, chế độ xem của đúng video vừa tải lên để xác nhận video thuộc kênh của trung tâm. Tilio không đọc các video khác, bình luận, người đăng ký, số liệu thống kê hay dữ liệu nào khác của kênh, và không sửa hay xoá video.
- Video nằm trên kênh YouTube của trung tâm, do trung tâm quản lý trong YouTube Studio. Video “Không công khai” mở được bởi bất kỳ ai có link. Link video chỉ hiện với phụ huynh sau khi giáo viên duyệt và chủ trung tâm xuất bản theo sự đồng ý chia sẻ video của phụ huynh.
- Tilio không dùng dữ liệu YouTube để quảng cáo, không bán và không chia sẻ cho bên thứ ba. Không có cookie hay công cụ theo dõi nào của YouTube được cài qua Tilio; trình phát và trang YouTube chỉ mở khi người xem bấm vào link.
- Token được mã hoá AES-256-GCM trước khi lưu, chỉ giải mã trong bộ nhớ máy chủ khi gọi YouTube API, không gửi xuống trình duyệt, không ghi vào nhật ký.
- Xoá và thu hồi: token bị xoá khi chủ trung tâm bấm Ngắt ở thẻ YouTube, khi xoá tài khoản Tilio, hoặc khi Google báo quyền đã bị thu hồi (Tilio xoá token ở lần gọi kế tiếp). Bạn có thể thu hồi quyền của Tilio bất cứ lúc nào tại trang cài đặt bảo mật của Google. Mã video trong nhật ký giữ đến khi bạn gỡ link, xoá nhật ký hoặc xoá tài khoản; video đã tải vẫn nằm trên kênh của trung tâm cho đến khi bạn xoá trên YouTube.
7Tích hợp Zoom
Tích hợp Zoom là tuỳ chọn, chỉ bật khi chủ trung tâm bấm Kết nối Zoom ở Cài đặt → Kết nối ứng dụng và đồng ý trên màn hình cấp quyền của Zoom.
- Quyền xin: user:read:user (biết tài khoản Zoom nào đã kết nối và có bản quyền hay không); meeting:write:meeting, meeting:read:meeting, meeting:update:meeting, meeting:delete:meeting (tạo, đọc, cập nhật, xoá phòng họp do Tilio tạo cho lớp của bạn).
- Dữ liệu nhận và lưu: mã người dùng Zoom, email và loại tài khoản Zoom, access token và refresh token, mã và link tham gia của phòng do Tilio tạo. Link chủ phòng được lấy mới từ Zoom mỗi lần giáo viên bấm “Bắt đầu lớp (chủ phòng)” và không được lưu.
- Dữ liệu gửi sang Zoom: tên phòng (tên buổi hoặc tên lớp), giờ bắt đầu, thời lượng, múi giờ và thiết lập phòng. Không gửi tên học sinh, điểm số, học phí hay dữ liệu học sinh nào khác.
- Tilio không truy cập bản ghi, bản chép lời, tin nhắn chat, nội dung cuộc họp, danh bạ hay những cuộc họp không do Tilio tạo.
- Token được mã hoá AES-256-GCM trước khi lưu, chỉ giải mã trong bộ nhớ máy chủ khi gọi Zoom API, không gửi xuống trình duyệt, không ghi vào nhật ký. Dữ liệu Zoom không bán, không dùng cho quảng cáo, không chia sẻ cho bên thứ ba.
- Token bị xoá ngay khi bạn ngắt kết nối Zoom trong Tilio, khi bạn gỡ ứng dụng trên Zoom App Marketplace (Zoom báo về và Tilio tự xoá kết nối), hoặc khi xoá tài khoản Tilio. Phòng đã tạo vẫn nằm trong tài khoản Zoom của bạn.
8Chia sẻ với bên nào
Dữ liệu chỉ được chia sẻ trong các trường hợp cần thiết để vận hành chức năng bạn yêu cầu:
- Nhà cung cấp hạ tầng. Vercel vận hành ứng dụng; Supabase cung cấp cơ sở dữ liệu PostgreSQL và vùng lưu trữ tệp riêng tư. Các đơn vị này chỉ xử lý dữ liệu để cung cấp hạ tầng cho Tilio, không được Tilio cho phép dùng dữ liệu để quảng cáo.
- Link phiếu thu gửi phụ huynh. Khi bạn tạo link, người có link xem được phiếu học phí của đúng một học sinh trong đúng một tháng, kèm mã chuyển khoản. Không cần đăng nhập, và không xem được gì khác. Bạn thu hồi link bất cứ lúc nào, link cũ chết ngay.
- Lịch bên ngoài, YouTube và Zoom — như mục 5, mục 6 và mục 7.
- Máy chủ email. Nếu người vận hành có cấu hình SMTP, thư xác minh và đặt lại mật khẩu đi qua máy chủ đó. Chưa cấu hình thì thư nằm lại trong cơ sở dữ liệu, không gửi đi đâu.
- Đối soát thanh toán gói cước. Nếu người vận hành nối một dịch vụ đọc biến động số dư ngân hàng, dịch vụ đó gửi cho chúng tôi nội dung chuyển khoản để tự động gia hạn. Chiều ngược lại chúng tôi không gửi dữ liệu học sinh cho họ.
Trang web không nhúng công cụ đo lường, quảng cáo hay theo dõi của bên thứ ba nào — không Google Analytics, không pixel Facebook.
9Cookie
Chỉ dùng cookie kỹ thuật bắt buộc, không dùng để theo dõi:
tilio_session— giữ phiên đăng nhập. Có tích “Ghi nhớ đăng nhập” thì hạn 30 ngày; không tích thì mất khi đóng trình duyệt, và để yên 10 phút là tự đăng xuất.tilio_otp— bước xác thực hai lớp, sống vài phút.tilio_oauth_state,tilio_zoom_state— chống giả mạo yêu cầu khi đăng nhập hoặc kết nối Google/Facebook/Outlook/YouTube/Zoom, sống 10 phút.tilio_lang— nhớ ngôn ngữ giao diện bạn chọn.
10Lưu ở đâu, giữ bao lâu
Ứng dụng được vận hành trên Vercel. Dữ liệu nghiệp vụ được lưu trong cơ sở dữ liệu PostgreSQL do Supabase quản lý; tệp đính kèm được lưu trong các bucket riêng tư của Supabase. Kết nối từ ứng dụng tới cơ sở dữ liệu dùng TLS và kiểm tra chứng thư máy chủ. Access token và refresh token của lịch, kho giáo án, YouTube và Zoom còn được mã hóa ở tầng ứng dụng trước khi lưu.
- Dữ liệu nghiệp vụ: giữ đến khi bạn tự xoá hoặc xoá tài khoản.
- Nhật ký thao tác: tự động xoá phần cũ hơn 1 năm.
- Phiên đăng nhập: xoá khi bạn đăng xuất hoặc thu hồi thiết bị.
- Xoá tài khoản: toàn bộ lớp, học sinh, buổi học, điểm danh, học phí và tệp đính kèm bị xoá theo, không khôi phục được.
11Quyền của bạn
- Lấy bản sao. Cài đặt → Thông tin cá nhân → Tải dữ liệu. Tệp JSON gồm toàn bộ lớp, học sinh, buổi học, điểm danh, học phí, lương, chi phí và thành tích. Không kèm mật khẩu hay cookie.
- Sửa. Mọi thông tin đều sửa được ngay trong ứng dụng.
- Xoá. Cài đặt → Xoá tài khoản. Nên tải bản sao trước.
- Rút lại quyền đã cấp. Gỡ liên kết đăng nhập hoặc ngắt kết nối lịch, kho giáo án, YouTube bất cứ lúc nào; với Zoom thì gỡ tại App Marketplace → Manage → Added Apps; với Google bạn còn có thể thu hồi tại myaccount.google.com/permissions.
- Hạn chế, phản đối xử lý và khiếu nại. Bạn có thể yêu cầu hạn chế hoặc dừng một hoạt động xử lý cụ thể, và khiếu nại tới cơ quan bảo vệ dữ liệu có thẩm quyền theo Nghị định 13/2023/NĐ-CP.
Cách thực hiện quyền: dùng các công cụ ngay trong ứng dụng ở trên, hoặc gửi email từ địa chỉ email của tài khoản tới support@tilioclass.com. Chúng tôi xác minh danh tính và phản hồi trong vòng 30 ngày.
12Bảo mật và cơ chế bảo vệ dữ liệu nhạy cảm
Mật khẩu được băm bằng bcrypt. Phiên đăng nhập được ký bằng khoá bí mật của máy chủ và đặt trong cookie HttpOnly, SameSite; ở môi trường thật cookie chỉ được truyền qua kết nối bảo mật. Access token và refresh token dùng để gọi Google Calendar, Outlook Calendar, Google Drive, OneDrive, YouTube hoặc Zoom được mã hóa AES-256-GCM trước khi lưu, với khóa mã hóa được giữ riêng trong biến môi trường bí mật của máy chủ.
Hệ thống dùng HTTPS/TLS khi truyền dữ liệu; phân tách dữ liệu theo tài khoản/cơ sở và kiểm tra quyền ở phía máy chủ; tệp được lưu riêng tư và chỉ cấp liên kết có chữ ký, thời hạn ngắn. Ngoài ra còn có xác thực hai lớp bằng mã OTP, cảnh báo đăng nhập lạ, phân quyền chi tiết và nhật ký thao tác để phát hiện, điều tra truy cập không phù hợp.
Không hệ thống nào an toàn tuyệt đối. Hãy đặt mật khẩu riêng, bật xác thực hai lớp, và tải bản sao dữ liệu định kỳ.
13Trẻ em
Học sinh không có tài khoản trong Tilio. Thông tin về các em do giáo viên hoặc trung tâm nhập vào và chịu trách nhiệm, kể cả việc xin phép phụ huynh khi pháp luật yêu cầu.
14Thay đổi chính sách
Khi có thay đổi đáng kể, chúng tôi cập nhật ngày ở đầu trang và thông báo trong ứng dụng. Tiếp tục sử dụng sau đó nghĩa là bạn đồng ý với nội dung mới.
Đơn vị vận hành
Email: support@tilioclass.com

