ENTITLEMENT MANAGEMENT

Decouple Code from Packaging.
Launch Tiers in Minutes.

Map features to pricing tiers in your billing engine. Zero code changes when plans evolve. Entitlements update in real-time when subscriptions change.

< 10ms
Entitlement Resolution
Zero
Plan-Checking Conditionals
Instant
Propagation on Change

The Hardcoded Trap

This pattern starts in one file. It spreads to dozens. Every plan change requires a full release cycle.

THE ANTI-PATTERN
// Scattered across 47 files...
if (user.plan === 'Pro'
  || user.plan === 'Enterprise'
  || user.addons.includes('analytics')) {
  showAdvancedAnalytics();
}

// And again in the API layer...
if (org.tier !== 'enterprise') {
  return res.status(403).json({
    error: 'Upgrade to Enterprise'
  });
}

// And again in the webhook handler...
// And again in the export service...
ONE SDK CALL REPLACES ALL
// One call. Every file. Every service.
const access = await aforo.entitlements
  .check('advanced_analytics', customerId);

if (access.entitled) {
  showAdvancedAnalytics();
}

// Plans change? Pricing evolves?
// This code never changes.
// Entitlements resolve from the
// billing engine in < 10ms.

Your application checks for access. Aforo handles plans, add-ons, trials, and legacy tiers.

FEATURE GATEKEEPER

The Dynamic Entitlement Matrix.

Toggle features per tier from the admin panel. Changes propagate to every API call, every gateway check, every storefront page — in under 10ms.

FEATURE
FREE
PRO
ENTERPRISE
API Access
Advanced Analytics
Bulk Export
Custom Webhooks
SSO / SAML
Priority Support
White-Label
API Quota (monthly)
1K
100K
Unlimited
Usage Analytics

Boolean features use toggle switches. Quota features display the limit value. All resolved via Redis in < 10ms.

Built for Real Use Cases

Every SaaS pricing team hits these scenarios. Aforo handles them natively.

Trials

PLG Trial Conversion

Grant premium features for 14 days. Auto-expires. Converts to paid on acceptance, reverts to Free on expiry. The entire trial lifecycle is automated — no cron jobs, no manual cleanup.

Custom

Enterprise Custom Deals

Customer wants Pro features + Enterprise SSO + custom API limits? Build it in 60 seconds. Create a custom offering, assign entitlements, set caps — all from the admin panel.

Legacy

Legacy Grandfathering

Pin existing customers to old entitlements via rate plan versioning. New subscribers get v3 pricing. Grandfathered accounts stay on v1. Zero code branches.

Dynamic

Usage-Based Gating

Unlock features at consumption thresholds. Advanced Analytics activates at 10K events/month. Combine entitlements with metered usage for dynamic, margin-aware access control.

Overrides

Support Remediation

Temporary quota bumps as goodwill credits. Grant 48 hours of Enterprise access or a one-time +10K API calls without changing the billing plan. Overrides expire automatically.

Protection

Margin Guard Throttling

When a customer hits a cost threshold, automatically downgrade their entitlements to a throttled tier. Re-enable when spend returns to safe levels. Fully automated cost protection.

Eradicate Billing Tech Debt.
Every Stakeholder Wins.

For Product

Infinite Packaging Velocity

Restructure plans, toggle features across tiers, and launch new bundles from the admin panel. No Jira tickets. No deploy cycles. Time-to-market measured in minutes, not sprints.

For Engineering

Pristine Application Code

Delete every `user.plan === 'Pro'` conditional. The billing layer becomes invisible to application code. Support legacy plans without writing a single nested IF statement.

For the Revenue Team

Real-Time Feature Flagging

When a subscription upgrades, downgrades, or gets throttled by the Margin Guard — entitlements update within 5ms via Redis-cached keys. No deploy. No restart.

For the Platform Architect

Usage-Based Feature Gating

Gate features not just by plan, but by consumption. 'Advanced Analytics unlocks at 10K events/month.' Combine entitlements with metered usage for dynamic access control.

How It Works

Four steps from configuration to access check. No custom middleware. No feature flag service.

1
Define Features
Create feature keys in the Entitlements dashboard. BOOLEAN for on/off gates, QUOTA for usage limits, LIMIT for rate caps.
2
Attach to Rate Plans
Assign entitlements to each rate plan — Free, Pro, Enterprise, or custom. Each tier gets its own feature set and quotas.
3
Customers Subscribe
When a customer subscribes to an offering, entitlements resolve automatically. Upgrades, downgrades, add-ons — all handled.
4
Your App Checks Access
One SDK call: aforo.entitlements.check(feature, customerId). Resolves in < 10ms via Redis cache. Never touches your billing logic.

Resolution Chain

Multi-subscription customers get merged entitlements. BOOLEAN unions. QUOTA sums. LIMIT takes max.

Customer
cust_abc has 2 active subscriptions
Active Subscriptions
Pro Plan + SSO Add-on
Offerings
Pro Bundle + Enterprise SSO
Rate Plans
rp_pro + rp_sso_addon
Merged Entitlements
BOOLEAN: union | QUOTA: sum | LIMIT: max
< 10ms
Entitlement check latency
Redis-cached, hot-path optimized
60s
Cache TTL with instant invalidation
On subscription change: 0ms
Union
Multi-sub merge for BOOLEAN
Any sub grants access? Entitled.
Sum
Multi-sub merge for QUOTA
Base 10K + Add-on 5K = 15K

Deepen Your Monetization Strategy

Entitlement management is one piece. Explore the full platform.

Stop Hardcoding Plan Logic.

Delete every user.plan === 'Pro' check from your codebase. Replace with one SDK call that resolves in under 10ms. Plans evolve. Your code stays clean.