Open-source entitlement engine
Turn what customers bought into what your product allows.
Subscrio is an open-source entitlement engine for .NET and TypeScript. Embed it in your application to resolve feature access, values, limits, and customer overrides.
// Check seat limit before inviting.
const seatLimit = await subscrio.featureChecker
.getValueForCustomer<number>(
'acme', 'analytics', 'seat-limit', 0
);
if (activeSeats >= seatLimit) {
throw limitReached('seat-limit');
}
await inviteMember(email);A local check against the catalog and customer assignments in your database.
When plans change
Plans change. Access mistakes cost.
Putting each plan rule in application code turns packaging changes into releases. A missed check can give away paid access or block a customer who bought it.
Our core guide explains where changing offers belong, what your application still enforces, and how to verify access in both directions.
Read how to manage feature access
At a glance
What Subscrio supports.
Define what customers receive, track what they use, and keep entitlements current as their subscriptions change.
Entitlements
- Feature access, limits, and values
- Plan entitlements
- Metered usage
- Credit grants and wallets
- Subscription add-ons
- Customer overrides
Purchases and lifecycle
- One-time purchases
- Recurring subscriptions
- Trials and scheduled activation
- Plan changes and migrations
- Cancellation and expiration
- Recurring and expiring credits
Build and operate
- Multiple subscription composition
- Billing system integration
- Prevent Stripe Drift
- Native C# and TypeScript libraries
- Extensibility and hooks
- Entitlement explanations
- Audit trail and transaction logs
- Web Admin and REST API
Your billing system collects payments; Subscrio manages the resulting entitlements. See how the pieces fit together.
The missing decision
Billing knows what happened. Your product still needs an answer.
A payment, contract, license, or internal grant says what the customer received. Your application still needs to know which features and limits to allow. Subscrio provides that answer without replacing your billing system, feature flags, or user permissions.
Replace hard-coded plan names
Move scattered conditionals into one plan-based feature access check with values, limits, tests, and overrides.
Learn the modelUnderstand feature entitlements
See how products, plans, features, subscriptions, and overrides determine customer access.
Evaluate the architectureKeep entitlement checks in your application
Compare an embedded entitlement engine with a hosted entitlement service.
Plan-based feature access
Control feature access by plan and subscription.
Set features and limits for each plan. As subscriptions start, renew, change, or end, Subscrio resolves each customer's current access.
- Feature defaultThe safe fallback when no plan supplies a value.
- Plan valueThe standard access, limit, or configuration for the package.
- Subscription overrideThe customer-specific agreement, evaluated first.
Flexible commercial models
Built for software licenses or subscriptions.
Any package or agreement can grant features, limits, and customer-specific access.
Open core, optional workflow
Run the engine free. Buy the admin when it saves time.
The MIT-licensed library includes the entitlement data model and feature checks. It is not a limited trial for the commercial product.
The admin application is a ready-made interface and REST API for managing customers, products, plans, features, subscriptions, and overrides. It is sold as a one-time purchase, with optional yearly support and upgrades.

Choose your stack
First-class paths for .NET and TypeScript.
Both libraries share the same entitlement model. The setup, database integration, dependency injection, and code examples stay native to each ecosystem.
.NET entitlement library
C# APIs, PostgreSQL or SQL Server, dependency injection examples, async feature checks, and tests.
npm · subscrioTypeScript entitlement library
Typed TypeScript APIs, PostgreSQL, configuration, feature checks, and Vitest examples.
ReferenceFull documentation
Installation, API details, hooks, extensions, schema setup, and migrations.
Common questions
Questions about Subscrio and entitlement engines
What is an open-source entitlement engine?
An open-source entitlement engine turns a plan, package, purchase, or grant into customer feature access. Its source is available to inspect and run with your application, including logic for toggles, limits, values, and customer overrides.
Can Subscrio manage software licenses and subscriptions?
Yes. Subscrio can represent access from software licenses, subscriptions, one-time purchases, contracts, or manual grants. It manages product access rather than payment processing or license activation.
Is Subscrio a billing system?
No. Billing records the commercial event. Subscrio maps that event to product access and resolves the result inside your application.
Is Subscrio a feature-flag platform?
No. Feature flags control rollout and experiments. Entitlements represent what a customer or account is allowed to use. Many products use both systems in the same decision.
Which languages and databases does Subscrio support?
Subscrio has TypeScript and C# libraries. TypeScript uses PostgreSQL. The .NET implementation supports PostgreSQL and SQL Server.
Is the Subscrio entitlement engine free?
The entitlement engine is MIT-licensed and free to run. The optional admin application is a one-time purchase for teams that want a ready-made management interface and REST API.
Start with the open-source engine
Put one entitlement check in your application.
Choose the .NET or TypeScript quickstart, connect your database, and model the first feature your product sells.