Shared limitations and technical limits
These boundaries apply to both editions unless marked otherwise. Paying for Pro does not remove them.
Product and compatibility boundaries
| Boundary | What this means |
|---|---|
| Single-site only | Multisite activation is refused. A multi-site license allowance is not WordPress Multisite support. |
| Native permissions remain authoritative | Views and Allow rules do not grant WordPress capabilities. Use appropriate native client roles. |
| Hidden menus are presentation | Direct URL/action access requires policy and native capability controls. |
| Powerful administrators | An administrator with enough native rights may deactivate PanelKind. |
| Third-party coverage varies | Discovered plugin screens can be screen-only. Separate endpoints need tested adapters/native checks. No universal commerce/forms/SEO protection is claimed. |
| Shared capabilities | Custom content types sharing core capability strings can share restrictions. |
| Public frontend unaffected | The plugin is an authenticated admin workspace, not a public portal or frontend access-control system. |
| Private guide versus public upload | Page access is checked; linked media/download URLs may remain public. No protected file-delivery feature. |
| Theme coverage | Third-party styles may need adaptation; block-editor content canvas is not themed; PanelKind editor/recovery are excluded. |
| Styling system | Validated tokens, fixed shadow presets and Dashicons; no arbitrary CSS editor. |
| White labelling | Footer credit removal/custom footer only beyond the Free branding controls; no login-page styling or global product renaming. |
| Navigation structure | Native submenu parents stay fixed; section sidebars provide grouping. No arbitrary native-menu reparenting. |
| Plugin notices | Unknown plugin notices are preserved; no blanket notice suppression. |
| Preview isolation | Browse-only with database guard; filesystem/service/persistent-cache side effects from third-party callbacks are outside that guard. |
| Content summaries | Latest-100-record sample filtered for edit access, not full-site totals or analytics. |
| Client dashboard control | Custom client-home layout is manager-controlled; no end-user drag-layout builder. |
| Draft collaboration | Shared draft with conflict rejection; no per-user private branches or realtime collaborative editing. |
| Backups and portability | Configuration only; no site database, media, user-account or native-role migration. |
| Templates | Local reusable View templates; no remote agency library/distribution service. |
| Language/accessibility | Management interface is currently English, with RTL layout support and WordPress translations where available. No claim of complete localisation or formal accessibility certification. |
| Updates | No Free directory updates in this build; paid delivery depends on entitlement and an available release. |
Exact validation ceilings
The lower Free commercial caps still apply. These source-level ceilings are independent of a paid site's allowance.
| Object or field | Maximum / accepted range |
|---|---|
| Views | 200 total, including required Full administration and archives |
| Widgets | 200 total, including draft/archived entries |
| Information pages | 200 total, including draft/archived entries |
| Templates | 50 |
| Linked custom-role definitions | 100 |
| Sections | 50 per View, including Main |
| Section depth | 8 levels below Main |
| Items in a section | 100 |
| Widget references on a View/section dashboard | 100 |
| Native navigation overrides | 1,000 per View |
| Custom links/separators | 100 per View |
| Widget action/checklist items | 100 per widget |
| Content types selected for a widget | 30 |
| Recent-content display limit | 1–20; query samples up to 100 records |
| Configuration | Encoded JSON <= 2,000,000 bytes |
| Rich-text content | <= 100,000 bytes per content field; sanitised HTML allowlist |
| Role View assignments | 100 |
| Role policy entries | 100 |
| Rules per policy map | 1,000 |
| User assignment / user policy maps | 500 entries each |
| Audience role/user lists | 500 entries per list; referenced users/roles must exist |
| Mandatory resource list | 500 |
| Published revisions retained | 5–50; default 20 |
| Audit rows retained | 100–10,000; default 1,000; activity endpoint returns latest 100 |
| View/section names and menu labels | Typically 80 characters |
| View/section descriptions | 300 characters |
| Widget/page title | 150 characters |
| Brand name / footer text | 100 / 300 characters |
| Object identifier | Up to 64 characters, lowercase letters/digits/underscore/hyphen; begins with letter/digit |
| Logo width / sidebar width | 40–240 px / 160–260 px |
| Card / button-menu radius | 0–24 px; custom values require Pro |
| Shadows | none, soft, medium, strong; custom choices require Pro |
| Toolbar hidden-item list | 50 |
| Preview / owner safe mode | One hour each |
| Stale-lock recovery | Lock must be at least one minute old |
Numeric style values are bounded; text fields are sanitised/truncated where applicable; invalid enumerations, oversized lists, broken references, unsupported URLs and invalid section graphs are rejected. Technical capacity is a validation ceiling, not a performance guarantee for all hosting environments.
Verification boundaries
The repository records Playground/SQLite tests and browser checks. It does not certify every MySQL/MariaDB host, independent PHP-worker concurrency pattern, persistent object cache, external plugin, device or assistive technology. Live Freemius purchase/renewal/update delivery still requires real-service testing. See verification scope.
Future/out-of-release items above are scope boundaries, not delivery-date commitments.
