Contrat NFZ License Server production
Cette page documente le contrat réellement aligné sur la source production nfz-license-server-phase44-22-first-admin-bootstrap-ux-guard.
Endpoint canonique
txt
POST https://licence.nfz-serveur.fr/api/license/verifyLe service runtime license-status appelle cet endpoint côté serveur uniquement. La clé NFZ_LICENSE_KEY ne doit jamais être exposée au navigateur.
Requête envoyée par le produit
json
{
"productId": "nfz-docs-builder",
"productKey": "nfz-docs-builder",
"productDomain": "vitepress-buider.com",
"edition": "pro",
"licenseKey": "NFZ-...",
"instanceId": "nfz-docs-...",
"fingerprint": "sha256:...",
"hostname": "container-hostname",
"version": "0.1.106",
"tenantId": "default",
"metadata": {
"source": "nfz-docs-notion-editor",
"runtime": "nuxt-feathers-zod",
"contract": "nfz-license-server-phase44-22",
"activationTest": false
}
}Réponse attendue
NFZ License Server retourne l’édition, les entitlements, les limites, le statut d’abonnement et les informations de signature :
json
{
"allow": true,
"state": "active",
"status": "active",
"productId": "nfz-docs-builder",
"productKey": "nfz-docs-builder",
"edition": "pro",
"features": {
"docsEditor": true,
"buildVitePress": true,
"exportStaticZip": true,
"exportSourceProject": true,
"publishingConnectors": true,
"customBranding": true,
"mediaS3": true,
"auditTrail": true,
"multiTenant": true,
"advancedI18n": true,
"prioritySupport": true,
"sso": false
},
"limits": {
"maxTenants": 10,
"maxDocsSpaces": null,
"maxEditors": 25,
"maxStorageMb": 10240,
"maxBuildsPerMonth": 2000,
"auditRetentionDays": 180
},
"signatureAlgorithm": "ed25519",
"keyId": "nfz-docs-builder...",
"signature": "..."
}Variables Docker/Portainer
ini
NFZ_PRODUCT_ID=nfz-docs-builder
NFZ_PRODUCT_DOMAIN=vitepress-buider.com
NFZ_LICENSE_MODE=remote
NFZ_LICENSE_KEY=<clé-client>
NFZ_LICENSE_SERVER_URL=https://licence.nfz-serveur.fr
NFZ_LICENSE_VERIFY_PATH=/api/license/verify
NFZ_LICENSE_INSTANCE_ID=<id-stable-instance>
NFZ_LICENSE_HOSTNAME=<nom-hote-ou-client>
NFZ_APP_VERSION=0.1.106La vérification cryptographique de la réponse est optionnelle pour ne pas bloquer les installations existantes :
ini
NFZ_LICENSE_VERIFY_SIGNATURE=true
NFZ_LICENSE_SERVER_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----..."
# ou
NFZ_LICENSE_SERVER_PUBLIC_KEY_FILE=/run/secrets/nfz_license_public_key.pemPoints de contrôle
productIdetproductKeydoivent resternfz-docs-builder.nfz-docs-editor,nfz-docs-notion-editor,vitepress-builderetvpbsont des alias côté serveur, mais ne doivent plus être utilisés dans les nouvelles installations.instanceIddoit être stable entre deux redémarrages si le conteneur est migré.fingerprintsert au suivi des activations et à la limitemaxInstances.- En indisponibilité serveur, le runtime applique la période de grâce configurée par
NFZ_LICENSE_GRACE_PERIOD_HOURS.