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.