Conceptos: apps, planes, licencias, equipos y tokens
Documentación preliminar: describe el producto previsto y cambiará antes de la beta.
Apps
Una app es cada producto que vendes, con un identificador corto (slug) como myapp. Cada app tiene sus planes, su prefijo de clave y su propia clave de firma, así que un token de una app nunca vale en otra.
Planes
Un plan es lo que compra el cliente. Cada plan tiene un código (lifetime, annual, pro5…) y un tipo:
| Tipo | Qué es | Caduca |
|---|---|---|
lifetime |
Pago único (perpetua) | Nunca |
subscription |
Mensual, trimestral, semestral, anual o bienal | Al final del periodo pagado más unos días de gracia |
free |
Licencia gratis que registra el email del usuario; no desbloquea lo de pago | Nunca |
trial |
Las funciones de pago unos días, sin tarjeta, en un equipo | En la fecha exacta de fin |
Un plan también puede ser un add-on que amplía una licencia principal, o un nivel apilable (por ejemplo, más cuentas) que se suma.
Licencias y claves
Una licencia es lo que tiene un cliente después de comprar un plan. Llega con una clave legible como MYAPP-7Q2KD-H9XNM-4TRVA-C8PWZ-K: un prefijo de la app, 20 caracteres aleatorios y un carácter de control que detecta erratas antes de que tu app se conecte. La clave no contiene datos y nunca cambia, ni al renovar. El servidor solo guarda su hash para buscarla.
Para activar una licencia hacen falta siempre el email de la compra y la clave juntos.
Equipos
Cada activación ocupa un equipo (un puesto). Por defecto, una perpetua permite 3 equipos y una suscripción 1; puedes cambiarlo por plan o por licencia. El cliente libera un equipo desde tu app o desde el portal.
Tu app identifica el equipo con dev: un SHA-256 del slug de tu app y el identificador del equipo, así que el identificador real nunca sale del equipo y no se puede cruzar entre apps.
Tokens
Al activar un equipo, el Worker devuelve un token firmado con la clave Ed25519 de tu app. Tu app lleva dentro la clave pública y comprueba el token sin conexión. El token dice qué app, licencia, plan, unidades (qty) y funciones (feat) desbloquea, de qué equipo es y cuándo caduca. No lleva el email ni ningún otro dato personal.
Las licencias anuladas (reembolsos, disputas) se publican en una lista de anuladas firmada que tu app descarga de vez en cuando.