Skip to main content
Signing keys — the Ed25519 keys your app signs relay credentials with. Your app keeps the private key; qumo stores the public key, confined to a prefix under the project’s root (<workspace slug>/<project slug>). Reach it as client.signingKeys on a QumoClient.

list

Lists a project’s signing keys, newest first, revoked ones included. Types: SigningKey

create

Generates an Ed25519 signing key in this process (Web Crypto) and registers its public half, in one call. Returns the registered key and the private key, which exists nowhere else: store it on your app’s server. prefix narrows the project root; omit it to confine the key to the whole project. If registration fails, the generated key is discarded. Types: CreatedSigningKey

register

Registers the public half of privateKey, such as the file qumo auth keygen writes. It proves you hold the private key by signing a dated message with it locally (Web Crypto), and sends only the public key and the signature: the private key never leaves this process. prefix narrows the project root; omit it to confine the key to the whole project. Types: Ed25519PrivateJWK, SigningKey

registerSigned

Registers a public key with a signature made elsewhere, for when the private key lives where this code doesn’t run (an HSM, another service). signature is the Ed25519 signature, base64url without padding, over qumo-signing-key-registration:<projectId>:<signed_at>, where signed_at is the current time in unix seconds (accepted within five minutes). Types: Ed25519PublicJWK, SigningKey

revoke

Revokes a key: managed relays stop trusting it, which ends its live sessions within about a minute. Final. To rotate without interrupting anyone, sign with a new key and revoke the old one an hour later, once its last credential has expired. Types: SigningKey