РАБОТАЕТ НА REELNOX STUDIO · BACKDROP_ · TIMEPEEK

Продавайте своё десктопное приложение.
О ключах позаботимся мы.

Генерируйте, активируйте и проверяйте лицензионные ключи через один крошечный API — привязанные к устройству активации, пробные периоды, отзывы лицензий. Создано инди-разработчиком, которому это было нужно. Теперь открыто для каждого инди-разработчика.

a sale, as seen by your app

$ curl -X POST api.sublimearts.io/v1/licenses -d '{"product":"my-app"}'

MYAPP-·····-·····-·····-·····

✓ key delivered to buyer — machine-locked, revocable

КАК ЭТО РАБОТАЕТ

Три запроса. Это вся интеграция целиком.

01

Зарегистрируйте продукт

Один запрос. Выберите slug и префикс ключа — готово.

curl -X POST api.sublimearts.io/v1/products \
  -H "Authorization: Bearer $SUBLIMEKEYS_API_KEY" \
  -d '{"slug":"my-app","key_prefix":"MYAPP"}'
02

Выдавайте ключ при каждой продаже

Вызывайте это из вебхука Stripe или Gumroad — ключ возвращается уже готовым к отправке по email. (Или вовсе пропустите этот вызов — см. AUTOMATE в доках.)

curl -X POST api.sublimearts.io/v1/licenses \
  -H "Authorization: Bearer $SUBLIMEKEYS_API_KEY" \
  -d '{"product":"my-app","email":"buyer@mail.com"}'

→ "MYAPP-K3F7Q-9WZ2M-P8RT4-XN5CB"
03

Проверяйте внутри приложения

Привязанная к устройству активация, офлайн-проверка через подписанный lease (до 7 дней без сети не требуется), отзыв лицензии при возврате средств.

from sublimekeys import SublimeKeysClient

client = SublimeKeysClient(product_id="my-app")
result = client.verify(license_key=key)
if result.valid:
    unlock_full_version()

Python? pip install sublimekeys — официальный SDK, сам занимается офлайн-проверкой. Смотреть на PyPI → · Node.js / Electron? npm install sublimekeys Смотреть на npm →

ЦЕНЫ

Начните бесплатно. Апгрейд — когда он себя окупит.

FREE€0

1 продукт · 100 ключей · 5 устройств/ключ

PRO€9/мес

5 продуктов · 1 000 ключей · 25 устройств/ключ

BUSINESS€29/мес

неограниченно продуктов и ключей · 100 устройств/ключ

FAQ

Вопросы, которые действительно важны.

Что будет с моими лицензиями, если SublimeKeys закроется?

Ваши данные никогда не окажутся заложником: каждый ключ и активацию можно в любой момент экспортировать через API (GET /v1/licenses) без каких-либо разрешений. Если мы когда-нибудь свернём сервис, платящие клиенты получат уведомление за 12 месяцев и полный экспорт данных. А поскольку этот же API питает наши собственные продукты — ReelNox Studio, BackDrop_, TimePeek — поддерживать его живым жизненно важно и для нас самих.

Должны ли мои пользователи быть онлайн?

Только при первой активации, а дальше — примерно раз в неделю. Каждый вызов /activate и /verify возвращает криптографически подписанный lease, действительный 7 дней — проверяйте его локально, без сетевых запросов, без слепого доверия. Официальные SDK для Python и Node.js/Electron делают это автоматически; на других языках можно самостоятельно проверить подпись Ed25519 (см. доки).

Что будет, если я достигну лимита своего плана?

Ничего не сломается. Существующие ключи продолжают активироваться и проверяться вечно — вы просто не сможете выпускать новые, пока не сделаете апгрейд. Ваши клиенты вообще ничего не заметят.

Что будет, если я понижу план или отменю подписку?

Ничто и никогда не удаляется, не приостанавливается и не отзывается — ни ваши продукты, ни один-единственный ключ лицензии. Всё продолжает работать точно так же, как и раньше, навсегда — и для вас, и для каждого клиента, уже купившего у вас ключ. Единственное, что меняется: вы не можете создавать новые продукты или ключи сверх лимитов нового плана, пока не сделаете апгрейд снова. Программное обеспечение ваших клиентов никогда не должно ломаться из-за решения, принятого на вашей стороне.

Где хранятся мои данные?

В ЕС — на выделенной инфраструктуре в Нюрнберге, Германия, везде HTTPS. Ваш API-ключ хранится только в виде SHA-256 хеша: физически мы не можем прочитать его обратно.

Как отозвать ключ?

Продукты → выберите продукт → Управление ключами. Найдите ключ (по email или самому ключу) и нажмите «Отозвать» — это происходит мгновенно и необратимо, именно так, как и должен работать возврат средств. Под капотом это DELETE /v1/licenses/{key}, ограниченный так, что вы можете затронуть только свои собственные ключи.

На скольких устройствах может активироваться одна лицензия?

Сколько решите сами, до потолка вашего плана. Передайте max_activations при выпуске ключа через POST /v1/licenses (по умолчанию 1, если не указано). Продаёте «личное использование, 3 устройства»? Установите значение 3. Сам потолок на один ключ масштабируется вместе с вашим планом SublimeKeys — 5 на Free, 25 на Pro, 100 на Business — так что один утёкший ключ никогда не распространится дальше этого предела, независимо от вашего плана. Полный список полей — в доках.

Могу ли я перенести данные с Gumroad, Keygen или собственного сервера?

Да. Массово выпустите ключи для существующих клиентов с помощью реального скрипта на десять строк — точный код см. в разделе MIGRATE в доках. Префиксы ключей настраиваются, поэтому новые ключи будут соответствовать вашему бренду с первого дня. Это перевыпускает ключи для ваших клиентов, а не сохраняет старые строки ключей — доки объясняют этот компромисс.