Appearance
Event Permissioning Business Logic
Planned behavior: The
event_permissionstable and model exist, but runtime authorization does not read permission rows or apply the cascades below. Current event create, view, update, and plan-create actions allow any member of the event's organization. This page describes the proposed action-level design for future implementation.
This document outlines the comprehensive business logic and flows for event permissioning in Jubiloop, covering permission hierarchies, cascades, and the three distinct access types.
Overview
The planned permission system uses a hierarchy where permissions cascade from higher levels to lower levels. It defines three access types:
- Personnel: Text-based entries for event staff roles with NO system permissions
- Collaborators: Organization members with event-level access that cascades down to all blocks and tasks
- Assignees: Organization members assigned to specific tasks with minimal scoped permissions
Permission Hierarchy & Cascades
Hierarchy Structure
Organization Level
├── Event Level (Collaborators)
├── Block Level (Inherited from Event)
└── Task Level (Inherited + Direct Assignees)1
2
3
4
2
3
4
Planned Cascading Rules
Event-level permissions cascade down automatically
- Event collaborators can access all blocks within the event
- Event collaborators can access all tasks within all blocks
- No explicit permissions needed at block or task level for collaborators
Task-level permissions are minimal and scoped
- Task assignees get permission to manage only their specific task
- Task assignees get read-only view permission for the parent block
- Task assignees cannot delete their assigned tasks
- Task assignees cannot access other tasks or blocks in the event
Permission Resolution Order
- Organization membership permissions (highest)
- Event collaborator permissions (cascades down)
- Direct task assignee permissions (minimal, scoped)
Event Creation Flow
Planned Initial Permission Assignment
When an event is created:
Event Creator becomes Owner
- Automatically granted full event permissions
- Can manage all aspects of the event
- Can invite collaborators and assign tasks
Automatic Permission Cascade
- Owner permissions automatically cascade to all blocks and tasks
- No manual permission assignment needed for creator
- Creator can access all current and future content in the event
Three Access Types
1. Personnel (Current Records, Planned Management Rules)
- Purpose: Track event staff roles and responsibilities
- Nature: Simple text entries for record-keeping
- System Access: None - purely informational
- Examples: "Head Chef: John Smith", "Security Lead: Jane Doe"
- Management: Can be added/edited by event collaborators
2. Collaborators (Current Records, Planned Access)
- Purpose: Grant comprehensive event access to organization members
- Scope: Full event access that cascades to all blocks and tasks
- Permissions Include:
- View/edit event details
- Manage all blocks within the event
- Assign tasks to organization members
- Invite additional collaborators
- Move blocks between draft and plans
3. Assignees (Current Records, Planned Access)
- Purpose: Grant minimal access for specific task completion
- Scope: Limited to assigned task and parent block view
- Permissions Include:
- Manage assigned task (edit, update status, add comments)
- View parent block (read-only)
- Cannot delete assigned task
- Cannot access other tasks or event areas
Collaborator Invitation Flow
Planned External Collaborator Onboarding
The current organization model has owner, admin, and member roles. It has no event-scoped guest membership. A future external collaborator flow must first create normal organization membership through an accepted invitation, then create the collaborator record.
Organization Invitation
- A non-member receives an organization invitation record
- Membership starts only after invitation acceptance
- The accepted role must follow organization membership rules
Permission Inheritance
- The organization member gains planned event collaborator permissions
- Permissions cascade normally to blocks and tasks
- The member can participate in the specific event under the planned collaborator rules
Member Limitations
- Event access must not imply organization-management permission
- Removing collaboration must not silently remove organization membership
- A separate event-scoped guest role would require a future schema and security design
Task Assignment Flow
Assignment Rules
Organization Member Requirement
- Only organization members can be assigned to tasks
- The assignee must have a
membersrecord for the event's organization - External users must accept organization membership before assignment
Automatic Permission Granting
- Task assignee receives minimal task management permissions
- Assignee receives read-only parent block view permission
- No additional event-level access granted
Multiple Assignments
- Users can be assigned to multiple tasks
- Each assignment grants specific permissions for that task
- Permissions accumulate for multiple task assignments
Collaborator Removal Flow
Removal Impact Scenarios
Collaborator with No Task Assignments
- Immediate removal of all event permissions
- Cannot access any part of the event
- Clean removal with no complications
Collaborator with Task Assignments - Keep Assignments
- Event-level permissions removed
- Task assignment permissions retained
- User can only access assigned tasks and parent blocks
- Minimal system access maintained
Collaborator with Task Assignments - Remove Assignments
- All event permissions removed
- Task assignments removed
- Tasks become unassigned
- Complete disconnection from event
Member Lifecycle Management
Organization Joining
Organization Leaving
Member Lifecycle Rules
Joining Organization
- Becomes eligible for task assignments
- Can be invited as event collaborator
- Existing event permissions unaffected unless explicitly granted
Leaving Organization
- Automatic removal from all event collaborations
- Remove task assignments because assignees must be organization members
- Revoke all event permission rows for that membership
- Cannot be assigned to new tasks
- The collaborator-removal choice to retain assignments applies only while the user remains an organization member
Block Movement Between Draft and Plans
Movement Rules
Permission Inheritance
- Block permissions move with the block
- Task assignments remain intact
- Collaborator access continues regardless of block location
Access Continuity
- Event collaborators maintain access in both draft and plans
- Task assignees continue to access their tasks
- No permission recalculation needed
Organizational Visibility
- Draft blocks: Limited to event collaborators and task assignees
- Plan blocks: Same permission model, different organizational context
Permission Resolution Logic
Planned Resolution Priority Order
Organization-Level Permissions (Highest)
- Organization admin/owner permissions
- Override all event-level permissions
Event Collaborator Permissions (Cascading)
- Full event access
- Automatically includes all blocks and tasks
- Takes precedence over task-specific assignments
Task Assignee Permissions (Minimal)
- Limited to specific task and parent block
- Only applies when no higher-level permissions exist
- Most restrictive permission level
Resolution Examples
User is both Collaborator and Task Assignee
- Collaborator permissions take precedence
- Full event access granted
- Task assignment becomes redundant but remains for tracking
User is Organization Admin and Task Assignee
- Organization admin permissions take precedence
- Full system access granted
- Task assignment maintained for workflow purposes
User is only Task Assignee
- Minimal task permissions applied
- Limited to assigned task and parent block view
- Cannot access other event areas
Security Considerations
Permission Validation
Real-Time Validation
- Permissions checked on every access attempt
- No cached permission states that could become stale
- Dynamic resolution based on current relationships
Cascade Integrity
- Higher-level permissions automatically grant lower-level access
- No orphaned permissions when relationships change
- Consistent permission state across hierarchy
External Collaborator Security
- Do not grant event access before organization invitation acceptance
- Keep organization-management and event-level actions distinct
- Revoke event permissions when collaboration ends without silently changing membership
Data Protection
Minimal Permission Principle
- Task assignees get only necessary permissions
- No over-granting of access rights
- Clear permission boundaries
Planned Audit Trail
- All permission changes tracked
- Collaborator additions/removals logged
- Task assignment changes recorded
Access Revocation
- Immediate permission removal when relationships end
- No lingering access after collaboration ends
- Clean separation of access rights
Business Impact Summary
For Event Organizers
- Simplified Management: Permissions cascade automatically, reducing manual setup
- Flexible Collaboration: Easy to invite both organization members and external collaborators
- Granular Control: Can assign specific tasks without granting full event access
- Clean Removal: Clear options when removing collaborators with task assignments
For Collaborators
- Comprehensive Access: Event collaboration provides full event visibility and control
- Automatic Inheritance: No need to request individual block or task permissions
- Role Clarity: Clear distinction between collaboration and task assignment roles
For Task Assignees
- Focused Access: Only see what's needed for task completion
- Protected Scope: Cannot accidentally affect other event areas
- Clear Boundaries: Understand exactly what they can and cannot access
For Organization Administrators
- Member Control: Full visibility into who has access to what events
- External Collaboration: Invitation-first onboarding for people outside the organization
- Security Assurance: Clear permission hierarchy with predictable cascading rules