1.Bản xem trước trên thiết bị
Trong chế độ fixture hiện tại, hồ sơ DEV và dữ liệu học thử được dựng cục bộ. Một số lựa chọn giao diện, ghi chú bài học và trạng thái frontend có thể nằm trong bộ nhớ trình duyệt.
- Không có mật khẩu hoặc giao dịch ngân hàng thật trong chế độ này.
- Xóa dữ liệu trình duyệt có thể làm mất lựa chọn chỉ lưu trên thiết bị.
2.Tài khoản hosted
Supabase Auth xử lý email, mật khẩu, xác minh và phiên đăng nhập; PostgreSQL của HọcKanji lưu hồ sơ và tiến độ tại vùng Singapore. Ứng dụng web được vận hành trên Vercel.
- Mật khẩu không được lưu trong mã frontend hoặc bảng hồ sơ học.
- Danh tính phải được máy chủ xác minh trước khi đọc dữ liệu người học.
3.Dữ liệu phục vụ việc học
Hồ sơ học có thể gồm tên hiển thị, múi giờ, số bài mỗi lượt, bài đã mở, lịch ôn, câu trả lời, trạng thái SRS và các mốc tiến độ.
- Dữ liệu này dùng để xếp hàng bài học, chấm câu trả lời và lên lịch ôn.
- Không đưa đáp án vào payload ôn tập trước khi người học trả lời.
4.Vận hành và an toàn
Hệ thống ghi request ID, route, mã trạng thái, thời lượng và loại lỗi tối thiểu để vận hành, chống lạm dụng và điều tra sự cố.
- Không tích hợp quảng cáo hoặc theo dõi chéo giữa các website.
- Log ứng dụng không ghi email, mật khẩu, secret key, câu trả lời hay toàn bộ payload thanh toán.
5.Thanh toán khi được mở
Nếu SePay được bật, máy chủ sẽ giữ offer, order, trạng thái giao dịch, sự kiện IPN đã lọc và quyền học được cấp. Trang Giá luôn phản ánh trạng thái mở bán hiện tại.
- Hiện chưa có offer hoạt động và chưa nhận thanh toán thật.
- Chỉ IPN đã xác thực mới là nguồn xác nhận thanh toán.
6.Lưu giữ và quyền kiểm soát
Dữ liệu học được giữ khi tài khoản còn hoạt động. Trong Cài đặt, người học có thể tải bản JSON hoặc yêu cầu xóa vĩnh viễn tài khoản, hồ sơ và tiến độ.
- Xóa Auth làm dữ liệu học liên quan bị xóa theo; đơn thanh toán được tách khỏi user để đáp ứng nghĩa vụ tài chính nếu có.
- Đăng xuất chỉ kết thúc phiên, không tự xóa tiến độ.
