I like where this is heading; seems useful to define some common language like this (while still always having the option to extend with domain-specific caveats).
As for the identifier header: at this point I wonder about just defining it to be a JWT ;)
Your boulangerie work (especially the "schema" definitions) reminds me of a little experiment I wrote a while ago to use protobuf as a serialization format:
https://github.com/ecordell/pymacaroons/compare/protobuf (I mention it mostly for comparison's sake - in very unscientific tests I found protobuf to be slower than the de-facto binary standard for macaroons)