roedyrustam/vibes-plug/saas-multi-tenant
- community
Checking that the SKILL.md file is still in the repository.
Multi-tenant SaaS architecture with PostgreSQL RLS isolation / Arsitektur SaaS multi-tenant dengan isolasi PostgreSQL RLS.
Install
npx vskill@latest install roedyrustam/vibes-plug/saas-multi-tenantSKILL.md
SaaS Multi-Tenant Expert (2026 Edition)
<a name="english"></a>
English
Orchestration & Integration
- Upstream Orchestrators: Works under
brainstormingandzero-to-prod-orchestrator(Phase 3 - Schema Design & Database Architecture) for multi-tenant data modeling. - Downstream Cooperating Skills:
database-orm-expert— Implement tenant migrations, foreign keys, and PostgreSQL RLS policies.supabase-security-expert— Audit RLS rules, JWT custom claims, and service role bypass vectors.saas-billing— Connect workspace plans to subscription limits, dunning, and seat allowances.payment-gateway-expert— Provide tenant-aware checkout flows and billing portal access.cloud-hosting-expert— Super Admin domain isolation (admin.yourdomain.com) and routing.saas-architect— Coordinate 9-phase modernization pipeline when transforming single-tenant codebases.session-memory-manager— Store tenant isolation matrices and schema configuration checkpoints.
Description
Expert guide for designing and implementing multi-tenant SaaS architectures with full tenant isolation, Supabase/PostgreSQL Row Level Security (RLS), schema-per-org patterns, RBAC, and Super Admin access controls.
Trigger Conditions
- Building a SaaS application that serves multiple organizations (workspaces/tenants).
- Implementing Row Level Security (RLS) policies in Supabase or PostgreSQL.
- Designing a data model that isolates tenant data securely.
- Implementing role-based access control (RBAC) within a tenant.
- Building the Super Admin management panel for cross-tenant operations.
- Choosing between shared schema vs. schema-per-org isolation strategies.
Tenant Isolation Strategies
| Strategy | Isolation Level | Cost | Complexity | Best For | |
|---|---|---|---|---|---|
| Shared Schema + RLS | Row-level | Low | Medium | Standard SaaS (< 1M tenants) | |
| Schema per Org | Table-level | Medium | High | Compliance-heavy (HIPAA, finance) | |
| DB per Org | Database-level | High | Very High | Enterprise, regulated industries |
Strategy 1: Shared Schema + RLS (Recommended for Most SaaS)
Core Schema Design
Row Level Security Policies
Session Management & RLS Optimization
To avoid performance bottlenecks, embed workspace_id and role directly into the user's Session JWT (Custom Claims). This allows RLS policies to check the session token directly (auth.jwt()->>'workspace_id') instead of joining the workspace_members table on every query.
RLS Helper Functions
Strategy 2: Schema per Org (Compliance-Heavy)
For regulated industries requiring strict data separation:
Super Admin Architecture
Super Admin is a separate system that operates across all tenants with elevated privileges:
RBAC Implementation (TypeScript)
Sovereign Execution, Token Efficiency & Invariants
| Dimension | Sovereign Mandate & Deterministic Contract | |||||
|---|---|---|---|---|---|---|
| Frontier Model Cascade | Medium / High (Gemini 4 Argon, GPT-5.6 Sol Medium, Claude Sonnet 5.5 High) | |||||
| Availability Fallback | Gemini 4 Argon/Pro -> Gemini 3.8 Flash; Claude Opus 5.5 -> Claude Opus 4.6 (Zero unhandled missing-model errors) | |||||
| KV-Cache & Token Protocol | Pin static instructions & schemas at prompt prefix (kv-cache-prefix-optimizer); pass surgical CONTEXT_MAP.md slices (<250 tokens/call) during Swarm Fan-Out | |||||
| SaaT CLI & MCP Dispatch | CLI: `vibes skill exec saas-multi-tenant <audit\ | eval\ | verify\ | generate\ | blueprint> / MCP: vibes_skill_dispatch, vibes_eval_sql, vibes_verify_invariants, vibes_verify_gate` | |
| NFR & Anti-Slop Invariants | P99 Query Latency < 15ms, 100% Row Level Security (RLS) coverage on multi-tenant tables, explicit B-Tree indexes on all Foreign Keys; 100% complete zero-placeholder output verified via node scripts/check-anti-slop.js --strict |
<a name="bahasa-indonesia"></a>
Bahasa Indonesia
Integrasi Orkestrasi
- Orkestrator Hulu: Beroperasi di bawah arahan
brainstormingdanzero-to-prod-orchestrator(Fase 3 - Desain Skema & Arsitektur Database) untuk pemodelan data multi-tenant. - Skill Hilir & Kerja Sama:
database-orm-expert— Implementasi migrasi tenant, foreign keys, dan kebijakan RLS PostgreSQL.supabase-security-expert— Audit aturan RLS, custom claims JWT, dan vektor bypass service role.saas-billing— Menghubungkan paket workspace dengan batas langganan dan alokasi kursi (seat).payment-gateway-expert— Menyediakan alur checkout dan akses portal billing per tenant.cloud-hosting-expert— Isolasi domain Super Admin (admin.yourdomain.com) dan konfigurasi routing.saas-architect— Mengoordinasikan pipeline modernisasi 9 fase saat mentransformasi aplikasi single-tenant.session-memory-manager— Menyimpan matriks isolasi tenant dan checkpoint konfigurasi skema.
Deskripsi
Panduan ahli untuk merancang dan mengimplementasikan arsitektur SaaS multi-tenant dengan isolasi tenant penuh, Row Level Security (RLS) Supabase/PostgreSQL, pola schema-per-org, RBAC, dan kontrol akses Super Admin.
Kondisi Pemicu
- Membangun aplikasi SaaS yang melayani beberapa organisasi (workspace/tenant).
- Mengimplementasikan kebijakan Row Level Security (RLS) di Supabase atau PostgreSQL.
- Merancang model data yang mengisolasi data tenant dengan aman.
- Mengimplementasikan role-based access control (RBAC) dalam tenant.
- Membangun panel manajemen Super Admin untuk operasi lintas tenant.
- Memilih antara shared schema vs. schema-per-org.
Strategi Isolasi Tenant
| Strategi | Level Isolasi | Biaya | Kompleksitas | Terbaik Untuk | |
|---|---|---|---|---|---|
| Shared Schema + RLS | Row-level | Rendah | Sedang | SaaS standar (< 1M tenant) | |
| Schema per Org | Table-level | Sedang | Tinggi | Kepatuhan ketat (HIPAA, keuangan) | |
| DB per Org | Database-level | Tinggi | Sangat Tinggi | Enterprise, industri teratur |
Strategi 1: Shared Schema + RLS (Direkomendasikan)
Rancang tabel workspaces (tenant), workspace_members (keanggotaan + role), dan semua tabel data dengan kolom workspace_id. Terapkan RLS agar pengguna hanya dapat melihat data workspace mereka sendiri.
Optimasi Session Management & RLS
Untuk menghindari bottleneck performa, sematkan workspace_id dan role langsung ke dalam Session JWT pengguna (Custom Claims). Ini memungkinkan kebijakan RLS untuk memeriksa token sesi secara langsung (auth.jwt()->>'workspace_id') daripada melakukan join ke tabel workspace_members pada setiap query.
Fungsi Helper RLS
Buat fungsi user_has_role() yang dapat digunakan kembali di seluruh kebijakan RLS untuk memeriksa apakah pengguna saat ini memiliki role minimum yang diperlukan dalam workspace tertentu.
Strategi 2: Schema per Org
Untuk industri teratur yang membutuhkan pemisahan data ketat. Buat schema PostgreSQL terpisah untuk setiap tenant secara dinamis. Atur search_path per koneksi untuk mengarahkan query ke schema tenant yang benar.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/saas-multi-tenant/SKILL.md
Popularity
- Repository stars
- 51
- Repository forks
- 10
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/roedyrustam/vibes-plug/saas-multi-tenant)