Computer App Licensing Branch
The App Licensing Branch lets you distribute your software through subscription-based licensing with automated key management, Stripe-backed trial setup, and application-side usage-rights handling.
Setting Up App Licensing
Application Definition
For each licensed application, configure:
- Application name and description — What your software does and who it’s for
- Version information — Current version number and release notes
- Platform requirements — Supported operating systems and hardware requirements
- Screenshots and media — Visuals that demonstrate your application
License Configuration
Define your licensing model:
| Model | Description |
|---|---|
| Subscription | Recurring monthly or annual licenses with automatic renewal |
| Perpetual | One-time purchase with lifetime access to a specific version |
| Tiered | Multiple license levels (Basic, Pro, Enterprise) with different feature sets |
| Per-seat | Pricing based on number of users or installations |
License Key Management
Distancer.ai handles license infrastructure automatically:
- Key generation — Unique license keys issued at purchase
- Activation tracking — Monitor how many devices a key is active on
- Device limits — Set maximum simultaneous activations per license
- Revocation — Deactivate keys for refunds or violations
Trial Periods
Offer prospective customers a try-before-you-buy experience:
- Duration — Configure the trial length in Stripe for the subscription you sell
- Subscription setup — Trials are created as part of Stripe subscription creation
- Payment method required — Customers still provide payment details when subscribing, whether or not the subscription includes a trial
- In-app behavior — Your application decides what to unlock or limit during the trial based on the returned usage-rights data
Pricing Configuration
Subscription Plans
Create multiple subscription tiers:
- Plan name and description — What’s included at each level
- Billing cycle — Monthly, annual, or both (with annual discount)
- Price — Per-plan pricing
- Application entitlements — Your application interprets the returned product rights and decides which features to enable
Different app configurations should usually be represented as separate products in your Business Project. The recommended structure is a root product with child variation products for each edition or feature set.
One-Time Purchases
For perpetual licenses:
- Set a single price per license tier
- Optionally include a period of free updates (e.g., 1 year of updates included)
- Offer upgrade pricing for existing customers moving to a higher tier
Customer Experience
When a customer purchases a license:
- They browse your application page with descriptions, screenshots, and pricing
- They select a license tier and billing cycle
- They complete Stripe checkout
- They receive a license key and download instructions immediately
- They activate the license in your application
For trial users:
- They start a subscription that includes a trial period
- They complete Stripe checkout and provide payment details
- They receive a license key and download link
- Your application evaluates the returned usage rights and applies any trial-specific behavior
- Stripe handles the transition from trial to paid billing if the subscription stays active
Managing Licenses
Your dashboard provides:
- Active licenses — All current subscribers and perpetual license holders
- Trial conversions — Track how many trial users become paying customers
- License usage — See activation counts and device information per key
- Revenue metrics — MRR (Monthly Recurring Revenue), churn rate, and growth trends
- Renewal tracking — Upcoming renewals and expiring subscriptions
Integration with Your Application
To validate licenses in your software, integrate with the Distancer.ai App Store API. All endpoints are served from https://appstore.distancer.ai/.
Validation Methods
Choose the usage-rights validation method that fits your application:
| Method | Endpoint | Auth Required | Best For |
|---|---|---|---|
| Login Validation | api/v1/login |
Yes (Bearer token) | Applications where users sign in with their Distancer.ai account |
| Secret Key Validation | api/v1/key |
No | Desktop apps, CLI tools, or any application where users paste a license key |
Your application is responsible for interpreting the returned product rights and enabling the correct features. For meaningfully different app editions, create separate products in your Business Project instead of relying on Distancer.ai to manage in-app feature flags for you.
Version Check
Product version lookup is separate from license validation. Use api/v1/product/app-version when your application wants to check whether a newer release has been published for a product.
Best Practices
- Offer a trial. Software trials dramatically increase conversion rates — let users experience the value before paying.
- Keep tier differences clear. Customers should immediately understand what they get at each level.
- Model editions as products. Use a root product with child variation products for different feature sets or app configurations.
- Keep entitlement logic in your app. Read the login or secret-key validation response and decide what to enable in code.
- Provide generous device limits. Overly restrictive activation limits frustrate legitimate customers.
- Communicate updates. Regular updates justify ongoing subscriptions and reduce churn.
- Support your users. Responsive support builds loyalty and reduces refund requests.
Related
- Digital Products — For downloadable files without licensing
- Payments — Understanding fees and billing
- Going Live — Publishing your application for sale