---
title: "Platform plans and feature access"
description: "Choose features by your developer subscription, then define your customers\u2019 software plans separately."
slug: "/docs/v1/licensing/platform-plans"
section: "Licensing models"
order: 904
audience: "all"
level: "intermediate"
last_updated: "2026-10-25"
version: "v1"
related: ["/docs/v1/licensing/platform-plans", "/docs/v1/sdks/compatibility"]
draft: false
---
Choose features by your developer subscription, then define your customers’ software plans separately.

## Feature availability
| Feature | Free | Starter | Pro | Business |
| --- | --- | --- | --- | --- |
| Basic node-locked activation and signed checks | Test only | Included | Included | Included |
| Ed25519 offline decisions within verified deadlines | Test only | Included | Included | Included |
| Basic installation/hardware binding | Included | Included | Included | Included |
| Configurable strict/flexible device matching | No | No | Included | Included |
| Floating sessions per software license | No | No | Up to 10 | No commercial platform cap |
| Metered usage credits | No | No | No | Included |
| Customer portal with name, logo, colors and support email | No | No | Included | Included |
| Hide KDPika portal branding | No | No | No | Included |
| Audit log access | No | No | No | Included |
| Log retention | 3 days | 30 days | 90 days | 365 days |
| Support | Community | Standard | Priority | Dedicated |

Business is the all-features plan. Resource limits such as products, API allowance and registered devices still apply as shown on [the live pricing comparison](/pricing). Your software’s own device/seat limits also apply; Business does not make every customer license unlimited.

## Which plan is checked?
The server checks the developer workspace’s effective KDPika subscription. Calling a software plan “Business”, changing a form field or sending a different price does not unlock platform features. A paid subscription whose access period has ended is projected to Free for access decisions. Existing private lifetime/owner grants keep their assigned privileges without becoming public plans or granting administrative roles to other accounts.

## Upgrade and downgrade behavior
Unavailable operations return `PLAN_UPGRADE_REQUIRED` (403), with a feature name, required plan and `/billing` upgrade URL. A Pro seat configuration above 10 returns `PLAN_LIMIT_REACHED` (403). Dashboard controls show upgrade guidance instead of pretending the feature was saved.

Existing data is preserved after a downgrade. New floating access/renewal requires an eligible plan, but a customer can still check in or deactivate. Pro applies its 10-seat cap when a saved license previously had a larger configured cap. Portal sessions and credit operations are checked again on the server; saved settings or a previous login cannot bypass the current plan. Previously issued offline permissions last only until their signed deadlines; no server can reach an offline app instantly.

## Not included
Custom-domain portal hosting, hardware attestation, unbreakable anti-piracy and an on-premise license server are not included. The portal has no payment, invoice, refund or sales features. Browser-only JS hardware binding is unsupported. PHP long jobs need explicit `tick()` calls to renew shared seats.

## SDK release boundary
Fingerprint, floating and credit support exists in the updated sources for Python, Node.js, Rust, PHP and C#. This website update does not publish package releases. Earlier registry versions and immutable ZIP downloads predate that contract; read [SDK compatibility](/docs/v1/sdks/compatibility) before integrating.
