Sailor는 인증, 결제, 멀티테넌시, AI, 큐, 검색, 이메일이 이미 연결된 Next.js + Tailwind v4 기반의 의견 있는 SaaS 파운데이션입니다. 복제하고 공급자를 구성한 다음 출시하면 — 보통 일주일 이내에 가능합니다.
차별화 요소에 시간을 쓰고 싶은 — 같은 인증/결제/테넌시 배관을 다섯 번째로 재구축하지 않고 싶은 — 창업자와 제품 엔지니어를 위한 것입니다.
전체 소스는 FSL-1.1-ALv2로 제공됩니다 — 개인 프로젝트, 사내 도구, 자체 제품 개발에 무료이며 비용이나 copyleft 의무가 없습니다. 유일한 제한은 Sailor 자체를 경쟁 상업 제품이나 서비스로 제공하는 것입니다. 모든 요금제에는 전체 기능 세트(인증, 결제, 멀티테넌시, AI, 감사)가 포함됩니다. 등급은 기능이 아니라 지원 SLA, 배상, 컴플라이언스 문서, 상표권에서 차이가 있습니다.
FSL-1.1-ALv2이며, 각 버전은 출시 2년 후 Apache-2.0으로 전환됩니다. 개인 사용, 사내 도구, 자체 제품 개발에 무료이며 비용이나 copyleft 의무가 없습니다. 유일하게 허용되지 않는 것은 Sailor 자체를 경쟁 제품이나 서비스로 제공하는 것입니다. 전체 소스 코드는 모든 요금제에 포함됩니다.
아니요. 소스 업데이트는 모든 상용 라이선스에 포함됩니다 — 언제든지 main에서 풀하고 포크를 리베이스할 수 있습니다. 유료 등급은 Sailor를 상업적 프로덕션에서 사용할 권한이지, 코드를 받을 권한이 아닙니다. 각 마이너 릴리스에는 변경 로그와 호환성 깨짐에 대한 업그레이드 가이드가 함께 제공됩니다.
무료 고객은 커뮤니티 Discord + GitHub Issues를 사용합니다. Pro는 1영업일 응답 SLA가 있는 우선 이메일을 추가합니다. Enterprise는 전용 Slack 채널과 온보딩 엔지니어를 제공합니다.
Node 22+ 이 실행되는 모든 곳입니다. 마케팅 사이트는 Vercel에 배포되며, 대시보드, 게이트웨이, Python 서비스는 Docker / PM2에서 실행됩니다(현재 Aliyun ECS에서 운영 중이며, 클러스터용 Kubernetes 매니페스트는 infra/iac/k8s/에 포함). 엔터프라이즈 고객은 자체 VPC 내부에도 배포합니다.
예. 동일한 코드베이스가 만리장성 안에서도 깔끔하게 배포되도록 병렬 인프라 구성(Aliyun 호환 CDN, ICP 친화 도메인)을 제공합니다.
React 19 기반의 Next.js 16(App Router), TypeScript 5.9, Tailwind v4, Postgres 위의 Prisma 7(pgvector + RLS 포함), BFF 게이트웨이용 Hono, ML/대규모 서비스용 FastAPI, Radix, Nebutra UI 프리미티브, 공유 Motion 레이어로 큐레이팅된 컴포넌트 라이브러리. AI 기능은 공급자 이식성(OpenAI / OpenRouter / SiliconFlow / Azure / 로컬)을 갖춘 Vercel AI SDK를 통해 처리됩니다.
Sailor는 10개 앱 + packages/*/* 아래의 104개 공유 패키지 + 4개 백엔드 라인(Hono gateway, FastAPI/Python, Go, Rust)으로 — 단일 Next.js 메가 앱이 유지 관리 가능한 시점을 훨씬 넘어섰습니다. Turborepo는 영향받은 부분만 빌드, 투명한 원격 캐싱, 공유 디자인 토큰/인증/결제/관측성에 대한 단일 소스를 제공합니다 — 모든 팀을 동일한 Next.js 프로세스에 강제하지 않으면서.
두 가지 레이어가 있습니다. @nebutra/tenant를 통한 요청 범위 테넌트 컨텍스트(AsyncLocalStorage가 DB 쿼리 및 아웃바운드 웹훅을 포함한 모든 서버 호출에서 활성 조직을 전파), 그리고 세션 로컬 app.current_tenant_id에 바인딩된 Postgres Row-Level Security 정책(packages/platform/db/prisma/generated/rls.sql)을 통한 데이터베이스 강제 격리. 서비스 역할 연결은 신뢰할 수 있는 내부 서비스 내부에서만 RLS를 우회하며, 모든 사용자 대면 라우트는 테넌트 범위 클라이언트를 통과합니다.
예. @nebutra/auth는 Better Auth용 일등급 어댑터를 제공합니다. AUTH_PROVIDER 환경 변수로 전환하거나 스캐폴드 시점에 create-sailor --auth=...로 선택하십시오 — 공급자에 관계없이 서버, React, 미들웨어 표면이 동일하게 유지됩니다. 다섯 번째 어댑터를 추가하는 것은 단일 인터페이스(~80 LOC)를 구현하는 것을 의미하며, 주변 코드의 어떤 부분도 특정 공급자에 결합되지 않습니다.
예. 모든 통합(인증, 큐, 검색, 이메일, 결제, 스토리지, 빌링)은 공급자 독립적입니다. 각 패키지의 팩토리는 단일 환경 변수에서 적합한 어댑터를 선택합니다 — 사용되는 어댑터는 Better Auth, QStash, Resend, Creem입니다 — 애플리케이션 코드를 건드리지 않습니다.
비밀에 대한 애플리케이션 레이어 엔벨로프 암호화(@nebutra/vault), 테넌트 격리를 위한 Postgres RLS, CASL(@nebutra/permissions)를 통한 RBAC/ABAC, HMAC 서명 서비스 간 토큰, 서명된 아웃바운드 웹훅, 그리고 모든 요금제에 포함된 SOC 2 정렬 감사 파이프라인(@nebutra/audit). Pro와 Enterprise는 SOC 2 인증 지원, 전담 사고 대응, 더 긴 감사 로그 보존 기간을 추가합니다.