Create undeletable rows in a table in database

So I have have this scenario where I had a category table that could be added by user and removed by user. Now I have to change that to make sure some categories can’t be deleted those would be system defined, in this case should I keep those categories in a new table where user won’t delete them and user defined can be in a different table? if my strategy is right what are the pros and cons of doing so

Typically, applications use the same database user to connect to the database. That means that the application can manipulate data in any data table and you have to implement checks and verification in your application.

Putting the data in a separate table would help you only if you configured multiple database users and give them different permissions for those two tables.