I honestly haven’t ventured into glide tables yet. They are still new and people have found some bugs. Based on other posts, Glide may be rolling out updates right now which mayo address some issues people have had with glide tables. For my project, I prefer the data in the google sheet because I have a process to make timestamped backups of the sheet. I may move over a few static or non-critical tables to glide at some point when they allow for bulk uploads.
I had hoped that your app would be display only as far as the app is concerned. If that would have been the case, then I would have suggested creating a new sheet with you as the owner and use a series of IMPORTRANGE formulas to duplicate data from the original sheet. The you could have an added user profile sheet tab and it would never be visible to the other users because they wouldn’t have access to your copy of the sheet.
As an alternative, I had hoped that the user would not have editing rights to the original sheet. This way the sheet could have had a user profile sheet tab that is set as hidden. According to Google, users with view only access cannot access a hidden sheet tab, but if they are still able to copy the sheet, then they would able to unhide and view it in the copied sheet.
You can protect an entire sheet tab and set permissions on who has access to edit it, but short of hiding the sheet tab and crossing your fingers that nobody see’s it, it’s not a great solution if the user profiles will contain sensitive information. If there is no sensitive information and your main goal is to prevent users from editing the user profile sheet, then I would protect the sheet tab (only allowing your account to have permission to edit), then hide the sheet.
The only other alternative would be to have separate google sheets. One for the users to have access to and one for the app. Then you could use a crazy combo of IMPORTRANGE, scripting, and other formulas to keep the sheets in sync. Possibly you could explore if zapier or integromat would work to keep sheets in sync. I have a use case in my app where I have a complicated set of calculations that take awhile to process. This would cause sync issues for me if there was rapid data entry from the app, but then I set up a second separate google sheet with importrange formulas to bring in the tables I needed for my calculations. The calculations run in that second sheet without interfering with the sheet used for the app. Once the calculations are done, an importrange in the original sheet brings back the calculated values. Someday I’d like to migrate that process to glide, but it currently doesn’t have he feature set that I need.
Long story short, unfortunately I don’t know if I have a good or particularly easy solution for you. I would explore protected sheets and hiding if your main concern is preventing users from altering any data in the user profile sheet and not so much securing sensitive date. Otherwise give glide tables another shot. In staging I just tried creating a glide table, setting it as a user profile sheet, then added a computed column and set visibility on another tab based on the value of that computed column. From what I can see it works just fine, whether I’m in the editor or adjusting that computed column directly in the app through the published url. So maybe, as far as staging is concerned (didn’t have a good app in production to test) everything seems to work.
If you still have issues, please provide screenshots of you user profile sheet and any settings where you are trying to use those computed columns, to help diagnose if it’s just a setting that needs to be adjusted, or if there is still a bug.