Skip to main content
Back to news
3 min readCifrago team

What Is an Entitlement: Products, Subscriptions & Access

Learn what an entitlement is and how it differs from products and subscriptions. Check user access across web, iOS, and Android using the Cifrago API.

An entitlement is the permission granted to a user to access a specific feature in your app, such as "pro". The product is what you sell, and the subscription is how it is paid for; the entitlement is what your app checks to grant or revoke access. Separating these three layers makes it possible to sell the exact same feature across web, iOS, and Android.

Note: Cifrago is in its final development stage and is not yet onboarding new merchants. The API described here will be available soon.

Products, subscriptions, and entitlements

LayerWhat it isExample
Product / priceWhat you sell"Annual Pro" on the web, "Monthly Pro" on App Store
Subscription or purchaseHow and when it is paidMonthly renewal; active, past_due, or expired status
EntitlementThe permission checked by the apppro

Multiple products can grant the same entitlement. That way, a user who paid on the web and another who paid on iOS unlock the exact same feature.

How to check access with the Cifrago API

EndpointWhat it doesKey
GET /api/v1/subscribers/{appUserId}Returns active entitlements (activeEntitlementKeys), their counts, subscriptions, and store purchases. If the user does not exist, it creates onePublic or secret
POST /api/v1/receiptsValidates an App Store or Google Play receipt to ensure access is synced across all platformsPublic or secret
POST /api/v1/subscribers/{appUserId}/grantsGrants a promotional entitlement, with an optional expiration dateSecret only
GET /api/v1/catalog and GET /api/v1/offeringsApp products, prices, and offerings—

On iOS and Android, in-app purchases must go through App Store or Google Play. Cifrago logs the receipt and maintains identical permissions everywhere. The permission lives on the server, not on the device. The public key can only fetch subscriber details and register purchases; calling any other endpoint returns a 401.

How it is modeled internally

  • entitlements: permissions for each app (for example, pro).
  • price_entitlements: maps which price grants which permission.
  • store_product_entitlements: maps which App Store or Google Play product grants which permission.
  • Consumables (credits, packs) are logged, but do not grant entitlements.

Frequently asked questions

What is an entitlement?

It is the permission granted to a user to access a specific feature or content in your app, such as "pro". Your code does not ask "did they pay for this product?", but rather "is this permission active?". This simplifies your codebase and makes selling across multiple platforms seamless.

How does an entitlement differ from a subscription?

A subscription represents the billing agreement: price, billing frequency, and status. An entitlement is the resulting access: as long as the subscription is active or in a grace period, the user retains the entitlement. Different subscriptions or one-time purchases can grant the exact same entitlement.

How does my app check if a user has access?

By calling GET /api/v1/subscribers/{appUserId} and checking if the entitlement is listed in activeEntitlementKeys. The response also includes subscriptions and app store purchases if you want to display billing details to the user.

Does it work with App Store and Google Play purchases?

Yes. The app sends the receipt to POST /api/v1/receipts, and Cifrago grants the same entitlement as it would for a web purchase. This allows a user who pays on an iPhone to access their features on Android or the web as well.

Building subscriptions?

Check the pricing and try the dashboard with sample data before integrating anything.

Keep reading

5 min read

Verifactu and stablecoins: 6 payments stories of the week

Possible Spanish tax agency letters over Verifactu and e-invoice mismatches, USDC settlement in LatAm and what the ECB published.

2 min read

AI risk models, mobile card personalization, and digital money according to the ECB

Plaid unveils AI tools to mitigate fraud and payment risk, Wells Fargo introduces debit card customization in its app, and the European Central Bank addresses tokenization.