Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Nalpeiron came first. We are the leader in cloud-based software licensing, launching the first commercial platform 20 years ago when the cloud was new.
The Nalpeiron Growth Platform currently has two applications, Zentitle2 and Zengain, to help you drive revenues and control your products.
Zentitle2 offers Software license management, entitlement management, analytics, and monetization capabilities.
Zengain offers your revenue-facing teams with sales-orientated, actionable usage analytics and tools to drive more revenue across the lifecycle.
Unlike our competitors, we have two issued US patents on our technology, and we will be your long-term partner, not just a supplier.
Many of our customers have been with us for over ten years, and we have helped them grow from startups to IPO/M&A. Thanks for trusting us to help you!
Here, you will find in-depth information on all aspects of the Zentitle2 platform, covering topics such as utilizing the Zentitle2 dashboard to set up and configure your products and offerings, integrating Zentitle2 into your back-office for process automation, and leveraging the Zentitle2 licensing APIs seamlessly within your applications.
Thank you for choosing our platform, and let's start on this journey of software monetization excellence.
Zentitle is a comprehensive enterprise-class “Software Monetization as a Service” for SaaS, IoT, and On-Premise Software vendors.
The Zentitle platform currently hosts hundreds of millions of monthly transactions with over $1B+ Software Protected. It saves our customers time and money when they want to go to market fast.
Zentitle empowers you to monetize the software you have created.
Quick Start
Onboard your team and get required credentials
Setup Your Products
All about our architecture and adding your products
Premium Features
Learn more about premium add-on features
Licensing API
How to activate, query and manage entitlements from applications (ideal for on-prem. apps)
Management API
The REST API to manage entitlements within the Zentitle2 platform (ideal for SaaS apps)
Developers
How to activate & manage entitlements using the client library & APIs
Security
Our clients rely on us to keep their data secure. Our approach to security runs through our product design, policies, and our procedures.
Use Cases
Review our various use cases to help solve your needs from VM control, to usage based licensing, SaaS, iOT and more
Benefits to different teams
Zentitle2 isnt just for one team, it will help automate, modernize, save time and money across your organization.
→
→
→
→
→
→
→
→
→
Zentitle2 is located in the Ohio availability zone in the US.
Zentitle can be hosted in any AWS availability zone.
It can also be hosted in Europe at these locations (at this time):
Europe (Frankfurt) eu-central-1
Europe (Ireland) eu-west-1
Europe (London) eu-west-2
Europe (Paris) eu-west-3
Europe (Stockholm) eu-north-1
AWS hosts Zentitle2; our can be hosted on most hyperscalers and set up any way required by our customers.
Fixes frustrations with existing hard-coded approach
Helps drive new revenues with actionable analytics
Reduces customer frustrations/high support costs/manual effort
Removes wasted time, money, and roadblocks to innovation – decouples engineering from business
Speeds up order > cash by streamlining operations
Saves $ with automation and operational efficiency
Our approach to security runs through our product design, policies, and our procedures.
Zentitle2 implements a protocol for handling security events and other operational issues, including escalation procedures, rapid mitigation, and post-mortems.
Reliability, scalability, trust, and security are core to our customer commitment. Our enterprise-grade security features and comprehensive audits ensure we're aligned with industry best practices. Zentitle2 adheres to data security, availability, and confidentiality standards developed by SOC 2. AWS and Azure are certified by SOC2 and ISO-27001.
See our page on our security policies here:
Learn more about our application security on the next page.
You can visit our for updates. Our team of engineers on staff monitors our infrastructure for cybersecurity events or threats. Our staff uses the and independent 3rd party testers to continuously monitor, secure and test our platform.
We'd love to hear from you! Here's how to contact us for assistance, feedback, and other topics!
To get support, follow the Help menu in Zentitle2, where you can raise a Support Ticket.
We love to hear your feedback on our products. It helps us improve them.
Let's jump on a call and discuss how we can help. Contact your account manager today.
You can send feedback by email to
For billing inquiries, please get in touch with our accounts department at
Set up a
Enterprise-Class Software Monetization - Empower the whole business without ongoing engineering
Zentitle2 meets the standards for scale, security, and operational excellence demanded by enterprise-class software companies. Zentitle allows you to quickly launch new pricing and packaging models.
Cloud-based, enterprise-class “Software Monetization as a Service” platform designed to drive revenues.
Monetize and control any kind of Softwar: On-premise, Server, SaaS, Hybrid, mobile, Hardware & IoT.
Release any business model or monetization method without the need for re-engineering.
A single source of truth and control for any entitlement, maintaining the business state, pricing & packaging logic.
Reduce costs
Drive revenue
Go-to-market fast
Easy to use: Modern UI/UX/APIs
VMs: Superior VM Management
Drive revenue: ZenGain add-ons
Dark sites: Local License Server
Identity: OIDC based integrated iDP
Cashflow: Finance control of entitlements
Self-serve: Customizable end-user portal
Analytics: Actionable data options
Easy to integrate: OpenAPI Interfaces
1 pane of glass: single source of truth
Built from the ground up for SaaS, hybrid, on-prem and hardware applications
New architecture, both single and multi-tenant, with TurboScaling
Fast, auto-scaling, super flexible, and API-driven new monetization platform
Supports every business model, online or offline, for hardware or software
Kubernetes/docker & open source
All key stakeholders have defined roles
Advanced End-User Portal
Next-Generation VM Management
…Built for all the future holds
Enable your product team to experiment with new monetization strategies, finding the ones that rapidly drive up your revenues.
From subscription, to pure consumption, to hybrid models and everything in between. Usage-based licensing can be layered on top of existing models.
Immediately allow design of new pricing and packaging to drive growth and improve margins. Empower product management and sales to launch profitable offerings without engineering.
Easy-to-integrate APls mean your development team doesn't waste time self-building licensing from scratch and avoids all the demands of ongoing development.
Zentitle2 is a software monetization platform that incorporates a range of functionality; below is a quick summary of the capabilities of a software monetization platform.
License model flexibility and business model agility
Software license compliance and protection against VM cloning
Centralization and automation – a single source of truth
End-user enablement and deployment in any environment
Capturing actionable analytics data
Providing tools to different roles to empower revenue growth
Predictive analytics for future planning and action
Security is a top priority for Nalpeiron. We use various methods to protect your data from unauthorized access and tampering, including our own tools and those of third-party security providers. These tools continuously monitor our cloud infrastructure for potential misconfigurations. In addition, we have a suite of automated tests (unit and integration) that are automatically executed after each commit to the repository and block deployments if a fault is detected.
Further, we maintain various systems that continuously monitor everything from the software pipeline to our infrastructure in layers to prevent problems and security issues.
Zentitle2 uses robust security checks on our Repository, Cloud, Container, and Domain.
Our tools integrate with our compliance suite, Drata for SOC2.
Zentitle2 runs a SAST engine based on best-in-class open-source scanners. This module's goal is to find security issues in our code and run reports for our Customers' cybersecurity reviews.
We can generate reports that can be used as part of your cybersecurity assessment. The documents include SBOM (Software Bill of Material) and SAST (Static Application Security Testing is performed automatically on all production repositories and docker containers) reports that form part of our Software Development Lifecycle.
To request the latest Nalpeiron security audit report, follow the Help menu in Zentitle2, where you can create a Support Ticket and ask for a secure link to the latest reports.
Zentitle uses various unique parameters in the verification process.
The client application is verified based on using a Nalpeiron-issued tenant ID & product ID (these are embedded in the app client code) and the activation code (license code) issued to an end user (customer) that is private to the application user.
The development process embeds the tenant ID & product ID in the application (see our licensing client examples), and the activation code unlocks the transaction, acting like a password in the process. The Licensing API processes the various unique components and responds with the access token, which is then used to authenticate refresh requests.
Additionally, all communication takes place over a secure HTTPS connection.
Our APIs use SSL endpoints with valid certificates to establish secure connections.
This way, we guarantee that data is encrypted in transit and can not be tampered with or listened to.
We generate key pair on the client for offline activation to perform a two-way token exchange.
The public key is available on the API Credentials page and can be used for encryption and verification. The private keys are kept secret and stored in an encrypted database in our highly secure infrastructure.
First, the application creates a new key pair. The public key is embedded in the offline activation request and encrypted using the server's public key. Next, on the server, we decrypt the request, perform the activation, and encrypt the response using the client's public key. This way, only the client can decrypt this message.
We use asymmetric encryption with unique key pairs for each customer.
Webhook payloads are signed with the private key stored in our system, and this signature can be verified using the public key to prove that the webhook call is coming from the Zentitle2 system.
Zentitle2 Management API uses OAuth2 over HTTPS to manage authentication and authorization.
OAuth2 is an open standard for authorization that enables applications to access resources from other apps or services securely. We use client_credentials
in the API.
Licensing API doesn't use OAuth2 to authenticate requests. Instead, authentication is based on tenantId, productId, and entitlement Activation Code. The first call to the Activate
endpoint returns an access token, which is used in later requests.
We also use the concept of Nonce. It's a random value generated and returned in headers with each call and must be sent in headers in the next call to the API.
See our API docs for more details on authentication:
Observability and accountability, supported by comprehensive logging practices, are essential components of modern software systems. By prioritizing these aspects, organizations can improve system reliability, enhance user experience, and maintain compliance with regulatory requirements.
These are keys to any modern and effective Entitlement management system (EMS); however, they are lacking in most EMS offerings today. These tools are also essential to your compliance efforts and, in the case of Zentitle2, in our SOC2 type2 certification.
Nalpeiron offers a range of tools to help, including our "Change log" feature, which allows customers (a premium feature) to track changes in key areas of Zentitle2. Changelog currently tracks two critical business objects: Customers and Entitlements.
Change logs play an important role in helping your team manage and secure their workspaces. They provide:
Better security: Notice any strange activity or unauthorized access in your workspace.
Accountability: Track who did what, when, and why to have a clear record of user actions.
Compliance: Keep detailed records to meet regulations or company requirements.
Observability and accountability are crucial in software development and usage in ensuring system reliability, performance, and user satisfaction. These concepts are closely tied to logging activity, which provides valuable insights into software behavior and user interactions.
Observability refers to the ability to understand the internal state of a system by examining its outputs. In software, this typically involves:
Monitoring key metrics and performance indicators
Collecting and analyzing logs
Implementing tracing to follow requests through the system
By enhancing observability, developers and operators can quickly identify and resolve issues, optimize performance, and improve user experience.
Accountability in software usage ensures that actions within the system can be traced back to specific users or processes. This is essential for:
Security and compliance purposes
Auditing and troubleshooting
Understanding user behavior and needs
Implementing robust accountability measures helps maintain system integrity and builds trust with users and stakeholders.
Logging is the practice of recording events, actions, and errors that occur within a software system. Effective logging strategies support both observability and accountability by:
Providing a detailed record of system activities
Enabling real-time monitoring and alerting
Facilitating post-incident analysis and debugging
Supporting user behavior analysis and feature optimization
- licensing API (OnPrem)
- management API (SaaS & backoffice integraton)
→
Zentitle2 is the abstraction layer, it removes the business state, pricing & packaging logic that doesn’t belong in the application.
Engineering gets the ability to release features without having to consider monetization.
Product teams get control over how offerings are packaged, priced, and managed.
Companies that utilize an entitlement management service unlock efficient growth by monetizing flexibly vs. the standard “hard-coded” entitlement model of most SaaS companies.
Zentitle2 is critical infrastructure for software vendors to effectively manage and control the licensing and entitlements of their software products.
This documentation provides a comprehensive guide on leveraging Zentitle2, empowering software vendors to streamline their licensing processes and enhance customer satisfaction.
By adopting Zentitle2, software vendors can efficiently manage various aspects of their licensing ecosystem, including user management, product configuration, license generation and activation, reporting and analytics, and customer support.
This system simplifies the complexities associated with licensing, allowing vendors to focus on delivering their software products and maximizing revenue.
With the help of Zentitle2, software vendors can enhance their operational efficiency, protect their intellectual property, gain valuable insights through analytics, and deliver a superior experience to their customers.
This documentation equips you with the knowledge and tools necessary to harness the full potential of Zentitle2 and drive success in your software licensing endeavors.
Watch this short video demonstrating the functional difference between Zentitle2 and legacy systems (home-built license management systems or platforms like Flexera and Gemalto).
Specifically, this video will help you understand our innovative concept of “dynamic entitlements,” which make Zentitle a powerful and modern licensing tool.
One of the key benefits of 18 years of expertise in the Software space is the understanding of the complexities of managing licenses and users and keeping their rights accurate and up to date. It's not easy, especially when using non-specific tools like a CRM.
In addition, many Software companies have many products - many of which are across legacy platforms, OnPrem, SaaS, and even hardware - all with different types of business models and tech stacks.
Zentitle has been designed to cover all these use cases - hybrid software business models and deployment types - be they OnPrem or SaaS - all in one "pane of glass."
A custom-designed system that serves as your single, reliable source of truth for your licenses and customers.
With every initial sale, we include an onboarding workshop to help your organization prepare to use Zentitle2 and maximize your investment.
The Zentitle On-Boarding Workshop is an 8-hour session that combines lecture and hands-on experience and best practices for configuring and using a basic Zentitle deployment.
The goal is to accelerate the time-to-value for a basic deployment. The session is also useful to educate additional stakeholders for an existing deployment.
Nalpeiron also offers a la carte advanced topic modules.
Product Management and Business Leaders responsible for Licensing and Monetization
Developers that will integrate the Zentitle SDK into the customer software
Operational and IT integration personnel who will configure and use the Zentitle to manage the deployment of trials and production entitlements
Support and Test personnel who use Zentitle in the performance of their roles
Most technology for controlling secure sites is old, expensive to install, maintain, and run, and only supports "concurrent users" as a business model—we set out to solve all those problems with Zentitle2 (the most modern licensing platform).
Firstly, the cost of installation:
2nd, support of business models:
LLS supports all the same models that you might offer over the internet. i.e., you can not only run concurrent licensing but also (node) individual installations and trials, change models, and upgrade users in the field without an engineer visit. This enables your team a lot of business model flexibility, simplifies everything, and makes upgrades and upsells easier.
3rd, security and control of virtual machines:
4th, ongoing operational and maintenance costs:
This is a vast unknown area, and many clients love Nalpeiron as we remove much of the need for costs upfront in training, integration, testing, and deployment. Then, ongoing field maintenance - often where other competitors' products need engineers to go to the site; in most cases, we can control everything via our cloud = offering massive savings, often way more than the actual costs of the licensing system. This is why Spacelabs love Zentitle. We manage their hospital hardware products (critical infrastructure), often in secure locations. Before, they had an engineer do everything, and now they can do almost everything remotely saving time and showing an instant ROI on their investment with Nalpeiron.
V10 and Zentitle2 can be used side by side as end users upgrade to the new system to avoid downtime, i.e., as they upgrade from your V10 application to your Zentitle2 application. Once upgraded to Zentitle2 functionality, end users must reactivate the client.
Zentitle2 has a new library and API compared to V10, so these systems are incompatible with the client and back office integration sides. Therefore, your client-side binaries will need to be updated to use the new Zentitle2 library (for purely online clients, you can use the Zentitle2 licensing API directly rather than the new library). If necessary, this will mean replacing the existing V10 library in your client-side binaries.
V10 Profiles, if used, will need to be re-mapped onto Zentitle2 plans, editions, and offerings
V10 LAN daemon is to be replaced by Zentitle2 LLS (local license server) as a docker container.
Datastreamer functionality is currently unavailable in Zentitle2, and a brand-new suite of analytics capabilities is available in Zengain.
Reseller functionality is currently unavailable in Zentitle2 but will be added in the future.
NSA client-side analytics is currently unavailable in Zentitle2; a brand-new suite of analytics capabilities is available in Zengain.
Passive Licensing is currently unavailable and not required in Zentitle2 due to its more flexible design.
V10 trials (with no License Code) are not supported in Zentitle2 out of the box. Please use subscription-type licenses; these can be isolated using Zentitle2 Editions.
V10 Saas Licensing calls will map to Zentitle2 Licensing API.
In addition, any back-office integrations using the V10 management APIs will need to be replaced with Zentitle2 management API calls.
If required, you can move existing V10 license codes to Zentitle2 by exporting (or extracting using API calls) the V10 License codes and metadata (Features, Application agility variables, companies, customer info, etc.) and then importing this data into Zentitle2 via its management API calls.
V10 License code activity (current and historical) is not compatible with Zentitle2 due to the changing generation of client computer IDs and cannot be migrated to Zentitle2.
If you're using the V10 End User Portal, this will also be superseded by the new Zentitle2 End User Portal, including the the V10 offline activation portal if used.
For V10 ABL (account-based licensing) users, this will need to be recreated in the Zentitle2 system. As V10 ABL user passwords are encrypted, your users must recreate their passwords for security.
Please log a support ticket in V10 to discuss your use case and steps to migrate to Zentitle2; we are here to help.
At Nalpeiron, we understand that adopting a next-generation entitlement management system like Zentitle is just the first step toward optimizing your software licensing operations.
To help you maximize the value and ensure a seamless implementation, we offer a comprehensive range of professional services tailored specifically for Zentitle:
Strategy Services: Guiding Your Path to Success
Implementation Services: Seamless Integration, Smooth Transition
Training and Knowledge Transfer: Empowering Your Team
Ongoing Support and Maintenance: Your Partner for Success
to set up your onboarding date.
In our case, our on-premise installs in a docker container and is super simple but very flexible in operation. This means it has a much lower operational cost; even the end user can install it. In the case of Datacolor, they have 100s of stores that are offline with machines that need licensing offline, and they have trained the store managers to do this - saving onsite engineer visits, etc
Many competitors gloss over This really difficult area, but VMs are used to getting around license fees either unwittingly or on purpose. We had to build a more reliable way to control VMs (that no one else can really offer) to protect our clients from "cloning" and other piracy.
Yes, there's more about deploying into secure/dark sites, a lot more (see our videos ), but the "devil is in the details." It's very hard to explain to a prospect until we are partners and working together to solve all of this - also, partnering and helping your team work through this complexity is why we charge what we do. Its a lot of support cost for us to help you learn and become self-sufficient - we are a premium enterprise provider because our clients need this type of support to be successful - unfortunately, many come to us after picking a lower-cost supplier or a legacy technology when they get into the "details" and realize how hard this is without an experienced partner. The key point here is to look beyond the cost of the licensing system, as way more costs are generated in using and operating it—that's why we invented "cloud-based" licensing 20 years ago and are still the leader. Low/no training and upfront service fees, no extra "maintenance" fees, way lower cost of ownership, much easier connectivity to other systems, and offline access mated to the cloud.
Zentitle2 portal and licensing endpoint will change from my.nalpeiron.com to. Therefore, any client-side whitelisting of domains will need to be updated to this new URL.
to learn more about how our PS team can help you.
Zentitle2 represents a superset of most of Nalpeiron's V10 platform concepts. However, the APIs and data models are somewhat different.
This section shows how the V10 concepts map into the Zentitle2 platform and terminology.
In V10, License Codes provide a specific set of license rights to a customer. In Zentitle2, the more general term of 'Entitlement' is used rather than a 'License', as this applies to both SaaS as well as on-premise applications.
In Zentitle2, entitlements may have one or more "Activation Codes" (the strings used to activate a seat against a license). They can be removed or added during the lifetime of an entitlement - whereas in V10, the License Code is always a 1:1 name for the license itself and cannot change.
In Zentitle2, editions, plans and offerings are used to represent standard sets of rights, making it easy to define 'good', 'better' and 'best' variations of a given product. In V10, these are represented by license code profiles.
Application Agility fields in V10 have been replaced by a more flexible 'Attributes' capability, where each key/value pair can now be one of a number of types (string, number, date).
Standard features (on/off), Floating Features, Element Pools and Consumption Tokens are all supported as they are in V10.
-Nalpeiron can help you migrate your data but recommends adding to a new release
-Z2 will have a different set of plans, but the pricing will remain similar to V10
-Yes, you can have products on both platforms or move exclusively to Z2
-There are no plans to end-of-life Zentitle V10 for at least two years
- We will allow you to move and credit you any time left on the old contract.
What is the migration path from V10 to Zentitle2? (compatibility, etc.)
How will Z2 be priced?
Can we use both Zentitle V10 and Zentitle2?
Are you EOLing Zentitle V10?
What if I want to move to Z2 but have time on a V10 contract?
Let's jump on a call and discuss how we can help, get in touch with your account manager today →
Please with your account manager for more information about moving to Zentitle2.
Grace Period
A grace period in software licensing is a specified amount of time given by a software vendor after a subscription (time-based) license has expired, during which the software can still be used without penalty or disruption.
This period is designed to give users time to renew or update their licenses without having to stop using the software immediately. The grace period can vary depending on the software vendor and the specific license agreement but typically ranges from a few days to a few weeks.
It's important to note that the grace period does not extend the license term, and users must still renew or update their licenses within the designated time frame to avoid any potential legal or financial consequences. Also note that the renewal period starts when the prior term expired rather than extending from the end of the grace period.
Lease period
The lease period in software licensing specifies the amount of time the application can run locally with a cached view of the license rights before forcing a refresh of those rights from the cloud-based repository (or a local license server).
Note: the lease period is completely independent of the term of the license itself (the license could be perpetual, a subscription, etc.).
Plan
Plans also define the activation rule that should be used for entitlements with that plan - such as 'Activate upon first use,' 'Activate upon creation,' and 'Activate Manually'. Sample plans may include a 1-year subscription, a perpetual (non-expiring) license, a 30-day trial, etc.
You can define as many plans as you wish, subject to your subscription.
License type:
Perpetual
A perpetual license is a type of software license that grants the user the right to use the software indefinitely, without any time limitations. With a perpetual license, the user typically pays a one-time fee upfront for the right to use the software for as long as they want, without any ongoing fees or subscriptions.
Under a perpetual license, the user is often entitled to technical support and software updates for a limited period, typically one year. After that, they may need to purchase a new license or renew their support agreement to continue receiving updates and support. However, the user can continue to use the software without interruption even if they choose not to renew their support agreement. The license itself will often include the ‘maintenance expiration date’ so that it can be appropriately enforced or communicated.
Perpetual licenses are common for many types of software, including desktop applications, server software, and some enterprise software. They are often contrasted with subscription licenses, which require the user to pay a recurring fee to continue using the software.
License type:
Subscription
A subscription license is a type of software license that grants the user the right to use the software for a limited period, usually for a fee that is paid on a recurring basis, such as monthly or annually. With a subscription license, the user does not own the software but instead pays for access to it for the duration of the subscription.
Under a subscription license, the user typically receives all software updates and technical support for the subscription duration. However, once the subscription period ends, the user must renew to continue using the software. If they choose not to renew, the software will no longer be accessible to them.
Subscription licenses are common for many types of software, including cloud-based applications, software-as-a-service (SaaS) products, and some enterprise software. They are often contrasted with perpetual licenses, which allow the user to own and use the software indefinitely after a one-time payment without any ongoing fees or subscriptions.
Note that software trials are a form of subscription license - with the end-user typically gaining access to the software for a short fixed amount of time (typically 30 days) for no charge.
License Start
Entitlements can be activated
on creation = Plans: License Start set to Entitlement Creation
or first use = Plans: License Start set to Activation
or manually = Plans: License Start set to Manual Activation - by using “Activate Now” button on Entitlement details page
This is the case for both Subscription and Perpetual License Type.
Offering
Often used interchangeably with “SKU” (Stock Keeping Unit) or “Part Number” - see below for SKU.
Together, the combination of an edition and a plan defines an offering.
Offerings often equate to a "price book" or SKU list in your systems, such as your CRM, ERP, or billing system. Per your Zentitle subscription, you can define as many offerings as you wish.
Entitlement
Entitlements track what your customers have purchased and all changes through the lifecycle.
In software licensing, entitlement refers to a customer's specific rights and permissions to use a particular software product. An entitlement is essentially a record of what a customer has purchased, determining what they can do with the software.
Entitlements can include a wide range of permissions and restrictions, depending on the specific licensing agreement. Some common examples of entitlements include:
The number of users or devices that are allowed to access the software
The specific features or modules that are included in the license
The geographic location or territory where the software can be used
The duration of the license, including start and end dates
The level of technical support that is included with the license
Any restrictions on how the software can be used or distributed
Entitlement management is an important part of software licensing, as it helps ensure that customers are using the software in compliance with the licensing agreement. By tracking entitlements, software vendors can ensure that customers are only using the software within the limits of their license, which helps prevent misuse and piracy.
Product
The “Product” in the Zentitle2 context typically refers to a given application or binary. Depending on the business model, most products are then broken down into price plans and editions.
License definitions are typically specific to a given product (i.e. a Word license may have features defined for access to dictionaries, thesaurus, etc., whereas an Excel license might have features related to pivot tables, etc.)
Edition
An “Edition” is a variation of a given product - with the classic example being a “Good,” “Better”, or “Best” progression of increasing functionality at different price points..
An edition is a subset of a Product in the third tab under the product menu.
Feature
A “Feature” in the Zentitle2 context is a boolean flag that determines whether a given feature / module / component should be enabled for a given user.
Attribute
An “Attribute” in Zentitle2 is a key/value pair that can be used to store useful information in the license, such as the customer name, etc.
It can also be used to represent aspects of the business model for the license itself, such as the number of licensed devices, lists of integrations that should be enabled, etc.
In Zentitle2, the attributes are typed and can be Integers, Strings, or Dates. They are equivalent to “Application Agility Fields” in V10.
Advance Feature: Usage counter
An entitlement can have one or more ‘usage’ features. Consumption tokens can be used to track measures of usage over time. For example, you may have a 1-year subscription that provides 1000 report runs over the year.
The usage feature would track how many reports had been run so far (with the application deducting one from the count each time the report is run).
Advance Feature: Element Pool
Element Pools represent a concurrent aggregate count of some measure. For example, let’s say there is a storage management cluster and the business model was to charge for the aggregate amount of storage under management across the cluster.
Each node would check out from the element pool the quantity of storage that node was managing (50TB, 100TB, etc.) and the licensing would enforce that at no time was the aggregate amount of storage licensed ever exceeded.
Activation Codes
In Zentitle2, a given entitlement may have multiple valid activation codes - any of which can be used to activate a seat against the entitlement.
SKU
SKU stands for "Stock Keeping Unit," which is a unique identifier used to track individual products in inventory management and sales. In the context of software licensing, a SKU is a code or number that identifies a specific software product or licensing option.
SKUs are used by software vendors to keep track of their inventory and sales, and to ensure that customers receive the correct product or licensing option when they make a purchase. For example, a software vendor might use a SKU to differentiate between different versions of their software, such as a basic version and a professional version, or to track the number of licenses that have been sold for a particular product.
SKUs can also be used by resellers and distributors to track their inventory and sales, and to ensure that they are ordering and selling the correct products. When a reseller or distributor orders a product from a software vendor, they will typically provide the SKU number to ensure that they are receiving the correct product. Similarly, when a customer purchases a product from a reseller or distributor, they will often receive a receipt or invoice that includes the SKU number to confirm what product they have purchased.
Concurrency mode: Concurrent
Concurrent (also called ‘Floating’) licenses allow a maximum number of concurrent seats active on the entitlement at any one point in time. Upon startup, the application would attempt to check a seat out of the license pool, and check it back in one the application terminates. If the application dies without explicitly returning the license then the seat will automatically be returned once the current lease period expires.
Concurrency mode: Node Lock
Node lock licenses are meant to be permanently activated against a given machine / seat and are not returned upon terminating the application. They are persistent licenses (not to be confused with perpetual licenses).
Seats
Seat count - number of seats available on Entitlement that has been set from Offering that this entitlement has been created with, but can be amended on Entitlement level.
Seats used - currently used seats
Seats - overview on seats used from seat count, presented in form of 3/21
Webhooks
Webhooks are a type of callback mechanism used by web applications to provide real-time notifications to other systems. Essentially, a webhook is a way for an application to send data to another application automatically when certain events occur.
The basic idea behind webhooks is that one application sends an HTTP POST request to a URL specified by another application, indicating that a certain event has occurred. The receiving application then processes the data in the request and takes appropriate action based on the content.
Webhooks are commonly used in a wide variety of applications, such as:
Integrating with third-party services to receive notifications when specific events occur
Triggering custom workflows or automation tasks in response to user actions
Updating data in real-time across multiple systems and applications
Automating data synchronization between different systems
Webhooks can be thought of as the opposite of an API, which requires the client application to poll the server for updates. With webhooks, the server actively pushes data to the client, eliminating the need for the client to poll for updates and reducing server load.
Activation Usage History
A graph that shows the usage (typically active seat count) of a license over time
Seat Count is the allowed number of seats that can be used with this Entitlement.
Min and Max is maximum and minimum count of used seats at any given moment during the day. For example:
activate: max 1, min 1, current 1
deactivate: max 1, min 0, current 0
activate: max 1, min 0, current 1
activate: max 2, min 0, current 2
deactivate: max 2, min 0, current 1
deactivate: max 2, min 0, current 0
End User Portal
The end user portal (EUP) is an option to help your end users manage their entitlements and do "offline" activations/de-activations.
A pre-built way for users to manage their entitlements saves support time and costs.
The end user portal can be customized to fit in with your branding.
Local License Server (LLS)
The Zentitle2 Local License Server allows the vendor to deploy a docker-container-based server to an end customer who does not want to (or cannot) allow an ongoing connection with the Zentitle2 cloud-based license server. Often also called "Dark Site" Local License Server (that enables Network-based licensing).
LLS provides similar functionality to Zentitle2 in the cloud.
Once you have your Local License Server (LLS) running, you can delegate a given entitlement to that LLS by going to that entitlement and changing the 'Entitlement Host' to the appropriate LLS instance.
Account Based Licensing - ABL (Identity-based licensing)
Account Based Licensing is the process of managing users’ accounts and giving users access to software or an application, typically via a username and a password or an external identity management solution such as Microsoft Azure AD, Okta, OneLogin, Ping Identity, ForgeRock, Auth0, and Oracle Identity Manager.
Zentitle2 enables both types of application access and also allows you to choose the best-of-breed identity provider you or your customers are using.
Accounts replicated from the vendor's authentication platform are called "OpenID Token authentication."
Accounts created and managed within Zentitle2 are called username/password authentication.
Virtual Machine Control - nonce
Today, most desktops are virtualized, and the same has been true for servers for years. This means that Licensing has to deal with issues related to impermanent storage and copying of deployed application instances.
Abuse of VMs leads to lost revenues and improper use of the customer's IP.
To help with managing VMs, Zentitle has created the concept of the Licensing API: Nonce.
The API uses a nonce concept. Every request must contain a unique nonce value in the N-Nonce header. First, the Create Activation endpoint returns the Nonce. The application needs to store this nonce and use it in subsequent requests. Subsequent requests will return a new nonce, which needs to be used in the next request. Nonce values are returned in the N-Nonce header.
allows you to activate an entitlement using the end user's login credentials (Username/password) instead of the more "on-premise" based license key/code/activation code.
It only takes days to get up and running with a cloud account.
Zentitle2 is built from the ground up as API first.
There are two different APIs: one for licensing (on-prem focus) and a management API (OAuth2 protocol) for SaaS-type applications.
APIs allow for fast and simple integration between systems and your application.
Example code and test harnesses speed up integration.
Code “kits” (wrappers) for C++ and C# streamline the integration of applications.
Use the OpenAPI specification to generate a Client SDK for the most popular platforms.
Complete set of Webhooks for bi-directional communications between apps.
Zapier and e-commerce integrations for back-office connectivity.
This will be formed when your account is created on the Zentitle backend, and therefore all your users will need the specific link vs a generic one when logging in.
Logins are managed in our OpenID Connect-based IdP.
These are emailed to each user of the Zentitle platform and need to be saved by each user.
It's important to note this unique URL in your internal docs for your users to avoid frustration!
You can log in using either your email or username. By default, the initial user will be set up with the "admin" username.
Users will receive an access email when you add them to Zentitle.
The email includes a password update link. When users click this link, they are redirected to the login page, where they can set their own password.
Once that is set, they can access Zentitle based on the permissions you previously set.
→ about getting your API credentials.
See the for more help.
E.g. Your Login URL:
The login page allows a password reset using the usual "" link in the sign-in box.
To log in, add the username and password you set when you got your invite email.
Click "sign in".
We advise you to use OTP / two-factor authentication on all accounts,
SaaS-based entitlement management, On-Premise licensing, hardware-based licensing, or a hybrid is possible with Zentitle2.
Two types of licensing models are primarily widely used in software: SaaS (Software as a Service) and On-Premise. These two models represent fundamentally different approaches to accessing, using, and managing software, and each has its unique set of considerations concerning licensing and monetization.
The SaaS model is a modern approach to software delivery. Under this model, users use the software via the Internet, often on a subscription or usage basis. The software is hosted on the provider's servers, and users can access it using a web browser. The key advantage of this model is that it eliminates the need for organizations to install and run applications on their systems.
On the other hand, the On-Premise licensing model is more traditional. In a perpetual or subscription model, it often requires the purchase of a license for each piece of software. The software is then installed on the company's servers and each user's system in the case of a B2C desktop application. Once installed, it can be offered as part of a floating pool of licenses where the applications are shared or on an individual-use basis. Installing on both servers and desktops means having to deploy the licensing code embedded into the application, and that alone requires more time, testing, and consideration of security issues.
In conclusion, both the SaaS and On-Premise models have their advantages and trade-offs, and from a software licensing standpoint, a different approach from engineering and product teams.
The SaaS application deployment model differs from on-premise as the security requirements differ significantly. SaaS deployments tend to be driven by connectivity to various systems and often to identity as the means of authentication and connection with the end user. They mostly consume API calls and don't require as much testing or engineering to roll out.
SaaS deployments still get all the benefits of Zentitle2 in creating an “abstraction layer” that frees the engineering, product, and other teams to be more agile, price, and package easily and go to market faster. These deployments may be easier, but they can also go to market in sophisticated ways with business models that allow a mix of subscription, usage, and other modern models easily and quickly.
On-premise deployments tend to be far more varied and complex, often requiring deployment into dark (offline) sites, with pools of concurrent network seats and millions of user desktops in the B2C model. In each case, there's more security, often the need for SDKs and specific OS targeting, and issues relating to virtual machine cloning and piracy.
In addition, entitlement management tends to have more moving parts, often including license codes (activation codes) distributed via channels, a store.
Or the need to enable a network-based license server in a corporate network that needs activating and deploying to control volume licenses.
In these cases, Zentitle2 enables fast and simple deployment, as we provide the connectivity between your application and our licensing cloud. As with SaaS, we not only provide APIs but also all the other infrastructure, security, and client-based SDKs needed to roll out effectively.
In summary, Zentitle2 allows you to authenticate users in any way you wish, to deploy via s SaaS or on-premise use case, and to offer a B2C desktop, seat, or a large network of users on an intranet. You can sell via seats, usage, subscriptions, perpetual, or a blend of any pricing model you wish. You can connect Zentitle to other systems like CRM, ERP, billing, and e-commerce to automate the whole lifecycle.
Zentitle2 is:
A “single source of truth”.
One platform for any product, model, customer, business case, and go-to-market strategy.
One repository for all your product entitlement data and insights.
The entitlement database of record.
Zentitle2 removes the business state, pricing & packaging logic that doesn’t belong in the application and enables your team to go to market fast no matter the deployment model.
With Zentitle2 you can authenticate end users to entitlements with either a license code (activation code) or their username () and then choose the type of deployment, be it SaaS, on-premise, or hybrid (plus hardware/iOT), that meets your needs.
Old end users were renamed and migrated into Contacts with ABL credentials, so nothing got lost.
There are two new tabs on a Customer:
Contacts - with all contacts, no matter if they have or don’t have ABL credentials defined.
ABL (contacts) - where we show ONLY contacts with ABL Credentials defined. This table is focused on those credentials, e.g., if you want to find a contact with a specific Claim ID.
Now you can delete ABL credentials and keep the Contact or create a contact before you have ABL credentials for a user.
There has been a change in the flow. Now, you need to create a contact and extend these contact details with ABL credentials. You can’t try to define credentials for a non-existent contact.
Two ways an old “end user” / now contact can be added:
Go to the Contacts tab, first add Contact, and then add ABL credentials to this contact.
Go to the ABL tab and search for the Contact to whom you want to add ABL credentials (search by contact email). If this contact doesn’t exist, we will redirect you to adding a contact form, and once it’s added, we will bring you back to continue adding ABL credentials.
In October 2024, we introduced a new navigation approach to accommodate our latest Application, Zengain, so now we have two applications on the Nalpeiron Platform.
As part of this exercise, we centralized admin functionality shared between the apps; this will be explained on each doc page for each set of functionality in the docs.
All the admin functions except the "Local License Server" setup page have moved from the left-hand navigation to a central location.
The menu name Connections was changed to Integrations.
The Security and Custom fields tabs now have their own pages.
Branding was removed as a tab and moved to the drawer available from the EUP and ABL pages, and the API credentials were expanded with new tabs.
Finally, the permissions for User Roles are expanded to separate Administration and Zentitle2 roles in the Apps and Admin functions.
The initial dashboard has been improved, and sections have been moved to make it easier to understand and use.
What was "configuration" is now called "Product catalog."
The "end users" section is now all under "account settings."
Some account settings have been moved to their own "Integrations" section and account is now called "Account settings."
Zentitle2 uses a range of ways to enable your business model in the field, from a simple SaaS-type deployment to a more complex on-premise or network deployment.
In a SaaS deployment, the APIs are used to authenticate your applications. In contrast, on-premise apps require a more complex client-server relationship between installed components on a desktop or in a network.
Zentitle2 covers all the bases and can mix and match them all within our platform in a single "pane of glass," so it doesn't matter if you use one or a mix of ways to deploy your products. You can pick the best way for your use case.
In general, no matter the deployment model, you will have a go-to-market strategy that uses a range of ways to describe the buying model you use for your customers. Again, we allow you to create a multi-layered, flexible way to "describe" your model and make it easy to map that to the "entitlements" that you sell.
It works like most other login screens to reset a lost or forgotten password or to change it regularly.
Click the "Forgot Password?" link.
Enter your Username or email address and click submit.
You will be emailed a reset link.
Click the Link to reset credentials in the email.
Enter your new strong password and click submit.
Your password gets updated, and you can sign in with the new details.
Zentitle has a very powerful and fast search function to help your support (and other) teams manage products, customers, etc.
To search for a given object, click on the magnifying icon in the search box at the top left of the toolbar and enter the search phrase into the search box.
All objects found that match the given query will be displayed as results.
These are the currently supported search objects:
product id
offering id
entitlement id
activation id
customer id
contact id (by first name, last name, and email)
Each result can be clicked on to go to that object to edit or to see details.
Search is very useful for customer support. Here is an example using an activation code a customer may need help with.
Zentitle2 provides a variety of report tables throughout the user interface.
These tables allow the user to customize, export, sort, and filter the contained information.
The icons on the top right and the columns themselves can be customized to your needs.
To export the table data in Excel format, click on the leftmost icon ('Export selected rows'), which will automatically download an Excel format file of the selected rows of the table (or all rows if no specific rows are selected).
To select which columns should be included in the table, pick the second icon ('Column Chooser') and drag and drop column names/titles into or out of the column chooser window.
You may also drag column titles from one place to another to set the column order.
To sort by the values in a given column, click on the column name/title. Click on the column name again in order to reverse the sort order.
To filter the values of a given column, click on the row below the column name and select the desired filter type. The list of options will depend on the type of data within that column (dates, numbers, strings, etc.)
To reset the filters back to the initial state, click on the third icon in the top right ('Reset grid filters').
To restore the table back to its original settings, click on the fourth icon ('Reset grid layout').
Zentitle2 has been designed to be simple and fast to use.
Zentitle has several functions, including setting up and managing your products and customers. However, almost everything can be done using APIs, not the user interface.
You can select between our applications (Zentitle and Zengain) and the central administration sections.
Account setup is also a one-time setup in most cases. This is about adding your internal users and getting the credentials the engineering team needs to integrate your apps with Zentitle.
The left-hand navigation is made up of 5 main areas.
Help and support.
Using the dashboard is helpful for quick access to at-a-glance data and click-through to detailed reports.
Importing your customers and their associated end users is another essential option for mapping entitlements to your customers so you can manage them via Zentitle2.
This section holds all your entitlements, and you can manage your customers and their use of your products here. Entitlements are often also called "licenses" for on-prem applications.
When using Zentitle2, your product team must configure your products into the system. Products have several constituent parts, such as plans, and when combined, they are called "offerings," which are equivalent to your product pricelist items or SKUs.
Once products are set up, you can issue entitlements to customers.
The Zentitle2 Local License Server (LLS) allows the vendor to deploy a docker-container-based server to an end customer who does not want to (or cannot) allow an ongoing connection with the Zentitle2 cloud-based license server. This may be useful to your organization, or you may not require this premium feature.
Help and support
Use the help and support links to access the support team and the docs/API reference guides.
To release a product to your customer with Zentitle2, you tend to follow a simple multi-step process:
Log in to the Zentitle dashboard as an admin and add a product and any features, custom attributes, and advanced features you want to control with your licenses.
To sell your products, you will want to match your product catalog by creating editions, plans, and offerings depending on your pricing strategy. Then, create entitlements for distribution to your customers with any associated license codes/activation codes (if you use that model) or access to use via your iDP using Account Based Licensing.
For software on-premise, embedded in hardware, or in a Network: You will use the Zentitle client library or our Licensing API to add licensing to your application. We support many platforms and coding languages.
For SaaS applications: You won’t need to install the Zentitle client library; you can use our Management API to manage your licensing.
You can automate license provisioning in your order processes, e.g., e-commerce flows, payment processors, and CRMs, and integrate Zentitle with back office tools, e.g., ERP, Billing, etc. using our Management API. You can also use 3rd party tools such as Zapier to help with connectivity and automation between systems.
Zentitle2 has a UI that allows you to configure, set up, and manage the various activities required to monetize your end users.
The prime functions of the UI are described here - they are essentially set up at the beginning of the journey, followed by testing and release. Once you have customers on the platform, you can manage them and their rights here.
The dashboard provides useful charts and data to help control and grow your business.
Every function outside the initial setup here can be done outside the portal using our APIs.
The first step in using Zentitle2 starts with setting up a "product catalog" in the Zentitle2 UI.
You cannot wire up your apps and get testing until you have a primary product, its associated parts, and an associated entitlement.
The product details found on the Zentitle2 UI, plus API keys, are required to connect to Zentitle2 and make your apps work, so start with that process first.
Add your internal users and manage them and their permissions
In order to wire up your app., you will need API keys and access to the SDKs or API details.
These are the key first tasks. You can also start to add your end-user customers now too.
You can manually add or bulk import "customers" to the database in the Zentitle2 UI.
Once the basics are set up, you can explore options for your production deployment. Zentitle2 has several more advanced features that save time and money or allow for deployment into offline environments, be they node or network-based.
You can customize and deploy your end-user portal to help users self-manage licenses.
Using our Local License Server option, you can deploy Zentitle into offline dark sites that require an internal network.
You can deploy our offline license option for node-locked end users in offline environments.
Once you are in production, the portal becomes helpful in managing your end users. You can manually add or edit their details in the portal.
Once you are in production, the portal becomes helpful in managing your end users' entitlements. You can manually add or edit their details in the portal.
Changing offerings on an entitlement is an important workflow for a Software Vendor. It means upgrading or downgrading the end users' rights, which needs to be fast and easy for both parties.
The Overdraft tracker is a great way to grow sales. It provides an "evidence-based" approach for the sales team to discuss options with customers and upsell them to new revenue tiers (if that's your business model).
Account setup and user management are done using the "" section.
: daily use for customer management and analytics.
: customers and end-user management.
: managing your customer and user rights.
: product setup and management.
: setup of and management of the LLS.
The describe this in detail and tend to be a one-time initial setup with additions and changes as your business model morphs over time.
You will learn some best practices during your.
You can authenticate end users to entitlements with either a license code (activation code) or their username () and then choose the type of deployment, be it SaaS, on-premise, or hybrid (plus hardware/iOT), that meets your needs. With Zentitle2, you can mix and match deployment models, business models, and pricing models all in one platform.
→
→ about API keys. and .
→
→
→
→
→
→
→
→
The administration section is a shared area between the applications on the Nalpeiron platform: Zentitle2 and Zengain.
This area allows you to create internal users, integrate the platform with other applications, manage security, APIs, branding, and more.
It's a great place to get started.
Deleting is available only to users with the System Administrator role. If you don’t see this option, it means you don’t have permission to do it, and you should contact the person with admin rights.
The table below illustrates the various granular roles and their permissions in the UI and the API.
The roles have been grouped by group role, e.g., 'Product management," as well as by individual role, e.g., admin, sales, support, and viewer, to match "jobs to be done" and their related permissions.
Account Administrator
Has all account permissions to configure and manage accounts. Is the only role with delete permission.
Product Management
Ability to configure and manage the product catalog.
Application Development
Ability to create API keys and create customers and entitlements. Cannot specify webhooks or modify products / SKUs.
Back Office Integration
Ability to create API keys and specify webhooks. Cannot modify or set up products / SKUs.
Customer Success
Ability to create and modify customers, contacts, and entitlements; cannot modify product catalog.
Customer Success Management
Ability to assign customer owners and manage customers, contacts, and entitlements. Can create custom fields.
Support
Has read-only permissions to view product catalog and customers. Ability to manage contacts, delete activations ,and add notes. Cannot edit entitlement details.
Sales Management
Ability to assign customer owners, manage customers, contacts and entitlements. Can create custom fields.
Sales
Ability to create and modify customers and entitlements. Cannot change products / SKUs.
Viewer
Has read-only permissions to view product catalog, entitlements, and customers. Can add notes to entitlements and customers.
EUP = End User Portal;
LLS = Local License Server;
ABL = Account Based Licensing.
If your users need a new invite to join Zentitle, you can simply resend the invite sent when you added them to your account with the "Resend invitation" link next to their record in the Users page found on the left-hand navigation.
The users referred to here are your internal Zentitle2 users from your organization.
The "Users" section is located under the "Administration" > "Users" on the top Administration menu.
Any form of deletion CAN NOT BE UNDONE. BE VERY CAREFUL WHEN DELETING
See the next page for the user permissions levels you can set per user.
The "API Credentials" section is located under the "Administration" > "API Credentials" on the top Administration menu.
Zentitle2 has two APIs: a licensing API and a management API.
The API credentials for the management API are an essential part of the setup and testing phases, and they form part of the critical data required to "wire up" your apps to Zentitle2.
In addition to these details, for the licensing API you will also need a Product ID key from the "products" you add to Zentitle2 and an Activation Code to test with, depending on your use case.
Note that at this time, all API client credentials generated have full permissions.
This page also shows your Tenant ID (needed for calls to the Management API), along with the URL of your Management API endpoint and the OAuth URL to use.
Our webhooks are a more efficient way of managing events than using the management API to query information that changes over time. Instead of constantly polling for updates, a webhook is set up once and is only triggered when a specific event occurs. The main advantage of webhooks is that they provide real-time data updates on the various parameters used in license management.
Webhooks are callback mechanisms that web applications use to provide real-time notifications to other systems. Essentially, a webhook is a way for an application to send data to another application automatically when certain events occur.
The basic idea behind webhooks is that one application sends an HTTP POST request to a URL specified by another application, indicating that a certain event has occurred. The receiving application then processes the data in the request and takes appropriate action based on the content.
Webhooks are commonly used in a wide variety of applications, such as:
Integrating with third-party services to receive notifications when specific events occur
Triggering custom workflows or automation tasks in response to user actions
Updating data in real-time across multiple systems and applications
Automating data synchronization between different systems
In essence, webhooks operate in contrast to APIs, which require the client application to continuously request updates from the server. With webhooks, the server proactively pushes data to the client, eliminating the need for the client to check for updates and reducing the server's workload constantly.
Each webhook call is sent with the N-Signature
header in the HTTP Post request. This header contains a signature of the webhooks payload message created with your account's RSA key. It's a good practice to create a signature from the payload received and compare it with the header value. If it matches, it means the webhook was sent by the Zentitle2 service and not by a malicious actor.
Webhooks are located under the "Administration" > "Webhooks" on the top menu.
This action generates a new WebhookEvent and triggers a call to the listener URI. The payload of this call is empty; the resource id contains the ID of the listener:
This event is not retried if the request fails. Hit 'Test' again to generate another event.
This tab shows an overview of all webhook calls from Zentitle2 for your account. It provides important information about the webhook call. You can also drill down to an individual log to see more details.
You can manually resend the webhook by clicking the 'Resend' button. This is especially useful when a webhook exhausts its retries count or when you are testing your webhook handler implementation.
For further processing or archiving, you can 'Download report' of all webhook calls in CSV format.
By clicking a single log, you can display additional information about the selected webhook call. This includes the URI, payload, and message representing the handler's response content.
You can browse the call history of an individual webhook in case it was retried multiple times.
This document provides a step-by-step guide to setting up an integration between your Zentitle2 account and FastSpring.
The integration between Zentitle2 and FastSpring is designed to provide a seamless experience for customers, from purchase to activation, in less than 10 seconds. The partnership between Nalpeiron's Zentitle2 and FastSpring unites world-class licensing and e-commerce for a powerful customer experience. The integration with FastSpring adds speed that simplifies the whole purchasing and licensing process.
You need to contact your sales representative to enable the FastSpring integration. The configuration will be fully available after it is enabled.
On this page, you can see:
The Private Key - This is used for signing the payload sent between the two platforms
Integration Endpoint - The endpoint that is used to generate new license codes
TenantId - The account ID used in the integration
You need to define your Private Key to be used later in the FastSpring Store interface.
The Integration Endpoint and TenantId will be required in the FastSpring Store setup.
The critical component of the integration is the Zentitle2 offering SKU, which must be set in the FastSpring Store. The integration uses the SKU sent from FastSpring to match the offering used to create the new entitlement.
From the Dashboard, select the Products menu.
Click the Products, Bundles, or Subscriptions tab, depending on the product for which you want to set up Nalpeiron integration.
Click the product, bundle, or subscription for which you want to set up Nalpeiron integration to open the product’s details.
In the product details, click ADD FULFILLMENT.
In the Add Fulfillment Action dialog, select Generate a License.
In the resulting drop-down list, select Remote Server Request.
Click NEXT at the lower right-hand corner of the page.
Paste the Integration Endpoint copied from the Zentile2 platform in the URL field.
Leave the rest of the fields as default and click CREATE.
Go to the Security tab and paste the Private Key copied from the Zentitle2 platform.
Go to the Parameters tab and use one of the custom values to create a new parameter.
a. Name: tenantId
b. Value: The Tenant ID copied from the Zentitle2 platform.
Press Save in the left corner of the screen.
To verify that the integration has been set up correctly, you can use the Test button.
The only field required for testing is the SKU.
Once you enter a valid SKU value, a message box will appear indicating that a license has been acquired, and an entitlement with this activation code will be created on the Zentitle2 platform.
This serves as proof that the integration has been successfully set up.
The above steps should be repeated for each product.
The integrations section is for specific integrations with various external systems. The Zentitle2 integrations are designed to provide a fast and easy way to add third-party vendors to your entitlement management processes, from commerce to CRM. We aim to make it easy for you to build the best workflows for your organization.
See the following pages for our integrations.
Webhooks work very well with Workflow automation software like Zapier, Make, Couplerio, Integrately, Celigo, Tray.io, Pabbly Connect, Parabola.io, Pipedream, Stitchdata, Singer.io and Workato (etc).
These tools allow for effective integrations between many systems and Zentitle.
For example, Zapier can be easily used to push useful data into Slack. Here, we show Zapier being used to push webhook events into a Slack channel.
Below, we are using Zentitle webhooks and Zapier (to post to Slack). This assumes you have already set up what you need in the Zentitle backend per the previous docs on webhooks. It also assumes you know how Zapier works and how to use its tools. It's just meant to give a flavor of what's possible.
Sign up, open your Zapier (or whatever service) account, and add a new Zap.
You will create a sequence as above.
At each stage, you will test and proceed as with any Zap creation and then check the expected results, in this case, in Slack, as events occur, they are posted, etc.
This is a very simple example to show you how using 3rd party tools with our webhooks can build many types of workflows to automate your processes.
→
Click 'Add User' to add a user to your account.
Enter their email address, username, first name, last name, and role. These are all "required" fields.
The are found on the next help page.
Click on 'save'.
To edit the details of an existing user, click on that user's name in the user table.
Edit the desired details.
Click on 'save' to save the changes.
To delete a user, click on that user's name, pick the 'three dots' icon on the top right, and select 'Delete User.'
Confirm you wish to delete that user when prompted for confirmation.
Now to learn how to create and use these credentials.
The RSA key can be obtained from the "API Credentials" page. An example of the signature verification is implemented in our example code:
To add a new webhook handler, click on 'Add Webhook'.
Enter the URI of the webhook handler.
Select the events that you wish the handler to manage.
Click on 'Save Events'.
Then click on 'Save' to add the webhook:
To edit an existing webhook handler, click on that entry.
Update the appropriate details.
Click 'Save Events.'
Then, click "Save."
To delete a webhook handler, click on it.
Click "edit."
Click the 'three dots' icon and "Delete webhook."
Click "Delete".
To test your webhook handler, click on the 'Test' button to the right of the listed events.
Confirm you wish to trigger a call to the specified webhook handler.
Go to our API docs for more details on using the webhooks you have set up:
You can find examples as well as payloads on our API docs page in the "Webhook Events" section:
Now to learn about implementation.
The payload field only contains the 'payload' element of the Webhook request body. For the complete Webhook request, see .
In the Dashboard for your FastSpring Store, set up a license action, which will issue a license on a non-subscription product.
To start, you will use the "raw hook" type handler. Then, continue in their process.
Zapier will generate a custom webhook URL for you to send requests to. Use this URL for Zentitle2 Webhook setup. Select events you want to push to Slack and then continue setting up the Zap.
Next, add a "Run javascript" process. This simple JavaScript code will allow you to extract Webhook call properties into Zap Data Fields
Next step is to use generated Data Fields in the Slack message:
Finally, complete the process by posting the collected data into the Slack channel.
Key to our strategy is integration of Zentitle with SalesForce and other leading CRMs. Zentitle is undergoing several such integration initiatives. We are investing heavily in our SalesForce Integrations.
Our current API allows for effective and easy integration with SalesForce. We have a dedicated team developing multiple products for Salesforce, including an installable package, direct integrations baked into our products, and a special solution for certain use cases.
Here we provide an easily-installable SalesForce sample integration package. Once deployed and configured within your SalesForce account, this solution will enable you to perform the following, frequent, Zentitle-related tasks from within SalesForce:
Create/update Zentitle customer
Create/update software entitlements
View/manage software activations
Synchronise updates between SalesForce and Zentitle
Here we will see how to create an Account in SalesForce and how to sync this with Zentitle2, upon which it will become a new Zentitle2 Customer.
Login to SalesForce. On the Sales dashboard click the Accounts dropdown and select New Account.
This will take you to the New Account page where you can fill in the details of your new account. Only the Account Name is compulsory: you can fill in as many of the other fields as you wish. Click Save when you are done.
The SalesForce page for your new account will now open and near the top of the page you will see a Create Account in Zentitle button.
Click this button and confirm the action by clicking the Create Account in Zentitle in the subsequent dialog.
After a few moments, if the customer creation has been successful, you should see a popup confirming the Zentitle2 customer creation informing you of its Zentitle2 customerID.
You can verify the creation of your new Zentitle2 customer by logging into Zentitle2 and navigating to the Customers page, where you should see it listed:
Clicking on this record will take you to the details for this customer.
A Customer created in Zentitle2 this way will have its Account Reference ID populated. This is actually the unique Account ID of the corresponding Account in SalesForce, analogous to the unique Customer ID of this Customer in Zentitle2. Both platforms having both IDs enables seamless and unambiguous synchronisation between the two systems.
Nalpeiron currently offer a sample integration between Salesforce and Zentitle, available on our GitHub repository, and this detailed set of tools and code will allow for a sophisticated use of Salesforce and Zentitle2:
We have set up a GitHub Salesforce Deploy Tool to enable easy integration. Please follow the above link to the sample GitHub repository. Deployment is easily accomplished by clicking the Deploy to SalesForce button as shown below:
You will then be invited to complete some details concerning your deployment.
Following which the deployment will proceed automatically.
Adding the 'Create Account in Zentitle' action
You can now configure the SalesForce integration to perform common tasks with which you may be familiar from the Zentitle2 user interface. First, a word on terminology:
We start by adding the Create Account In Zentitle action to the Account page layouts. Login to SalesForce and, on the Setup page, go to Object Manager and find the Account item as shown:
Click this link and go to Page Layouts in the Account menu. A list of the page layouts that have been defined for accounts will now be displayed, where there is a link for each item, e.g.
For each page layout, drag the Create Account in Zentitle field from the Mobile and Lightning Actions menu into the Salesforce Mobile and Lightning Experience Actions panel.
It may be necessary to disable Feed Tracking on Accounts. To do this, in the SalesForce quick find box, Feed Tracking as shown:
You will be presented with a menu where you should select Account and uncheck the Enable Feed Tracking box.
In order to use the SalesForce Zentitle integration sample, your SalesForce users must be granted appropriate permissions. To do this, in SalesForce go to Users in the quick find box:
This will display a list of your SalesForce users. For each user to be granted Zentitle integration permissions, click their name link which will take you to the user edit page. At the top of this page you will find the Permission Set Assignments link.
Click this link and on the subsequent page, click the Edit Assignments button.
The following page shows two lists: Available Permission Sets and Enabled Permission Sets. Add Software Entitlements Admin from the available list to the enabled list and click Save.
NOTE CONCERNING SALESFORCE SANDBOXES: If you are deploying to a SalesForce Sandbox, in the quick find go to Setup > Custom Labels and select the label named Zentitle_Sandbox_Override. Click Edit, change the Value to TRUE, then click Save
Having seen how to create a new Zentitle customer in SalesForce, let us now see how to create a Software Entitlement for this customer.
In the 'waffle' (app launcher in the top left) search for Software Entitlements.
Clicking the Software Entitlements item will take you to the corresponding page.
Click the New button to create a new entitlement. This will take you to the New Software Entitlement page.
Set the Entitlement Type as Single. Set the Offering to be SKU of the corresponding offering which can be found in the Offerings page in Zentitle.
To obtain this, in a separate browser window, login to Zentitle and, on the Zentitle dashboard, select Product Catalog>Offerings from the main menu options:
On the Offerings page you will see a list of available offerings as shown below.
Copy the one required and paste it into the Offering box in SalesForce.
Set the Entitlement Seat Count to be the number of seats for the license and the Account to be the account you just created in SalesForce, i.e. "TestCustomer". Finally, click Save.
Wait 1-2 minutes for provisioning, then refresh the page; you should see, e.g. by editing the entitlement, the record with all the information populated:
Notice that a name for the entitlement has been automatically generated. You can also confirm in Zentitle that the new Entitlement has been created, by going to the page for your new Customer "TestCustomer" where you will see that the number of Entitlements has increased from 0 to 1:
and you can view the details of this entitlement directly on the Entitlements page (select Entitlements on main Zentitle menu.)
All syncs to and from Zentitle2, successful or unsuccessful, are logged as tasks on the Software Entitlement record. You can view these under the Integration Log tab on the Entitlement page in SalesForce:
Having seen how to create a software entitlement in SalesForce, we shall now see how an entitlement can be edited from within the SalesForce dashboard.
The title bar has four buttons as shown below:
which enable you to carry out the following four basic tasks:
Refresh Entitlement: This updates any changes made to the current entitlement on the Zentitle platform to SalesForce.
Edit: This enables basic editing of the current entitlement (specifically of the 'Information' and 'System Information' data - see below.) Saving such edits to SalesForce will also make the corresponding updates to Zentitle.
Clone: Makes a copy of the current entitlement, with the same 'Information' and 'System Information' data but a different name. Saving creates the clone in Zentitle.
Delete: Deletes the current entitlement from SalesForce and Zentitle.
The full scope of the editing functionality is made available on the Main tab on the entitlement page. This is divided into four categories, all of which can be accessed by scrolling down the page. At the bottom of the page are Cancel and Save buttons, which respectively abandon any unsaved changes, and save any such changes to both SalesForce and Zentitle.
The four edit categories are:
(Basic) Information
Software Attributes
Software Features
System Information
We shall proceed to look at these in turn.
This is basic information concerning your entitlement (Offering, seat-count etc.)
This is 'housekeeping' data pertaining to the SalesForce integration.
Setup your instance with extra settings.
In the configuration section, you can Import Customers, set up Account-Based Licensing and your End User Portal, add Custom Fields, and set up Security for your internal users.
To view the activation codes you have created for your entitlement, click the Activation Codes tab on the entitlement page. In the example as shown below, there is one activation code. When there are several, you may view them all by clicking the View All button.
Clicking View All will display a list of all activation code in form shown below . On this page this is a filter button, useful when you have a large number of activation codes, which you can use to filter the results by substring of either/both the activation code name or the activation code itself, as shown.
Each activation code has a drop-down menu which you can use to Edit or Delete the activation code.
Each activation code in the View All list has a dropdown menu with the Edit and Delete items, which you can use to perform these operations.
You can also edit an activation code by clicking the activation code name link in the Activation Codes tab. Doing so will bring up the details page for this activation code:
You may then edit the activation code by clicking the Edit button as shown above. Either way, the Edit page for this activation will then be displayed:
You can edit both the Software Entitlement and the Activation Code itself and then either Save or Cancel your edits using the corresponding buttons shown. The Save & New button will save the current, edited activation following which the New Software Activation Code dialog is launched, in which you can save a new Activation code:
Details of the actual activations of a software activation code can be viewed by clicking the Manage Activations tab on the Entitlement page. This will show a list of the activations for this code, as shown below.
You can filter the search results by entering into the search box indicated a substring of the Seat id, which will then return only those activations whose Seat id's contain this substring.
You can also perform server-side deactivations. This is achieved by checking some or all activations using the corresponding checkboxes on the left and clicking the Deactivate Selected Activation button.
Account Based Licensing is the process of managing users’ accounts and giving users access to software or an application, typically via a username and a password or an external identity management solution such as Microsoft Azure AD, Okta, OneLogin, Ping Identity, ForgeRock, Auth0, and Oracle Identity Manager.
Zentitle2 enables both types of application access and also allows you to choose the best-of-breed identity provider you or your customers are using.
Accounts replicated from the vendor's authentication platform are called "OpenID Token authentication."
Accounts created and managed within Zentitle2 are called username/password authentication.
Our platform needs a reliable way to determine and verify the identity of users who successfully sign into the application, which requires license/entitlement activation.
The server-side resources like APIs then use the token to verify the user's identity and access rights. With proper configuration done on the identity provider's side, the same JWT token can also be used for the license activation.
In addition to adding customers to Zentitle2, you may wish to update the data already in the database—to do that, you must use a unique account reference ID for each customer when importing for the first time.
Adding customers in bulk can be an effective way to add your customers to the system in bulk to save time. To import customers, click the vertical ellipsis next to the "Add Customer" button to begin the process.
The import customers page is located under the "Administration" > "Configuration" > "Import customers" on the top menu.
From the next screen, download the template file as a CSV file.
Open the CSV file in the appropriate application (typically MS Excel).
The AccountReferenceID field references an ID in an external system (for example, your CRM). If the import process finds a different customer in the system with the same AccountReferenceID, it will update the customer and not create a new customer. So be careful to have unique IDs in the data you import unless you wish to update what you already have in Zentitle2.
Fill in the worksheet with applicable data.
Once the worksheet is created with the appropriate data, click "Upload customers from CSV file".
To avoid painful data cleanup, we recommend first uploading a smaller sample of a few customers and checking to ensure no errors.
NOTE: the file requirements
Header row with column names is required
Use the correct input format for each field type
CSV file must be in UTF-8 encoding
Column separator “,” (comma)
Once you have successfully uploaded your file, you will get an alert in the UI.
Once the data has been successfully imported, you can review what happened and if it was successful or failed in the Customers Import page at the bottom in the import status box.
Finally, navigate back to the main customers section on the left navigation and review your imported customers for accuracy.
In addition to adding customers to Zentitle2, you may wish to update the data already in the database—to do that, you must use a unique account reference ID for each customer.
To update the database in bulk, repeat the above processes with the fields you wish to update. Always include the "account reference ID" field along with the changes or additions in the header row. This will process an "insert" function to update or add new data.
When importing data, if the data and field requirements are not met, the report at the bottom of the import page will show you the results - with a red warning icon if the data import was unsuccessful.
For example, if you didn't put any data into a mandatory field, you use duplicate data like the same email when you set it to unique, etc
The red button will allow you to download a report file with all the data in the file and the issues with the import so you can fix the issues.
Fix the errors shown in the download report and then retry your import, now it should import as required.
Having carried out the required configuration steps to connect the SalesForce integration sample to Zentitle, we are now in a position to establish this connection.
Go to Salesforce Setup. In the quick find box, search for Named Credentials.
Click the Named Credentials link. On the next page, select the Named Credential named Zentitle API.
Follow this link and click the Edit button that appears at the top right of the new page
which will take you to the Edit page for the Zentitle API Named Credential.
At this stage, you are required to enter into SalesForce some details about your Zentitle2 account. In a separate browser window, login to Zentitle2. On the sidebar, go to Administration>API Credentials. On the API Credentials page, click the Management API tab to view the Management API Details:
Take a note of the following information:
Tenant ID
API URL
OAuth URL
Keep this browser window open at the current page as we shall return to it shortly.
Go back to the Edit page for Zentitle API in SalesForce.
Ensure that the form is populated as shown above. Set the URL to be the API URL from your Zentitle Account. (i.e., https://sf-demo.api.zentitle.io) and click Save.
Back on the Zentitle API edit page, go to the Custom Headers section and click the New button.
Under the Custom Headers section click Edit to change the N-TenantId, and replace the value with the Tenant ID found in the API Credentials page of your Zentitle Account and click Save.
Go back to the Named Credentials page and click on the External Credential tab. Click on the External Credential named Zentitle Api.
In the Actions dropdown, click Edit to update the External Credential.
This will take you to the edit page.
Set the Identity Provider URL to be the OAuth URL value found on the API Credentials page of your Zentitle Account, appended by /protocol/openid-connect/token (i.e., https://sf-demo.keycloak.zentitle.io/realms/sf-demo/protocol/openid-connect/token), click Save.
This will take you to the Edit Principal page.
Now return to the go to the API Credentials page of your Zentitle Account and click Add API Client.
Set a name (Client ID) of your choosing and click Save.
You will be now be asked to save the Client Secret as shown. Please do so.
Back in the Salesforce Principal edit page, enter the name you used for the Client ID, copy the Client Secret from Zentitle2, enter it and click Save. This completes the setup of our Salesforce integration sample.
The End User Portal (EUP) facilitates the review of entitlements and any "offline" activation that may be required. The entitlement screens can be restricted so users can't see the usage graphs—see setup.
The URL for the EUP is unique to your company, and that is what you will issue to your end-users for access e.g., https://yourco.eup.zentitle.io/
The portal can be customized using your logo and styled via CSS per the previous page. In our examples, we will use the fictitious company "Elevate Software."
Here is the login page the end user will see once you issue them the custom URL to the EUP mentioned above. The custom logo has been added.
You can see the two methods for logging in—the first is using the "internal" username and password from Zentitle2, and the second is using your iDP via single sign-on (SSO).
Here is an example of an ISV like you setting up Auth0, which is the second option—you must set up this option in settings before it will function, obviously.
When your end-users log in, the main page shows a list of their entitlements and the opportunity to perform an offline activation process. The end-user can filter their entitlements and download reports quickly and easily.
The views below are for the "admin" role for your end-users.
Admin users can see all the entitlements in their account.
Standard users can only view the entitlements to which they are attached.
Note: you can add your custom logo like this example, it displays on the left hand navigation
Clicking on an entitlement will provide details on the features and capabilities they purchased.
End users cannot edit this information; they can only review it.
Using the internal tabs on the entitlements: "activations" and "activation log," will allow your user to review their usage and any attached activation codes.
The activations tab shows the end user who is in their organization, which is attached to the entitlement and the status of that user.
The activation log shows the end user the activity on the entitlement over time.
In the top right-hand corner, the user can easily log out or reset their password.
Your company logo will be used in End User Portal and Account Based Licensing emails and pages.
The branding section is located under the "Administration" > "Configuration" > "Account-Based Licensing" on the top menu.
To upload a logo, click the "upload" button and select a PNG file from your desktop of less than 1Mb in size.
This logo will now be branding your end user-facing pages.
The end user portal (EUP) is an option to help your end users manage their entitlements and do "offline" activations/de-activations.
A pre-built way for users to manage their entitlements saves support time and costs.
The end user portal can be customized to fit in with your branding. See below.
The End User Portal configuration page allows the vendor to easily upload a custom logo (via settings) and add a CSS stylesheet.
It also provides a convenient way to set the custom End User Portal URL.
NOTE: In order to have a custom URL, you will need to set up the appropriate CNAME records on your DNS information.
The End User Portal (EUP) setup page is located under the "Administration" > "Configuration" > "End User Portal" on the top menu.
Click the "edit" button in the top right of the first section to change the URL's name and allow a graph of activations to be displayed to the customer.
To upload your CSS, click the "upload" button and select a CSS file from your desktop.
Here is an example of what you should customize.
You will need to add "end-users" to Zentitle2 on a customer-by-customer basis for them to access the portal. Simply adding them will set off a process to invite them to set their own credentials and EUP access.
Please follow the next steps for successful account-based licensing integration within Zentitle 2 using OpenID tokens.
In the UI, go to the Account Based Licensing page (inside the Administration section).
The Account-Based Licensing page is located under the "Administration" > "Configuration" > "Account-Based Licensing" on the top menu.
Click the "add" button in the top right of the page to add the iDP details.
Now enter the required information:
IDP URL - root URL of the identity provider.
The URL is required to retrieve the IDP details from the OIDC metadata endpoint. The most important information is the cryptographic keys used to sign the JWT tokens - so that the licensing server can verify the authenticity and integrity of the tokens provided by the client application.
Username claim - the name of the claim inside the token, which should be used to retrieve the username associated with the seat when activating the license (email, name, user_name, etc.).
Authentication claim—the claim that holds the user's unique identifier, which will be used to match the JWT token with a specific account. The name of the claim depends on the configuration done in the Identity Provider service.
Certain integration calls must be executed to enable authentication when a new entitlement is created. Assuming that the entitlement has been created, including customer assignment, the following actions must be executed:
Create an identity in the vendor's authentication platform.
Add an end-user account under the same Zentitle 2 customer with the authentication type set to OpenID Token
and claim value stored under the authentication claim for this specific identity in the authentication platform.
Assign the newly created account to have access to the currently processing entitlement.
After the ABL has been configured and integration has been set up, the seat can be activated using the JWT token obtained from the Identity Provider when performing the user authentication in the client application.
To do so, execute an API call [POST] {licensing_api_url}/activate
with body
The rest of the client application logic related to licensing is the same as when using the activation code for seat activation.
You can edit all fields except the entitlement name by clicking the icon.
These are custom fields defined for a product that can be used to store useful information in the license. Please see for more information.
You can edit any one by clicking the Software attribute name link, or by clicking the dropdown which contains the Edit and Delete options. You can also expand this section to fill the page by clicking the View All button.
These provide a convenient way of organising optional product functionality, enabling your users to have a wide range of entitlements based on feature combinations. Please see for more information.
As above, you can edit any item by clicking the name link, or by selecting the Edit option in the dropdown . You can also expand this section to fill the page by clicking the View All button.
You can edit the Zentitle Entitlement ID and the Zentitle Entitlement Group ID by clicking the icon.
allows you to activate an entitlement using the end user's login credentials (Username/password) instead of the more "on-premise" based license key/code/activation code.
Nowadays, most identity provider services use the authentication protocol, where the user identity is encapsulated inside the JWT access/identity token obtained during the authentication process.
This importing function is designed for importing up to 10,000 customers and not large bulk imports—if you have a lot of users to import, please .
Download the template
NOTE: The template file will update when you , so be sure to add those first and then start the import process to include any extra data over the basic fields set up as standard. Click the image below for an example.
Upload the CSV file.
Review the imported data
Under the Principals section of the Zentitle API page, go to the Admin Perms principal. Click the Actions dropdown and select Edit.
Access to the EUP can be via either of our methods - internal username/password or via an iDP, e.g., Auth0, etc
This is only used in cases where the end user is not connected to the Internet - .
If you change the URL to your custom domain name, you will have to deploy a proxy to redirect traffic to your End User Portal. Please check sample proxy configuration on our github:
in the left-hand navigation or click the button on the top right.
→
Only identity providers that are compliant with the OpenID protocol are supported right now.
Nalpeiron has two containers for Customer data -
A "customer" is the same as an account, a business, or a client. These are all the highest-level entities in the customer tree.
A "contact" is the same as an end user, consumer, or user. It's the second level down, under the "customer." Contacts all roll up into a customer container and are found under that heading in the UI.
Nalpeiron has a number of contact "types":
A contact is simply a name in the system. It can be used in Zentitle or Zengain—it has no rights attached per se. It could be a lead in the CRM, for example, but not yet a paying account.
An "ABL contact," on the other hand, is a user whose Account Licensing Credentials are defined with Zentitle. These credentials allow for access and rights to your software. Typically, these users can access rights and additional options as the End User Portal Zentitle offers.
These are shared components between all products in the Nalpeiron platform. This means you can use either product or both together to help manage your business, drive new sales, or manage entitlements.
Contacts are very useful as you can manage a customer's lifecycle from before they purchase, i.e., they are in a trial or POC all the way through to the end of life. Contacts without ABL can be used just for the analytics component using your own entitlements or a third party. Or you can bundle both Zentitle and Zengain and then take advantage of both entitlements and analytics in a single platform—the choice is yours.
The second option for account management is to utilize the built-in capabilities of the Zentitle2 platform. This option provides a comprehensive suite of tools for creating and managing user accounts.
The logical flow is to add your "customers," i.e., companies, manually or by import.
Then, within the customer area, add contacts/end users and their associated account authentication details, i.e., "password," in this case vs. Open Id Token when using an iDP.
Then, entitlements can be allocated to these contacts/end users, and they can access the entitlement via their username/password vs. a license code, etc.
The following actions are included in this suite:
Sending an email with the initial password setup action: Once an account has been created, the platform automatically sends an email to the user. This email contains instructions for setting up their password, providing a secure method for users to establish their account credentials.
Locking the account after too many invalid login attempts: To protect against unauthorized access, the platform will lock a user's account if there are too many unsuccessful login attempts. This security measure helps to safeguard user accounts from potential threats.
Resetting the password: The platform provides a reset method if users forget their password or their account is locked out. This can be initiated by the account owner or vendor support, ensuring that users can regain access to their accounts when necessary.
Please follow the subsequent steps for successful account-based licensing integration within Zentitle 2 using the username/password flow.
The Account-Based Licensing page is located under the "Administration" > "Configuration" > "Account-Based Licensing" on the top menu.
In the UI, go to the Account Based Licensing page (inside the Administration section).
Create a "customer" or select an existing one.
Navigate to the "ABL" tab under the customer section.
Click the "add" button on the top right of the page.
Now, you can either select an existing contact from the dropdown list (one with ABL attached yet) or add a fresh contact by clicking the "add contact" button.
In this example, we will pick one from the existing contacts list.
Then select if they are a "user" or an "admin," and the "Authentication type" is set to Password
.
Click save to add this contact to the ABL list.
Zentitle2 will immediately send an invitation email to the user at the provided email address, which will also be used as the username for authentication.
Once the ABL contact (under a customer) is in the system and ready to use, they must be attached to an entitlement in Zentitle if they want to access their software rights.
Create an entitlement, or use an existing one, and allocate it to the customer to whom the contact belongs. This is a required step.
You can't allocate an entitlement to an end-user unless the parent company is attached to an entitlement first.
Once on the entitlement you wish to allocate to a user, navigate to the "ABL" tab at the top of the page.
Then, select the end user to assign from the dropdown list in the top right of the page.
Then click the "add" button to the right of the drop-down box to allocate the user to the entitlement.
The task is complete, and you can see the end-user associated with the entitlement. They can access it via the set username and password they were emailed. On first use, they will authenticate with Zentitle2 and be able to start using their application and associated rights per the entitlement.
The default password policy for all tenants with
min length: 8
require one lowercase character
require one uppercase character
require one number
require one special character
To enable your app. to authenticate end users via password type ABL, execute an API call in your app. as below:
[POST] {licensing_api_url}/activate
with body
The seat name is optional. Seat ID is a fingerprint, so it is not human-readable.
The Seat name could be a computer name or any identifying data you want to add to the record.
The rest of the client application logic related to licensing is the same as using an activation code to enable a user on an entitlement.
We understand that everyone's business is different, and you and your team have specific needs for how you will use Zentitle to accomplish your software monetization goals.
There are many use cases for custom fields, especially related to your customers and what data you like to connect with them, such as account numbers, tax details, and links to other records in your systems, such as CRMs, ERP, billing, and in-house back-end systems. Custom fields are also great for storing extra data relating to the customer for analysis, contract numbers, additional contact details, sales stages, sales rep name, region, territory, support contracts, and all manner of data valuable for the sales and support teams.
You may also wish to create fields that act like internal "tags" where you have codes to identify groups of clients (e.g., VIP) or where you want to segment them in some fashion - it's all easy to do with custom fields.
The same idea applies to what you sell (offerings). You can go beyond a basic SKU and add specific codes for the offering that ties back to your systems, such as accounting, CRMs, ERPs, billing, and in-house back-end systems.
You can also group (string with a limit of 50 characters, optional) these fields to make them more logical, as in the example below, where custom address fields are added to a group called "Address."
To access custom fields, click the "Administration" > "Configuration" > "Custom Fields" link in the top navigation.
NOTE: Add the fields one by one in the order you wish to display them on the screen; you cannot reorder them later, so it's very important to think about the layout of the fields now so they display how you would like them on the customer and offering areas.
To add a new custom field, click the "Add" button on the right side of the screen. A sidebar menu will open to help you create the new attribute.
Provide the necessary information for your new custom field.
Select the object for which you'd like to create the custom field. You may create a custom field on either the Customer or Offering object.
In this example, we create custom fields on the "Customer" object.
If your custom field is part of a group (a collection of custom fields you want to categorize), provide a Group Name.
Provide your new custom field with a field key, which will be the field's name as it's stored in the database in lowercase. Do not use spaces in this name.
Next, provide a display name as the field should appear in Zentitle.
Lastly, specify whether the field should enforce unique values.
Finally, click Save to create your custom field.
Your custom field is now live in the system and can be used in the object in which it was created.
Once you have added custom fields and grouped them, the customer page in this example lays them out in the groups as sections on the page so your data is tidy and logical.
In the example below, we created two groups, "address" and "contact," as you can see, the new custom data now shows two new sections on the customer details page.
In this example, we create custom fields on the "Offering" object.
If your custom field is part of a group (a collection of custom fields you want to categorize), provide a Group Name.
Provide your new custom field with a field key, which will be the field's name as it's stored in the database in lowercase. Do not use spaces in this name.
Next, provide a display name as the field should appear in Zentitle.
Lastly, specify whether the field should enforce unique values.
Finally, click Save to create your custom field.
Your custom field is now live in the system and can be used in the object in which it was created.
Once you have added custom fields and grouped them, the offerings page in this example lays them out in the groups as sections on the page so your data is tidy and logical.
In the example below, we created a group, "backoffice" and "ERP ID Key," as you can see, the new custom data now shows two new sections on the customer details page.
To edit a custom field, click on the field from the list of custom fields. The sidebar menu will open in edit mode. Enter the information you wish to edit and click Save.
To delete a custom field, click on it from the list of custom fields. The sidebar menu will open in edit mode. Click on the three dots icon and select "Delete custom field selection."
Warning: Deleting this custom field will delete all of its related objects! This action CANNOT be undone and you will lose all the data associated with this action.
A One-Time Password (OTP) or two-factor authentication should be set up by your Admin.
The setting is located under the top left main navigation button, then "Administration" > "Configuration" > "Security"
Enforcing 2FA is a one-time action that cannot be reverted.
All existing users and all newly created users are now required to configure Two-factor authentication on their next login. This also applies to any pending user invitations.
Using this screen, you will set up your secure login details.
You need to set up a Mobile Authenticator to activate your account.
Install one of the following applications on your mobile device.
Note: it only works with these three
Microsoft Authenticator
FreeOTP
Google Authenticator
In this example, we use Google Authenticator.
Your Authenticator is now ready to use to log in.
Your account should be set up and ready to use your OTP codes.
You should now have a secure two-factor login process established.
As a matter of policy in Zentitle, you can "hard" delete many of the areas of setup, e.g., products, plans, editions, entitlements, customers, etc.
Having a hard delete policy allows you to have the ability to remove things, often important things, and these actions cannot be undone. Flexibility with responsibility.
As a result, we only allow "Admin" roles the ability to hard delete. Other users will not be allowed to use the delete function.
Another issue with deleting is the cascade effect. For example, if you delete a product, it will simultaneously delete all the other objects attached to it. That could be a lot of time and data that could be lost as a result.
IT IS YOUR RESPONSIBILITY TO ENSURE NO ONE IN YOUR ORGANIZATION DELETES OBJECTS FROM ZENTITLE WITHOUT CAREFUL THOUGHT, AS THERE IS NO UNDELETE FUNCTION
The option to delete is visible in the top right corner of the Object Details page or in the Object Edit drawer.
Clicking the three dots shows the delete option. This is an example of one of the most "dangerous" objects to delete (products), as it will delete almost everything related to a product simultaneously.
It's likely a better option to start lower down the "chain" of objects (e.g., an edition or an entitlement) for safety unless a product really needs removing, such as the testing phase where no real data or users are involved.
Clicking on the Delete option shows one of two popups:
An additional layer of "security" has been added to ensure the user understands the consequences and has to take various actions before deleting the object with a "chain" of objects connected to it.
In this case, as you can see, the consequences are made clear in the warning popup box.
The words must be typed in the box to prevent an accidental click for deletion.
DO NOT DELETE THIS TYPE OF OBJECT WITHOUT VERY CAREFUL PLANNING AND THOUGHT!
NALPEIRON WILL NOT BE ABLE TO RESTORE LOST DATA, OBJECTS, OR ANYTHING ASSOCIATED WITH THE HISTORY OF DELETED OBJECTS YOU OR YOUR USERS DELETE.
NALPEIRON WILL NOT BE HELD LIABLE FOR ANY CONSEQUENCES OF YOUR ACTIONS RELATED TO DELETING OBJECTS FROM ZENTITLE.
To enable your end users to access the End User Portal (EUP), you will need to add them to your customers in the system.
When you add them, and you have access to the EUP functionality on your plan, you will see an option to set them up with EUP access. They will receive an email to access the EUP and self-serve offline activations, along with the opportunity to review the products on their account.
Granular permissions allow you to see who can view what on the EUP dashboard—the end user's admin level allows them to see more details.
To add an end user to the EUP, first add an end user under a customer per the docs on customers, etc
Zentitle2 fully supports offline activations, enabling your customers to activate a seat when the machine has no internet connection.
Note that an application that has been activated in an offline node lock manner cannot use the Advanced Features (usage count, element pools).
Applications using the Local License Server can make use of all Advanced Features.
Using the client SDK, generate an offline activation request token within your application and move it to a connected machine (such as using a USB key, copy/paste, or other technique). See Step (1) above.
In order to test this, you will need an activation code associated with the product and entitlement tested. This can be found in the "entitlement" section in the Zentitle2 UI.
Now, you need to access the "end user portal" page related to your account.
Go back to the offline machine (Step 2) and use the client SDK to ingest the response token in order to complete the offline activation sequence.
The offline machine is now "activated" with the required entitlement.
Similarly, a user can de-activate an "offline activated device" by calling the DeactivateOffline API in the client SDK, which will immediately invalidate the locally cached license and simultaneously generate a Deactivation Credit token, which can be copied/moved to a connected machine using a USB key or other means and pasted into the End User Portal in the 'Deactivation' section.
Using the client SDK, generate an offline deactivation request token within your application and move it to a connected machine (such as using a USB key, copy/paste, or other technique). See Step (1) above.
To add a new contact (end-user) to a "customer" account, navigate to the customer and select it in the "customers" section of the left-hand navigation.
Navigate to the "contacts" tab under the customer section.
Click the "add" button on the top right of the page.
Add a contact for a customer and their details: First name, last name, email, title, and any CRM reference ID (or other means to ID this contact).
As before, navigate to the contacts tab for a customer.
Find the contact to edit from the list and click that line item.
Click the "edit" button on the contact.
Edit the details as required.
Click save.
As before, navigate to the contacts tab for a customer.
Find the contact to edit from the list and click that line item.
Click the ellipsis on the right of the the details.
Click "delete contact."
If the contact doesn't have any entitlements, it will simply be deleted; however, if it has entitlements attached, it will undergo a further layer of security, as below.
An additional layer of "security" has been added to ensure the user understands the consequences and has to take various actions before deleting the object.
Click the radio buttons confirming this action and enter the confirmation text.
Then click delete again to remove the contact.
Any form of deletion CAN NOT BE UNDONE. BE VERY CAREFUL WHEN DELETING.
Contacts can have ABL rights or not. These two states can be moved back and forth.
We have shown how to add rights to a contact, below you can see how you can easily remove the ABL rights.
Edit a contact (as above) and review the ABL credentials in the right-hand box.
In the top right are the three dots you can click. Click those.
To remove the ABL access, "delete" the credentials, and that will remove them.
Select the contact from the list.
Then, edit the contact "ABL credentials" box.
As you see here, an email is registered, but no role or authentication is selected.
Then select the End User Portal role from the dropdown options: User or Admin.
Finally, set the "Authentication type" to either "password" (for Zentitle2 internal Account Based Licensing option) or "Open ID Token" (for the Open ID Connect option with your chosen iDP).
Click save on the add end-user page.
Zentitle2 will immediately send an invitation email to the user at the provided email address (ensure it is spelled correctly), which will also be used as the username for authentication and access to the End User Portal (EUP).
This assumes you have the correct subscription for this functionality.
The contacts will click on the embedded button "Set your password," which will take them to the EUP login page to complete their access.
The contact then sets a secure password and clicks set password.
Once they have set their password, they can log in to the EUP in your domain.
Once logged in, they can use the EUP and, depending on their permissions, view different views of their entitlements.
Zentitle provides a lot of flexibility with custom fields (string with a limit of 50 characters, mandatory). Custom fields allow you to store your specific attributes on the and objects.
Click the Enforce button.
On the pop-up dialog confirm your choice by clicking the "Enforce 2FA" button. This action cannot be reverted.
In the Security tab, you will now see a message saying "2FA is currently set to: ON"
You will be presented with the following screen and you will need to configure 2FA for your account.
Install or open a mobile authenticator as described below to continue.
Open the application and scan the barcode.
The authenticator should now register the device name and offer a code to complete the process.
Enter the one-time code provided by the application into the setup page online.
Provide a Device Name to help you manage your OTP devices.
Click "Submit".
Open the authenticator of choice (Google here)
Note the 6-digit code generated for access to this account.
Enter the code into the login screen after using your usual username and password.
Click "sign in".
If only a single object is deleted as part of the process, then only the standard warning will show as below:
If there is a cascade of objects deleted as a result, then a more comprehensive warning will show after showing the standard delete (above). This is the second warning that describes what the consequences of the action will be.
In order to use the EUP, first, you need to .
→
The API calls to manage offline activations are in the , and there are functions to manage offline activations within our client SDKs (for example, ).
Open the SDK.
Paste in the activation code previously sourced.
Click "Copy to clipboard" (or save to file).
In the real world, this would be the specific e for your specific customer.
Paste it (or upload it) to the End User Portal's offline activation page.
Click on 'Activate.
Copy the response token.
Open the SDK on the offline machine again.
Paste (or load from a file) the token from the portal page.
Click "activate offline."
Open the SDK
Click the "deactivate offline" button.
Click "Copy to clipboard" (or save to file)
Paste it (or upload it) to the End User Portal's offline activation page.'
Click on 'Deactivate.
Now, the seat has been removed from the server side and can be re-activated again as required.
or select an existing one.
Once added, you can to a contact
.
Entitlements track what your customers have purchased and all changes through the lifecycle.
In the context of software licensing, entitlement refers to the specific rights and permissions that a customer has to use a particular software product. An entitlement is essentially a record of what a customer has purchased, determining what they can do with the software.
Entitlements can include a wide range of permissions and restrictions, depending on the specific licensing agreement. Some common examples of entitlements include:
The number of users or devices that are allowed to access the software
The specific features or modules that are included in the license
The geographic location or territory where the software can be used
The duration of the license, including start and end dates
The level of technical support that is included with the license
Any restrictions on how the software can be used or distributed
Entitlement management is an important part of software licensing, as it helps ensure that customers are using the software in compliance with the licensing agreement. By tracking entitlements, software vendors can ensure that customers are only using the software within the limits of their license, which helps prevent misuse and piracy.
When a given customer purchases a license, you can generate an entitlement (either manually or on an automated basis) from the appropriate offering for that specific customer.
An entitlement group is created for each entitlement.
The Zentitle2 dashboard provides a convenient overview of your account. Each widget can be clicked to reveal further details about that particular metric.
The current dashboard has following main sections:
Overview (platform use): This shows the four main categories in the product portfolio.
Entitlements (churned): This shows entitlements that expire over time.
Entitlements (churn risk): This shows entitlements expiring over time.
Popular links: Useful links to the docs and APIs, etc
Activations Map: This displays the geographic distribution of activations from the past 30 days. Zoom in on the U.S. to view the distribution across individual states.
Entitlements (sales): This shows the weekly sales volumes of your offerings.
Entitlements (upsell opportunity/piracy risk): This shows clients who need more licenses either because they are trying to overuse the entitlement or simply because they need more capacity.
Entitlements (upsell opportunity/overdraft utilization): This highlights customers who are utilizing their allocated overdraft seats.
You can click on any section and drill down into the data behind it. Doing so will lead to a report page that allows you to filter and export the data.
This data can be very helpful in management meetings and planning or to encourage sales to prevent churn or upsell clients.
The dashboard is being constantly improved, with new options added over time. We apologize if this page is delayed in shipping the new versions!
Clicking on a widget on the dashboard goes to the data behind it and the report you can use or modify as required.
For example, clicking on the 30-day expiry widget directly shows a report showing that data.
Once you have added contacts and they are set up on the Account-Based Licensing basis, you can individually invite them to the EUP as either users or admins.
This happens automatically when they are sent their password setup email once added to Zentitle2 for the first time.
In summary, all your users will get automatic access to the EUP as either a user or admin permission level once added to the platform if you are using Account-Based Licensing.
If you want to resend the password to your users, navigate to the end users tab in the Customers section and hit the Resend invitation email button. Same goes to reset the password.
As you can see above, the button in the top right has changed color and is set to "Enable Customer," ready for you to reverse the process when required.
The Customer "disabled" status can also be seen in the list of all your Customers.
To check that this process also disabled the entitlements, you can quickly use the entitlement button on the customer page to check their status.
As you can see here on the list of entitlements above, they are all now disabled.
The disable button will show again now.
The customer and all its entitlements are fully activated, and the activation codes attached will function again.
Customers in Zentitle are equivalent of "Accounts" or "Companies" in your CRM system - your customers at a company level. This level can also be used in a B2C situation.
The Customer object in Zentitle refers to a company type level with only a few basic attributes as standard.
In general, we assume you will keep most of your customer data within your CRM system and link that back via the account ref ID we provide.
We suggest getting that right before you import or add any of your customers to Zentitle.
To add a single customer quickly, navigate to the "customers" link in the navigation.
The Customers option is under "Customers" on the left menu.
Optionally add in an "Account reference ID", which is useful for connection to a CRM or external system for more data on the customer and system connectivity.
Click save.
Any form of deletion CAN NOT BE UNDONE. BE VERY CAREFUL WHEN DELETING.
To speed up the management of your customers, you can easily add or edit entitlements right within the customer page.
Navigate to a customer from the list or via search, and you can quickly see how many and what entitlements the customer has or create an entitlement for this customer right on the customer page.
Each contact in Zentitle has an individual page that maps out their "details," "ABL credentials," and any assigned "entitlements," so it's easy to see their status in one place and to manage them quickly and efficiently.
You can also easily message that user from the page and delete unwanted contacts.
You can review their details, their CRM ID, and any other fields for this contact.
ABL access is also easy to review, add, or remove for this contact. If a contact is missing ABL credentials, you can add it from the Entitlement page.
The same goes for any entitlements they have assigned. You can easily see which offering(s) they have, their status, and when they expire, as well as quickly download reports of that contact's history.
Clicking any entitlement allows for quick editing and access to that specific entitlement.
Each Offering and Entitlement (inherited from the offering) can contain a maintenance option.
This can control whether users can update the application to a new version. For example, a user can buy a perpetual entitlement for v1 with maintenance for a year, and if v2 is released within a year, the user is entitled to this upgrade because they have the maintenance option enabled.
This feature can also be used to identify if the entitlement owner has a support package.
Therefore, when you add entitlements to an offering, it will inherit the maintenance options preset.
If you choose not to add maintenance to the offering, you can still edit an entitlement and add this option after it is created.
If the plan type is anything but perpetual in the offering associated with the entitlement, that will be the only option.
Simply save the change; now this specific entitlement has the maintenance option attached.
If the offering had a perpetual plan, then an expiry date associated with the maintenance can also be edited.
The Maintenance Expiry Date field displays the expiration date of the maintenance service associated with the entitlement. This date helps to track when maintenance coverage will end.
The Maintenance Expiry Date is informational only and does not affect the actual maintenance status of the entitlement.
Maintenance on an entitlement can be enabled or disabled independently of its expiry date.
Once the Maintenance Expiry Date is set, it will be displayed in the status section of the entitlement, allowing users to view the expiration date directly from the entitlement’s details.
The contacts tab displays the contact (s) from the associated company attached to the entitlement.
To attach a contact to an entitlement, these contacts must exist, be set up, and be attached to the company object.
If so, they will show in the dropdown box for you to select if you wish to add them to the entitlement manually. Or they may be attached via an automation in the API.
If you wish to add an ABL contact (your customer's users/contacts) to this entitlement, click the dropdown list from the top right of the section, select the contact, this assumes you already have contacts under this customer in Zentitle.
Next, click the "plus" button to the right of the dropdown box.
You can see the contact associated with this entitlement in the list.
The “Seat Active” column shows who's using a "seat" for this Customer—you could have many contacts, but only a select number are allocated to a seat.
For example, when there is a limited number of seats, and you need to remove someone and add someone else, the “Seat Active” column allows you to check who is not using the system, allowing you to remove them safely.
The page allows you to see your entitlement activations at a glance, including useful data such as seat ID, Seat Name, Activation date, Lease Expiry, and Status.
Now you can review the details of a specific activation and the rights that the user has activated on their seat.
You can also see the "status" of the seat i.e. active.
And the date it was activated, along with when the license refreshes (Lease expiry).
Any form of deletion CAN NOT BE UNDONE. BE VERY CAREFUL WHEN DELETING
The entitlements are located under the "Entitlements" on the left menu.
You must select an Offering name to create an entitlement.
This is optional, so you can skip this step if you don't have a customer related to this entitlement.
If you edit a specific entitlement, we suggest adding notes in the notes tab to clarify how this entitlement is derived to avoid confusion and issues later.
Selecting that option can also "force a seat count change" in edit mode. Seats will be removed during the lease refresh period.
Editing the features or attributes for this specific entitlement, i.e., to override the standard settings from the offering, is done right on the page; no need to click the edit button.
Choose the feature or attribute to edit for this entitlement.
Click the 'pencil" icon on the item's right.
Edit the setting.
Click save.
Once you have saved the change, it will show up as an "Override" as you have made an exception to this specific entitlement over the standard settings.
Any form of deletion CAN NOT BE UNDONE. BE VERY CAREFUL WHEN DELETING.
In Zentitle, a given entitlement may have multiple valid activation codes - any of which can be used to activate a seat against the entitlement.
Activation codes are generally used in "node-locked" software product installations and in other scenarios involving the "on-premise" licensing paradigm.
There is no requirement to use an activation (license) code - you can simply use account-based licensing (ABL) instead, where a user's login credentials are used to validate an entitlement. That can be directly from an iDP (e.g. Octa, Ping etc) or from within Zentitle)
On the main Entitlements section at the base of the page is the "Activation Codes" section.
This area allows you to add, delete, or copy Activation Codes associated with this entitlement. These codes are generally for distribution with your commerce or billing system to enable the end user to "activate" their purchased product, etc.
The resulting codes are added to the Activation Codes view in that section.
Any form of deletion CAN NOT BE UNDONE. BE VERY CAREFUL WHEN DELETING.
Alternatively, you can add your own codes, subject to some rules.
Your own codes need to be added line by line with a return between them, and they can only be alphanumeric A-Z UPPERCASE and 0-9 and a dash (-).
The resulting codes are added to the Activation Codes view in that section.
Once you have either added your own or, more likely, generated automated codes, you can export them to an Excel-compatible list for use in your other systems.
The entitlements page will usually have many rows, and you can review the status and many other factors in the useful report/table under the main Entitlements page.
The status of an entitlement can be:
Clicking on any row will take you to the entitlement page with six tabs.
The six tabs, Details, Activation codes, ABL (contacts), Activations, Activity log, and Notes, all display helpful data about your entitlement.
Once you have your entitlements set up, you can manage them easily.
Created date: date and time the entitlement was created.
Customer name: any associated customer.
Account reference ID: Your own account reference for this customer.
Order reference ID: your own order ID associated with the entitlement.
Offering name: The attached offering name.
SKU: the SKU or catalog number for the offering.
Product name: The associated product.
Plan: the associated plan.
Plan type: the associated plan type.
Maintenance: the status of any maintenance associated with the entitlement.
Seats: The no. enabled seats.
Seats used (%): the % seats used vs allowed.
Concurrency mode: the mode for this entitlement, i.e., node or concurrent mode.
Overdraft seats used: if overdrafts are enabled, the overused seat count.
Overdraft seat limit: if overdrafts are enabled, the seat limit.
The lease period: the time the entitlement is set to call back to Zentitle2.
Offline lease period: the time the license is allowed to be offline.
Grace period: the extra time added to the license end date to allow an end-user to pay, etc
Linger period: if this is set, the linger time.
Entitlement ID: the unique entitlement ID.
Product ID: the productID is required in setup phase.
This section of your details page shows the status of your entitlement and allows you to renew it easily.
Status: the current state of the license e.g. active, expired, etc. The status is color-coded so you can easily see the state.
License start: the process for starting this license, e.g. by activation.
Maintenance: is maintenance enabled for this entitlement? If so, then an additional field below will display the maintenance expiry date.
Activation date: when the entitlement was activated.
Expiry date: the date the entitlement expires based on its settings. In this example, it's a one-year subscription.
Maintenance expiry date: if the maintenance option is enabled then you will also see the Maintenance expiry date
Your entitlements can be hosted in the Zentitle2 cloud or in our Local License Server (LLS) deployments. This area displays the entitlement's location.
The entitlement page also has the attached features and attributes. These can be modified as required by editing them directly on the page using the "pencil" button next to each item.
Next, we will work with "activation codes" attached to an entitlement (where applicable).
Inviting contacts to join the is automatic once you add them to Zentitle2 per the previous doc page.
This functionality allows you to easily control end user's access to your software in the field. Disabling the end user's seats or access can be done at either the "Customer" level, where disabling propagates to all entitlements, or at the , where it can be targeted to specific sets of entitlements and associated activation codes.
The way this works is your software should be set to query the Zentitle servers at set intervals (per the API and setup) along with your own programming - see best practices below - and any entitlements disabled in the Zentitle system will block access at that refresh point. This means if you have a very long refresh period, licenses will continue to function until they either refresh based on your programming (e.g., API call to Zentitle on startup) or they call back to Zentitle based on the .
Search for your customer or find them on the list in the customer section.
Click the "Disable Customer" red button in the top right-hand corner of the customer page.
Click "yes" to disable the customer. Disabling the customer will also disable all of their entitlements. You can disable and re-enable the customer without losing any entitlements.
Once successfully disabled, you can check its status on the Customer page.
Search for or select the customer from the list in the Zentitle UI found on the left-hand navigation.
Click "Enable customer" in the top right-hand corner. Re-enabling a customer will allow activation again.
Click the "Yes" button that shows up in the dialog box.
The status of these entitlements will also display to the end user via the if you are using that option for your users so they can also see what entitlement is disabled (and pay any delinquent license fee).
Note: All the entitlements for this customer will be disabled simultaneously when using this process. If you only want to disable some, not all, of the rights of the customer, use the "" option instead.
See also "".
However, if you wish to use Zentitle as a more powerful tool for managing your clients and their entitlements, we suggest adding all the additional fields you use in your business via the
Remember, you can .
To add a customer to Zentitle2, click on 'Add Customer'.
Then, enter the customer's name. This data is required.
It may be valuable to add notes to a customer record so that valuable information can be shared across the team and help better understand details around the customer. Notes can be found in the Notes tab.
To edit a customer, click on that customer's name in the customer list.
Click the "edit" button in the left section to edit the customer name and ID details.
Make any changes and click save.
To delete a Customer, pick one from the list.
Pick the 'three dots' icon on the top right.
Select 'Delete customer.'
Confirm you wish to delete when prompted for confirmation.
As this customer has connected objects below it, you must confirm with the three radio boxes and a text input of the name to delete, complete those, and then select delete.
Maintenance is usually added to an entitlement by default when, where the offering has your maintenance options added as required.
Select the entitlement you wish to edit from the list.
Click the edit button on the "details" screen in the top tabs.
Navigate halfway down the page to the maintenance drop-down box. If you wish to enable the option, then choose that.
To .
Click on the' Activations' tab to see which seats are active against the entitlement.
To see the details of a specific activation, click on that Seat ID.
If you wish to delete that activation, click the 'three dots' icon.
Select 'Deactivate'
Confirm you wish to delete that activation from that user (seat) by clicking "deactivate."
The entitlement will now show the activation has been removed.
Click on 'Add Entitlement' in the top right corner to generate a new entitlement and enter the details.
First, select a "Customer name" from the dropdown menu. This is optional, so you can leave it blank at this stage or assign it to a customer.
Next, choose "Offering name" from the dropdown menu. This is mandatory.
Finally, add any optional associated order ID to connect with your billing, accounting, CRM, or ERP system.
Click save.
Repeat until all your entitlements are set up.
To edit an existing entitlement, click on the entitlement in the row.
On the entitlement page, click on the "edit" button in the top right of the first section to edit the details on the entitlement but not the features or attributes.
Make the desired changes to the settings, etc. These settings will all have been inherited from the associated offering. This acts like a template, but you can create a unique entitlement per customer as required.
To review what all the options mean see the "" section.
Click 'save'.
To delete an entitlement, pick one from the list.
Pick the 'three dots' icon on the top right.
Select 'Delete entitlement.'
Confirm you wish to delete when prompted for confirmation.
Click the "add" button in the top right of the section to add codes.
You will offered two options for creating codes: Generate or Type in.
To automatically generate codes, click "Generate" and then set the volume of required codes.
Then, click save.
To delete an activation code, pick one from the list.
Click the "trash can" icon.
Select 'Delete activation code.'
Confirm you wish to delete when prompted for confirmation.
Select the "type in" option.
Add your own codes based on the rules above.
Then click save.
Click the "export" button in the top right of the section, and a file is generated in the browser and saved to your default download folder.
As with all our report tables, you can export the data and manipulate the tables to your requirements. →
Renew now button: a one-click way to renew the entitlement, .
Any manual edits to the standard offering from which the entitlement was derived will be marked as an "," as in this example; in this case, the AAC feature was edited specifically for this entitlement.
To learn what each of the values above means, refer to the
Active
Entered upon activation creation
Will last until lease period defined on entitlement level has not expired
In this status activation is exclusive to its owner and cannot be reused
When all activations are in Active
state any activate seat request above entitlement seat count will be denied
Active
activation should be refreshed before lease period ends to ensure that seat and checked out features will remain exclusive to activation owner
Refreshing activation will (same rules apply to calling refresh in other states, unless specified otherwise)
Refresh operation will change activation status to Active
if current state is different
Preserve activation id
Preserve all previously checked out features
Lease Expired
Entered when activation lease period expires
Activations in this status are still considered used in terms of seat usage count
Activation in Lease Expired
state will hold and block all previously checked-out features. However, operations on features are no longer possible without refreshing it first
Any activation seat request that is still below the seat limit count will not affect any expired activations
Activate seat requests when the seat count limit is reached will recycle most expired activation
Created
This applies to an entitlement connected to a plan featuring an 'Activation License Start Type,' where:
active period starts on activation and no seats have been activated to date
manual activation and no activation has been set yet
Active
Entered upon entitlement creation
For perpetual license type this will last forever
For subscription license type Active
status persists under the following conditions:
subscription period has not ended
the entitlement expiry date has not been edited to a past date
Grace Period
The Grace Period
status is activated under the following conditions:
applies exclusively to subscription license entitlements
a grace period has been defined for the entitlement at the entitlement level
the active subscription period has ended
grace period will last for the specified duration starting on status change.
In terms of operations this status is equivalent to Active
status
Expired
This status is only for subscription license-type entitlements and displays when the subscription or grace period has ended
Disabled
This status in entered when you click the disable entitlement red button
After you have set up your product catalog and started selling, you will need to start managing customers and their licenses, activations, and entitlements. Sell them upgrades (or downgrades), disable those that don't pay, or manage what they have purchased or wish to purchase.
The next section explains the various functions in the UI and the associated APIs for managing entitlement rights and customer purchases.
The Overdraft tracker is a great way to grow sales. It provides an "evidence-based" approach for the sales team to discuss options with customers and upsell them to new product editions (if that's your business model).
If you have hard limits on paid licenses, as most vendors do, you will never see any latent demand. The overdraft tracker allows you to add a new usage limit to each license to enable the user to consume more up to a higher set limit (so you still control the overall usage).
When they consume more than they paid for, they go into "Overdraft," you can easily capture those users/entitlements in a report and use that at renewal time or for sales, in general, to contact your customers and sell them more based on your policies.
When you add a "usage" based feature, you can now add an "overdraft" additional limit above the usage purchased - or even add unlimited usage - and anything above the purchased limit will be tracked and will allow you to use it in an upsell discussion with your customer.
Entitlements should be created from "offerings" as a best practice. Then, if you want to change the rights, you should change the associated offering, i.e., from one offering to another offering, e.g., from good > best, in your good/better/best pricing table or price list.
In addition to creating an entitlement from a fixed pattern like an offering or swapping the rights with another offering, you can manually "override" these settings.
When you manually change an existing set of rights post-creation, other changes will not propagate to that entitlement.
In these cases, where changes are made to a standard set of rights from an offering or changed later with an offering change, you can see these changes in the UI on the entitlement main page.
See the image above for an example. This allows you to track changes as they are highlighted in all entitlements that have modifications.
Any area of an entitlement that has been changed or overridden post creation will have an "alert" (exclamation) icon on its right.
Rolling over the alert will pop up a tooltip with details. In this example it shows the fact that the standard value of "5" in the offering has been overridden in another process and made up to 250.
Clicking the "alert" icon will open a dialog box to revert the change to the original offering.
Click "remove" to revert this setting (in this case, seats) to its original offering settings.
After clicking "remove," you will see that the "seats" are now back to "5" the original setting for this offering.
NOTES If the new Seat count is lower than the current Seats used, we force a seat count change by removing the oldest active seats. In the same way we do with editing the seat count on an Entitlement.
If the value of Advanced features: elements used is higher than the new limit, we allow check-ins of elements only to prevent overuse and show a warning message.
Notes can be a valuable addition to an entitlement record. They can help explain why an entitlement was added or edited and provide background information on how an entitlement was set up for a given customer. Each team member can view notes for an entitlement.
To add a note, navigate to the Notes tab, enter a new note, and click Save.
Deleting
In certain cases, you may wish to leave an entitlement in place with a client and edit its usage levels vs. offering a new entitlement with more usage, etc.
You can do this using search or the left-hand navigation to locate the entitlement you wish to change.
Then, click on the entitlement in the list. Doing the latter opens the entitlement page and tab.
Scroll down the page to the Advanced Features section and choose the Usage count feature(s) you wish to edit.
In this example, you can see there is a single use out of the 100 tokens available, and in this action, we will reset usage back to 0 i.e., the count will reset back to the original 100 available.
Above, we can see that the action was completed successfully, and the count is reset to zero.
Changing offerings on an entitlement is an important workflow for a Software Vendor - it means upgrading or downgrading the end users' rights, which needs to be fast and easy for both parties.
This functionality makes it easy - through both the UI and the API - to allow an upgrade/downgrade from one offering to another.
This functionality will enable a clean and controlled process to move customers between your products/plans/editions vs. manually editing an existing entitlement. It also means they will seamlessly get more/less functionality based on fixed templates in the system vs. random changes on a per-customer or entitlement basis. It is much easier to manage in the long term.
If you wish to change the offering attached to an entitlement after you have added it, then you can do so and also remove the seats attached to the entitlement in the process.
Values on the entitlement that have been overridden will not be modified.
NOTES If the change is a downgrade: If the new Seat count is lower than the current Seats used, we force a seat count change by removing the oldest active seats. In the same way we do with editing the seat count on an Entitlement.
If the value of Advanced features: elements used is higher than the new limit, we allow check-ins of elements only to prevent overuse and show a warning message.
Once you set up entitlements and have your customers in Zentitle2, you can allocate them to your end users.
Navigate to the entitlement you wish to allocate.
Then, select the "ABL" tab. The ABL contacts tab displays the end user (s) from the associated company attached to the entitlement. These end users must exist and be already set up and attached to the company object.
Now, assuming you have some end users attached to a customer and a customer is attached to this entitlement, you can select the end user from the dropdown list.
Then, click the "plus" button to the right of the dropdown box to add the user.
Almost all licenses/entitlements sold to customers must be "renewed" at some point unless they are lifetime perpetual type licenses (v rare). Subscriptions renew regularly; even perpetual licenses are subject to upgrades and updates over time.
The renewal functionality in Zentitle makes this process faster and easier; now, you can renew a license with two clicks.
This function simply repeats the plan that already exists on the entitlement. The example below is on a yearly subscription, and this process will extend that year for another - with identical rights.
This entitlement will now have the same rights extended for the same original period i.e. one more year added to the original year purchased etc.
Fast, simple, time-saving!
Renewal before expiry date: If the renewal is processed before the entitlement's expiry date, the entitlement is extended for the next period, starting from the current expiry date. If consumption tokens are used, they will be reset on the original expiry date. This reset is scheduled as a future event.
Renewal during grace period: If the renewal is processed during the entitlement's grace period, the entitlement is extended for the next period, starting from the original expiry date, as there was no disruption in service. If consumption tokens are used, they are reset at the same moment the renewal is processed.
Renewal after expiry: If the renewal is processed after the entitlement has expired, a new subscription period begins from the date of the renewal event. This is due to a disruption in service. If consumption tokens are used, they are reset at the same moment the renewal is processed.
Of course, this process can be automated using our API:
This tab and data show the activity on your entitlements, be they codes or end users.
At the top of the page, you have a graph showing a license's usage (typically active seat count) over time.
Seat Count is the allowed number of seats that can be used with this Entitlement.
Min and Max are the maximum and minimum count of used seats at any given moment during the day.
If you have enabled "overdrafts," you can track usage vs. both the licensed amount and the hard limit set by the overdraft.
Customers in an "overdraft" state can be tracked and reported upon. Those reports benefit the sales team in discussing potential upsells to current contracts where the usage or seat levels are proven too low by the need for an "overdraft."
Overdrafts serve another function; they allow your customers to avoid the "hard limit" usually set by a contract so that their users are not blocked by the licensing constraints set - this can lead to higher customer satisfaction levels.
To see the activation history of that entitlement, click on the 'Activity Log' tab.
You will see a table of all activation, deactivation, refresh, feature usage, IP Address etc., events and a graphical chart of seat counts over time with low water and high water marks for each day.
Note that the ‘Entitlement seat count’ value shown on the graph represents the highest seat count for the entitlement on a given day.
Product features are ways to control the components of your product so that you can monetize the product with maximum flexibility.
Zentitle offers three feature types:
Access Control - Is this feature available in this product and enabled (by default) or not?
Usage Count - Is this feature tracked based on usage, and is the "overdraft" option enabled?
Element Pool - Is this feature tracked as part of this product's "pool" of usage and is the "overdraft" option enabled?
For example, you may have a 1-year subscription that provides 1000 report runs over the year. The feature would track how many reports had been run so far (with the application deducting one from the count each time the report is run).
For example, let’s say there is a storage management cluster, and the business model is to charge for the aggregate amount of storage under management across the cluster. Each node would check out from the element pool the quantity of storage that node was managing (50TB, 100TB, etc.), and the licensing would enforce that at no time was the aggregate amount of storage licensed ever exceeded.
The “Product” in the Zentitle context typically refers to a given application or binary. License definitions are typically specific to a given product (i.e. a Word license may have features defined for access to dictionaries, thesaurus, etc., whereas an Excel license might have features related to pivot tables, etc.)
A product allows you to define the blueprint of an entitlement for each of your products (which features can be enabled/disabled, values for various attributes, and advanced features such as counters).
You can define as many products with as many attributes as you wish per your subscription level.
You can also set default values for each attribute at the product level that can be overridden at the edition or entitlement level.
The Product option is located under the "Product Catalog" > "Products" on the left menu.
Once a product is created, you can edit the parameters you wish to use with it, as below.
If you just created the product, you will now be in the product section with five tabs and an edit button. If you are viewing your list of products, click on a product name in order to view or edit it.
You now have four initial options in the first tab:
The lease period minimum value is 1 hour. A best practice is daily.
Think of this as a "heartbeat" time limit: how long before the remote node contacts the server for revalidation.
For some applications that are in an intermittent internet connectivity situation, a longer lease period will be more convenient for the user. Other situations may call for a more frequent check with the server. That's up to the customer to decide.
The following three settings are optional and use the same timing options:
The offline lease period minimum value is 1 day.
The grace period minimum value is one day.
Any form of deletion CAN NOT BE UNDONE. BE VERY CAREFUL WHEN DELETING.
If you delete a product, you will also delete everything else "under" if including offerings - it's VERY dangerous to delete a product if you have actually used it with customers.
Once you have added the basic values, you can click the other tabs to add more options as required.
In this section, we describe the "business model" part of the process, where you define your various options and attach those to entitlements ready for you to sell to your customers.
The Zentitle hierarchy for your use of the platform uses these concepts: products, editions, plans, offerings, and entitlements.
These should map to your way of marketing and selling your "products," be they a SaaS service, hardware, or on-premise software.
The basic starting point is a simple "product" with associated "entitlements" provided to the customer.
Where you have a more complex sales model, all the other options come into play.
Everything starts with adding a "Product" and then flows from there.
There is a specific order of events to get things set up correctly.
Once you have added a "product," you will have the option in that process to create "editions" for that product as required. A default "edition" is provided. You need at least one edition.
"Plans" can be created independently of the products. Several example plans are provided.
Then, you can use the defined products, editions, and plans to create "offerings."
Offerings require that you have already set up products, editions, and plans.
Once you have the above setup, you can create "entitlements" based on the "products" and "offerings." If required, you can add "activation codes" to an offering for distribution to your customers.
You must have set both a product and an offering in order to create an entitlement.
The Overdraft tracker is a great way to grow sales. It provides an "evidence-based" approach for the sales team to discuss options with customers and upsell them to new revenue tiers (if that's your business model).
If you have hard limits on paid licenses, as most vendors do, you will never see any latent demand. The overdraft tracker allows you to add a new limit to each license to enable the user to consume more up to a higher set limit (so you still control the overall usage).
When they consume more than they paid for, they go into "Overdraft," you can easily capture those users/entitlements in a report and use that at renewal time or for sales, in general, to contact your customers and sell them more based on your policies.
This function is a premium option on the entitlements setup, reports, and activity log pages.
As you can see above, the status is set to "disabled" with a red icon, and the button in the top right has changed color and is set to "Enable entitlement," ready for you to reverse the process when required.
The entitlement "disabled" status can also be seen in the list of all your entitlements.
The status will now show as "created" where it was before it was changed. The red disable button shows again for any future changes.
The entitlement is now fully activated again, and the activation codes attached will function again.
Note: Entitlements can be disabled independently of the customer being disabled, which means that you can disable one or the other, but the entitlement will remain disabled if you set it here, even if the customer is re-enabled, etc., i.e., if you disable an entitlement, you have to re-enable it directly not via the customer process.
Once you have an entitlement setup , you may need to manage the usage levels on these features.
You can use your other systems and our API:
To reset the Usage Count feature in the Zentitle2 UI, you first navigate to an entitlement with a token attached with some form of usage.
On the right side of the token you will find a "three dots" menu option, click that option.
Click "Reset used count" to reset the token count.
Then click "reset" to complete the action.
To change the offering on an entitlement, pick one from the list.
Pick the 'three dots' icon on the top right.
Select 'Change Offering.'
Select the new offering from those available from the drop-down menu.
Decide if you wish to force a seat limit change at this time by selecting the radio button.
Click the "change" button to save the changes.
Navigate to the entitlement you wish to renew (by searching or from the list).
Click the "Renew now" button in the top right area of the main entitlement page.
Check the new term and license rights are what you are expecting, and click "renew" (or cancel).
Once you have an entitlement set up using usage counters, you may need to manage the usage levels on these advanced features. In certain cases, you may wish to leave an entitlement in place with a client and edit its usage levels instead of offering a new entitlement with more usage, etc. See how to Reset
Click 'Create Product' on the top right button.
Then, enter the name of the product you wish to create
Click save.
Click 'Edit' to update the product name or set the default values.
Make any changes.
Click save.
Click on the number and time options (minutes, hours, days, and weeks).
Set them according to your needs.
Click save.
Click on the two options, number and time (minutes, hours, days, and weeks)
Set them according to your needs.
Click save.
Click on the number and time options (minutes, hours, days, and weeks).
Set them according to your needs.
Click save.
To delete a product, click on that product name.
Pick the 'three dots' icon on the top right.
Select 'Delete Product.'
Confirm you wish to delete when prompted for confirmation.
As this product has connected objects below it, you must confirm with the two radio boxes and a text input of the name to delete, complete those, and then select delete.
To learn what each of the values above means, refer to the
Setup Products
Setup Editions
Setup Plans
Setup Offerings
Setup Entitlements (and activation codes)
→
This functionality allows you to easily control end user's access to your software in the field. Disabling the end user's seats or access can be done at either the ", where disabling propagates to all entitlements, or at the entitlement level, where it can be targeted to specific sets of entitlements and associated activation codes.
The way this works is your software should be set to query the Zentitle servers at set intervals (per the API and setup) along with your own programming - see best practices below - and any entitlements disabled in the Zentitle system will block access at that refresh point. This means if you have a very long refresh period, licenses will continue to function until they either refresh based on your programming (e.g., API call to Zentitle on startup) or they call back to Zentitle based on the .
Search for or select the entitlement from the list in the Zentitle UI found on the left-hand navigation.
Click the "Disable Entitlement" red button on the top right of the entitlement page.
Click the "Yes" button that shows up in the dialog box. Disabling this entitlement will revoke access to it. You can re-enable it at any time.
Once successfully disabled, you can check its status on the entitlement page.
Search for or select the entitlement from the list in the Zentitle UI found on the left-hand navigation.
Click "Enable entitlement" in the top right-hand corner. Re-enabling an entitlement will allow activation again.
Click the "Yes" button that shows up in the dialog box.
The status of these entitlements will also display to the end user via the if you are using that option for your users so they can also see what entitlement is disabled (and pay any delinquent license fee).
See also "".
Then, Click 'Add' to add any features you wish to enable or disable for a product.
Pick the "type" of feature: Access Control
Then, set the default value to enabled or disabled.
Click Save.
Pick the "type" of feature: Usage Count
Then, select the "value" for the usage tracking.
Is the value limited to a specific value or unlimited? Select the required option and set any values for this feature. This example sets the feature usage tracking limit to 100 uses.
Then, if you have "overdrafts" enabled in your subscription, you can set the overdraft tracking feature to allow additional usage over the "sold" amount. You can track how much overuse you wish to allow, either an absolute extra amount or a percentage or an unlimited amount of usage over the standard set value for this feature.
This function will then track the amount of "overdraft" the end-user uses for this feature.
If the feature "value" is set to "unlimited", you will not be able to define "Overdraft limit" for it. Overdraft can be used only for features with value limited to a specific value.
Click Save.
Pick the "type" of feature: Element Pool.
Then, select the "value" for the pool usage tracking. In this example, a pool of 100.
Then, if you have "overdrafts" enabled in your subscription, you can set the overdraft tracking feature to allow additional usage over the "sold" amount. You can track how much overuse you wish to allow, either an absolute extra amount or a percentage or unlimited usage over the standard set value for this feature.
This function will then track the amount of "overdraft" the end-user uses for this feature.
Click Save.
Any form of deletion CAN NOT BE UNDONE. BE VERY CAREFUL WHEN DELETING.
A “Feature” in the Zentitle context is a boolean flag that determines whether a given feature/module/component should be enabled or not for a given user. Features can also be "tracked" based on usage and even tracked for "over-usage" () so that your sales team can upsell your customers.
Features can be added at the "product" level or as "global features" across all your products. In this example, we are adding them at the product level, but for speed, if you use the same features (and attributes) across the product line, it's faster to start at the .
Navigate to the "products" section on the left-hand navigation. Then, edit a product and select the "features" tab.
Name the new feature, something useful to reference later.
Pick the "type" of feature:
Overdrafts are a great way to allow clients to consume more than they paid for for upsell/cross-sell purposes. .
Overdrafts are a great way to allow clients to consume more than they paid for for upsell/cross-sell purposes. .
Repeat for any other features you have across your product editions.
To delete a feature, pick one from the list.
Pick the 'three dots' icon on the top right.
Select 'Delete feature.'
Confirm you wish to delete when prompted for confirmation.