A method comprising: receiving a request by a user for access to a first server; receiving a token at the first server, the token indicating that the user has been authenticated and including a role assigned to the user; and determining, based at least in part on the role identified in the token, whether the user is permitted to perform a particular transaction in connection with a specified file