Tutorials

Each tutorial is two things:

  1. What you do in the TUI — a numbered key sequence.
  2. The client program — the Go code your binary runs to use the licence the TUI produced.

Each page opens with Objectif / Concepts / Attendu so you know what to expect before pressing a single key.

Read them in order — each builds on the last:

#ScenarioConcept introducedClient API
01Issue a basic licence, verify itEd25519 signing, trust chainlicense.Verify
02Machine + password + TOTP bindingsEvidence AND semanticsWithMachineID, WithPassword, WithTOTPCode
03Manager publishes a CRL, client polls itLive revocation, cache fallbackWithRevocation(HTTPSource)
04Hand off a TOTP secret via QR codeRolling code, clock-skew windowWithTOTPCode
05Encrypt a payload to one recipientX25519 sealed box, per-licensee secretseal.Open

Each page ships a CI-tested example so the documented keys + code can't silently drift from reality.

Running them

# Render every tape into docs/.../tutorials/assets/*.gif:
go run ./cmd/tui-gif vhs/tui-gif/tutorial-NN-*.tape

# Run every E2E (drives tape + client together):
go test ./examples/license-manager/tutorials/...