Macaroons offer a set of features that includes:
Caveats: These are conditions or constraints that can be embedded into the macaroon. For instance, you could add a caveat that restricts usage to a specific time window or mandates the presence of certain identifying information.
Delegation: Macaroons can be securely delegated, enabling the holder to pass on limited rights to others without contacting the issuing authority. This is useful in complex systems where a user might need to delegate some of their access rights to another user.
Attenuation: The concept of attenuation allows the rights given by a macaroon to be narrowed or limited further. Once a macaroon is created, its permissions can only be reduced, not increased.