Licences · Activations · API · Webhooks · Discord

Protégez et vendez votre logiciel avec un système de licences sérieux.

Keyline gère vos licences, vos activations par appareil et vos abonnements, expose une API signée pour vos logiciels et automatise le reste (webhooks, rôles Discord, expirations). Vous gardez le contrôle depuis le dashboard, l’API ou Discord.

  • 80 bits d’aléapar clé, générée par CSPRNG
  • ECDSA P-256sur chaque réponse de licensing
  • Révocation immédiatevérifiée en base à chaque appel
requête du logiciel
POST /api/v1/licenses/activate
{
  "application_id": "0199a8c4-…",
  "license_key": "LIC-8F3A-29BC-74DE-6A12",
  "device_id": "sha256(machine-id + sel)",
  "nonce": "q3Yw9xV2bQ7nTz1p"
}
réponse signée signature vérifiée
HTTP/1.1 200 OK
Keyline-Signature: kid=0199…,ts=1792850400,sig=3q2-7wQx…

{
  "success": true,
  "status": "active",
  "license": {
    "expires_at": "2027-01-01T00:00:00Z",
    "max_devices": 2,
    "type": "timed"
  },
  "session": { "token": "kls_…", "expires_in": 900 },
  "nonce": "q3Yw9xV2bQ7nTz1p"
}

Tout ce qu’il faut entre la vente et l’exécution

Les contrôles critiques sont faits par le serveur ; l’interface ne fait qu’afficher ce que l’API autorise.

Moteur de licences

Essai, durées prédéfinies ou libres, à vie, date fixe, départ à la première activation. Génération unitaire ou par lots de 1000.

Activations et appareils

Limite d'appareils et d'activations appliquée de façon atomique, reset HWID, blocage d'appareil, identifiants pseudonymisés.

API publique signée

Réponses signées ECDSA P-256 avec nonce : un faux serveur ne peut pas répondre « licence valide » à votre logiciel.

Multi-applications

Chaque application a ses réglages, ses produits, ses clés de signature, son quota de requêtes et sa version minimale.

Webhooks fiables

Signature HMAC, identifiant d'événement, nouvelles tentatives exponentielles, historique, rotation du secret, protection SSRF.

Discord intégré

Comptes liés par OAuth2, rôles attribués selon les licences actives et retirés à l’expiration, commandes slash.

Statistiques réelles

Activations, refus, requêtes, taux d'erreur et latences p50/p95/p99, de 24 heures à 90 jours.

RBAC et audit

Cinq rôles vérifiés côté serveur, clés API à scopes, journal d'audit en ajout seul pour chaque action.

Intégration en quatre étapes

  1. 1

    Créez une application

    Une paire de clés de signature est générée ; récupérez son identifiant public et sa clé publique.

  2. 2

    Générez vos licences

    Depuis le dashboard, votre boutique (API signée HMAC) ou Discord. Les clés sont affichées une seule fois.

  3. 3

    Intégrez l’activation

    Votre logiciel active la licence, vérifie la signature, puis garde une session courte avec des heartbeats.

  4. 4

    Pilotez

    Révoquez, renouvelez ou réinitialisez en un clic ; les changements s’appliquent dès la requête suivante.

python
import requests, secrets

nonce = secrets.token_urlsafe(16)
r = requests.post(
    "https://keyline.example.com/api/v1/licenses/activate",
    json={"application_id": APP_ID, "license_key": key, "device_id": device_id(), "nonce": nonce},
    timeout=10,
)
verify_signature(r, PUBLIC_KEY_PEM)      # ECDSA P-256, voir la documentation
data = r.json()
assert data.get("nonce") == nonce
if data["success"]:
    session = data["session"]["token"]

Exemples HTTP complets (vérification de signature incluse) dans la documentation de chaque langage.

La sécurité d’abord, sans promesses irréalistes

Aucun système de licence n’est inviolable : un logiciel exécuté chez l’utilisateur peut être modifié. Keyline réduit la surface d’attaque côté serveur et rend la fraude coûteuse et visible.

Notre approche de la sécurité
  • Mots de passe Argon2id, double authentification TOTP, passkeys
  • Sessions HttpOnly SameSite=Strict, CSRF, CSP stricte
  • Clés et secrets stockés en empreinte ou chiffrés (AES-256-GCM)
  • Anti-bruteforce et limitation de débit distribuée
  • Requêtes serveur à serveur signées HMAC avec anti-rejeu
  • Isolation multi-tenant testée (IDOR horizontal et vertical)

Prêt à brancher votre premier logiciel ?

Créez un compte, une application, puis suivez le guide de démarrage.