Skip to content
Start with Identity
Standard · draft

WIMSE (Workload Identity in Multi-System Environments)

IETF WIMSE working group drafts (draft-ietf-wimse-*)IETFNo RFCs yet; draft-ietf-wimse-http-signature-08 submitted to the IESG (Proposed Standard); workload-identity-practices-08 in IETF Last Call to 13 November 2026Official spec ↗

What it is

WIMSE is the IETF working group standardizing how software workloads (services, jobs, functions, AI agents) identify and authenticate to each other at runtime, across clusters, clouds and organizations. Its drafts define four pieces: a workload identifier URI, two credential formats that bind a key to that identifier (a JWT and an X.509 certificate), proof of possession so a stolen credential cannot simply be replayed, and an architecture for carrying security context through call chains.

The charter scopes it to "the unique identity and access management aspects of workloads at runtime", building on OAuth, JWT and SPIFFE, and to "only specific REST-based technologies using HTTP." Static software identity and provenance (SBOMs), personal identities, deployment chains and supply chain management are out of scope. The working group sits in the Applications and Real-Time Area; the chairs are Justin Richer and Pieter Kasselman.

The short version for practitioners: WIMSE is trying to replace static API keys and long-lived shared secrets between services with short-lived, key-bound credentials that any environment can verify. The WIMSE glossary entry has the one-paragraph definition.

Status (5 November 2026)

None of the WIMSE documents is an RFC. From the WIMSE documents page:

Draft Rev, date What it defines State
draft-ietf-wimse-http-signature -08, 20 Oct 2026 Workload-to-workload authentication with HTTP Message Signatures Publication Requested; submitted to IESG as Proposed Standard
draft-ietf-wimse-workload-identity-practices -08, 30 Oct 2026 Survey of current practice (Kubernetes, cloud, SPIFFE, CI/CD, meshes) In Last Call, ends 13 Nov 2026; Informational
draft-ietf-wimse-arch -08, 6 Jul 2026 Architecture WG Document; Informational
draft-ietf-wimse-identifier -04, 23 Oct 2026 Workload Identifier URI WG Document; Standards Track
draft-ietf-wimse-workload-creds -03, 30 Oct 2026 Workload Identity Token (WIT) and Certificate (WIC) WG Document; Standards Track
draft-ietf-wimse-wpt -02, 27 Aug 2026 Workload Proof Token WG Document; Standards Track
draft-ietf-wimse-mutual-tls -03, 24 Oct 2026 Workload authentication over mutual TLS WG Document
draft-ietf-wimse-aims -01, 2 Nov 2026 AI Identity Management System WG Document; Informational

The original service-to-service protocol, draft-ietf-wimse-s2s-protocol, stopped at -07 (16 October 2025) and is marked replaced by the workload-creds, http-signature, mutual-tls and wpt drafts. Older blog posts that cite "the WIMSE S2S draft" refer to that document.

The charter's milestones are behind schedule: the architecture was due to the IESG by 31 July 2026 and is still a working group draft. The datatracker also lists 20 related individual drafts, most about AI agent delegation; those have no working group standing.

How it works

The building blocks

  • Trust domain. "A logical grouping of systems that share a common set of security controls and policies", named by a fully qualified domain name (architecture draft).
  • Workload identifier. An absolute URI whose authority is the trust domain, with a non-empty path and no query, fragment, user info or port. The identifier draft defines wimse://<trust-domain>/<path>, for example wimse://trust.example.com/service/payment, and allows other schemes such as spiffe://. Consumers must compare the full normalized URI and must treat it as authenticated only when it came from a validated credential.
  • Workload Identity Token (WIT). A JWS-signed JWT with typ wit+jwt (media type application/wit+jwt). Required claims: sub (one workload identifier), exp (refresh on the order of hours) and cnf with a jwk holding the workload's public key. iss is recommended, jti optional, alg: none forbidden, and ES256 must be supported. It travels in the Workload-Identity-Token HTTP header.
  • Workload Identity Certificate (WIC). An X.509 certificate carrying exactly one workload identifier in a URI SubjectAltName, short-lived like a WIT, for mutual TLS.

The credentials draft is explicit that a WIT "MUST NOT be used as a bearer token." It always travels with a proof of possession.

A workload-to-workload call with HTTP signatures

  1. The workload obtains a WIT from its trust domain's issuer, typically after attestation (the architecture aligns with RATS, RFC 9334, and cites SPIRE as an example of attestation-based provisioning).
  2. For each request it signs, per RFC 9421, @method, @path and @query, plus Content-Type, Content-Digest, Authorization, Txn-Token and Workload-Identity-Token when present. @authority is deliberately not covered so proxies can rewrite it.
  3. The signature parameters include created, a short expires, a nonce, tag set to wimse-workload-to-workload, and wimse-aud naming the intended recipient. keyid and alg must not be used; the algorithm comes from the WIT's cnf.jwk.alg.
  4. The receiver validates the WIT against the trust anchors for its trust domain, then verifies the signature with the public key in cnf, then authorizes on the full workload identifier.
  5. Optionally, the client sets wimse-sign-response and the server signs its response, echoing the request nonce in wimse-req-nonce.

The alternatives: Workload Proof Token and mTLS

The Workload Proof Token (WPT, typ wpt+jwt) is a per-request JWT signed with the WIT's key and sent as Authorization: WPT <token>. It carries aud (the target URI), a short exp, a 128-bit jti, and wth, the SHA-256 hash of the WIT. It can also bind other tokens on the request: tth for a Transaction Token and oth for others. Receivers should reject a reused jti within the validity window, and implementations must not log raw WPTs by default. Use the WPT when you want a token-shaped proof; use HTTP signatures when you want the request body and headers covered.

The mutual TLS draft profiles the WIC: exactly one URI SAN with a workload identifier, chain validation to the anchor configured for that trust domain, and authorization on the whole identifier, never the path alone. It is the natural fit for service meshes that already terminate mTLS in sidecars.

Where WIMSE fits with other standards

Need Standard
Workload proves who it is to another workload WIMSE credentials plus HTTP signatures, WPT or mTLS
Carry the user and request context through internal hops OAuth Transaction Tokens, bound into a WPT with tth
Workload calls an OAuth-protected API OAuth 2.0 client credentials or token exchange (RFC 8693)
Agent acts for a user across apps ID-JAG and Cross App Access, MCP authorization
Revoke or react to compromise Shared Signals Framework

The architecture draft uses token exchange for delegation and impersonation, Transaction Tokens for context propagation, and OAuth identity chaining for cross-domain calls. WIMSE authenticates the caller; those documents carry what the caller is allowed to do and on whose behalf.

Common mistakes the drafts warn about

  • Treating the WIT as a bearer token. Without the proof of possession, a logged or intercepted WIT is a replayable credential, which is the token replay at an unbound endpoint pattern.
  • Authorizing on the path alone. /service/payment means nothing outside its trust domain; compare the whole identifier.
  • Weak replay caches. The WPT draft notes that if replay caches are not shared across validators and an attacker can choose which validator receives a message, replay protection may fail.
  • Secrets in environment variables. The practices draft recommends delivering credentials via the filesystem or a local API, using a distinct audience per target, and preferring proof-of-possession over bearer tokens. See secrets in repositories and CI and static API key abuse for what happens otherwise.

Who is building it

Draft authors, as listed on the datatracker, include Joseph Salowey (Palo Alto Networks), Yaroslav Rosomakho (Zscaler), Brian Campbell (Ping Identity), Arndt Schwenkschuster and Pieter Kasselman (Defakto (formerly SPIRL)), Yaron Sheffer, and Hannes Tschofenig on the architecture. The AIMS draft adds Jeff Lombardo (AWS), Nick Steele (OpenAI) and Aaron Parecki (Okta). Authorship is not product support: no vendor has shipped a final WIMSE standard because none exists yet. The open source SPIFFE / SPIRE project is the closest deployed relative, and workload identity vendors such as Aembit solve the same problem today with their own mechanisms.

How to prepare

  1. Inventory service-to-service credentials and flag every static API key and long-lived shared secret.
  2. Adopt URI workload identifiers now (SPIFFE IDs work), named by trust domain.
  3. Move to short-lived, key-bound credentials (SPIFFE SVIDs or cloud workload identity federation) delivered by a local API.
  4. Keep authorization on the full identifier, and carry user context separately in Transaction Tokens.
  5. Track the http-signature draft through the IESG; it is the first WIMSE protocol likely to become an RFC.

Guides: workload identity 101, securing AI agent identities, Kubernetes identity security, what is a non-human identity. Report: Agent Identity Standards Map 2026. Glossary: workload identity, SPIFFE, workload identity federation, mTLS, proof of possession, NHI.

WIMSE (Workload Identity in Multi-System Environments): frequently asked questions

What is WIMSE?
WIMSE (Workload Identity in Multi-System Environments) is an IETF working group in the Applications and Real-Time Area that standardizes how software workloads, such as microservices, jobs and AI agents, identify and authenticate to each other at runtime. Its drafts define a workload identifier URI, two credential formats (the JWT-based Workload Identity Token and the X.509 Workload Identity Certificate), and three ways to prove possession of the credential's key: HTTP Message Signatures, a Workload Proof Token, or mutual TLS.
Is WIMSE an RFC?
Not yet. As of 5 November 2026 the WIMSE datatracker lists no RFCs. The HTTP Signatures draft (draft-ietf-wimse-http-signature-08) has been submitted to the IESG for publication as a Proposed Standard, and the Workload Identity Practices draft (-08) is in IETF Last Call ending 13 November 2026, intended as Informational. The architecture, identifier, credentials, mutual TLS, Workload Proof Token and AI agent documents are working group drafts.
How does WIMSE relate to SPIFFE?
WIMSE builds on SPIFFE rather than replacing it. The charter names SPIFFE as one of the technologies it builds on. The WIMSE identifier draft defines a wimse:// URI scheme but explicitly allows other schemes, and the credentials draft gives spiffe:// as an example of a scheme a runtime may mandate. A SPIFFE ID can be the workload identifier carried in a WIMSE token or certificate.
What is a Workload Identity Token (WIT)?
A WIT is a signed JWT, typed wit+jwt, that binds a public key to one workload identifier. Its required claims are sub (the workload identifier), exp and cnf (the workload's public key). It travels in the Workload-Identity-Token HTTP header and must not be used as a bearer token: every request also needs proof of possession of the private key, through an HTTP Message Signature or a Workload Proof Token.
What happened to the WIMSE service-to-service protocol draft?
draft-ietf-wimse-s2s-protocol stopped at revision -07 (16 October 2025) and is now marked replaced. Its content was split into four drafts: draft-ietf-wimse-workload-creds (the credentials), draft-ietf-wimse-http-signature, draft-ietf-wimse-wpt (Workload Proof Token) and draft-ietf-wimse-mutual-tls.
Does WIMSE cover AI agents?
Yes. The architecture draft treats AI intermediaries as delegated workloads that must stay within the upstream principal's scope, and the working group adopted draft-ietf-wimse-aims (AI Identity Management System, revision -01, 2 November 2026). AIMS defines no new protocol: it maps agent identity onto existing standards, including WIMSE identifiers and credentials, OAuth 2.0, Token Exchange, Transaction Tokens, DPoP and the Shared Signals Framework.
Last reviewed By SWI Community TeamSuggest a correctionHow we research
Independent, community-driven reference. Always confirm details against the official specification linked above.