19. Subscription and licensing

Same commercial model as Project Board (see its licensing.md).

Esta página está em inglês; a tradução está a caminho.

Same commercial model as Project Board (see its licensing.md).

ID Requirement P Type Ver. M
LIC-1 The extension shall be sold under the SoftForge subscription model. Proprietary licence; product “UI Designer” on the Soft Forge Payments server, key prefix UD; plans Pro, Pro yearly and Team in plans.json. Must constraint inspection 1.0
LIC-2 A trial, a Free plan and paid plans shall gate editing. 30-minute trial with everything. Free: open, view, inspect, comment, export images and tokens, every read tool and read command of ud and ud mcp (including get_design_context, get_screenshot and ud render). Paid: editing (UI and CLI mutations, which gates ud mcp and the language model tools exactly as it gates ud), code generation into the workspace (DEV-3), AI features, library publishing. “AI features” means the AI panel (AI-4) and the quick actions (AI-10) only; an external agent using ud or ud mcp is gated by the mutation rule, nothing else. Must functional test 1.0
LIC-3 Users shall sign in through the platform or paste a licence key. Browser sign-in with a matching code and machine-bound session keys, or a pasted key; the vendored licensing client. Must functional test 1.0
LIC-4 Licensing shall work offline within a grace period. Offline signature checks; a server call about once a day. Must functional test 1.0
LIC-5 Reading shall never be gated. Opening, viewing, rendering, exporting and saving an edit already made always work, and so do all read tools of ud, ud mcp and the language model tools (get_metadata, get_screenshot, get_design_context, get_variable_defs, search_design_system, get_libraries, whoami, ud tree/inspect/render/system); a refused CLI or MCP mutation exits with code 4 (or isError with the code, CMD-30) and a message saying how to unlock it. Must functional test 1.0
LIC-6 The subscription shall be visible and manageable. Settings section, status bar item, and commands: sign in, sign out, plans, manage, activate, refresh, deactivate. Must functional demonstration 1.0
LIC-7 The licence gate shall exist from the first release. A licence-provider interface in the core with an “always paid” stub implementation at 0.1; the command registry checks the provider before every command flagged mutates (one gate, no second check in the UI or CLI); exit code 4 and whoami’s plans and seat are wired to the provider. The real provider (LIC-1, LIC-3, LIC-4) replaces the stub at 1.0 without touching the gate. Must constraint test 0.1