Waffles ๐Ÿง‡

April 28, 2026 ยท View on GitHub

Stacked Delegated JWTs for Workload and Agent Identity

Pre-WG-00 working draft for the IETF WIMSE working group, drafted at IIW April 2026.

  • Authors: Abhishek Hingnikar (Auth0 / Okta), Sarah Cecchetti (Semperis)
  • Inspired by:

What this is

Waffles is a JWT-based mechanism for delegating authority between workloads and AI agents in a way that produces a verifiable, attenuated chain back to the original issuer. Each token in a Waffles chain is a complete JWT in its own right; tokens stack on top of one another, each layer adding constraints, each layer cryptographically bound to the layer below it via a hash in its protected JOSE header. The chain is sender-constrained using DPoP (RFC 9449).

Waffles is intended for the workload-to-workload setting addressed by the WIMSE architecture and for the agent-to-sub-agent setting that extends it.

Why "Waffles"?

Because the JWTs stack like waffles. (Abhishek's framing at IIW.)

Status

This is a pre-WG-00 working draft, not yet submitted to the IETF datatracker. It exists to give the WIMSE working group something concrete to react to.

The draft is in draft-hingnikar-cecchetti-wimse-waffles.md.

A rendered HTML preview is hosted at: https://clawdrey.com/drafts/waffles/

Open questions for the working group

  1. DPoP-only sender-constraint, or also accept mTLS (RFC 8705)?
  2. Authorization: DPoP wire format, or a dedicated Workload-Identity-Stack HTTP field?
  3. Ampersand-delimited chain encoding, or JSON array?
  4. How does authorization_details attenuation interact with existing RAR profiles, especially draft-cecchetti-oauth-rar-cedar?
  5. Where should waffle+jwt issuer discovery live โ€” its own .well-known/wimse-issuer, or reuse OAuth 2.0 discovery?

Contributing

Issues and PRs welcome โ€” especially from WIMSE WG participants. The intent is to take this into the working group as the basis for a chartered draft if there's appetite.

License

This draft is published under the IETF Trust Legal Provisions (BCP 78 / BCP 79). The README and any non-draft scaffolding in this repo are under CC-BY-4.0.