Business Governance
Document Info
- Purpose
- Platform governance for multi-business onboarding, ownership, and lifecycle.
- Intended Audience
- Platform maintainers, business owners, release approvers.
- Last Updated
- 2026-06-05
- Related Documents
- Onboarding GuideBusiness Onboarding Runbook
Principles
- Configuration over code — new businesses require JSON only
- Fail fast at startup — invalid schema blocks deployment
- Gradual production readiness — Draft → Ready → Production
- Observable onboarding — portal and health snapshots reflect state
Naming standards
| Asset | Pattern | Example |
|---|---|---|
businessId | ^[a-z][a-z0-9-]*$ | enandi, workspace |
templateKey | SCREAMING_SNAKE_CASE | LOGIN_OTP |
| Folder name | Must equal businessId | backend/config/businesses/enandi/ |
Ownership model
| Role | Responsibility |
|---|---|
| Business owner | DLT entity, sender ID, template content approval |
| Platform engineer | Config scaffolding, validation, deployment |
| Approver | Production readiness sign-off |
DLT ownership
- Entity ID and sender ID owned by business legal entity
- Template IDs registered per business in TRAI DLT portal
- Platform stores IDs in config; does not modify DLT payload generation
Template ownership
- Each business maintains its own
templates.json - Template keys are unique within a business
- Template IDs must be globally unique within a business catalog
Onboarding approvals
Production promotion requires:
npm run validate:businesses→PASS(no FAIL)- No placeholder DLT values
- Portal checklist all green for production apps
- Stakeholder sign-off documented
Retirement process
- Remove OTP mappings referencing business
- Deprecate templates (do not delete until consumers migrated)
- Remove business folder
- Restart backend and rebuild manifest
Versioning strategy
business.jsonversionfield tracks config generation (e.g.v1,v2)- Breaking template changes require new template keys or version bump
- Portal displays version per business
Phase 9A tooling
| Tool | Purpose |
|---|---|
create-business.mjs | Scaffold new business |
validate:businesses | CLI validation |
business-health-snapshot.json | Runtime health |
/platform/businesses | Onboarding dashboard |