SignalPress gates features by numeric tier (0, 1, 2) returned from the active license entitlement. Use signalpress_has_license_level( $minimum ) in code — never hard-code integration lists without a tier check.
Overview: Licensing, tiers, and permissions. Activation: License activation.
Tier names
| Tier | Marketing name | signalpress_license_tier() |
|---|---|---|
| 0 | Free | 0.0 |
| 1 | Plus | 1.0 |
| 2 | Pro | 2.0 |
signalpress_is_pro() is true when tier ≥ 1 and status is active or grace with valid activation credentials.
Core API (all tiers)
Available without a license:
sp_capture()— Capturing Events with sp_capture()- Free integrations — Local, Email, RequestBin — Integrations Overview
- Basic
sp()debugging — Basic debugging with sp() - Lifecycle hooks —
signalpress/ready,signalpress/rejected - Short delivery log window — Connection Tests and Delivery Log
Not on Tier 0: transformation hooks (signalpress/properties, signalpress/context, signalpress/target_services, etc.) — requires Tier 1+ — Hooks and Filters.
Feature matrix
Integrations and capture
| Feature | Tier 0 | Tier 1 Plus | Tier 2 Pro |
|---|---|---|---|
| Local, Email, RequestBin | Yes | Yes | Yes |
| Premium integrations (PostHog, Slack, GA4, …) | Preview only | Yes | Yes |
| Per-service Developer diagnostics | Locked | Yes | Yes |
| Per-service Capture toasts | Locked | Yes (admins) | Yes (custom audience) |
signalpress/* transformation hooks | No | Yes | Yes |
| Webhooks integration | Disabled | 1 HTTPS endpoint | Unlimited endpoints |
Routing and delivery
| Feature | Tier 0 | Tier 1 Plus | Tier 2 Pro |
|---|---|---|---|
| Basic per-service enable/disable | Yes | Yes | Yes |
| Advanced event routing (environment, levels, include/exclude) | Locked | Yes | Yes |
| Request rules | Locked | Locked | Yes |
| Durable delivery queue | No | No | Yes |
| Email message templates | Locked | Locked | Yes |
Logs and monitoring
| Feature | Tier 0 | Tier 1 Plus | Tier 2 Pro |
|---|---|---|---|
| Delivery logs | 24 h, max 10 rows | 90 days, CSV export | Until cleared, CSV export |
| Plugin status endpoint | Locked | Locked | Yes |
| System Logs viewer | Locked | Yes | Yes |
Debugging
| Feature | Tier 0 | Tier 1 Plus | Tier 2 Pro |
|---|---|---|---|
Basic sp() | Yes | Yes | Superseded by Pro when licensed |
| Pro debugging | Locked | Locked | Yes |
| Capture toasts | Locked | Yes (admins) | Yes (custom audience) |
| Clockwork, cache bypass, error monitoring | Locked | Locked | Yes |
Administration
| Feature | Tier 0 | Tier 1 Plus | Tier 2 Pro |
|---|---|---|---|
| Role-based permissions | Locked (admins only) | Locked (admins only) | Yes |
| License management UI | Requires Pro plugin | Requires Pro plugin | Requires Pro plugin |
Delivery log policy (code)
Central limits live in signalpress_delivery_log_policy():
| Tier | display_limit | Retention | storage_limit_per_service |
|---|---|---|---|
| 0 | 10 | 24 hours | 10 |
| 1 | 20 | 90 days | unlimited |
| 2 | 20 | until cleared | unlimited |
Filter: signalpress/delivery_log_policy.
Per-feature entitlement map
Some integrations declare a required_license_feature checked via signalpress_has_feature( $feature ). The hub entitlement features map can grant individual flags; signalpress_can_use_pro_feature() also treats Tier 1+ as the baseline for most Pro UI gates.
Prefer signalpress_has_license_level() for tier-wide behavior and signalpress_has_feature() when integrating with hub-specific feature flags.
Checking tiers in code
PHP
// Minimum tier (0 = always true for free checks use explicit comparisons).
if ( signalpress_has_license_level( 1 ) ) {
// Plus or Pro.
}
if ( signalpress_has_license_level( 2 ) ) {
// Pro only.
}
// Read numeric tier without boolean gate.
$tier = signalpress_license_tier();
// Delivery log limits.
$policy = signalpress_delivery_log_policy();
Tier checks fail when:
- No valid activation credentials
- Status is not
activeorgrace - Operation mode is
pro_suspendedordisabled
After license lapse
Saved settings, routing rules, queue rows, and credentials are preserved. UI shows locks and upgrade prompts until the license returns — Locked features and upgrade paths.