Can you give a little more detail or an exact example of the users onboarding flow. You will need to design the database tables in a way so that it references each companies datum. This could be a simple flow like this. 1. user_table with fields (user_id, userName, email, password, user_role(enum(admin,users,both,etc)),etc) 2. company_table with fields(company_id, user_id, staff_id, companyName, company_type(enum(companyA,companyB)), etc) 3. staff_table with fields (staff_id, user_id company_id, customer_id, staffName, etc) 4. customer_table with fields (customer_id, user_id, customerName, etc) . This is a very very simple way of looking at the database flow when not focusing on 3 NF (normalization of the database), but as I say I don’t know what the onboarding flow at login goin to be for your application. but if its a case where staff select their company then get redirected this database will need a few jointer table that host department_id, product_id, staff_id, etc. I am very very busy at the moment with other projects as well as keeping up Wappler learning curve myself but I do know a few thing about designing database architect for complex logics. As for the security restrict access it depend on if you are using PHP or Node.js. Please use the Wappler Docs for their tutorials on this. I hope this help sorry I didn’t have the time to draw a diagram of the tables and there relationships but I am assuming you already understand how database reference works in Wappler. Good luck!