# Paket Pemilik Lisensi Presensi V29

Paket ini khusus pemilik/penerbit lisensi. Simpan offline dan buat backup aman. **Jangan berikan paket ini kepada pelanggan dan jangan unggah `private.key` ke server hosting atau repositori publik.** Source code pelanggan hanya membutuhkan kunci publik yang sudah tertanam di `config/licensing.php`.

## Persyaratan

- PHP CLI 8.2+ dengan ekstensi `sodium`.
- `private.key` pada paket ini berisi seed rahasia Ed25519 dalam Base64. Jangan mengeditnya.

## Membuat lisensi berjangka

```bash
php license-generator.php "Nama Sekolah/Madrasah" sekolah.sch.id 2027-12-31 LIC-2026-0001 private.key license.json
```

## Membuat lisensi permanen

```bash
php license-generator.php "Nama Sekolah/Madrasah" sekolah.sch.id permanent LIC-2026-0002 private.key license.json
```

File `license.json` hasil generator dikirimkan kepada pelanggan. Pelanggan memasangnya di `storage/app/license/license.json` pada aplikasi. Kirim hanya file lisensi, bukan paket generator atau private key.

Tanggal kedaluwarsa memakai format `YYYY-MM-DD` dan berlaku sampai akhir tanggal tersebut. `permanent` membuat lisensi tanpa tanggal kedaluwarsa. Nama sekolah dan domain diverifikasi saat aplikasi dijalankan. Domain dengan awalan `www.` dianggap setara dengan domain tanpa `www.`.

## Pindah domain

Minta ID lisensi, nama sekolah, domain lama, dan domain baru. Setelah diverifikasi, buat file lisensi pengganti dengan domain baru. Karena sistem offline tidak dapat menghubungi server pusat untuk mencabut file lama, sistem tidak dapat menjamin salinan lama berhenti berjalan bila masih disimpan dan digunakan di domain lama.
