Trình quản lý file chạy trên chính storage của khách hàng bạn
Nhúng qua iframe hoặc SDK, tạo một JWT có phạm vi giới hạn, và file của mỗi tenant nằm trong S3, R2, SFTP hoặc ổ đĩa riêng của họ — không bao giờ bị copy vào một database mà bạn phải vận hành, bảo mật hay trả tiền.
Xem thực tế
Mỗi lần ghi đè đều giữ phiên bản cũ, khôi phục bất cứ lúc nào
{ "event": "upload",
"file": "invoice.pdf" } Gửi HTTP POST đã ký đến endpoint của bạn khi có sự kiện tệp — Zapier, Make, n8n
Trích xuất văn bản từ ảnh và PDF, trả về ngay trong phản hồi API
Ẩn số CMND/CCCD, số thẻ và các thông tin nhạy cảm trước khi file được lưu trữ
Mọi tệp tải lên đều được quét trước khi lưu trữ — ClamAV hoặc key cloud của riêng bạn
Ký tệp với Content Credentials có thể xác minh (nguồn gốc C2PA)
Đồng bộ một chiều sang ổ đĩa thứ hai — local, S3, R2 hoặc SFTP
Xuất toàn bộ audit log dạng NDJSON hoặc CSV, bao gồm cả log đã lưu trữ
Đăng nhập bằng nhà cung cấp OIDC của riêng bạn — nhóm tự động ánh xạ sang quyền
File của khách hàng nằm trong bucket của chính họ
FluxFiles là file manager nhúng được, nơi mỗi tenant kết nối bucket S3/R2 của riêng họ — và bạn không bao giờ lưu data hay credentials của họ.
-
Chủ quyền dữ liệu
File nằm trong tài khoản và region cloud của khách — phù hợp GDPR, compliance, mua sắm doanh nghiệp.
-
Không lưu data, không lưu creds
Credentials bucket được mã hóa AES-256-GCM trong JWT và chỉ giải mã lúc runtime — không bao giờ ghi vào database hay log.
-
Chi phí lưu trữ về 0
Storage và egress tính vào từng khách, không phải bạn. Không có hóa đơn storage phình theo lượng người dùng.
-
Stateless & nhúng được
Không database trung tâm. Nhúng picker vào app bất kỳ qua iframe hoặc SDK; backend của bạn phát token giới hạn, ngắn hạn.
Cách hoạt động: app của bạn mã hóa credentials bucket của tenant vào một JWT ngắn hạn (HKDF-SHA256 + AES-256-GCM). FluxFiles chỉ giải mã để chạy thao tác được yêu cầu.
Mỗi tenant một token — với luật riêng
FluxFiles không trạng thái: JWT do backend của bạn ký chính là config của tenant. Đường dẫn lưu, giới hạn dung lượng file, quota, số file, loại file cho phép, quyền — tất cả enforce ở server. Không file config riêng, không cần restart.
// Your backend, per request — the token IS the tenant's config.
import { createToken } from '@fluxfiles/node';
const claims = tenant.plan === 'pro'
// 100 MB/file · any type · 50 GB · unlimited files · own bucket
? { disks: ['s3'], maxUploadMb: 100, allowedExt: null,
maxStorageMb: 51200, maxFiles: 0 }
// 5 MB/file · images only · 500 MB · 200 files
: { disks: ['local'], maxUploadMb: 5, allowedExt: ['jpg','png','webp'],
maxStorageMb: 500, maxFiles: 200 };
const token = createToken({
secret: process.env.FLUXFILES_SECRET,
userId: tenant.id,
prefix: `tenant_${tenant.id}/`, // isolates each tenant's files
perms: ['read', 'write', 'delete'],
...claims,
}); Kết hợp BYOB để mỗi tenant dùng bucket riêng của họ.
Tạo ra cho đội ngũ làm tính năng quản lý file
Nếu sản phẩm của bạn cần upload, FluxFiles gắn vào ngay — mà không biến bạn thành nơi giữ dữ liệu của khách hàng.
SaaS & ứng dụng đa người thuê
Cho mỗi khách hàng một trình quản lý file trên bucket riêng của họ. Giới hạn token theo tenant và chủ quyền dữ liệu có sẵn.
Agency & freelancer
Giao thư viện media gọn gàng cho từng khách mà không phải dựng hạ tầng lưu trữ cho mỗi dự án.
Tích hợp CMS & trình soạn thảo
Gắn bộ chọn media vào CKEditor, TinyMCE, Summernote hoặc editor của bạn qua iframe SDK.
Công cụ nội bộ & dashboard
Thêm upload, xem trước và thao tác file có audit vào trang quản trị chỉ trong một buổi chiều.
Hỏi đáp
Câu hỏi thường gặp
FluxFiles có miễn phí và mã nguồn mở không?
File của tôi lưu ở đâu?
Tôi có nhúng được vào app/editor sẵn có không?
Mức độ bảo mật trước các kiểu tấn công phổ biến ra sao?
Sẵn sàng nhúng FluxFiles?
Thêm trình quản lý file sẵn sàng cho production vào ứng dụng của bạn chỉ trong vài phút — không khóa framework, giấy phép MIT.