Permission Architecture
- Property-level — the
readableandupdatableflags on each property definition within an entity type - Navigation property-level — permission settings on the
directandbackobjects within relationship definitions
Property-Level Permissions
Individual properties on entity types supportreadable and updatable flags that control field-level access. These flags are set within the data model YAML under each entity type’s properties map.
Permission Flags
Permission Combinations
Configuring Property Permissions in YAML
Basic Example
Properties without explicit permission flags inherit the defaults (readable: true, updatable: true):
Mixed Permissions Example
Apply explicit permission flags to restrict individual properties:id— visible but cannot be edited (system identifier)title— explicitly set to visible and editable (same as default)outlineNumber— explicitly declared and marked visible but read-only (managed automatically by Polarion)descriptionandseverity— inherit defaults (visible and editable)
Hiding Sensitive Properties
To prevent a property from being transmitted to the client at all, setreadable: false:
internalClassification property is completely excluded from the data payload. No column binding can reference it, and it does not appear in query results returned to the client.
Built-in Property Permissions
Certain properties have inherent permission characteristics based on their role in the Polarion data model. The following table lists common built-in properties and their typical permission settings:Unlike
id and title, outlineNumber is not an implicit built-in property of every entity type. To use it, you must explicitly declare it in the entity type’s properties map in your data model YAML. When declared, it is typically configured as readable: true, updatable: false because its value is managed automatically by Polarion based on the document hierarchy.Built-in property behavior may vary depending on the Polarion version and project configuration. Verify the exact behavior of each built-in property in your environment.
Entity Types and Permission Scoping
Permission flags are scoped to each entity type independently. The same property name can have different permissions on different entity types:severity is editable on UserNeed entities but read-only on SystemRequirement entities.
Special Entity Types
Navigation Property Permissions
Relationships in the data model define navigation properties that allow traversal between entity types. Each relationship has adirect and optionally a back direction, and each direction can carry its own permission settings.
The navigation property permission system is under active development. The behavior described below reflects the current implementation, but changes are expected. Updated documentation will follow as the feature stabilizes.
Navigation Direction Properties
Relationship YAML with Navigation Directions
direct object defines the forward navigation property (from source to target), while the back object defines the reverse navigation property (from target back to source). Each can have independent permission settings that control whether the navigation path is available and whether new links can be created through it.
Read-Only Mode
The sheet can enter a global read-only mode through several mechanisms. When read-only mode is active, all properties behave as ifupdatable: false regardless of their individual settings.
Permission Decision Flow
The following table summarizes how the final editability of a field is determined:
Checks are evaluated in order. A
false result at any step short-circuits subsequent checks for that field.
Complete YAML Example
A data model demonstrating permission controls across multiple entity types with varied access levels:Chapter.title— visible but read-only (structural headings should not be edited through the sheet)UserNeed.id— visible but read-only (system identifier)UserNeed.outlineNumber— explicitly declared as visible but read-only (auto-managed by Polarion; this property must be declared explicitly to appear in the model)UserNeed.internalNotes— hidden entirely (readable: false); never transmitted to the clientSystemRequirement.severity— visible but read-only (locked for this entity type)DesignRequirementproperties — all defaults (visible and editable)