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

仕組み

3回の呼び出し。それが統合のすべてです。

01

プロダクトを登録

1回の呼び出し。スラッグとキープレフィックスを選ぶだけ — 完了。

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

販売のたびにキーを発行

StripeやGumroadのWebhookから呼び出せば、キーはすぐにメール送信できる状態で返ってきます。(またはこの呼び出し自体を省略することも可能 — ドキュメントの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

アプリ内で検証

デバイス固定のアクティベーション、署名付きリースによるオフライン検証(最大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デバイス/キー

よくある質問

本当に重要な質問。

SublimeKeysが終了したら、私のライセンスはどうなりますか?

あなたのデータが人質になることは決してありません。すべてのキーとアクティベーションは、いつでも許可なくAPI(GET /v1/licenses)経由でエクスポートできます。もしサービスを終了することがあれば、有料ユーザーには12ヶ月前の通知と完全なエクスポートを提供します。そして同じAPIが私たち自身のプロダクト — ReelNox Studio、BackDrop_、TimePeek — も支えているため、これを維持することは私たちにとっても死活問題です。

ユーザーは常にオンラインである必要がありますか?

最初のアクティベーション時と、その後は週1回程度だけです。/activate/verify の呼び出しはそれぞれ、7日間有効な暗号署名付きリースを返します — ネットワーク通信なしで、盲目的な信頼もなしに、ローカルで検証できます。公式の PythonNode.js/Electron のSDKがこれを自動で処理します。他の言語ではEd25519署名を自分で検証できます(ドキュメント参照)。

プランの上限に達したらどうなりますか?

何も壊れません。既存のキーは永久にアクティベートと検証を続けられます — アップグレードするまで新しいキーを発行できなくなるだけです。あなたの顧客は何も気づきません。

ダウングレードやサブスクリプションを解約したらどうなりますか?

何も削除されず、停止されず、失効することもありません — プロダクトも、ライセンスキー一つたりとも。すべてはこれまでと全く同じように、永久に動き続けます。あなたにとっても、すでにキーを購入したすべての顧客にとっても。唯一変わるのは、再度アップグレードするまで新しいプランの上限を超えるプロダクトやキーを作成できなくなることです。あなたが下した決定によって、顧客のソフトウェアが壊れることは決してあってはなりません。

私のデータはどこに保存されますか?

EU内 — ドイツ・ニュルンベルクの専用インフラ上に、すべてHTTPSで保存されます。あなたのAPIキーはSHA-256ハッシュとしてのみ保存され、物理的に元に戻して読み取ることはできません。

キーを失効させるにはどうすればいいですか?

プロダクト → プロダクトを選択 → キーを管理。キーをメールアドレスまたはキー自体で見つけて「失効」をクリック — 即座に、そして取り消し不可能に実行されます。返金の仕組みはまさにこうあるべきです。裏側ではDELETE /v1/licenses/{key}が実行され、自分自身のキーにしか触れられないよう制限されています。

1つのライセンスは何台のデバイスでアクティベートできますか?

あなたのプランの上限まで、自由に決められます。POST /v1/licenses でキーを発行する際に max_activations を渡してください(指定しない場合はデフォルトで1)。「個人利用、3台まで」として販売する場合は3に設定します。キーごとの上限自体もSublimeKeysのプランに応じて変わります — Freeなら5、Proなら25、Businessなら100。そのため、どのプランでも漏洩したキー1つがそれ以上拡散することはありません。フィールドの完全なリストはドキュメントを参照してください。

Gumroad、Keygen、または自前のサーバーから移行できますか?

できます。既存の顧客向けに、実際に動く10行ほどのスクリプトでキーを一括発行できます — 正確なコードはドキュメントのMIGRATEを参照してください。キーのプレフィックスは設定可能なので、新しいキーは初日からあなたのブランドに合わせられます。古いキー文字列をそのまま維持するのではなく、顧客のキーを再発行する形になります — そのトレードオフについてはドキュメントで説明しています。