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 tokensvl1.<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).