# SDK — An toàn & phát hành

Nội dung chi tiết đồng bộ với `/sdk/SECURITY.md` trên Hub. Đọc trước khi đưa app production.

## Không được nhúng trong source / bundle

- Mật khẩu user Hub
- User API token, device token, website (visitor) token
- Admin token (`X-Admin-Token`)
- `encryptKey` phòng chat, JWT MQTT dài hạn “cố định”
- Chuỗi kết nối MQTT chứa password trong URL

## Được phép cấu hình công khai

- Hostname Hub, ví dụ `https://chat.company.com` (HTTPS production)
- Feature flag của app (bật/tắt chat)

## Lưu trữ sau đăng nhập

| Nền tảng | Gợi ý |
|----------|--------|
| Server | Secret manager, env vars, không commit `.env` |
| Android | EncryptedSharedPreferences / Keystore |
| iOS | Keychain |
| Web | Không lưu long-lived secret trong `localStorage` nếu có XSS; ưu tiên httpOnly cookie do backend bạn phát hành |

## Checklist trước khi chia sẻ lên store / GitHub

- [ ] `grep -R` không thấy token mẫu thật
- [ ] Không có `encryptKey` / JWT trong screenshot README
- [ ] MQTT reconnect + refresh JWT trước `expiresAt`
