# Sign JWTs from your Functions without managing private keys

By Steven Van · 2026-08-18

Vercel KMS lets you sign JWTs and arbitrary messages from your Vercel Functions using managed asymmetric signing keys, so private keys never live in your…

[Vercel](<https://creatorstoolbox.com/tools/vercel>) now lets Functions sign JWTs and raw messages with managed asymmetric keys, so private keys never live in code or environment variables. A function authenticates with its Vercel OIDC token, the private key stays inside Vercel's key management service, and verifiers use only the public key.

- Create and rotate issuers and signing keys (RSA, ECDSA, and EdDSA) from the CLI or dashboard.

- Sign JWTs with custom claims and a configurable TTL, or sign raw bytes, using the **@vercel/kms** package.

- Grant a project signing access per environment, including production, preview, development, and custom environments.

- Constrain the claims a project can request per grant, and validate token claims against a JSON Schema.

- Verify signed tokens anywhere: each issuer publishes a public OpenID Connect Discovery document and a JWK set, so any standard OIDC or JOSE library can validate tokens without Vercel-specific code.

Vercel KMS requires Vercel CLI 59.1.0 or later. It is in [beta and available on all plans](<https://vercel.com/changelog/sign-jwts-from-your-functions-without-managing-private-keys>), with features and behavior subject to change before general availability.

[![](<https://assets.vercel.com/image/upload/contentful/image/e5382hct74si/QLkv7r2GT6rfzF0dGV4TZ/1ca73359ffdf04a21152f18e0032628e/image__3_.png>)](<https://vercel.com/changelog/sign-jwts-from-your-functions-without-managing-private-keys>)

![Vercel](<https://www.google.com/s2/favicons?domain=vercel.com&sz=128>)

Vercel

The platform for frontend developers — deploy, preview, and scale web apps and AI agents with zero config.

[View Vercel →](<https://creatorstoolbox.com/tools/vercel>)

Sources

[Original source](<https://vercel.com/changelog/sign-jwts-from-your-functions-without-managing-private-keys>)

[Read Sign JWTs from your Functions without managing private keys on Creators Toolbox](<https://creatorstoolbox.com/blog/vercel-sign-jwts-from-your-functions-without-managing-private-keys>)

---
Canonical source: https://creatorstoolbox.com/blog/vercel-sign-jwts-from-your-functions-without-managing-private-keys
