Commercial software
The ONLang SDKs and CLI are paid, closed-source software, licensed per app. They are not open source, though they include open-source components under their own licenses.
The terms under which you may use ONLang’s paid SDKs for iOS, Android and React Native, the ONLang CLI and the hosted Services they connect to.
The ONLang SDKs and CLI are paid, closed-source software, licensed per app. They are not open source, though they include open-source components under their own licenses.
Every new app gets a free trial with everything, real users included. After it, the app needs one of two plans.
Per app: a share of the orders from users who saw an ONLang flow, or a flat monthly fee with nothing per order. Paid through Stripe, or the flat plan in Telegram Stars; switch at any time.
If a plan lapses or the Services stop, the SDK shows your own screens and users can still buy. You never have to recall a released build.
The SDK sends UI telemetry tied to a random install id, only after the user's consent. You control that data; we process it for you.
This License is governed by the laws of the Republic of Kazakhstan, and disputes go to its competent courts.
This summary helps you read the License; the full text below is what applies.
This SDK License (the “License”) is an agreement between ONLang.io (“ONLang”, “we”, “us”) and the company or person that accepts it (“you”). You accept it by creating a console account, by downloading, installing or using the SDK, by choosing a Plan, or by signing an Order Form that refers to it. If you accept it for a company, you confirm that you may bind that company, and “you” means the company.
An Order Form may name the ONLang entity that contracts with you; that entity is then the licensor. Where an Order Form and this License disagree, the Order Form decides for that order. A data processing agreement, once signed, decides on the processing of personal data (section 8).
onlang billing subscribe, through Stripe Checkout or ONLang's Telegram bot, or custom terms in an Order Form.The SDK lets a Customer App show paywall and onboarding flows that ONLang serves: compositions of your own registered native components, compiled and verified before they ship, never downloaded code or web views. It records how End Users interact with those flows, runs experiments against a fixed holdout, and falls back to a cached flow or your own screen when a flow can't load or is switched off. Its parts are listed below.
The SDK is commercial software. It is not open-source or free software, and nothing in this License makes it so. It includes open-source components, which are licensed to you under their own licenses (section 12).
The SDK needs the Services to serve flows, run experiments and receive events. Using the Services is part of your trial or Plan and is governed by this License.
| Part | Packages | Runs on |
|---|---|---|
| iOS SDKRenders flows natively with DivKit and your registered components; StoreKit 2 and RevenueCat purchase adapters. | Swift Package Manager: github.com/onlang-ai/onlang-ios (OnlangContract, OnlangCore, OnlangKit, OnlangStoreKit) and onlang-ios-revenuecat (OnlangRevenueCat) | iOS 15 or later · UIKit and SwiftUI |
| Android SDKRenders flows natively with DivKit and your registered components; Google Play Billing and RevenueCat adapters. | Maven Central, io.onlang: onlang-contract, onlang-core, onlang-kit, onlang-compose, onlang-billing-play, onlang-billing-revenuecat | Android 6.0 (API 23) or later · Views and Jetpack Compose |
| React Native SDKPure JavaScript: renders the same flows with your own React components, with no native module. | npm: @on-lang/react-native | React Native 0.74 or later · Expo or bare |
| CLIHypotheses as code: lint, preview, publish, experiments, proposal review and the kill switch. | npm: @onlang/cli (the onlang command) | Node.js · macOS, Linux, Windows |
Free trial. Each new Customer App gets 14 days, from when it is created, to use the SDK and the Services free of charge, in Production too (we may extend a trial in writing). For an app created before plans existed, the trial started when plans were introduced.
Subscription. After the trial, while a paid Plan is in force for a Customer App, we grant you, for that app, a worldwide, non-exclusive, non-transferable license to:
End Users may use the SDK only as part of a Customer App, under your own end-user terms; you may not grant them more rights than this License gives you. We reserve every right this License does not expressly grant.
Each Customer App is on one of two Plans, unless an Order Form says otherwise:
Owners and admins of your organization choose or switch a Plan on the console's Billing page, or with onlang billing subscribe usage or onlang billing subscribe flat; a switch takes effect at once, and the flat plan is prorated. onlang billing shows your Plan, its standing, the last 30 days' Orders and what the other Plan would have cost at that volume.
onlang billing portal). The flat plan is charged monthly in advance, usage fees monthly in arrears. ONLang never sees your card details.onlang billing telegram). A one-time link connects a Telegram account to the Customer App. That account pays 2,500 Stars in advance for each 30 days, and Telegram renews the subscription until it is cancelled in the bot (/cancel). The usage plan is paid through Stripe only. A Customer App pays through either Stripe or Telegram, not both at once. Telegram's terms for Stars also apply to the purchase. Telegram's support cannot help with it: ask us, with /paysupport in the bot or at the address in section 20.You may not, and may not let anyone else:
onl_sk_…) outside your organization or ship them in an app. Publishable keys (onl_pk_…) are made to ship in apps;What the SDK collects. Impressions, taps, scroll depth, time on screen, rage and dead clicks, plan selections, purchase outcomes and drop-offs on ONLang flows, with the composition shown and the app's registry version, tied to a random install id the SDK generates on the device. It does not collect names, email addresses, account ids, advertising identifiers (IDFA, GAID) or device fingerprints. Until your app reports the End User's consent, events stay on the device for up to 30 days and nothing is sent; when consent is declined, they are deleted.
Store events. Through the store webhooks you configure, the Services receive trials, purchases, renewals, refunds and cancellations, linked to install ids through the purchase's account token.
Roles. For Customer Data you are the controller, and ONLang processes it on your behalf, on your instructions, to provide the Services. Ask at the address below for our data processing agreement; once signed, it forms part of this License.
Use. We use Customer Data to provide, secure, support and improve the Services for you, including your apps' optimizer and planner. We do not sell it, use it for advertising, or use one customer's Customer Data for another customer's apps. We may use aggregated statistics that identify neither you nor any End User (for example SDK performance) to improve ONLang.
Console accounts. To run the console we process the names and email addresses of your staff, their sessions and their actions in the audit log, as described in our privacy notice. Staff who log in with Telegram also share their Telegram user id, name and username with us, never their phone number.
Payments. Stripe, and Telegram for payments in Stars, process your payments as independent providers. We keep the Stripe customer and subscription ids, the Telegram account id and username that pays and Telegram's charge ids, the Plan and payment status, and each day's Order counts and fees; never card numbers.
Orders. To compute usage fees we read the store events of Orders (price, currency, product, transaction id) from Customer Data.
Security. Keys and session tokens are stored only as hashes, store credentials are encrypted at rest (AES-256-GCM), and traffic is encrypted in transit.
Deletion. We delete an install's data when you ask, and all Customer Data within 90 days after your last Customer App's trial or Plan ends, unless the law requires us to keep it. You can ask for an export before then.
ONLang and its licensors own the SDK and the Services and all rights in them. This License grants a license, not ownership.
You own your Customer Apps, Customer Content and Customer Data. You let us host, copy and process them only to provide the Services to you. A proposal from the LLM planner becomes Customer Content once you accept it, and we assign to you any rights we have in it.
If you send us feedback, we may use it without obligation to you.
Each party keeps the other's non-public information confidential, uses it only for this License, and shares it only with people who need it and are bound to keep it confidential. Our non-public documentation, the terms of your Order Form and any SDK source we share with you are our confidential information. This does not cover information that is or becomes public through no fault of the receiving party, that it already had or develops independently, or that it must disclose by law (after telling the other party, where allowed).
The SDK includes or depends on open-source components, licensed to you under their own licenses, which this License does not limit:
The Google Play Billing adapter depends on the Google Play Billing Library, under Google's Android Software Development Kit License, and the iOS SDK uses Apple's frameworks under Apple's terms. You accept those terms with the platforms. Each SDK ships a LICENSE.md with these notices.
During a paid Subscription Term, we warrant that the SDK will perform substantially as its documentation describes and that we have not knowingly put malicious code in it. If it does not, tell us: we will fix it, and if we cannot within a reasonable time, either party may end the affected subscription and we will refund the fees prepaid for its remaining period. That is your remedy for a breach of this warranty.
Otherwise, and during a free trial, the SDK and the Services are provided “as is”, to the extent the law allows, without other warranties, express or implied. We do not promise any conversion uplift, revenue or app store approval: results depend on your app, your End Users and your hypotheses.
To the extent the law allows, neither party is liable for indirect or consequential loss, or for loss of profit, revenue, business or data, arising from this License, however caused.
To the extent the law allows, each party's total liability under this License is limited to the fees you paid or owe ONLang under it in the 12 months before the event the claim arises from.
These limits do not apply to your fees, to a breach of section 6 (What you may not do), to infringing the other party's intellectual property, to harm caused intentionally or by gross negligence, or to liability the law does not allow to be limited.
We will defend you against a claim by a third party that the SDK, as we provide it, infringes their intellectual property, and pay what a court awards or we agree to pay in settlement. We may instead get you the right to keep using it, change it so it does not infringe, or end the affected subscription and refund the prepaid fees for its remaining period. This does not apply to claims caused by Customer Content, by combining the SDK with things we did not provide, or by using it against this License.
You will defend us against a third-party claim arising from your Customer Apps, your Customer Content or your use of the SDK against this License, and pay what a court awards or you agree to pay in settlement.
The party defended tells the other promptly, lets it control the defense and settlement, and helps reasonably at its cost.
This License starts when you accept it and continues while a trial or a Plan is in force for one of your Customer Apps. You may cancel a Plan at any time in Stripe's customer portal, or in ONLang's Telegram bot for a Plan paid in Stars; it ends at the end of the period you have paid for. Either party may end this License if the other materially breaches it and does not cure the breach within 30 days of written notice.
When it ends, your license ends with it and the Services stop serving your Customer Apps; the SDK in installed apps then shows your own screens. You do not have to recall or remove app versions already released. Within 90 days, stop releasing new builds that include the SDK. Fees due before the end stay due.
Sections 6, 8 (Deletion), 10 to 15, 18 and 19 continue to apply after the end.
We may update this License. We publish each version on this page with its version number and effective date, and email account owners at least 30 days before a material change. For Customer Apps on a paid Plan, a new version applies from your first billing period after the notice ends, unless the change is required by law or for security. Trials always follow the current version.
This License, and any dispute arising from it, is governed by the laws of the Republic of Kazakhstan. Before going to court, the parties try in good faith to settle a dispute for 30 days from written notice of it. Disputes that are not settled go to the competent courts of the Republic of Kazakhstan.
Questions about this License, Plans and invoices, the data processing agreement or a legal notice: onl@onlang.io.