# Bảo Vệ Secrets Trong Build (Android + iOS)

> Hiểu cách xử lý mobile secrets một cách thực tế, trên cả Android lẫn iOS.

- URL: https://dantech.academy/courses/kotlin-accelerator/engineer-builder/05-testing-security-release/lesson-04-protect-secrets-at-build-time
- Khóa học: [Mobile Action Pro](https://dantech.academy/courses/kotlin-accelerator.md)
- Module: Testing, Security Và Release
- Thời lượng: 5 phút
- Độ khó: intermediate
- Truy cập: Dành cho học viên
- English: https://dantech.academy/en/courses/kotlin-accelerator/engineer-builder/05-testing-security-release/lesson-04-protect-secrets-at-build-time.md

## Mục tiêu

- Phân loại value theo trust boundary: authority, client configuration, local input, shipped, flag
- Trace build route từ local.properties (BuildConfig) và Config.xcconfig (Info.plist) tới AppBuildConfig và SecretManager
- Giải thích vì sao Supabase publishable key được phép nằm trong app và RLS mới là lớp bảo vệ

## Nội dung bài học

1. Mục Tiêu Bài Học
2. Mục Tiêu Cụ Thể
3. Phần 1: Phân Loại Theo Trust Boundary, Không Theo Filename
4. Phần 2: Đường Đi Trên Android
5. Phần 3: Đường Đi Trên iOS
6. Phần 4: Hai Đường, Một Điểm Hội Tụ
7. Phần 5: Publishable Key Được Phép Lộ, RLS Mới Là Lớp Bảo Vệ
8. Phần 6: Gate Cho Bản iOS
9. Lộ Trình Đọc Code
10. Smell Code
11. Tham Khảo
12. Ý Chính

## Học cùng AI agent

Toàn bộ bài học dành cho học viên của khóa. Học viên mở bài trên web và bấm nút **Markdown** để copy toàn bài, rồi dán vào Claude, ChatGPT, Cursor hoặc agent bạn đang dùng. Nhanh hơn: tạo token ở `/profile/ai-agents` và agent đọc bài trực tiếp qua MCP.

- [Đăng ký khóa học](https://dantech.academy/kotlin-accelerator/checkout)

---

- Bài trước: [Shrink Và Protect Android Release Build](https://dantech.academy/courses/kotlin-accelerator/engineer-builder/05-testing-security-release/lesson-03-shrink-and-guard-release-build.md)
- Bài tiếp theo: [CI Cho KMP](https://dantech.academy/courses/kotlin-accelerator/engineer-builder/05-testing-security-release/lesson-06-ci-for-kmp.md)
