Multi-Tenancy

Tenant-aware configuration, product limits, feature flags, and primitive activation derived from existing docs.

Source: docs/01_blueprint.md, docs/02_ecosystem_architecture.md, docs/03_primitives.md

Platform goals

FinFactory’s platform architecture should support:

  • Reusable fintech primitives
  • Product-specific composition
  • Regulated financial workflows
  • Tenant-specific configuration
  • Clear service boundaries
  • Strong auditability
  • Deterministic ledger behavior
  • Event-driven integration
  • API-first product delivery
  • AI-assisted operations with strict controls

Product orchestration layer

The product orchestration layer coordinates workflows across primitives.

It owns:

  • Product templates
  • Workflow definitions
  • Tenant configuration
  • Feature flags
  • Product limits
  • Routing rules
  • Primitive activation
  • Policy enforcement
  • Cross-service transaction state

The orchestration layer determines which primitives are involved in a product and how they should interact.

Primitive design rules

Each primitive should:

  • Own its domain
  • Own its database
  • Expose stable APIs
  • Publish domain events
  • Support idempotent commands
  • Maintain audit logs
  • Enforce authorization
  • Support tenant-level configuration where needed
  • Avoid direct database access from other services
  • Avoid leaking provider-specific details into product APIs