A Pexip plugin that allows meeting hosts to dynamically change the security classification level of meetings, with automatic visual feedback through theme integration.
- Dynamic Classification Control: Change meeting classification levels during active meetings
- Host-Only Access: Only meeting hosts/chairs can change classification levels
- Theme Integration: Automatic banner color and text changes based on classification level
- Audit Logging: Comprehensive logging of all classification changes for compliance
- Auto-Downgrade: Automatic classification adjustment when non-secure participants join
Your Pexip theme must include the following classification configuration in themeconfig.json
:
{
"classification": {
"levels": {
"5": {
"text": "Secure",
"color": "0xFFFFFF",
"bgcolor": "0xFF0000"
},
"4": {
"text": "Confidential",
"color": "0x000000",
"bgcolor": "0xFFA500"
}
},
"default": 5
}
}
- Level 5 (Secure): White text on red background (
0xFF0000
) - Level 4 (Confidential): Black text on orange background (
0xFFA500
) - Default Level: Set to 5 (Secure) for new meetings
- Colors: Must be in hexadecimal format (0xRRGGBB)
- Banner Updates: The meeting banner automatically changes color and text
- Visual Feedback: Participants see immediate visual indication of security level
- Logging: All changes are logged to Pexip's system for audit trails
- Toast Notifications: Users receive confirmation of classification changes
-
Build the plugin:
npm install npm run build
-
Deploy the built files to your Pexip branding's plugin directory:
branding/plugins/classification-plugin/
-
Ensure your theme includes the required classification configuration
-
Restart Pexip services to load the new plugin
- Access the Plugin: Click the shield icon in the toolbar (hosts only)
- Select Classification: Choose between:
- Level 5: Secure (Red banner)
- Level 4: Confidential (Orange banner)
- Apply Changes: Click "Apply" to change the meeting classification
- Auto-Downgrade: When a participant without "secure" in their name joins, classification automatically drops to Level 4 (Confidential)
- Status Updates: The plugin button tooltip shows current classification level
- Real-time Logging: All actions are logged with timestamps and user information
The plugin attempts to change classification using multiple methods in order of preference:
- Direct Pexip API (if available):
plugin.conference.setClassification()
- Application Messages:
plugin.conference.sendApplicationMessage()
withtype: 'pexip.classification'
- Fallback Messages:
plugin.conference.sendMessage()
with structured payload
All classification changes generate comprehensive logs:
- Request Logs: When classification change is requested
- Success Logs: When classification is successfully changed
- Fallback Logs: When alternative methods are used
- Failure Logs: When all methods fail
Log entries include:
- Timestamp (ISO format)
- Requested classification level
- Level name and color
- Source (plugin identifier)
- Success/failure status
- Error details (if applicable)
The plugin provides detailed console logging for debugging:
- Plugin initialization steps
- API availability checks
- Classification change attempts
- Success/failure results
- Fallback method usage
- Check Theme Configuration: Ensure your
themeconfig.json
includes the classification section - Verify Pexip Version: Ensure your Pexip version supports plugin themes
- Check Browser Console: Look for error messages or fallback method usage
- Review Pexip Logs: Check for plugin-related errors in Pexip system logs
- Host Permissions: Ensure you have host/chair role in the meeting
- Plugin Registration: Check that the plugin loaded successfully
- Theme Integration: Verify theme supports dynamic classification changes
- Pexip Configuration: Ensure plugins are enabled in your Pexip deployment
- Plugin Loading: The plugin waits for Pexip to fully initialize
- API Timeouts: Built-in timeouts prevent indefinite waiting
- Error Handling: Graceful fallbacks prevent plugin crashes
- Resource Usage: Minimal memory and CPU footprint
npm install
npm run build
npm run test
The plugin includes comprehensive tests:
- Plugin registration
- Button creation
- Classification changes
- Error handling
- Fallback methods
To add new classification levels:
- Update the theme configuration
- Modify the plugin form options
- Update the classification logic
- Test with your specific Pexip branding
- Host-Only Access: Classification changes restricted to meeting hosts
- Audit Logging: All changes logged with timestamps and user information
- Input Validation: Classification levels validated before processing
- Error Handling: Secure error messages without information disclosure
For issues related to:
- Plugin Functionality: Check browser console and Pexip logs
- Theme Integration: Verify theme configuration matches requirements
- Pexip Compatibility: Ensure Pexip version supports required features
- Performance: Monitor plugin initialization and API response times
This plugin is provided as-is for Pexip deployments. Ensure compliance with your organization's security policies and Pexip licensing requirements.