Bring-your-own-storage · MIT-gelicentieerd

De bestandsmanager die draait op de eigen opslag van je klanten

Sluit in via iframe of SDK, geef een JWT met beperkte scope uit, en de bestanden van elke tenant blijven in zijn eigen S3, R2, SFTP of lokale schijf — nooit gekopieerd naar een database die jij moet beheren, beveiligen of betalen.

4
Ondersteunde opslag-backends
0
Servers die je bestanden zien
MIT
Open source licentie
16
Ondersteunde talen
Live voorbeeld

Bekijk het in actie

FluxFiles desktop file manager with image thumbnails
Rasterweergave met directe WebP-thumbnails
FluxFiles browsing an S3 / R2 bucket with the local, S3 and SFTP disk switcher
Multi-cloud — S3 / R2 / SFTP, één UI
FluxFiles managing a remote VPS deploy directory over SFTP, same UI as the S3 bucket
Externe VPS via SFTP — geen FTP-client nodig
Editing an nginx config file inside FluxFiles with syntax highlighting
Configuratiebestanden ter plekke bewerken — zonder SSH of FTP
FluxFiles previewing a video inline in the detail panel
Video-, audio- en PDF-voorbeeld zonder downloaden
FluxFiles Bucket Doctor health checks for an S3 bucket with CORS and IAM remediation
Bucket Doctor — S3/R2-controles + oplossingen
FluxFiles activity log of file operations
Activiteitenlog — bewaard in je eigen bucket
FluxFiles trash with restore and delete forever
Prullenbak — herstellen of definitief verwijderen
FluxFiles usage dashboard listing byte-identical duplicate files and the space they waste
Duplicatenzoeker — byte-identieke bestanden en de verspilde ruimte
FluxFiles grid showing PDF cover pages and video frames as poster thumbnails
Posterminiaturen — PDF-voorpagina's en videoframes direct in het raster
FluxFiles free AI auto-tag panel generating searchable tags for an image
Gratis AI-autotagging — doorzoekbare tags gegenereerd bij upload
FluxFiles responsive mobile file manager
Responsief op mobiel
FluxFiles compliance readiness scorecard showing which safeguards are enabled
Compliance-gereedheidsscorekaart — zie in één oogopslag welke waarborgen actief zijn
Creating a FluxFiles share link with an expiry, a password and a download limit
Deel een bestand — vervaldatum, wachtwoord, limiet
Creating a FluxFiles upload portal with a file limit, size cap and allowed file types
Uploadportalen — zonder account ontvangen
FluxFiles links panel listing shared links with views, downloads and revoke
Beheer elke link en trek hem wanneer je wilt in
FluxFiles version history of a contract with four prior versions, who saved each, and Restore
Elke overschrijving bewaart een eerdere versie, altijd terug te zetten
FluxFiles AI Vision panel removing the background from an image with your own vision API key
Achtergrond verwijderen, upscalen en slim bijsnijden met je eigen vision-sleutel
FluxFiles OCR panel showing text extracted from a scanned invoice
Haalt tekst uit afbeeldingen en pdf's, teruggegeven in het API-antwoord
Hoe het werkt
{ "event": "upload",
  "file": "invoice.pdf" }

Ondertekende HTTP POST naar jouw endpoint bij bestandsgebeurtenissen — Zapier, Make, n8n

FluxFiles legal hold panel blocking delete, rename and move with a reason and audit trail
Legal hold — blokkeert verwijderen, hernoemen en verplaatsen tot vrijgave, met een volledig audittrail
FluxFiles retention rules previewing which old files would be trashed or deleted, skipping a file under legal hold
Bewaarregels — eerst een voorbeeld, dan ongewijzigde bestanden naar de prullenbak of verwijderen; een legal hold wint altijd
FluxFiles activity log with CSV/NDJSON export, an integrity check and a verified tamper-evident log
Exporteer het volledige audittrail als NDJSON of CSV, voer een integriteitscontrole uit en verifieer het manipulatiebestendige log
FluxFiles on-demand virus scan reporting no threats found
Elke upload wordt gescand voordat hij wordt opgeslagen — ClamAV of je eigen cloudsleutel
FluxFiles backup syncing a folder to a second disk with copied, skipped and byte counts
Eenrichtingssynchronisatie naar een tweede schijf — local, S3, R2 of SFTP
Hoe het werkt

Verberg burgerservicenummers, kaartnummers en geheimen voordat een bestand wordt opgeslagen

Hoe het werkt

Onderteken bestanden met verifieerbare Content Credentials (C2PA-herkomst)

Hoe het werkt

Log in met je eigen OIDC-identiteitsprovider — groepen worden gemapt naar rechten

De slotgracht · BYOB

De bestanden van je klanten blijven in de buckets van je klanten

FluxFiles is de insluitbare bestandsmanager waarbij elke tenant zijn eigen S3/R2-bucket koppelt — en jij bewaart noch hun data noch hun credentials.

  • Datasoevereiniteit

    Bestanden staan in het eigen cloud-account en de regio van de klant — gebouwd voor AVG, compliance en enterprise-inkoop.

  • Geen data, geen credentials in rust

    Bucket-credentials worden met AES-256-GCM versleuteld in de JWT en alleen tijdens runtime ontsleuteld — nooit naar een database of log geschreven.

  • Opslagkosten die naar nul schalen

    Opslag en egress worden aan elke klant gefactureerd, niet aan jou. Geen opslagrekening die meegroeit met je gebruikers.

  • Stateless en insluitbaar

    Geen centrale database. Plaats de picker in elke app via iframe of SDK; je backend geeft een scoped, kortlevend token uit.

Jouw SaaS-app
scoped JWT (versleutelde creds)
FluxFiles
ontsleutelt alleen tijdens runtime
Tenant A
eigen bucket
Tenant B
eigen bucket
Tenant C
eigen bucket

Hoe het werkt: je app versleutelt de bucket-credentials van de tenant in een kortlevende JWT (HKDF-SHA256 + AES-256-GCM). FluxFiles ontsleutelt ze alleen om de gevraagde bewerking uit te voeren.

Multi-tenant

Eén token per tenant — elk met eigen regels

FluxFiles is stateless: de JWT die je backend uitgeeft is de configuratie van de tenant. Opslagpad, maximale bestandsgrootte, quotum, aantal bestanden, toegestane types, rechten — allemaal serverzijdig afgedwongen. Geen configbestanden per tenant, geen herstarts.

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

Combineer met BYOB om elke tenant op een eigen bucket te zetten.

Voor wie

Gebouwd voor teams die bestandsfuncties uitbrengen

Als je product uploads nodig heeft, past FluxFiles erin — zonder dat jij de beheerder van de data van je klanten wordt.

SaaS- en multi-tenant-apps

Geef elke klant een bestandsmanager op de eigen bucket. Token-scoping per tenant en datasoevereiniteit zitten erin.

Bureaus en freelancers

Lever elke klant een verzorgde mediabibliotheek zonder per project opslaginfra op te zetten.

CMS- en editor-integraties

Plaats een mediakiezer in CKEditor, TinyMCE, Summernote of je eigen editor via de iframe-SDK.

Interne tools en dashboards

Voeg uploads, previews en geaudite bestandsbewerkingen toe aan admin-panels in een middag.

FAQ

Veelgestelde vragen

Is FluxFiles gratis en open source?
Ja — MIT-gelicentieerd, gratis zelf te hosten en gepubliceerd op Composer en npm. De kern heeft geen gebruikslimieten; optionele betaalde modules voegen extra's toe zoals Share-links en upload-portalen.
Waar worden mijn bestanden opgeslagen?
Waar je het op richt: lokale schijf, AWS S3, Cloudflare R2 of een externe server via SFTP, allemaal via Flysystem. De opslag is van jou — niets gaat via een derde partij.
Kan ik het insluiten in mijn bestaande app of editor?
Ja — de iframe + JS-SDK werkt op elke pagina, met officiële adapters voor Laravel, WordPress, React, Vue/Nuxt, CKEditor 4, TinyMCE en Summernote.
Hoe veilig is het tegen veelvoorkomende aanvallen?
JWT-claims begrenzen elk verzoek (rechten, disk, padprefix, extensies, owner-only); server-side aanroepen zoals URL-import en BYOB-checks lopen via een SSRF-guard die private/interne IP's blokkeert; uploads krijgen anti-XSS-headers, en de extensie van een bestand wordt bij upload vastgezet, zodat hernoemen/verplaatsen/kopiëren die niet kan wijzigen.

Klaar om FluxFiles in te bouwen?

Voeg in enkele minuten een productieklare bestandsbeheerder toe aan je app — geen framework-lock-in, MIT-gelicentieerd.