Tier 2 (Pro) sites can grant SignalPress wp-admin access to non-administrator roles — editors who manage content integrations, support staff who read logs, or agency teammates who configure routing without full site admin.
Shorter onboarding guide: Permissions and Access. Tier requirement: Tier features (0, Plus, Pro).
Requirements
- Active Tier 2 license (
signalpress_has_license_level( 2 )) - Administrator to edit the matrix (saving permissions requires
manage_optionsand Tier 2) - Target users assigned a WordPress role that receives grants
Below Tier 2, the Permissions tab is visible but locked. Only administrators can use SignalPress.
Open the permissions matrix
SignalPress → Settings → Permissions
Each WordPress role (Editor, Author, Shop manager, custom roles, etc.) has checkboxes grouped by function. Save once to update signalpress_role_permissions in the database.
Permission keys
Every grant uses a stable key passed to signalpress_user_can( $permission ):
Access
| Key | Label | Allows |
|---|---|---|
access | Access SignalPress | Open any SignalPress admin page |
Required before any other permission applies to non-administrators.
Configuration
| Key | Label | Allows |
|---|---|---|
view_settings | View settings | Open Settings tabs (read-only where enforced) |
manage_settings | Manage settings | Save general settings |
view_integrations | View integrations | Integrations browser and active service pages |
manage_integrations | Manage integrations | Activate/deactivate integrations |
configure_services | Configure services | Save credentials and service options |
test_services | Test services | Run connection tests |
Routing
| Key | Label | Allows |
|---|---|---|
manage_routing | Manage routing | Edit routing fields and request rules |
Logs
| Key | Label | Allows |
|---|---|---|
view_logs | View logs | Recent Activity and service Logs tabs |
view_payloads | View payloads | Expand redacted payload previews |
clear_logs | Clear logs | Delete delivery log entries and clear PHP error log (System Logs) |
Developer tools
| Key | Label | Allows |
|---|---|---|
view_system_logs | View System Logs | SignalPress → System Logs |
manage_debugging | Manage debugging | Debugging tab and runtime output |
manage_queue | Manage delivery queue | Delivery Queue tab |
Administration
| Key | Label | Allows |
|---|---|---|
manage_license | Manage license | Activate, refresh, deactivate license |
List definitions in code: signalpress_permission_definitions().
How enforcement works
PHP
if ( signalpress_user_can( 'view_logs' ) ) {
// Allowed.
}
Rules:
- Administrators (
manage_options) always pass every check. - Without Tier 2, non-admins always fail.
- Otherwise, the user’s WordPress roles are looked up in
signalpress_role_permissions. - The role must grant
access, and the specific permission (oraccessalone when checkingaccess).
Legacy keys view_addons / manage_addons migrate automatically to view_integrations / manage_integrations.
Common role patterns
| Role pattern | Suggested grants |
|---|---|
| Support / QA | access, view_integrations, view_logs, view_payloads, test_services |
| Integration editor | Above + configure_services, manage_routing |
| DevOps | Above + manage_debugging, view_system_logs, manage_queue |
| Billing owner | access, manage_license (often still an administrator) |
Users with view_logs but not view_payloads see delivery rows without expandable payload JSON.
Menu and tab visibility
The admin menu and Settings tabs hide items when the current user lacks the mapped permission:
| UI | Permission |
|---|---|
| Settings tab | view_settings |
| Permissions tab | view_settings (matrix save: administrator + Tier 2) |
| Delivery Queue tab | manage_queue |
| Debugging tab | manage_debugging |
| Recent Activity | view_logs |
| System Logs | view_system_logs |
| sp_capture Builder | access |
| Integrations | view_integrations |
Direct URL access to a tab without permission returns 403.
Configure step by step
- Confirm Tier 2 license is active.
- Open SignalPress → Settings → Permissions.
- For each role, check
accessfirst, then add granular grants. - Save changes.
- Log in as a test user in that role and verify menu visibility.