Bring-your-own-storage · Sous licence MIT

Le gestionnaire de fichiers qui fonctionne sur le stockage de vos clients

Intégrez-le via iframe ou SDK, générez un JWT à portée limitée, et les fichiers de chaque locataire restent dans son propre S3, R2, SFTP ou disque local — jamais copiés dans une base de données que vous devez exploiter, sécuriser ou payer.

4
Backends de stockage pris en charge
0
Serveurs qui voient vos fichiers
MIT
Licence open source
16
Langues supportées
Aperçu

Voir en action

FluxFiles desktop file manager with image thumbnails
Vue grille avec vignettes WebP instantanées
FluxFiles browsing an S3 / R2 bucket with the local, S3 and SFTP disk switcher
Multi-cloud — S3 / R2 / SFTP, une seule UI
FluxFiles managing a remote VPS deploy directory over SFTP, same UI as the S3 bucket
VPS distant en SFTP — sans client FTP
Editing an nginx config file inside FluxFiles with syntax highlighting
Modifiez les fichiers de config sur place — sans SSH ni FTP
FluxFiles previewing a video inline in the detail panel
Aperçu vidéo, audio et PDF sans téléchargement
FluxFiles Bucket Doctor health checks for an S3 bucket with CORS and IAM remediation
Bucket Doctor — diagnostics S3/R2 + correctifs
FluxFiles activity log of file operations
Journal d'activité — conservé dans votre bucket
FluxFiles trash with restore and delete forever
Corbeille — restaurer ou supprimer définitivement
FluxFiles usage dashboard listing byte-identical duplicate files and the space they waste
Détecteur de doublons — fichiers identiques octet par octet et l'espace gaspillé
FluxFiles grid showing PDF cover pages and video frames as poster thumbnails
Vignettes — pages de couverture PDF et images vidéo directement dans la grille
FluxFiles free AI auto-tag panel generating searchable tags for an image
Auto-tagging IA gratuit — tags indexables générés à l'upload
FluxFiles responsive mobile file manager
Adapté au mobile
FluxFiles compliance readiness scorecard showing which safeguards are enabled
Tableau de bord de conformité — visualisez en un coup d'œil les protections activées
Creating a FluxFiles share link with an expiry, a password and a download limit
Partage — expiration, mot de passe, limite
Creating a FluxFiles upload portal with a file limit, size cap and allowed file types
Portails de dépôt — sans compte
FluxFiles links panel listing shared links with views, downloads and revoke
Gérez chaque lien, révoquez-en un à tout moment
FluxFiles version history of a contract with four prior versions, who saved each, and Restore
Chaque écrasement conserve une version antérieure, restaurable à tout moment
FluxFiles AI Vision panel removing the background from an image with your own vision API key
Suppression d'arrière-plan, upscale et recadrage intelligent avec votre propre clé vision
FluxFiles OCR panel showing text extracted from a scanned invoice
Extraction de texte depuis images et PDF, renvoyée directement dans la réponse API
Comment ça marche
{ "event": "upload",
  "file": "invoice.pdf" }

POST HTTP signé vers votre endpoint à chaque événement fichier — Zapier, Make, n8n

FluxFiles legal hold panel blocking delete, rename and move with a reason and audit trail
Conservation légale — bloque la suppression, le renommage et le déplacement jusqu'à la levée, avec une piste d'audit complète
FluxFiles retention rules previewing which old files would be trashed or deleted, skipping a file under legal hold
Règles de conservation — prévisualisez, puis mettez à la corbeille ou supprimez les fichiers inchangés ; la conservation légale l'emporte toujours
FluxFiles activity log with CSV/NDJSON export, an integrity check and a verified tamper-evident log
Exportez toute la piste d'audit en NDJSON ou CSV, lancez un contrôle d'intégrité et vérifiez le journal infalsifiable
FluxFiles on-demand virus scan reporting no threats found
Chaque upload est scanné avant stockage — ClamAV ou votre propre clé cloud
FluxFiles backup syncing a folder to a second disk with copied, skipped and byte counts
Synchronisation à sens unique vers un second disque — local, S3, R2 ou SFTP
Comment ça marche

Masquez les numéros de sécurité sociale, de carte bancaire et les secrets avant même le stockage du fichier

Comment ça marche

Signez vos fichiers avec des Content Credentials vérifiables (provenance C2PA)

Comment ça marche

Connectez-vous avec votre propre fournisseur d'identité OIDC — les groupes sont mappés aux permissions

L’atout · BYOB

Les fichiers de vos clients restent dans les buckets de vos clients

FluxFiles est le gestionnaire de fichiers intégrable où chaque locataire connecte son propre bucket S3/R2 — et vous ne stockez jamais ses données ni ses identifiants.

  • Souveraineté des données

    Les fichiers résident dans le compte cloud et la région du client — pensé pour le RGPD, la conformité et les achats en entreprise.

  • Zéro donnée, zéro identifiant au repos

    Les identifiants du bucket sont chiffrés en AES-256-GCM dans le JWT et déchiffrés uniquement à l’exécution — jamais écrits en base ou dans un log.

  • Un coût de stockage qui tend vers zéro

    Le stockage et l’egress sont facturés à chaque client, pas à vous. Pas de facture qui gonfle avec votre base d’utilisateurs.

  • Sans état et intégrable

    Aucune base centrale. Intégrez le sélecteur dans n’importe quelle app via iframe ou SDK ; votre backend émet un jeton restreint et de courte durée.

Votre app SaaS
JWT restreint (identifiants chiffrés)
FluxFiles
déchiffré à l’exécution uniquement
Locataire A
son bucket
Locataire B
son bucket
Locataire C
son bucket

Fonctionnement : votre app chiffre les identifiants du bucket du locataire dans un JWT de courte durée (HKDF-SHA256 + AES-256-GCM). FluxFiles ne les déchiffre que pour exécuter l’opération demandée.

Multi-tenant

Un token par tenant — chacun ses règles

FluxFiles est sans état : le JWT émis par votre backend est la config du tenant. Chemin de stockage, taille max par fichier, quota, nombre de fichiers, types autorisés, permissions — tout est appliqué côté serveur. Aucun fichier de config par tenant, aucun redémarrage.

// 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

Associez-le au BYOB pour mettre chaque tenant sur son propre bucket.

Pour qui

Conçu pour les équipes qui livrent des fonctions de fichiers

Si votre produit a besoin d'uploads, FluxFiles s'intègre — sans faire de vous le gardien des données de vos clients.

SaaS & apps multi-tenant

Offrez à chaque client un gestionnaire de fichiers sur son propre bucket. Scoping de token par tenant et souveraineté des données inclus.

Agences & freelances

Livrez une médiathèque soignée à chaque client sans monter une infra de stockage par projet.

Intégrations CMS & éditeurs

Ajoutez un sélecteur de médias à CKEditor, TinyMCE, Summernote ou votre propre éditeur via le SDK iframe.

Outils internes & tableaux de bord

Ajoutez uploads, aperçus et opérations de fichiers auditées à vos panneaux d'admin en un après-midi.

FAQ

Questions fréquentes

FluxFiles est-il gratuit et open source ?
Oui — sous licence MIT, auto-hébergeable gratuitement, et publié sur Composer et npm. Le cœur n'a aucune limite d'usage ; des modules payants optionnels ajoutent des extras comme les liens de partage et les portails d'envoi.
Où mes fichiers sont-ils stockés ?
Là où vous le décidez : disque local, AWS S3, Cloudflare R2 ou un serveur distant via SFTP, le tout via Flysystem. Le stockage vous appartient — rien ne transite par un tiers.
Puis-je l'intégrer dans mon application ou mon éditeur existant ?
Oui — l'iframe + le SDK JS fonctionne dans n'importe quelle page, avec des adaptateurs officiels pour Laravel, WordPress, React, Vue/Nuxt, CKEditor 4, TinyMCE et Summernote.
Quel est le niveau de sécurité contre les attaques courantes ?
Les claims JWT délimitent chaque requête (permissions, disque, préfixe de chemin, extensions, owner-only) ; les appels côté serveur comme l'import par URL et les vérifications BYOB passent par une protection SSRF qui bloque les IP privées/internes ; les uploads reçoivent des en-têtes anti-XSS, et l'extension d'un fichier est verrouillée à l'upload pour qu'un renommage/déplacement/copie ne puisse pas la modifier.

Prêt à intégrer FluxFiles ?

Ajoutez un gestionnaire de fichiers prêt pour la production à votre application en quelques minutes — sans dépendance à un framework, sous licence MIT.