Overview
Data Access provides comprehensive control over who can view and edit records (data) within your Elementum applications through two complementary systems:Policy-Based Access
Create dynamic access policies that determine which records users can see based on user roles, record criteria, and contextual conditions. Policies apply broad filtering rules across all records.
Access Sharing
Grant specific users or groups access to individual records through auto-sharing triggers or manual shares. Sharing provides granular, record-level access control.
- Apps: Control which records users can see within applications
- Elements: Manage visibility of specific records in data elements
- Tasks: Restrict which task records users can access
- Tables: Filter which table records are visible to different users
How Data Access Works
Dynamic Access Control
Data Access uses policy-based filtering to show users only the data they should see, when they should see it.Key Concept: Instead of static permissions, Data Access creates dynamic filters that evaluate in real-time based on current user context and record data.
Access Policy Structure
Each access policy consists of:Creating Access Policies
Basic Policy Setup
Navigate to Data Access
- Go to your App Settings
- Navigate to Security → Data Access
- Click ”+ Policy” to create a new access policy
Select Users and Groups
- Choose Users and Groups that this policy applies to
- Use the dropdown to select specific users or user groups
- Multiple users and groups can be added to a single policy
Users can be part of multiple policies. The system will combine access from all applicable policies.
Filter Operators
Data Access supports filtering on all data types in Elementum with appropriate operators for each type:Text Fields
Examples:
contains..., starts with..., is..., is not...Numeric Fields
Examples:
equals, greater than, less than, betweenDate Fields
Examples:
is after, is before, is between, is in the last X daysState Fields
Examples:
is empty, is not empty, is true, is falseThe available operators automatically adjust based on the field type you select, ensuring you only see relevant filtering options.
Current User Variable
Special Variable: Current User
The most powerful feature of Data Access is the ability to filter based on the current user viewing the data.Use Cases:
- Show users only records assigned to them
- Display data where they are mentioned or involved
- Filter based on user attributes or group membership
Current User Examples
- Assigned Records Only
- Department-Based Access
- Creator or Assignee
Scenario: Users only see records assigned to themFilter Setup:
- Field:
Assigned User - Operator:
is... - Value:
Current User
Advanced Filtering
Multiple Conditions
Add Conditions
- Click ”+ Condition” to add additional filter criteria
- Each condition creates an AND relationship by default
- All conditions must be true for access to be granted
Condition Groups
- Click ”+ Condition Group” to create OR logic
- Condition groups allow for complex boolean logic
- Use groups to create “this OR that” scenarios
Complex Access Scenarios
Multi-Criteria Access
Multi-Criteria Access
Scenario: Sales reps see leads in their territory that are activeFilter Setup:
- Condition 1:
Territoryis...Current User's Territory - AND
- Condition 2:
Statusis...Active
Role-Based with Exceptions
Role-Based with Exceptions
Scenario: Managers see all records, regular users see only their ownPolicy 1 (Managers):
- Users: Manager Group
- Conditions: (No conditions - access to all records)
- Users: Staff Group
- Conditions:
Assigned Useris...Current User
Time-Based Access
Time-Based Access
Scenario: Users see records created in the last 30 days that involve themFilter Setup:
- Condition Group 1:
Created Byis...Current User- OR
Assigned Useris...Current User
- AND
- Condition 2:
Created Dateis after...30 days ago
Managing Access Policies
Viewing Existing Policies
In the Data Access section, you can:Policy Overview
View all active policies and their assigned users/groups
Edit Policies
Modify existing policies by clicking the edit icon
Delete Policies
Remove policies that are no longer needed
Policy Testing
Test policies to ensure they work as expected
Default Policies
Default (All Records): Every app starts with a default policy that gives Internal Users access to all records. You can modify or delete this policy as needed.
Access Sharing
Access Sharing provides record-level access control, allowing you to grant specific users or groups access to individual records. Unlike policy-based access which applies filtering rules broadly across all records, Access Sharing gives you precise control over who can access each specific record.How Access Sharing Works
Record-Level Access Grants
Access Sharing operates at the individual record level, granting access through two mechanisms:Auto-Sharing: Automatically grants access when users interact with records (becoming watchers, approvers, assignees, or being mentioned)Manual Sharing: Explicitly grant or revoke access to specific users or groups for individual records
Key Difference: Policy-based access determines “Can this user see records that match these criteria?” while Access Sharing determines “Can this specific user see this specific record?”Both systems work together - a user may gain access through policies, sharing, or both.
Auto-Sharing Triggers
Auto-sharing automatically grants record access to users based on their interactions with the record. As an App Admin, you can enable or disable specific trigger types to control when automatic sharing occurs.Trigger Types
Watchers
Watchers
When a user is added as a watcher to a record, they automatically gain access to that record. Watchers typically receive notifications about record changes and updates.Use Case: Enable for support teams who need access to cases they’re monitoring.
Approvals
Approvals
When a user is added to an approval workflow for a record, they automatically gain access to review and approve that record.Use Case: Enable for approval processes where approvers need to view record details.
Mentions
Mentions
When a user is @mentioned in a comment or description on a record, they automatically gain access to view the context of the mention.Use Case: Enable for collaborative environments where team members reference each other.
Individual Assignees
Individual Assignees
When a user is assigned to a record as an individual assignee, they automatically gain access to work on that record.Use Case: Enable for task management where assignees need full record access.
Group Assignees
Group Assignees
When a group is assigned to a record, all members of that group automatically gain access to the record.Use Case: Enable for team-based work where entire groups collaborate on records.
Configuring Auto-Sharing Triggers
Navigate to Auto-Sharing Settings
- Go to your App Settings
- Navigate to Security → Data Access
- Locate the Auto-Sharing Configuration section
Enable or Disable Triggers
- Review the five toggle switches for each trigger type:
- Watchers
- Approvals
- Mentions
- Individual Assignees
- Group Assignees
- Toggle each switch to enable (on) or disable (off) that trigger type
- Each trigger can be controlled independently
Auto-sharing only grants access when a trigger is enabled. If you disable a trigger, new actions of that type will not grant access automatically, but existing shares from past actions remain until manually removed.
Access Audit Page
The Access Audit Page provides visibility into all users and groups who have access to records in your app, whether through auto-sharing triggers, manual shares, or policy-based access.Accessing the Audit Page
Understanding the Audit Page
User and Group List
View all users and groups who have access to any records in the app through auto-share triggers or manual shares
Record Count
View the number of records each user or group has access to
The Audit Page shows access grants specifically from Access Sharing. Users may have additional access through policy-based Data Access policies.
Managing User and Group Access
From the Audit Page, you can view detailed access information for specific users or groups and remove access when needed.Viewing User Access Details
Select User or Group
- From the Audit Page, click on a user or group in the table
- A modal window appears displaying detailed access information
Review Record Access
The modal displays:
- List of all records the user/group has access to
- Record name and handle for identification
- Access source (which trigger granted access or if manually shared)
- Search functionality to filter records by name or handle
Removing Access
Open User Access Modal
- From the Audit Page, click on a user or group
- The access details modal appears
Locate the Record
- Find the specific record you want to revoke access to
- Use the search functionality if needed to filter the list
Remove Access
- Click the remove or revoke access button next to the record
- Confirm the removal when prompted
- Access is immediately revoked
If a user regains access through an enabled auto-sharing trigger (e.g., being reassigned to the record), they will receive access again automatically.
Security Best Practices
Policy Design
Principle of Least Privilege
Start with restrictive policies and add access as needed rather than starting permissive
Document Policies
Keep documentation of why specific access policies were created and their intended purpose
Common Pitfalls
Over-Restrictive Policies
Over-Restrictive Policies
Problem: Users can’t access data they need for their jobSolution:
- Use condition groups to create multiple access paths
- Consider user workflows when designing policies
- Test with actual user scenarios
Conflicting Policies
Conflicting Policies
Problem: Multiple policies create unexpected access patternsSolution:
- Document policy interactions
- Use clear naming conventions for policies
- Regular policy reviews and cleanup
Performance Impact
Performance Impact
Problem: Complex policies slow down data loadingSolution:
- Keep conditions simple when possible
- Index fields used in access policies
- Monitor system performance after policy changes
Troubleshooting
Users Can’t See Expected Data
Policy Not Working as Expected
Condition Logic Issues
Condition Logic Issues
Check: Verify AND/OR logic between conditions
Solution: Use condition groups to create proper boolean logic
Data Type Mismatches
Data Type Mismatches
Check: Ensure filter values match field data types
Solution: Verify text fields use text operators, dates use date operators, etc.
User Attribute Problems
User Attribute Problems
Check: Verify user has the required attributes set
Solution: Update user profiles with necessary field values
Integration with Other Features
Workflow Automation
Data Access policies and Access Sharing work seamlessly with:- Assignment Rules: Automatically assign records based on access policies; when individual or group assignee auto-sharing is enabled, assignees automatically gain record access
- Notifications: Send notifications only to users who have access to the data through policies or sharing
- Automations: Trigger workflows based on access policy changes or sharing events
Reporting and Analytics
- Filtered Reports: Reports automatically respect data access policies and shared access
- Dashboard Views: Dashboards show only data the user can access through policies or sharing
- Export Controls: Data exports are filtered by access policies and respect shared access
- Audit Reports: Access Audit Page provides reporting on all shared access across the app
By implementing both policy-based Data Access and Access Sharing, you can ensure comprehensive access control - using policies for broad, rule-based filtering and sharing for specific, record-level access grants. Together, these systems maintain security and compliance requirements across your Elementum applications.