A computer-implemented method, implemented by a computing system, the method comprising: receiving, from a client device associated with a user, a request to create a job associated with a project , wherein the project is associated with one or more data sources and the job comprises one or more data transformations that require operations on data from the one or more data sources; identifying a plurality of inputs and a plurality of outputs associated with the job; determining a plurality of required permissions associated with the job, wherein each of the required permissions comprises an operation on a required data source, the operation corresponding to at least one of the inputs or the outputs; creating the job in the project; in reponse to verifying that the one or more data sources associated with the project comprise the required data source associated with each of the required permissions associated with the job, generating a token associated with the job, the token encoding the required permissions associated with the job, wherein the token is required for execution of the job; receiving a request from a service or a client device for the token associated with the job; determining whether the service or the client device is authorized to conduct the job; in response to determining that the service or the client device is authorized to conduct the job, granting the token to the service or to the client device; determining whether the service or the client device has completed execution of the job; and in response to determining that the service or the client device has completed execution of the job, removing a stored connection between the token and the service or the client device. receiving, from a client device associated with a user, a request to create a job associated with a project , wherein the project is associated with one or more data sources and the job comprises one or more data transformations that require operations on data from the one or more data sources; identifying a plurality of inputs and a plurality of outputs associated with the job; determining a plurality of required permissions associated with the job, wherein each of the required permissions comprises an operation on a required data source, the operation corresponding to at least one of the inputs or the outputs; creating the job in the project; in reponse to verifying that the one or more data sources associated with the project comprise the required data source associated with each of the required permissions associated with the job, generating a token associated with the job, the token encoding the required permissions associated with the job, wherein the token is required for execution of the job; receiving a request from a service or a client device for the token associated with the job; determining whether the service or the client device is authorized to conduct the job; in response to determining that the service or the client device is authorized to conduct the job, granting the token to the service or to the client device; determining whether the service or the client device has completed execution of the job; and in response to determining that the service or the client device has completed execution of the job, removing a stored connection between the token and the service or the client device. <EOS>