implement-multi-tenancy

Implement multi-tenant isolation across CQRS and event-sourcing pipelines.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/firefly-oss/firefly-oss-claude-skills --skill implement-multi-tenancy
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: implement-multi-tenancy
Source: https://github.com/firefly-oss/firefly-oss-claude-skills/tree/main/skills/implement-multi-tenancy
Command: npx skills add https://github.com/firefly-oss/firefly-oss-claude-skills --skill implement-multi-tenancy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Multi-tenant isolation is essential to prevent data leakage and misrouting of operations across tenant boundaries within the Firefly Banking Platform.

Core Features & Use Cases

  • Tenant context propagation through ExecutionContext and Reactor TenantContext
  • Row-level data partitioning using tenant_id across event stores and domain models
  • Per-tenant branding and configuration loading for white-label deployments
  • End-to-end, tenant-aware CQRS and event-sourcing workflows in a multi-tenant architecture
  • Use Case: isolate tenant data in a loan processing service while supporting cross-tenant branding

Quick Start

Use the following instruction to implement and enforce tenant-aware workflows by extracting the tenant at the API boundary and building a Tenant-scoped ExecutionContext.

Frequently Asked Questions about implement-multi-tenancy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement multi-tenant data isolation in a CQRS and event-sourcing architecture?▼

Multi-tenant isolation in CQRS is achieved by extracting the tenant at the API boundary, building a Tenant-scoped ExecutionContext, and applying row-level partitioning using tenant_id across event stores and domain models to prevent data leakage.

What is the best way to propagate tenant context in reactive Java pipelines?▼

Tenant context propagation in reactive pipelines is handled via Reactor TenantContext, ensuring tenant boundaries are maintained asynchronously across end-to-end CQRS workflows and event-sourcing operations without losing the tenant scope.

How does per-tenant branding work in a white-label banking platform deployment?▼

Per-tenant branding loads specific branding data and configuration for each tenant dynamically, enabling white-label deployments by isolating visual and operational configurations alongside row-level tenant_id data partitioning.

Can I isolate tenant data in a loan processing service while supporting cross-tenant branding?▼

Yes, tenant data isolation applies directly to services like loan processing by enforcing tenant_id partitioning in domain models, while simultaneously loading distinct per-tenant branding data and configuration for cross-tenant white-label scenarios.

Do I need a tenant_id column on every table for multi-tenant data partitioning?▼

Yes, row-level data partitioning requires a tenant_id column across event stores and domain models to enforce strict tenant boundaries and prevent misrouting of operations or data leakage across the platform.

Why does multi-tenant isolation fail when tenant context is lost in async operations?▼

Multi-tenant isolation fails without proper context propagation because operations bypass tenant boundaries, which is solved by enforcing TenantContext through Reactor pipelines and ExecutionContext to maintain the tenant scope end-to-end.