Skip to content

Application features & contract (TenancyEngine)

Define what your product can do per environment. Features, offerings, roles, and claims form the product contract tenants inherit when they subscribe.

Console: Application workspace → Features (also Offerings, Roles, Claims)

Use the contract environment selector (Development / Staging / Production) to edit the copy for each stage.

Environments

EnvironmentPurpose
DevelopmentExperiment freely; bootstrap from Production when needed
StagingPre-production validation; promote to Production when ready
ProductionLive tenant entitlements

Promote contract copies Staging → Production (or Development → Staging) after review. The diff panel highlights additions and changes before you confirm.

Features

Each feature has a stable key, display metadata, and optional limits. On Production, set a rollout channel (Stable / Beta / Preview) to control which tenants receive the capability based on their release channel.

Default rollout for new production features is configured on SettingsProduction contract.

Offerings, roles, claims

  • Offerings — sellable plans; attach features as featureKey or featureKey:limit (comma-separated).
  • Roles — named permission bundles assigned to tenant users.
  • Claims — custom JWT claims emitted at sign-in for your app to read.

Edit these tabs with the same environment selector; promote together with features.

Operator tips

  • Build in Development, validate in Staging, then Promote to Production — avoid editing Production directly unless hotfixing.
  • Use the contract diff view before promotion to catch accidental removals.
  • Disabled lifecycle on the parent application blocks tenant access regardless of contract state.

TenancyEngine platform documentation