Meeting Notes 2026‐03‐19 - openid/authzen GitHub Wiki

Meeting Notes 2026-03-19

Attendees

  • Alex Babeanu
  • John Jiang
  • Julio Auto
  • Omri Gazitt
  • Atul T
  • Michiel Trimpe
  • Martin Besozzi
  • Edmund Jay
  • Roland Baum
  • Atul Tulshibagwale (CrowdStrike)
  • Alex Olivier

Agenda

  • Actions from last week
  • MCP Profile
  • Obligations Proposal
  • Upcoming talks - who else will be there?
    • EIC (David, AlexO)
    • Possible Forrester engagement
    • Possible Identiverse session
    • Authenticate CFP (David, AlexO)
  • Certification progress (Edmund adding to harness)

Notes

Obligations Proposal

  • Omri got authzen-interop site back up.
  • Omri, about obligations:
    • Any proposal must be backwards compatible
    • Obligation should be optional: "old" PEPs should still be valid.
    • "Old" PEP may not be obligation-capable at all, in that case the requirement to force the "old" PEPs to deny if they don't understand obligations would break backward compatibility.
    • Obligations should be a profile, there's too much there. Also we may add additional normative obligations in the future.
  • Atul: negotiation would break the current simple REST standard.
  • Atul: This could be done through some kind of configuration information rather than a negotiation over the wire.
  • Omri: This could be done using the metadata of the PDP
  • Omri: Once the PEP and PDP understand the capabilities, you can include the PEP supported obligations in the request, and the PDP can respond accordingly.
  • Michiel: We can't use the existing "evaluation(s)" API because it will break backward compatibility
  • Michiel: How you do the negotiation is another aspect of this. Whether we do it through metadata or through the protocol.
  • Alex B: Let's not call it negotiation. We already have the metadata for that.
  • Michiel: Some older PDPs consider partial evaluations as obligations
    • Alex B: I disagree
  • Omri: Since Alex B is going to revise the proposal (based on my feedback), the new proposal will not break backward compatibility
  • Alex B: Filters, conditions are supported in the spec. We can put whatever we want in the context
    • Omri: We added context later, and we specifically excluded obligations from v1. We added request / response context only as a way to signal capabilities to each other.
  • Atul: if we add context which is loosely defined, then we are not saying it is critical to interopabitliy. Moment we put structure in that object then it will break backward compat.
    • Omri: only if its required
    • Michiel: its required as if we are saying if a obj must be followed.
  • Omri: if the PDP wants to maximise the chance the PEP does something, then it has to look at the list of the client supported obligations, then it should just issue a DENY. If there is a matching obligation, then it should return the ALLOW with the obligation. Old clients will just get the deny and keep functioning, new clients will work as expected.
  • AlexB: an obligation is not required on every response, it can't be manditory
  • Atul: An obligation is a mandatory thing when its provided
  • Omri: A PEP that doesn't know about obligations, should still work with PDPs which do support them. The PEP and PDP need to negogiate support, if it isn't then just return a DENY
  • John: If a True decision response contains anything for the PEP to do further, it's a partial evaluation. It seems to me a response type of partial evaluation should be added.
  • Michiel: We need to avoid a situation where every supported obligation needs to be provided in the request (besides wildcard).
  • Michiel: A partial evaluation for a resource would be the same as a regular evaluation with an obligation to filter resources.

MCP

  • AlexB: Two areas to address:
    • mapping MCP to AuthZEN request
    • advertising AuthZEN support for an MCP server
    • Atul: The modifications proposed are a profile on the MCP messages. Feedback from the MCP WGs was they don't know about AuthZEN so best placed here.
  • Martin: Start with just the mapping as a first step, then expose this to the PDP could be later. The API gateway profile needs to work the same way - how to map an HTTP request object to an AuthZEN request. A proposal should be the mapping from the MCP message (eg tool/call) to AuthZEN feilds.
  • Atul: Does the COAZ proposal do the mapping?
  • Martin: Yes, but it is doing both the mapping and the advertisement of the support which is needed if its an MCP gateway style PEP
  • Atul: In a simple MCP server and it wants to map a tool call to an AuthZEN request - does the existing proposal solve that problem?
  • Martin: It does explain the mapping, but its included with a lot more context.
  • AlexB: The mapping is not simple, there maybe filters/conditions needed.
  • Atul: Open to proposals for how to better explain the mapping up front. Full proposal covers the complexity of the MCP spec.
  • AlexB: I could use the proposal as is for my product, but the concern is the seperation of concerns. Aren't we stepping on MCP toes?
  • Atul: We gave them the opportunity to be the home for this, but they don't know if AuthZEN is going to be the way forward so best to keep it here. Recommend accepting the proposal as a WG document and merge in to the main branch of the repo. Then use that to base further evolution on top of.
  • Omri: Should I think of this like the API Gateway profile? The mapping from the HTTP model to the AuthZEN information model
  • Atul presented the COAZ deck
    • The mapping to AuthZEN is in the x-coaz-mapping configuration returned in the message.
    • Baked in rule to require the token to be used
    • Likely swap JSONPath to CEL
  • Atul: Addressed Julio's comment about supporting to Evaluations API
  • AlexB: We need to agree on things like JSONPath vs CEL
  • Atul: Actions are tool name or specified (with defaults)
  • Omri: Fields like subject would likely always be the token sub etc
    • Atul: In autonomus agents then it won't just be a user
  • Atul: We don't need to have MCP community buy in right now, but would be a win for AuthZEN if it does as then the wider option.
  • Martin: MVP could just be the profile, then go to the mapping etc. We need to spend time defining the mapping from each MCP RPC.
  • Atul: Tools are the main thing people care about MCP
  • AlexO: This proposal works for tool/call - but can we include a way to do tool/list filtering
  • Merge as is then start covering the mappings as the first iteration.

AOB

Actions

  • AlexB: Update the obligations proposal and share with the WG