Bring-your-own-storage · MIT 라이선스

고객 자신의 스토리지 위에서 실행되는 파일 관리자

iframe이나 SDK로 임베드하고 범위가 제한된 JWT를 발급하면, 각 테넌트의 파일은 자신의 S3, R2, SFTP 또는 로컬 디스크에 저장됩니다 — 여러분이 운영·보호·비용을 지불해야 하는 데이터베이스로 복사되는 일은 절대 없습니다.

4
지원하는 스토리지 백엔드
0
여러분의 파일을 보는 서버 수
MIT
오픈소스 라이선스
16
지원 언어
미리보기

실제 동작 확인

FluxFiles desktop file manager with image thumbnails
즉시 WebP 썸네일 그리드 보기
FluxFiles browsing an S3 / R2 bucket with the local, S3 and SFTP disk switcher
멀티 클라우드 — S3 / R2 / SFTP, 하나의 UI
FluxFiles managing a remote VPS deploy directory over SFTP, same UI as the S3 bucket
SFTP로 원격 VPS 관리 — FTP 클라이언트 불필요
Editing an nginx config file inside FluxFiles with syntax highlighting
설정 파일을 바로 편집 — SSH도 FTP도 불필요
FluxFiles previewing a video inline in the detail panel
내려받지 않고 동영상·오디오·PDF 미리보기
FluxFiles Bucket Doctor health checks for an S3 bucket with CORS and IAM remediation
버킷 닥터 — S3/R2 상태 점검 + 해결
FluxFiles activity log of file operations
활동 로그 — 내 버킷에 저장
FluxFiles trash with restore and delete forever
휴지통 — 복원 또는 영구 삭제
FluxFiles free AI auto-tag panel generating searchable tags for an image
무료 AI 자동 태그 — 업로드 시 검색 가능한 태그 생성
FluxFiles responsive mobile file manager
모바일 반응형
FluxFiles compliance readiness scorecard showing which safeguards are enabled
컴플라이언스 준비 상태 스코어카드 — 활성화된 보호 기능을 한눈에 확인
Creating a FluxFiles share link with an expiry, a password and a download limit
파일 공유 — 만료·비밀번호·다운로드 제한
Creating a FluxFiles upload portal with a file limit, size cap and allowed file types
업로드 포털 — 계정 없이 파일 받기
FluxFiles links panel listing shared links with views, downloads and revoke
모든 링크 관리 및 즉시 해지
FluxFiles AI Vision panel removing the background from an image with your own vision API key
본인의 비전 API 키로 배경 제거, 업스케일, 스마트 크롭
작동 방식

덮어쓸 때마다 이전 버전을 보관, 언제든 복원 가능

작동 방식
{ "event": "upload",
  "file": "invoice.pdf" }

파일 이벤트 발생 시 서명된 HTTP POST를 엔드포인트로 전송 — Zapier, Make, n8n

작동 방식

이미지와 PDF에서 텍스트를 추출해 API 응답으로 반환

FluxFiles legal hold panel blocking delete, rename and move with a reason and audit trail
법적 보존 — 해제 전까지 삭제·이름 변경·이동을 차단하고 전체 감사 기록을 남김
작동 방식

파일이 저장되기 전에 주민등록번호, 카드번호, 비밀 정보를 마스킹

작동 방식

업로드되는 모든 파일을 저장 전에 검사 — ClamAV 또는 본인의 클라우드 키

작동 방식

검증 가능한 Content Credentials로 파일 서명 (C2PA 출처 증명)

작동 방식

두 번째 디스크로 단방향 동기화 — 로컬, S3, R2 또는 SFTP

작동 방식

전체 감사 로그를 NDJSON 또는 CSV로 내보내기 — 보관된 로그도 포함

작동 방식

본인의 OIDC ID 공급자로 로그인 — 그룹이 권한에 자동 매핑

해자 · BYOB

고객의 파일은 고객 자신의 버킷에 보관됩니다

FluxFiles는 임베드 가능한 파일 관리자로, 각 테넌트가 자신의 S3/R2 버킷을 연결하며 — 여러분은 그들의 데이터나 자격 증명을 결코 저장하지 않습니다.

  • 데이터 주권

    파일은 고객 자신의 클라우드 계정과 리전에 저장됩니다 — GDPR, 컴플라이언스, 기업 조달에 적합.

  • 저장 시 데이터·자격 증명 제로

    버킷 자격 증명은 JWT 안에서 AES-256-GCM으로 암호화되고 런타임에만 복호화됩니다 — DB나 로그에 절대 기록하지 않습니다.

  • 스토리지 비용은 0까지 확장

    스토리지와 이그레스는 여러분이 아닌 각 고객에게 청구됩니다. 사용자 증가에 따라 늘어나는 청구서가 없습니다.

  • 무상태 & 임베드 가능

    중앙 데이터베이스 없음. iframe이나 SDK로 피커를 어떤 앱에든 임베드하고, 백엔드가 범위가 제한된 단기 토큰을 발급합니다.

당신의 SaaS 앱
범위 제한 JWT(암호화 자격 증명)
FluxFiles
런타임에만 복호화
테넌트 A
자체 버킷
테넌트 B
자체 버킷
테넌트 C
자체 버킷

작동 방식: 앱이 테넌트의 버킷 자격 증명을 단기 JWT(HKDF-SHA256 + AES-256-GCM)로 암호화합니다. FluxFiles는 요청된 작업을 수행할 때만 복호화합니다.

멀티테넌트

테넌트마다 토큰 하나 — 각자의 규칙으로

FluxFiles는 무상태입니다: 백엔드가 발급하는 JWT가 곧 그 테넌트의 설정입니다. 저장 경로, 파일 크기 제한, 할당량, 파일 수, 허용 형식, 권한 — 모두 서버에서 강제됩니다. 테넌트별 설정 파일도, 재시작도 필요 없습니다.

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

BYOB와 함께 쓰면 각 테넌트를 자기 버킷에 분리할 수 있습니다.

대상 사용자

파일 기능을 출시하는 팀을 위해

제품에 업로드가 필요하다면 FluxFiles를 그대로 끼워 넣으세요 — 고객 데이터의 관리자가 되지 않으면서.

SaaS·멀티테넌트 앱

모든 고객에게 자기 버킷의 파일 매니저를 제공합니다. 테넌트별 토큰 제한과 데이터 주권이 기본 내장.

에이전시·프리랜서

프로젝트마다 스토리지 인프라를 세우지 않고도 세련된 미디어 라이브러리를 고객에게 제공.

CMS·에디터 통합

iframe SDK로 CKEditor, TinyMCE, Summernote 또는 직접 만든 에디터에 미디어 피커를 추가.

내부 도구·대시보드

관리자 패널에 업로드·미리보기·감사 기록 파일 작업을 반나절 만에 추가.

FAQ

자주 묻는 질문

FluxFiles는 무료이고 오픈소스인가요?
네 — MIT 라이선스로 무료 셀프호스팅이 가능하며 Composer와 npm에 공개되어 있습니다. 코어에는 사용 제한이 없으며, Share 링크·업로드 포털 같은 기능은 선택적 유료 모듈로 추가할 수 있습니다.
파일은 어디에 저장되나요?
원하는 곳에 저장됩니다: 로컬 디스크, AWS S3, Cloudflare R2, 또는 SFTP를 통한 원격 서버 — 모두 Flysystem을 통해서요. 저장소는 당신의 것이며 제3자를 거치지 않습니다.
기존 앱이나 에디터에 임베드할 수 있나요?
네 — iframe + JS SDK는 어떤 페이지에서도 동작하며 Laravel, WordPress, React, Vue/Nuxt, CKEditor 4, TinyMCE, Summernote용 공식 어댑터를 제공합니다.
일반적인 공격에 대해 얼마나 안전한가요?
모든 요청은 JWT 클레임(권한, 디스크, 경로 접두사, 확장자, owner-only)으로 범위가 제한됩니다. URL 임포트나 BYOB 검사 같은 서버 측 요청은 사설/내부 IP를 차단하는 SSRF 가드를 거칩니다. 업로드에는 anti-XSS 헤더가 붙고, 파일 확장자는 업로드 시점에 고정되어 이름 변경/이동/복사로도 바뀌지 않습니다.

FluxFiles를 임베드할 준비가 되셨나요?

프로덕션급 파일 관리자를 몇 분 만에 앱에 추가하세요 — 프레임워크 종속 없이, MIT 라이선스.