Compte et activation

Activation sans configuration, CI et machines sans interface, ce qui se passe hors ligne, et ce que révoquer un appareil fait réellement.

L'activation provisionne une machine sous votre compte. En usage normal, vous ne la lancez jamais à la main — elle est intégrée à votre premier chiffrement.

Activation sans configuration

Le premier appel protect / protect-model / build sur une nouvelle machine vous connecte (ouvre un navigateur) et active la machine en une seule étape, puis chiffre :

shell
magiclock protect app.py   # first run: sign in + activate, then encrypt
magiclock protect app.py   # every run after: encrypts immediately, no prompts

Commandes explicites

Vous en aurez rarement besoin directement, mais elles sont là quand il le faut :

shell
magiclock activate                  # authenticate (opens a browser) + provision this machine
magiclock activate --no-browser     # print a link + code instead of opening a browser
magiclock status                    # this machine's account + activation state
magiclock status --offline          # same, without a live server round-trip
magiclock deactivate                # remove this machine (frees its seat server-side by default)
magiclock deactivate --local-only   # remove it locally only, without touching the server

CI et machines sans interface

Passez un jeton émis depuis le portail au lieu d'ouvrir un navigateur :

shell
export MAGICLOCK_TOKEN=<token-from-your-account-portal>
magiclock protect app.py            # provisions non-interactively, then encrypts

Un build de release de la CLI embarque aussi l'URL du serveur de licences, si bien que MAGICLOCK_SERVER n'est nécessaire que si vous visez autre chose que la valeur par défaut.

Variables d'environnement

VariableUtilisée parRôle
MAGICLOCK_TOKENactivate, et l'auto-activation au premier chiffrementJeton Bearer pour la connexion non interactive.
MAGICLOCK_SERVERactivateRemplace l'URL du serveur de licences (rarement nécessaire).
MAGICLOCK_PASSPHRASEprotect/protect-model/runPhrase secrète non interactive pour les artefacts --lock-passphrase ou portables --passphrase.
MAGICLOCK_DECRYPT_KEYrunAlternative à run --key pour les artefacts portables --emit-key.
MAGICLOCK_NO_BROWSERtout flux d'authentificationEmpêche l'ouverture automatique d'un navigateur (aussi détecté automatiquement sur Linux sans interface).
MAGICLOCK_NO_OS_KEYRINGtoutes les commandesSaute l'enveloppe supplémentaire du trousseau de l'OS sur le magasin d'identifiants local — utile dans les conteneurs minimaux sans service de trousseau.
MAGICLOCK_VAULTtoutes les commandesOù réside l'activation de cette machine (défaut ~/.magiclock/vault). Identique à --vault. Définissez-la pour garder le coffre sur un volume monté, ou pour utiliser plusieurs comptes sur une même machine.
MAGICLOCK_GATE_DIRl'exécution des artefacts contrôlés par le cloudOù sont mises en cache les approbations signées des artefacts --web-gate (défaut ~/.magiclock/gate). Pointez-la vers un chemin accessible en écriture sur les systèmes de fichiers en lecture seule ou éphémères.

Ce qui se passe quand vous êtes hors ligne

Le chiffrement (protect/protect-model/build) contacte le serveur de licences à chaque fois. Si cette vérification réussit, tout va bien. Si le réseau est coupé :

SituationRésultat
Serveur joignable, licence valideChiffre normalement.
Serveur injoignable, quelle qu'en soit la raisonBloqué jusqu'au retour en ligne.
Serveur joignable et refus explicite (appareil révoqué, offre expirée/annulée)Bloqué immédiatement — cela ne bénéficie jamais de grâce, en ligne ou hors ligne.

Le déchiffrement et magiclock run ne sont jamais affectés par tout cela. Ils ne lisent que le coffre local déjà activé — aucun appel réseau, aucune dépendance au serveur, jamais. C'est vrai que la machine soit en ligne, hors ligne, ou n'ait jamais été en ligne depuis l'activation.

Révocation et désactivation

magiclock deactivate (sans --local-only) demande au serveur de libérer le siège de cette machine et l'empêche de chiffrer quoi que ce soit de nouveau. Cela n'atteint pas les artefacts déjà produits sur cette machine — ils continuent de se déchiffrer, parce que le déchiffrement ne consulte jamais le serveur ni aucune liste de révocation. Si une machine est perdue ou compromise, la désactiver l'empêche de produire de nouveaux artefacts protégés sous votre compte ; cela ne révoque pas rétroactivement les fichiers qu'elle a déjà produits.

La suite

  • Modèle de sécurité couvre ce que la barrière d'exécution vérifie et pourquoi la révocation côté déchiffrement ne fait pas partie de la conception.
  • Référence CLI contient la liste complète des options pour chaque commande de cette page.