Organization Labels
Data Entity
Description
Per-tenant terminology overrides that let each organization customize display strings for canonical platform terms (e.g. Contact → Familie/Bruker, Peer Mentor → Likeperson variant). Fetched from backend at session bootstrap, cached offline on mobile, and edited by Org Admins via the Custom Terminology page in the Admin Web Portal.
Data Structure
| Name | Type | Description | Constraints |
|---|---|---|---|
id |
uuid |
Unique identifier for the label override record | PKrequiredunique |
organization_id |
uuid |
Foreign key to the owning organization | required |
label_key |
enum |
Canonical platform term being overridden | required |
label_value |
string |
Organization-specific display string that replaces the canonical term in UI | required |
locale |
string |
BCP-47 locale code this override applies to (e.g. nb-NO, en-US). Allows different overrides per language. | required |
plural_form |
enum |
Whether this entry is the singular or plural form of the term | required |
description |
text |
Optional admin-facing note explaining why this override exists | - |
is_active |
boolean |
Soft toggle to disable an override without deleting it; inactive rows fall back to canonical term | required |
created_at |
datetime |
Timestamp when the override was created | required |
updated_at |
datetime |
Timestamp of the most recent update | required |
updated_by |
uuid |
User id of the Org Admin who last modified this override | - |
Database Indexes
idx_organization_labels_org_key_locale_plural
Columns: organization_id, label_key, locale, plural_form
idx_organization_labels_org_active
Columns: organization_id, is_active
idx_organization_labels_updated_at
Columns: updated_at
Validation Rules
label_key_in_allowed_set
error
Validation failed
label_value_non_empty
error
Validation failed
locale_well_formed
error
Validation failed
organization_exists
error
Validation failed
no_html_in_value
error
Validation failed
duplicate_check
error
Validation failed
Business Rules
tenant_scoped_override
Each override belongs to exactly one organization and never leaks across tenants; lookups must be filtered by organization_id from the session context.
unique_override_per_key
An organization may have at most one active override per (label_key, locale, plural_form) combination.
fallback_to_canonical
If no active override exists for a key, the canonical platform term is used; inactive or missing rows must not break rendering.
offline_cache_required
Mobile clients must cache the full label set per organization and re-use it offline; bootstrap response includes labels alongside the enabled module set.
admin_only_write
Only Organization Administrators (or Global Admins with active support access) may create, update, or delete label overrides for an organization.
audit_changes
Every create/update/delete on organization_labels must be recorded in the audit log with actor, before/after values, and timestamp.