# Hồ sơ nguồn nghiên cứu SSA

Ngày đối chiếu: 11/11/2026. Nguồn web là tài liệu chính thức; các quyết định thiết kế trong PLAN.md là đề xuất, không phải chứng nhận của nhà cung cấp. File gốc không được sao chép vào repo vì có thể chứa dữ liệu cá nhân. Hash và đường dẫn lưu trong input-manifest.json.

## Đầu vào của SSA

| ID | Nguồn | Bằng chứng và giới hạn |
|---|---|---|
| L01 | SSA_PhuHuynh_MoTa_ZaloMiniApp.docx, 27/10/2026 | Proposal mô tả 640-650 học viên, 8 cụm sân, pilot 7 người, 10 file Apps Script, React 18.3, SDK 2.53, Vite 5. Đây là thông tin bên đề xuất, chưa có source ZIP hoặc runtime để kiểm chứng. |
| L02 | SSA_PREVIEW.pdf, 7 trang | Feedback yêu cầu đối soát, audit, tracing, thu hồi quyền, chống trùng, backup/restore, xử lý tại Việt Nam, kiểm thử thực tế và trách nhiệm vận hành. Đã trích xuất toàn bộ 7 trang; kiểm tra hình trang 4 chứa bảng policy. |
| L03 | SSA Phụ Huynh Mobile (Copy).html | HTML bundle demo, có SDK nhưng login bị bypass. Qv trả session mau; Jv clone dữ liệu mẫu; zc không ghi gì; 4 tab home/ketqua/cuahang/thongbao. Không tìm thấy guiKhaoSat/khaoSat. CSS có khai báo 3 cột cũ nhưng được override 4 cột; render mobile xác nhận layout 4 tab. Không phải source frontend có thể bảo trì. |
| L04 | README.md của repo | Repo SSA chỉ có README tại lúc bắt đầu; ứng dụng Saigon Heat đã chuyển sang repo khác. Không sử dụng domain/deployment Saigon Heat cho SSA. |

## Zalo

| ID | URL | Kết luận sử dụng |
|---|---|---|
| Z01 | https://docs.zaloplatforms.com/docs/MA/intro/getting-started | Tạo, xây dựng, xác thực Mini App; xác thực trước phát hành. |
| Z02 | https://docs.zaloplatforms.com/docs/MA/zaui | ZaUI là bộ component/design system dành cho Mini App. |
| Z03 | https://docs.zaloplatforms.com/docs/MA/devtools/ext/install | Extension VS Code hỗ trợ init/start/build/deploy. |
| Z04 | https://docs.zaloplatforms.com/docs/MA/devtools/ext/deploy | Development bị ghi đè; Testing có lịch sử phiên bản, QR/deeplink và dùng để nộp duyệt. |
| Z05 | https://docs.zaloplatforms.com/docs/MA/intro/public-mini-program | Testing → xét duyệt → được duyệt → Publish là các bước riêng. |
| Z06 | https://docs.zaloplatforms.com/docs/MA/intro/request-permission | Quyền ứng dụng và sự đồng ý người dùng là hai điều kiện riêng. |
| Z07 | https://docs.zaloplatforms.com/docs/MA/intro/best-practices/authen-user | Backend xác minh profile bằng access_token và appsecret_proof; UID có phạm vi App ID. |
| Z08 | https://docs.zaloplatforms.com/docs/MA/api/user/user-information/getPhoneNumber | SDK trả token số điện thoại; đổi ở server, không đặt secret trên client. |
| Z09 | https://docs.zaloplatforms.com/docs/MA/intro/getting-started/frequently-solved-issues | Simulator không chứng minh login thật; Developer/Admin có thể dùng quyền mà người dùng thường chưa được dùng. |
| Z10 | https://miniapp.zaloplatforms.com/documents/zalo-mini-app-developer-program-agreement/ | Điều 5.3.3.b: nơi xử lý/lưu trữ Việt Nam. Điều khoản con 6.16.3 về đồng ý dữ liệu trẻ em; hiện nằm dưới heading 6.17 do số mục trên trang chưa đồng nhất. |
| Z11 | https://miniapp.zaloplatforms.com/documents/zalo-mini-app-censorship-policy/ | Mục 6.4 cho trường hợp nội bộ/trường học có giải thích xin quyền; mục 7 dữ liệu bên thứ ba; mục 8 Checkout/no-price consultation; mục 9.1 thời gian một vòng duyệt. |
| Z12 | https://docs.zaloplatforms.com/docs/OA | OA OAuth/token và messaging độc lập với session phụ huynh. |
| Z13 | https://docs.zaloplatforms.com/docs/Social | Social OAuth là sản phẩm riêng; không dùng redirect Social login thay cho SDK login bên trong Mini App. |
| Z14 | https://docs.zaloplatforms.com/docs/ZBS/bat-dau/gioi-thieu-zbs-template-message | Cần OA, Zalo App, quyền dịch vụ, tài khoản ZBS và liên kết số dư. |
| Z15 | https://zalo.solutions/business-message/pricing | Bảng giá base 200 VND cho nhóm còn lại, một số mẫu 300 VND; thành phần/CTA và cách gửi ảnh hưởng giá. Không dùng base như báo giá trọn gói. |
| Z16 | https://docs.zaloplatforms.com/docs/MA/devtools/app-config | Cấu hình Mini App phải được kiểm tra theo project/SDK thực nhận. |
| Z17 | https://docs.zaloplatforms.com/docs/MA/intro/send-notification | Kênh thông báo Zalo phải được triển khai theo quyền và dịch vụ thực tế. |

## Cloudflare

| ID | URL | Kết luận sử dụng |
|---|---|---|
| C01 | https://developers.cloudflare.com/d1/configuration/data-location/ | D1 jurisdiction công bố EU/US/FedRAMP; hint không thay cho cam kết Việt Nam. |
| C02 | https://developers.cloudflare.com/r2/reference/data-location/ | R2 location hint là best effort, không bảo đảm địa điểm. |
| C03 | https://developers.cloudflare.com/data-localization/regional-services/ | Có thể giới hạn TLS termination/Workers trong vùng được cấu hình; không tự áp dụng cho mọi storage. |
| C04 | https://developers.cloudflare.com/data-localization/region-support/ | Không thấy Vietnam trong managed region list. Custom region cần account team, chỉ áp dụng sản phẩm được nêu. Không suy ra Enterprise chắc chắn giải quyết toàn bộ. |
| C05 | https://developers.cloudflare.com/queues/configuration/data-location/ | Queues mặc định toàn cầu; jurisdiction EU/US/FedRAMP, worker producer/consumer không tự bị giới hạn theo queue. |
| C06 | https://developers.cloudflare.com/queues/reference/delivery-guarantees/ | At least once; ứng dụng phải chống trùng. |
| C07 | https://developers.cloudflare.com/d1/platform/limits/ | Paid tối đa 10 GB/database, single-threaded từng DB, Time Travel 30 ngày; Free 500 MB/database và 7 ngày. |
| C08 | https://developers.cloudflare.com/d1/reference/time-travel/ | PITR/bookmark phục hồi; không phải bản sao độc lập chống mất tài khoản. |
| C09 | https://developers.cloudflare.com/workers/platform/pricing/ | Workers Paid base 5 USD/tháng, usage theo requests/CPU. |
| C10 | https://developers.cloudflare.com/d1/platform/pricing/ | Tính theo rows đọc/ghi và dung lượng, không theo số phụ huynh. |
| C11 | https://developers.cloudflare.com/r2/pricing/ | Standard storage 0.015 USD/GB-tháng; operations tính riêng, egress Internet không tính phí theo bảng hiện hành. |
| C12 | https://developers.cloudflare.com/queues/platform/pricing/ | Phí theo operations, retry làm tăng operations. |
| C13 | https://developers.cloudflare.com/workers/configuration/placement/ | Placement tối ưu thực thi không được coi là bảo đảm residency Việt Nam. |

## Nguồn kỹ thuật bổ sung

| ID | URL | Kết luận sử dụng |
|---|---|---|
| C14 | https://developers.cloudflare.com/d1/worker-api/d1-database/ | D1 batch là giao dịch; failure abort/rollback chuỗi statements. Không có transaction dài tùy ý qua nhiều request. |

## Phương pháp thiết kế

| ID | Nguồn | Cách dùng |
|---|---|---|
| D01 | https://github.com/cathrynlavery/diagram-design | Sơ đồ SVG, phân rã từng luồng, accessible title/desc, không nhồi mọi thành phần vào một hình. |
| D02 | https://github.com/nutlope/hallmark | Bản HTML có token, focus, responsive, cấu trúc tài liệu phục vụ đọc/ra quyết định. Yêu cầu tài liệu đầy đủ của người dùng ưu tiên hơn giới hạn số chữ của landing page. |

## Cách cập nhật

Trước implementation và trước mỗi đợt nộp duyệt: mở lại Z04-Z11, Z14-Z16, C01-C05, C07-C12. Ghi ngày, thay đổi và ADR bị tác động. Không thay số liệu cũ bằng suy đoán. Console tài khoản SSA chưa được kiểm tra trong nghiên cứu này; trạng thái đã đăng ký/xác thực được ghi nhận từ người dùng và feedback, không yêu cầu đăng ký lại.

## Bổ sung bản 1.1: Airflow, VPS origin và công cụ trình bày

Kiểm tra tài liệu chính thức ngày 11/11/2026. Thiết kế DAG, topology và cơ chế auth cụ thể là đề xuất của dự án; không coi các trang hướng dẫn là bằng chứng cấu hình SSA đã chạy.

| ID | Nguồn | Cách dùng |
|---|---|---|
| A01 | https://airflow.apache.org/docs/apache-airflow/stable/best-practices.html | Task retry phải cho kết quả nhất quán; dùng source partition/hash ổn định. Chọn thiết kế idempotency theo run/batch; chưa pin version Airflow. |
| A02 | https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/xcoms.html | XCom dành cho dữ liệu nhỏ; thiết kế SSA chỉ truyền reference/hash, không raw file/PII. |
| C15 | https://developers.cloudflare.com/workers/configuration/routing/workers-dev/ | Khóa route workers.dev trong cấu hình deployment nếu không dùng; không chỉ tắt tạm trên console. |
| C16 | https://developers.cloudflare.com/cloudflare-one/access-controls/service-credentials/service-tokens/ | Service credentials là lựa chọn xác thực máy→origin; vẫn phải kiểm scope nghiệp vụ và thử route Worker thực tế. |
| D03 | https://github.com/tt-a1i/archify | JSON typed specification, validate/deliver showcase, light/dark Viewer, browser evidence và receipts cho từng HTML. |
| L05 | Xác nhận của chủ dự án trong hội thoại ngày 11/11/2026 | Không Apps Script; Airflow sync; VPS proxy tại Việt Nam; Cloudflare deployment/security/database. Provider, sizing, domain và residency chưa có evidence. |

## Bổ sung bản 1.2: giới hạn proposal Apps Script

Tài liệu Google chính thức được đọc ngày 11/11/2026; quota không phải benchmark của SSA. L01/L03 chỉ chứng minh mô tả proposal và demo, chưa chứng minh cấu hình hoặc lỗi thực tế.

| ID | Nguồn | Cách sử dụng |
|---|---|---|
| G01 | https://developers.google.com/apps-script/guides/services/quotas | Runtime, trigger runtime/ngày, concurrency và URL Fetch theo loại tài khoản; quota có thể đổi. |
| G02 | https://developers.google.com/apps-script/guides/web | Web app chạy theo người triển khai hoặc người truy cập; quyền và ownership phải được kiểm tra. |
| G03 | https://developers.google.com/apps-script/guides/triggers/installable | Trigger theo người tạo, thời gian có thể lệch trong cửa sổ lịch; không hứa chính xác từng phút. |
| G04 | https://developers.google.com/apps-script/reference/lock/lock-service | Có cơ chế khóa vùng truy cập dùng chung; không suy thành transaction cho mọi writer hoặc chỉnh tay. |

## Phạm vi rebuild bộ đọc 2.0

Đợt rebuild ngày 11/11/2026 tái tổ chức nội dung và sơ đồ từ PLAN.md bản 1.2. Các mốc đối chiếu nhà cung cấp phía trên là hồ sơ nghiên cứu đã có; không tuyên bố đợt biên tập này đã tái xác minh toàn bộ chính sách, quota hoặc giá. Trước implementation vẫn thực hiện quy trình cập nhật nguồn nêu trên.

Archify được cài từ `tt-a1i/archify`, revision `7e45f36c66de1254d5ad6ba1d878f6499ea269fd`, doctor xác nhận package sẵn sàng. Các sơ đồ mô tả thiết kế SSA trong PLAN tại commit `05bb7ca2dfe249d1bfb325b901ee8d7d2958d19e`; không dùng tài liệu kế hoạch để khẳng định hệ thống đã triển khai.

## Đối chiếu lại mock L03 ngày 11/11/2026

File người dùng gửi lại có hash trùng input-manifest.json. Đã đọc component/handler và chạy tương tác bốn tab, validation size, tạo đơn mẫu, reload. [FEATURES.md](FEATURES.md) tách rõ tính năng mock, stub, phạm vi Admin đề xuất và phần còn thiếu; [mock-review.json](mock-review.json) lưu bằng chứng cục bộ. Chặn request ngoài khi review; không suy ra xác thực hay lưu dữ liệu thật đã hoạt động.


## Nguồn bổ sung scope ngày 12/11/2026

- **REQ-20261112:** Chủ dự án yêu cầu bổ sung trong tài liệu: Mini App có ZNS/notification, payment gateway + SDK checkout merchandise, quản lý đơn/thanh toán; Web Admin có merchandise, thanh toán và audit nguồn tiền. Đây là nguồn yêu cầu phạm vi, không phải bằng chứng tích hợp hoạt động.
- **Z-PAY-01:** [Checkout SDK — giới thiệu](https://docs.zaloplatforms.com/docs/MA/checkoutSdk/intro), kiểm tra 12/11/2026: vai trò điều phối thanh toán Mini App.
- **Z-PAY-02:** [Khai báo phương thức thanh toán](https://docs.zaloplatforms.com/docs/MA/checkoutSdk/integration-process/overview/setting), kiểm tra 12/11/2026: cấu hình phương thức/merchant/callback; không coi SDK là một cổng thanh toán duy nhất.
- **Z-MSG-01:** [Thông báo hợp nhất thành ZBS Template Message](https://zalo.solutions/news/thong-bao-hop-nhat-dinh-nghia-tin-uid-va-zns-thanh-zbs-template-message/cp1zx4bq8mzhhszgz0br1ocd), kiểm tra 12/11/2026: ánh xạ tên ZNS trong yêu cầu sang tài liệu hiện hành.

State machine, schema, quyền tài chính và quy trình đối soát trong FEATURES §7 là thiết kế đề xuất của SSA, không phải API hay chính sách được trích nguyên từ nhà cung cấp.
