- Browser flow dùng
cc_access_token,cc_refresh_token,cc_csrf. - Request mutating qua cookie phải gửi
X-CSRF-Token. - Legacy bearer vẫn được giữ để tương thích với client cũ và service-to-service cases cần token.
- Canonical internal routes dùng
/api/v1/internal/*. nginxchặn cả/internal/*và/api/v1/internal/*.- Internal controllers yêu cầu
X-Service-Token.
- Public edge chỉ expose
/health. - Readiness nội bộ không đi qua public edge.
- Production-like path dùng
X-Health-Keycho readiness.
Quality gate hiện tại bắt buộc:
npm auditcho toàn bộ packagegitleaksTrivy fsTrivy image
security-scan phải bao phủ đủ:
core-apiauth-servicenotification-servicefinance-serviceacademic-serviceengagement-servicepeople-serviceanalytics-servicefrontendpackages/platform-auth
people-servicevẫn cần shadow sync vềcore-apitrong một release chuyển tiếp để không làm gãy JWT claims.analytics-servicevẫn đọc dữ liệu legacy/shadow trongpublicschema để giữ low-risk.- PostgreSQL vẫn là shared cluster theo mô hình multi-schema, chưa tách cluster độc lập theo service.
- Docker Hub publish nên dùng PAT qua
DOCKERHUB_TOKEN; không nên dùng account password thật trong CI/CD.