ライセンス
アクティベーションコードの仕組み、期限切れ時に何が起きるか、各エラーメッセージの意味、シート数の数え方。
Busabase Premium のライセンスは 1 本の文字列です: ペイロードと署名をドットで区切ったもの。ペイロードには誰に発行されたか、何シート分か、いつ期限切れになるかが入っています。署名は Ed25519 で、ビルドに埋め込まれた公開鍵で検証されます。
この設計には、はっきり書いておくべき帰結が 1 つあります: 検証はネットワークに一切触れません。 エアギャップされたインスタンスも、公開インターネット上のものと全く同じようにライセンスを検証します。
コードを受け取る
コードは Busabase Cloud アカウントの設定 → セルフホストライセンスから発行します。トライアル登録をすると 30 日のコードが即座に発行され、待つ必要はありません。
これは意図的な設計です。クラウドには一度だけログインします — 本人確認のためと、後で更新する場所を持っておくため。それ以降はすべて自分のマシン上で完結します。
有効化する
システム管理 → ライセンスで貼り付けて保存。再起動なしで即時反映されます。
ページにはコードが実際に解決した内容が表示されます: 顧客名、シート数、期限、プラン。閉じる前に必ず読んでください。有効化には成功したのに、50 シート買ったはずが「5 シート」と表示される——これは、誰かを招待できなくなった日にではなく、有効化直後の 10 秒で気づいておきたい間違いです。
ライセンスが期限切れになると
インスタンスは読み取り専用になります。停止もしませんし、締め出しもしませんし、何も削除しません。
| 引き続き使える | 使えなくなる |
|---|---|
| ログイン | メンバーの招待 |
| すべての閲覧 | メンバーのロール 変更 |
| エクスポートとバックアップ | メンバーの削除 |
| 更新コードの貼り付け | その他の書き込み操作 |
ライセンスページは期限切れでも意図的に到達可能なままです。他のすべてが読み取り専用になったときに動かなければならない唯一のページ — 更新コードを貼り付ける場所だからです。
これは「ライセンスとは何のためのものか」についての明確な判断です。期限切れとは、お客様に当社へのお支払いが残っているという意味であって、自分のデータへのアクセスを失うべきだという意味ではありません。更新の遅延でデータを人質に取る製品を、当社は出したくありません。
シート数
1 席 = このインスタンスにログインできるメンバー 1 人。シート数は招待時にチェックされます: 上限に達している場合、招待はその旨のメッセージとともに拒否されます。受け付けておいて後から静かに失敗する、ということはしません。
メンバーを削除するとシートは即座に解放されます。
エラーメッセージ
以下はすべてローカル検証によるもので、「ライセンスサーバーに到達できなかった」を意味するものは 1 つもありません。
| メッセージ | 実際に起きたこと |
|---|---|
Activation code is empty | 何も貼られていない、または空白だけ。 |
Activation code is not in <payload>.<signature> form | ドットがない — たいていコードの一部しか選択できていない。 |
Activation code signature has the wrong length | 転送中に切れている。全体をもう一度コピーしてください。 |
Activation code payload is not valid license data | ペイロードはデコードできたがライセンスではない。API キーを貼っていないか確認を。 |
This activation code is for '<product>', not Busabase Premium | 別製品のコードです。 |
Activation code is not valid. | 署名が検証できない。コードが改変されたか、当社が発行したものではありません。 |
確かに発行されたコードが検証に失敗する場合、手で打ち直さないでください — 「長さが違う」はまさにそれで起きます。クラウドの設定ページからもう一度コピーしてください。
更新と差し替え
新しいコードを古いものに上書きして貼るだけです。「無効化」の手順はなく、再起動も不要です。読み取り専用になっていた場合、新しいコードが検証を通った瞬間に書き込みが再開します。