 My name is Alexander Matronich. Greetings from Tallinn, Estonia. Today I would like to talk about a tool that allows our user to control access to their data science products like shiny applications or APIs. For this I would like to present a package back-end lesser and the package itself it doesn't provide any infrastructure to keep credential and other private data of your users instead the package relies on a cloud platform it's called back-endless and so we delegate all these tricky questions on keeping this data safe. Useful thing about back-endless is that the service has a free plan where you can make when your application your shiny or API is what that could make calls to back-endless API. Let's check how it works yeah so functionality is very simple we would like to register a user of our shiny application then we want to allow user to log in to log out and we want to track yeah let's look at really simple shiny shiny example so firstly let's let's run it assume that we have the package installed and there is a function shiny demo login and let's look let's look at how it works yeah so when it starts you see basically two only two controls here for user login and register so let's firstly try to register yeah very typical form for registration and after after your user register button the underline R function will talk to back-endless API and will send all these data to your back-endless account and your user will be created yeah user registration successful and as additional note you could activate on the back-endless functionality that would be a user to click a confirmation link in or for example you could also have email welcome an email for you user yeah okay so we we let's say our user was registered and now our user wants to log in and to access some some data some data service and yeah so after log in happened interface slightly changed login and register buttons they links they disappeared and log out appeared and here we see some interesting data science out so how to install all these parts the installation in the setup consists of two parts basically we want we need to create an account on back-endless platform and then we need to install a package and provide credentials so firstly we go to back-end less register there an account and register under our account we create a new application and here you get application id and api k key you create you pass this this key api id and key through for example our environment file it strongly wouldn't recommend you to keys or api d in your our source code if you so the but this is mostly for testing when you run your application already online probably you would like to have this application for example in form of docker and when you use docker you could rely and you advise to rely on docker swarm secrets so please check the documentation here if you then we install the package it's not on crane so use remotes or dev tools for this purpose to install it from git repository yeah and now let's look at simple our code so here i'm showing just to example even without shiny here right so we have a username defined here we check that this user name is not used we don't have such user with such name yeah and if you don't have such user then we can create register a new user with given username and password after you after you created run this command in your back endless account new user will appear yeah as you see here then then how we or how your shiny application would of a user using this function again user and password and then we can check that this session is active session is active and then after some manipulations in your shiny application or your api after this you your user your user and you use for this this function then you can check that this user user is actually a logout yeah then also we can remove the user or she asked you and here some some details on how shiny how it could work in shiny application for in the very beginning it's example of this very basic shiny application right in the very beginning we the logout link and plot they hidden they hidden and not shown by user then shiny is waiting for for event and in this case when when your user pens shiny will show shiny will show the element it's here there is there are some additional functionality in the package for example we have their counters when you want when you have some balance balance for your user you can use counters to increase or decrease this balance and also you can save any arbitrary data user and also keep it in your back endless on the back endless platform so you don't need an additional database for storage for keeping this data of course it's about only small amounts of data there are some some features on the back endless platform that are not implemented in the package for example logins through social networks yeah users would probably many users would like not to remember or keep one additional password and they would like to log in through social networks this one possible improvement then password reset automatic password reset is not implemented there that could be the the back endless platform supports it and files of your application also in back endless not to keep them in docker for example and probably one of the most important questions is about security i'm not a cyber security expert in so likely the tools approaches used in the application in the package quite naive from security point of view so this if you are going to use this package for some critical security critical tasks please check please check the package yes and here you can find where you can find the source code and issue trackers tracker and the contact details of the author thank you very much i hope you will find this package useful and feel free in case of questions or any