Llicències

Svitrio pot actuar com a autoritat de llicències per al teu producte: cada projecte conté una clau de signatura Ed25519 i estampa un token signat i verificable sense connexió a cada llicència. El teu producte verifica amb la clau pública del projecte — sense necessitat de trucar a casa — i opcionalment pot sondejar un endpoint d'estat per observar la revocació. Opt-in per projecte.

Productes i llicències

Defineix products, després emet licenses amb un public_ref com LIC-7GK2MQ, un plan, seats, dades del client i una expiració opcional. El status d'una llicència (active / suspended / revoked) només es mou a través d'una màquina d'estats (POST /licenses/{id}/transition); expired es deriva en el moment de la verificació, mai s'emmagatzema.

Formats

Les mateixes claims signades es poden entregar de tres maneres, autodetectades en verificar:

  • svl1 — un token svl1.<payload>.<sig> compacte (l'etiqueta de versió és dins de la regió signada, cosa que bloqueja el downgrade).

  • jwt — un JWT EdDSA (RFC 8037); només s'accepta EdDSA, cosa que tanca els atacs de confusió d'algorisme.

  • x509 — una fulla PEM signada per la CA autosignada del projecte, amb les claims en una extensió de certificat.

Superfícies de verificació

Públic, sense autenticar: GET /api/p/{ref}/licenses/status?ref=LIC-… (revocació), /licenses/jwks (verifica el format JWT) i /licenses/ca.pem (verifica el format x509).