Danh tính người dùng được rút ra từ phiên đăng nhập, không từ body của request.
Mọi route mutating đều xác thực qua Authorization: Bearer JWT. Trường actorContext trong body bị bỏ qua hoàn toàn.
Mỗi lời tuyên bố ở đây phản ánh kiến trúc thật của sản phẩm. Đội kỹ thuật của bạn có thể yêu cầu tài liệu chi tiết bất cứ lúc nào.
Danh tính người dùng được rút ra từ phiên đăng nhập, không từ body của request.
Mọi route mutating đều xác thực qua Authorization: Bearer JWT. Trường actorContext trong body bị bỏ qua hoàn toàn.
Quyền hạn được tra từ vai trò trên server, không từ mảng quyền do client gửi.
hasPermission tra trực tiếp từ bảng phân quyền chuẩn. Mảng permissions do client gửi không có tác dụng.
Mọi mutation tạo một dòng audit log, truy vấn được theo tenant + thời gian + action.
Composite index hỗ trợ truy vấn time-range không cần full scan ngay cả khi audit log đạt hàng triệu dòng.
PII được phát hiện được thay bằng [REDACTED:<kind>] trước khi excerpt được lưu.
Redact trước, truncate sau. Email, phone, số định danh, từ khóa nhạy cảm đều được che. Token thay thế không thể đảo ngược.
Copilot từ chối trả lời nếu không có nguồn được duyệt nào hỗ trợ câu hỏi.
Không có nguồn = không có câu trả lời. Người dùng nhận lý do từ chối kèm gợi ý nguồn cần bổ sung.
Demo mode cho phép đánh giá sản phẩm mà không cần chia sẻ dữ liệu thật.
Chạy với fixture xác định. Không gọi Supabase, không gọi provider AI tốn phí, không lưu dữ liệu khách.
Lớp provider AI tuân theo chuẩn OpenAI, nên bạn có thể mang theo model riêng của mình.
Không bị khóa nhà cung cấp. Có thể trỏ vào OpenAI, Azure OpenAI, Anthropic API, vLLM nội bộ hoặc bất kỳ endpoint OpenAI-compatible nào.
Đội của bạn cần thêm tài liệu kỹ thuật, security overview, hay gặp trực tiếp đội AIVNHub?