Bring-your-own-storage · Licenciado sob MIT

O gerenciador de arquivos que roda no próprio armazenamento dos seus clientes

Incorpore via iframe ou SDK, gere um JWT com escopo limitado, e os arquivos de cada inquilino ficam no próprio S3, R2, SFTP ou disco local dele — nunca copiados para um banco de dados que você precisa operar, proteger ou pagar.

4
Backends de armazenamento suportados
0
Servidores que veem seus arquivos
MIT
Licença open source
16
Idiomas suportados
Demonstração

Veja em ação

FluxFiles desktop file manager with image thumbnails
Visão em grade com miniaturas WebP instantâneas
FluxFiles browsing an S3 / R2 bucket with the local, S3 and SFTP disk switcher
Multi-nuvem — S3 / R2 / SFTP, uma UI
FluxFiles managing a remote VPS deploy directory over SFTP, same UI as the S3 bucket
VPS remoto via SFTP — sem cliente FTP
Editing an nginx config file inside FluxFiles with syntax highlighting
Edite arquivos de configuração no lugar — sem SSH nem FTP
FluxFiles previewing a video inline in the detail panel
Prévia de vídeo, áudio e PDF sem baixar
FluxFiles Bucket Doctor health checks for an S3 bucket with CORS and IAM remediation
Bucket Doctor — verificações de S3/R2 + correções
FluxFiles activity log of file operations
Registro de atividade — mantido no seu próprio bucket
FluxFiles trash with restore and delete forever
Lixeira — restaurar ou excluir definitivamente
FluxFiles usage dashboard listing byte-identical duplicate files and the space they waste
Localizador de duplicatas — arquivos idênticos byte a byte e o espaço desperdiçado
FluxFiles grid showing PDF cover pages and video frames as poster thumbnails
Miniaturas — capas de PDF e quadros de vídeo direto na grade
FluxFiles free AI auto-tag panel generating searchable tags for an image
Auto-tagging por IA grátis — tags pesquisáveis geradas no upload
FluxFiles responsive mobile file manager
Responsivo no celular
FluxFiles compliance readiness scorecard showing which safeguards are enabled
Painel de prontidão de conformidade — veja de relance quais proteções estão ativas
Creating a FluxFiles share link with an expiry, a password and a download limit
Compartilhe um arquivo — validade, senha, limite
Creating a FluxFiles upload portal with a file limit, size cap and allowed file types
Portais de envio — sem conta
FluxFiles links panel listing shared links with views, downloads and revoke
Gerencie cada link e revogue quando quiser
FluxFiles version history of a contract with four prior versions, who saved each, and Restore
Cada sobrescrita mantém uma versão anterior, restaurável a qualquer momento
FluxFiles AI Vision panel removing the background from an image with your own vision API key
Remoção de fundo, upscale e recorte inteligente com sua própria chave de visão
FluxFiles OCR panel showing text extracted from a scanned invoice
Extraia texto de imagens e PDFs, retornado direto na resposta da API
Como funciona
{ "event": "upload",
  "file": "invoice.pdf" }

POST HTTP assinado para seu endpoint a cada evento de arquivo — Zapier, Make, n8n

FluxFiles legal hold panel blocking delete, rename and move with a reason and audit trail
Retenção legal — bloqueia exclusão, renomeação e movimentação até ser liberada, com trilha de auditoria completa
FluxFiles retention rules previewing which old files would be trashed or deleted, skipping a file under legal hold
Regras de retenção — visualize e depois envie para a lixeira ou exclua arquivos sem alterações; a retenção legal sempre prevalece
FluxFiles activity log with CSV/NDJSON export, an integrity check and a verified tamper-evident log
Exporte toda a trilha de auditoria em NDJSON ou CSV, rode uma verificação de integridade e valide o log à prova de adulteração
FluxFiles on-demand virus scan reporting no threats found
Todo upload é escaneado antes de ser armazenado — ClamAV ou sua própria chave na nuvem
FluxFiles backup syncing a folder to a second disk with copied, skipped and byte counts
Sincronização unidirecional para um segundo disco — local, S3, R2 ou SFTP
Como funciona

Oculte números de CPF, cartões e segredos antes mesmo do arquivo ser armazenado

Como funciona

Assine arquivos com Content Credentials verificáveis (proveniência C2PA)

Como funciona

Entre com seu próprio provedor de identidade OIDC — grupos mapeados direto para permissões

O diferencial · BYOB

Os arquivos dos seus clientes ficam nos buckets dos seus clientes

O FluxFiles é o gerenciador de arquivos incorporável em que cada inquilino conecta o próprio bucket S3/R2 — e você nunca armazena os dados nem as credenciais dele.

  • Soberania de dados

    Os arquivos ficam na conta de nuvem e na região do próprio cliente — feito para LGPD/GDPR, conformidade e compras corporativas.

  • Zero dados, zero credenciais em repouso

    As credenciais do bucket são criptografadas com AES-256-GCM dentro do JWT e descriptografadas apenas em tempo de execução — nunca gravadas em banco ou log.

  • Custo de armazenamento que tende a zero

    Armazenamento e egress são cobrados de cada cliente, não de você. Sem conta que cresce com sua base de usuários.

  • Sem estado e incorporável

    Sem banco de dados central. Incorpore o seletor em qualquer app por iframe ou SDK; seu backend emite um token restrito e de curta duração.

Seu app SaaS
JWT restrito (credenciais criptografadas)
FluxFiles
descriptografa só em execução
Inquilino A
bucket próprio
Inquilino B
bucket próprio
Inquilino C
bucket próprio

Como funciona: seu app criptografa as credenciais do bucket do inquilino em um JWT de curta duração (HKDF-SHA256 + AES-256-GCM). O FluxFiles só as descriptografa para executar a operação solicitada.

Multilocatário

Um token por inquilino — cada um com suas regras

O FluxFiles é stateless: o JWT que seu backend emite é a configuração do inquilino. Caminho de armazenamento, tamanho máximo por arquivo, cota, número de arquivos, tipos permitidos, permissões — tudo aplicado no servidor. Sem arquivos de configuração por inquilino, sem reinícios.

// 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,
});
prefix disks / BYOB max_upload max_storage max_files allowed_ext perms

Combine com BYOB para colocar cada inquilino no próprio bucket.

Para quem é

Feito para equipes que entregam recursos de arquivos

Se o seu produto precisa de uploads, o FluxFiles se encaixa — sem fazer de você o guardião dos dados dos seus clientes.

SaaS e apps multi-tenant

Dê a cada cliente um gerenciador de arquivos no próprio bucket. Escopo de token por tenant e soberania de dados inclusos.

Agências e freelancers

Entregue uma biblioteca de mídia caprichada a cada cliente sem montar infraestrutura de armazenamento por projeto.

Integrações de CMS e editores

Coloque um seletor de mídia no CKEditor, TinyMCE, Summernote ou no seu próprio editor via SDK por iframe.

Ferramentas internas e dashboards

Adicione uploads, prévias e operações de arquivo auditadas a painéis de admin em uma tarde.

Perguntas frequentes

Perguntas frequentes

O FluxFiles é gratuito e open source?
Sim — licença MIT, auto-hospedável de graça e publicado no Composer e no npm. O núcleo não tem limites de uso; módulos pagos opcionais adicionam extras como links de Share e portais de upload.
Onde meus arquivos ficam armazenados?
Onde você apontar: disco local, AWS S3, Cloudflare R2 ou um servidor remoto via SFTP, tudo via Flysystem. O armazenamento é seu — nada passa por terceiros.
Posso incorporá-lo no meu app ou editor atual?
Sim — o iframe + SDK JS funciona em qualquer página, com adaptadores oficiais para Laravel, WordPress, React, Vue/Nuxt, CKEditor 4, TinyMCE e Summernote.
Quão seguro é contra ataques comuns?
Claims JWT delimitam cada requisição (permissões, disco, prefixo de caminho, extensões, owner-only); chamadas do lado do servidor como importação por URL e verificações BYOB passam por uma proteção SSRF que bloqueia IPs privados/internos; uploads recebem cabeçalhos anti-XSS, e a extensão de um arquivo fica travada no momento do upload, então renomear/mover/copiar não consegue alterá-la.

Pronto para incorporar o FluxFiles?

Adicione um gerenciador de arquivos pronto para produção ao seu app em minutos — sem dependência de framework, licença MIT.