Appearance
Bảo mật & quyền riêng tư
Dữ liệu sức khỏe là dữ liệu cá nhân nhạy cảm (Nghị định 13/2023/NĐ-CP). Nguyên tắc:
Truy cập không cần tài khoản, nhưng có chìa khóa
- Tạo case → API trả
accessTokenmột lần; DB chỉ lưu SHA-256 của token. - Web lưu token trong
localStoragecủa máy người dùng. Link cho người nhà dạng/ca/HT3-…#t=<token>— token nằm trong fragment, không đi lên máy chủ web, không lọt quaReferer(referrer-policy: no-referrer). - So sánh token hằng thời gian.
Bác sĩ được mời
- Token riêng mỗi bác sĩ, có hạn (1–30 ngày), thu hồi được, lưu hash.
- Chỉ thấy dữ liệu lâm sàng tối thiểu; không thấy liên hệ gia đình.
- Mọi lượt xem ghi
case_events.
File
- R2 bucket riêng tư, không public URL. File chỉ trả qua API sau khi kiểm quyền,
cache-control: private, no-store. - Giới hạn loại file và 25MB.
Hoa tiêu viên
NAVIGATOR_TOKEN(Worker secret) — giai đoạn đầu. Sẽ thay bằng SSO + phân quyền theo người.
Việc cần làm trước khi mở rộng
- [ ] Chính sách quyền riêng tư & đồng ý xử lý dữ liệu ở bước lưu case
- [ ] Rate limit cho
/v1/navigate,/v1/cases(Cloudflare WAF rule) - [ ] Xóa case theo yêu cầu người dùng (xóa cả file R2)
- [ ] Mã hóa trường nhạy cảm ở mức ứng dụng