 Hi, this is your host Parthia and welcome to another episode of TFI. Let's see and today we have with us Philip Gabrowski Developer Advocate at permit.io. Philip is great to have you on the show. Thanks for having me today We are primarily going to do a demo of permit elements before we jump into that. Let's talk a bit about the background What a specific problem permit is trying to solve? Through permit elements as we know permissions are very difficult for all developers I'm sure any developer out there has come across permissions and struggled implementing them and what permit elements is trying to solve is essentially it's tackling the very difficult concept of Offerization for authorization when itself with which in itself is quite recursive So essentially what we're doing with these permit elements is we're offering a very simple embeddable UI Experiences for the end users that are implementing elements into their system and allowing the end users to manage access control So this might be you know other members of your team or a different department or your end customers What exactly is permit elements essentially permit permit elements is you know embeddable UI components So you get this iframe that you can generate that that generates for you as you Create these different permission levels and you assign these roles that you have created when permit into these meta permissions And then you can generate and configure this iframe you can change the way it looks adjusted to your system You can adjust the different permissions that those preconfigured roles already have of in your system And then you can create that element which essentially will give you An iframe an embeddable link that you can put into your application and offer that element to your end users And now it's time for us to jump into and see a demo What you'll be able to see on my screen is actually before we I dive into the actual element I'd love to kind of give you an introduction into what's going on within the system So when permit we actually have a bunch of users that we can previously add So here I have created these four users Gandalf the White, Frodo, Gollum and myself and all of these users have a specific role That is already assigned to them within permit Now actually if we go into the policy editor You'll see that we have all these roles and they have these basic actions that they can perform on The resources that we have specified now These are just the simple roles that you can apply to users But what if we want to kind of delegate that access a little further and kind of tackle that concept I mentioned Which is the authorization for authorization. So if we actually jump into elements You'll be able to see that we offer several elements within permit The elements that we offer are user management audit logs Approval flows are coming soon and then there's going to be other elements that we're also offering such as API key management Emergency access and the list will just continue growing. Now if we jump into a user management role What you'll be able to see is that all these roles that we have previously configured Display here in the hidden roles. Now here is where we battle that concept of those meta permissions So actually now what I can do is if I for example I'm the super admin and I want my super admin to be the workspace owner for this specific permit element You'll see that as soon as I drag this role into this meta permission level We get a live render of what that element will look like for the user and here The user actually gets control over what he can do within permit elements so he can invite a new user for example Permit.io and he can assign that user role in this case We have just super admin because we've offered super admin as the only role that appeared in those meta permission levels Now what happens if I actually drag more people in maybe my admin can be the manager for this element Maybe the manager could also be the manager and the head of product can only view that element Well, as you can see more of those people that we have in our system start to render And if I want to now for example add this new user I get a bunch of different roles that I can apply It's the ones that we have specified within the element So for example, maybe I want to say that the new user will be an administrator and I can send that invite Now within permit elements because it's a live preview and you can see what's actually happening We can filter these and and see what that element will look like for those specific meta permission levels So if I want to see what the viewer will see well, you can see that that Invitation functionality with that invitation button has suddenly disappeared. All we can do now is just search for users and nothing else now with Permit elements essentially we get much more flexibility than that It's very responsive. So it appears on every device if you have multiple tenants You can change the way it looks and what what it actually look like per tenant And then you have different configuration options. You can see and assign the default roles If I for example go back to my workspace owner Now the default role is super admin and we can make it something else Maybe we wanted to be the administrator. We can play around a little bit with the fuming We can change the title. Maybe I want to call it users. We can Change the action. Maybe we just want to call it invite for in in this case Of course, we can play around of changing the background and the custom fuming color if we wish to do so We can also specify if we want it in dark mode or not Then we can also have the option to display user data So for example, we can just show the email We can show the email and the full name if it's available or we can just show the full name It's really as flexible as you'd like to take it Now the final thing is we for some elements within permit We can actually create a web hook a web hook is any functionality that We might want to get notified About when we come to configure this element. So in the case of the user management Well, maybe we want to get notified whenever a user adds someone new So someone our end user invites someone into the system and we want to send them a notification or an email And that's essentially what's going to happen. Now the final step is just giving it a name I'm just going to call it a test and if we just create this element What you'll see as you generate this element this element is ready to be embedded So you can actually go ahead and get the code of that element Now I'm just going to copy this specific URL because I've already created it within my system So if I jump into my code and I replace this element right here with the one we've generated This is the whole iframe that we actually received from permit And if I go back into my simple react application Now I've created this very basic UI where I can just say that I want to gain access to the permit element And what you'll see is it will start reloading this identity and actually offer this embeddable component within my UI My web page in this case a very simple react project where I have that functionality of inviting those users and assigning them ahead the Specific role and that user will appear as someone that's pending for to be added into the permit element Now once we actually embedded that our UI will tell us about this So if I refresh the permit UI what you'll see is that the element that has been We have embedded into our application now appears that it has actually successfully embedded into permit And the same goes for all the other elements. It's as simple as just creating that new element as you can see for audit logs We don't have as much of that of that functionality where we can adjust those roles for the audit log element We can only just deal with the meta permission level of a viewer We don't have a web hook. It's just very simple configuration But yet again, these elements do offer that a lot of flexibility to developers who want to delegate those secure permissions and allow their end users to manage them Philip. Thank you so much for Showing us how permit elements work and I would love to have you back on the show to talk about more permit technologies Thank you