Skip to content

Feature matrix (implemented)

Marketing defaults as shipped in FeatureRegistry. Enforcement is always the signed entitlement list from api.andredingfelder.com; nothing in this file is authoritative at runtime.

Plan assignments that the original specification left ambiguous were resolved in Phase 5. The reasoning is in docs/FEATURE_MATRIX_REVIEW.md. There are no remaining REQUIRES_PLAN_REVIEW cells.

Legend

SymbolMeaning
xIncluded in this plan
-Not included

Status — does code exist in the audited tree?

ValueMeaning
builtImplemented today, gate must be retrofitted
partialPlaceholder or fragment exists
plannedNot implemented; the key is reserved so the feature is born gated

Backend gate — where the server refuses the feature.

ValueAnchor
saveFormEntitlementValidator via FormService::assert_definition()
restREST controller, 403 feature_not_entitled
runtimeActionRunner::run() / submit pipeline
moduleModule, integration or gateway registration
registryFieldRegistry / ActionRegistry catalogue filtering
adminAdmin screen capability plus entitlement check
coreUngated core, always available

UI gate — where the lock is shown.

palette, inspector, builder, admin, block, elementor, n/a.

Form builder

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Drag & drop builderforms.builderformsxxxxcoren/abuilt
Autosaveforms.autosaveformsxxxxcoren/abuilt
Undo / redoforms.undo_redoformsxxxxcoren/abuilt
Duplicate formforms.duplicateformsxxxxrestadminbuilt
Form templatesforms.templatesforms-xxxrest, savebuilderplanned
Import / export definitionforms.import_exportforms-xxxrestadminplanned
Multi-step formsforms.multistepforms-xxxsaveinspectorbuilt
Conditional logicforms.conditional_logicforms-xxxsaveinspectorbuilt
Calculations and formulasforms.calculationsforms-xxxsave, registrypalette, inspectorbuilt
Repeaterforms.repeaterforms--xxsave, registrypaletteplanned
Conversational formsforms.conversationalforms--xxsaveinspectorplanned
Form restrictionsforms.restrictionsforms-xxxsave, runtimeinspectorplanned
Schedule window (starts_at/ends_at)forms.scheduleformsxxxxsaveinspectorbuilt
Shortcode outputforms.shortcodeformsxxxxcoren/abuilt

Fields

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Standard fieldsfields.standardfieldsxxxxcoren/apartial (8 of 25)
Advanced fieldsfields.advancedfields-xxxregistry, savepaletteplanned
Address fieldfields.addressfields-xxxregistry, savepaletteplanned
File upload fieldfields.file_uploadfields-xxxregistry, save, runtimepaletteplanned
Signature fieldfields.signaturefields-xxxregistry, savepaletteplanned
GDPR consent fieldfields.gdprfields-xxxregistry, savepaletteplanned
Product fieldfields.productfields--xxregistry, savepaletteplanned
Order fieldfields.orderfields--xxregistry, savepaletteplanned

Layout

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Columnslayout.columnslayoutxxxxcoren/apartial (persisted, not rendered)
Sectionslayout.sectionslayoutxxxxcoren/apartial
Responsive widthslayout.responsivelayoutxxxxcoren/apartial
Containerslayout.containerslayout-xxxsaveinspectorplanned
Field groupslayout.field_groupslayout-xxxsaveinspectorplanned
Section backgroundslayout.section_backgroundslayout-xxxsaveinspectorplanned

Page builders and blocks

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Elementor widgetelementorintegration-xxxmoduleelementorbuilt
Elementor full style panelelementor.full_style_panelintegration-xxxmoduleelementorplanned
Gutenberg blockgutenbergintegrationxxxxmoduleblockbuilt

Styling

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Global stylesstyling.globalstyling-xxxrest, saveadminplanned
Custom CSSstyling.custom_cssstyling-xxxrest, saveinspectorplanned

Validation

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Required and format validationvalidation.basicvalidationxxxxcoren/abuilt
Live validationvalidation.livevalidationxxxxcoren/apartial

Notifications

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Email notificationnotifications.emailnotificationsxxxxsave, runtimeinspectorbuilt
Advanced email (multiple, HTML, attachments)notifications.advancednotifications-xxxsave, runtimeinspectorpartial
Conditional email sendingnotifications.conditionalnotifications-xxxsave, runtimeinspectorbuilt

Actions

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Redirect after submitactions.redirectactionsxxxxsave, runtimeinspectorbuilt
Webhook actionactions.webhookactions---xsave, runtimeinspectorplanned
Create WP useractions.wp_useractions--xxsave, runtimeinspectorplanned
Create WP postactions.wp_postactions--xxsave, runtimeinspectorplanned

Surveys and quiz

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Surveyssurveyssurveys-xxxsave, restbuilderplanned
Quiz, scoring, result rangesquizsurveys--xxsave, restbuilderplanned

Analytics

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Basic analyticsanalytics.basicanalytics-xxxrest, adminadminpartial (counts only)
Advanced analyticsanalytics.advancedanalytics--xxrest, adminadminplanned

Payments (System B — the customer's own gateways)

Every payment key gates the customer's own money flow. None of them has any relationship to AD Form licence billing (System A).

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Payments modulepaymentspayments--xxmodule, save, runtimeinspectorplanned
Stripepayments.stripepayments--xxmodule, save, runtimeinspectorplanned
PayPalpayments.paypalpayments--xxmodule, save, runtimeinspectorplanned
Molliepayments.molliepayments--xxmodule, save, runtimeinspectorplanned
Subscriptionspayments.subscriptionspayments--xxsave, runtimeinspectorplanned
Donationspayments.donationspayments--xxsave, runtimeinspectorplanned
Products and variantspayments.productspayments--xxsave, runtimeinspectorplanned
Discountspayments.discountspayments--xxsave, runtimeinspectorplanned
Taxespayments.taxespayments--xxsave, runtimeinspectorplanned
Shippingpayments.shippingpayments--xxsave, runtimeinspectorplanned
Live price calculationpayments.live_calculationpayments--xxsave, restinspectorplanned

PDF

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
PDF modulepdfpdf--xxmodule, save, runtimeinspectorplanned
Invoicepdf.invoicepdf--xxsave, runtimeinspectorplanned
Quotepdf.quotepdf--xxsave, runtimeinspectorplanned
Contractpdf.contractpdf--xxsave, runtimeinspectorplanned
PDF via emailpdf.emailpdf--xxsave, runtimeinspectorplanned

Integrations

Per-key so the dashboard can move individual integrations between plans without a plugin release. Plan columns are unresolved, see the review document.

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Integrations moduleintegrationsintegrations-xxxmoduleadminplanned
Mailchimpintegrations.mailchimpintegrations-xxxmodule, runtimeinspectorplanned
Google Sheetsintegrations.google_sheetsintegrations-xxxmodule, runtimeinspectorplanned
Slackintegrations.slackintegrations-xxxmodule, runtimeinspectorplanned
Zapierintegrations.zapierintegrations-xxxmodule, runtimeinspectorplanned
HubSpotintegrations.hubspotintegrations--xxmodule, runtimeinspectorplanned
Salesforceintegrations.salesforceintegrations--xxmodule, runtimeinspectorplanned
ActiveCampaignintegrations.activecampaignintegrations-xxxmodule, runtimeinspectorplanned

Dynamic data and WordPress

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Dynamic prefilldynamic.prefilldynamic--xxsave, runtimeinspectorplanned
Frontend post submissionwordpress.frontend_postwordpress--xxsave, runtimeinspectorplanned
WP user managementwordpress.user_managementwordpress--xxsave, runtimeinspectorplanned

Submissions and export

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Entry management (list, detail, spam, trash, bulk)submissions.managementsubmissionsxxxxcoren/abuilt
Advanced export (Excel, filtered, template)exports.advancedexports--xxrestadminplanned

Internationalisation

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
WPML, Polylang, RTLi18n.advancedi18n--xxmoduleadminplanned

Security

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
Honeypotsecurity.honeypotsecurityxxxxcoren/abuilt
Noncessecurity.noncesecurityxxxxcoren/abuilt
reCAPTCHAsecurity.recaptchasecurity-xxxsave, runtimeinspectorplanned
hCaptchasecurity.hcaptchasecurity-xxxsave, runtimeinspectorplanned
Turnstilesecurity.turnstilesecurity-xxxsave, runtimeinspectorplanned
Rate limitingsecurity.rate_limitingsecurity-xxxruntimeadminplanned
Akismetsecurity.akismetsecurity-xxxruntimeinspectorplanned
Advanced bot detectionsecurity.advanced_bot_detectionsecurity---xruntimeadminplanned

Privacy

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
IP and user-agent storage controlsprivacy.storageprivacyxxxxcoren/abuilt
GDPR tooling (export, erasure, retention)privacy.gdprprivacy-xxxrest, adminadminplanned

Platform, team and developer

FeatureKeyCategoryFreeProPro+BusinessBackend GateUI GateStatus
White labelwhite_labelplatform---xadmin, restadminplanned
Team rolesteam.rolesplatform---xadmin, restadminplanned
Team permissionsteam.permissionsplatform---xadmin, restadminplanned
Basic logginglogging.basicplatformxxxxcoren/abuilt
Full logginglogging.fullplatform---xadmin, restadminpartial
Developer REST API surfacedeveloper.apideveloper---xrestadminplanned
Add-on frameworkdeveloper.addonsdeveloper---xmoduleadminplanned

Licence-independent core

These are never gated. The Free fallback must keep all of them working, and no entitlement lookup may be introduced on these paths.

ConcernReason
Form submission and entry storageA stored entry is visitor data, never a paid feature
Reading existing forms and entriesDowngrade must never hide customer data
Server-side condition evaluation during submitSecurity control, not a feature
Nonce verification, honeypot, sanitisation, escapingSecurity controls
Database migrationsMust run regardless of licence state
The licence admin screen itselfOtherwise a revoked licence cannot be repaired

Digitale Lösungen. Persönlich. Zukunftssicher.