Context : It is clear the front end level filtering of buttons/views is all client side and if data is being downloaded on the user’s device then everything in the front end UI/UX can be bypassed via browser inspection tools like dev tools etc
Scenario:-
Lets say we have a private app for a company with signed in users on the basis of OTP login via e-mail. E-mails are added in the user tables along with their info by default so only authorised users can sign up and row ownership is on the basis of e-mail. There is also a role column with admin and users and data table is made so that admin can view all user columns while users own just their rows. Once a user signs in then they own their row in the users table. Now lets say i want them to see their data - name, e-mail, Role, contact, address, photo, gender etc.
BUT :-
- I DONT WANT THEM(Users) TO BE ABLE TO EDIT/DELETE THEIR OWN DATA
- I DONT WANT THEM(Users) TO BE ABLE TO INSERT NEW DATA ROWS
- Only Admin has rights to points 1&2
Questions :-
Q1) Does row ownership give the complete access to a user for that table such that they can read,write,edit,delete their own rows & they can even add new rows(even when we have actions/front end settings set that they can’t edit/delete/add), from client side browser dev tools or does glide somehow prevent that server side somehow ?
Q2) Can we create true backend security where we can selectively give permissions for reading, writing, editing and deleting selectively to the user i.e. just read and edit or just read, etc. ?
Q3) If Row ownership is really, an either have it all or none, in terms of access to data rows, then are we just assuming that there will never be a malicious user capable enough to reach beyond front end filters that are preventing him from editing/deleting things he shouldn’t because owning your data doesn’t always translate to being able to delete/modify it whenever you wish.
I have given the user table examples but there are so many examples where this would apply viz. Sales agents can see their monthly targets but can’t edit/delete those, sales agents can enter their sales values against monthly sales but can’t edit/delete those, user can see a products table and add new products but can’t delete the added product - In all these cases the user will get access to their rows in the respective tables but getting full control is not secure at all and securing it via front end restrictions like filtered buttons/visibility conditions is not true security.
I hope i am wrong and missing out something.
@NoCodeAndy @Darren_Murphy Need your expertise here please!

