Sẵn sàng v1.0

Cổng thoát (exit gate) SaaS v1.0 — chạy checklist trên hệ sinh thái đã seed. Cập nhật 09:14:22 1/11/2026.

Dữ liệu trực tiếp

Tổng thể

CHƯA ĐẠT

⛔

Tenant ACTIVE

10

🏢

Đạt

34

/ 43 kiểm tra

✔️

Lỗi

9

🚨
Tiêu chí thoát v1.0
#Tiêu chíTrạng thái
1allocator >= 11 + immutable/uniquePASS
2plan/entitlement enforcedPASS
3cross-tenant isolationPASS
4per-tenant backup/restoreFAIL
5no plaintext secretsPASS
10platform permission separationPASS
010 ACTIVE tenants verifiedPASS
Kiểm tra cấp nền tảng (platform)
Trạng tháiPhạm viKiểm traChi tiết
✓ PASSplatformTách quyền nền tảng (chỉ platform.*)10 PLT_ policies, all platform.* only
✓ PASSplatformtenantNo duy nhất + bất biếnunique=true, customers>=11=true (10 rows)
✓ PASSplatformBộ cấp số khách hàng ≥ 11next customer tenantNo = 11
Kiểm tra theo từng tenant
Trạng tháiPhạm viKiểm traChi tiết
✓ PASST001Cách ly dữ liệu (không rò rỉ tenant khác)no foreign rows visible (probe vs tenant-realestate-demo)
✓ PASST001Backup định kỳ (lịch + job)schedule=true, backups=35
✓ PASST001Gói/entitlement hợp lệplan=ENTERPRISE_DESIGN_PARTNER
✓ PASST001Không lưu mật khẩu dạng thô (argon2)0 credential(s), all hashed
✓ PASST002Cách ly dữ liệu (không rò rỉ tenant khác)no foreign rows visible (probe vs tenant-xtech)
✗ FAILT002Backup định kỳ (lịch + job)schedule=false, backups=2
✓ PASST002Gói/entitlement hợp lệplan=ENTERPRISE_VERTICAL_DEMO
✓ PASST002Không lưu mật khẩu dạng thô (argon2)0 credential(s), all hashed
✓ PASST003Cách ly dữ liệu (không rò rỉ tenant khác)no foreign rows visible (probe vs tenant-xtech)
✗ FAILT003Backup định kỳ (lịch + job)schedule=false, backups=2
✓ PASST003Gói/entitlement hợp lệplan=PROFESSIONAL_VERTICAL_DEMO
✓ PASST003Không lưu mật khẩu dạng thô (argon2)0 credential(s), all hashed
✓ PASST004Cách ly dữ liệu (không rò rỉ tenant khác)no foreign rows visible (probe vs tenant-xtech)
✗ FAILT004Backup định kỳ (lịch + job)schedule=false, backups=2
✓ PASST004Gói/entitlement hợp lệplan=PROFESSIONAL_VERTICAL_DEMO
✓ PASST004Không lưu mật khẩu dạng thô (argon2)0 credential(s), all hashed
✓ PASST005Cách ly dữ liệu (không rò rỉ tenant khác)no foreign rows visible (probe vs tenant-xtech)
✗ FAILT005Backup định kỳ (lịch + job)schedule=false, backups=2
✓ PASST005Gói/entitlement hợp lệplan=PROFESSIONAL_VERTICAL_DEMO
✓ PASST005Không lưu mật khẩu dạng thô (argon2)0 credential(s), all hashed
✓ PASST006Cách ly dữ liệu (không rò rỉ tenant khác)no foreign rows visible (probe vs tenant-xtech)
✗ FAILT006Backup định kỳ (lịch + job)schedule=false, backups=2
✓ PASST006Gói/entitlement hợp lệplan=PROFESSIONAL_VERTICAL_DEMO
✓ PASST006Không lưu mật khẩu dạng thô (argon2)0 credential(s), all hashed
✓ PASST007Cách ly dữ liệu (không rò rỉ tenant khác)no foreign rows visible (probe vs tenant-xtech)
✗ FAILT007Backup định kỳ (lịch + job)schedule=false, backups=2
✓ PASST007Gói/entitlement hợp lệplan=PROFESSIONAL_VERTICAL_DEMO
✓ PASST007Không lưu mật khẩu dạng thô (argon2)0 credential(s), all hashed
✓ PASST008Cách ly dữ liệu (không rò rỉ tenant khác)no foreign rows visible (probe vs tenant-xtech)
✗ FAILT008Backup định kỳ (lịch + job)schedule=false, backups=2
✓ PASST008Gói/entitlement hợp lệplan=ENTERPRISE_VERTICAL_DEMO
✓ PASST008Không lưu mật khẩu dạng thô (argon2)0 credential(s), all hashed
✓ PASST009Cách ly dữ liệu (không rò rỉ tenant khác)no foreign rows visible (probe vs tenant-xtech)
✗ FAILT009Backup định kỳ (lịch + job)schedule=false, backups=2
✓ PASST009Gói/entitlement hợp lệplan=PROFESSIONAL_VERTICAL_DEMO
✓ PASST009Không lưu mật khẩu dạng thô (argon2)0 credential(s), all hashed
✓ PASST010Cách ly dữ liệu (không rò rỉ tenant khác)no foreign rows visible (probe vs tenant-xtech)
✗ FAILT010Backup định kỳ (lịch + job)schedule=false, backups=2
✓ PASST010Gói/entitlement hợp lệplan=PROFESSIONAL_VERTICAL_DEMO
✓ PASST010Không lưu mật khẩu dạng thô (argon2)0 credential(s), all hashed